@floegence/floe-webapp-core 0.56.2 → 0.56.3
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/dist/styles.css +1 -1
- package/dist/ui.css +89 -18
- package/package.json +1 -1
package/dist/ui.css
CHANGED
|
@@ -478,30 +478,101 @@
|
|
|
478
478
|
Text Animation Effects - Minimal and Professional
|
|
479
479
|
============================================================================= */
|
|
480
480
|
|
|
481
|
-
/*
|
|
482
|
-
|
|
481
|
+
/* Opt-in progress only: text keeps one accessible copy and surface paint
|
|
482
|
+
* sits below content. The host owns operation state and removes the attribute
|
|
483
|
+
* on settlement. Both published CSS entries expose this contract. */
|
|
484
|
+
@keyframes floe-progress-shimmer {
|
|
483
485
|
0% {
|
|
484
|
-
background-position:
|
|
486
|
+
background-position: 100% center;
|
|
485
487
|
}
|
|
486
488
|
100% {
|
|
487
|
-
background-position:
|
|
489
|
+
background-position: 0% center;
|
|
488
490
|
}
|
|
489
491
|
}
|
|
490
492
|
|
|
491
|
-
.processing-text-shimmer {
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
);
|
|
500
|
-
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
493
|
+
:is([data-floe-progress-shimmer='text'], .processing-text-shimmer) {
|
|
494
|
+
--floe-progress-text-base: oklch(from var(--foreground) clamp(0.42, l, 0.46) min(c, 0.04) h);
|
|
495
|
+
--floe-progress-text-peak: oklch(from var(--floe-progress-text-base) calc(l - 0.16) c h);
|
|
496
|
+
color: var(--floe-progress-text-base);
|
|
497
|
+
}
|
|
498
|
+
|
|
499
|
+
.dark :is([data-floe-progress-shimmer='text'], .processing-text-shimmer) {
|
|
500
|
+
--floe-progress-text-base: oklch(from var(--foreground) clamp(0.8, calc(l - 0.1), 0.82) min(c, 0.04) h);
|
|
501
|
+
--floe-progress-text-peak: oklch(from var(--floe-progress-text-base) calc(l + 0.16) c h);
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
:is([data-floe-progress-shimmer='text'], .processing-text-shimmer)::selection,
|
|
505
|
+
:is([data-floe-progress-shimmer='text'], .processing-text-shimmer) ::selection {
|
|
506
|
+
-webkit-text-fill-color: var(--selection-fg);
|
|
507
|
+
}
|
|
508
|
+
|
|
509
|
+
@supports (background-clip: text) and (color: oklch(from red l c h)) {
|
|
510
|
+
:is([data-floe-progress-shimmer='text'], .processing-text-shimmer) {
|
|
511
|
+
background-image: linear-gradient(90deg, var(--floe-progress-text-base) 46%, var(--floe-progress-text-peak) 49%, var(--floe-progress-text-peak) 51%, var(--floe-progress-text-base) 54%);
|
|
512
|
+
background-size: 250% 100%;
|
|
513
|
+
-webkit-background-clip: text;
|
|
514
|
+
background-clip: text;
|
|
515
|
+
-webkit-text-fill-color: transparent;
|
|
516
|
+
animation: floe-progress-shimmer 2.4s linear infinite;
|
|
517
|
+
}
|
|
518
|
+
}
|
|
519
|
+
|
|
520
|
+
[data-floe-progress-shimmer='surface'] {
|
|
521
|
+
--floe-progress-surface-base: var(--floe-progress-surface-background, var(--primary));
|
|
522
|
+
--floe-progress-surface-peak: oklch(from var(--floe-progress-surface-base) max(0, calc(l - 0.14)) c h);
|
|
523
|
+
position: relative;
|
|
524
|
+
isolation: isolate;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
.dark [data-floe-progress-shimmer='surface'] {
|
|
528
|
+
--floe-progress-surface-peak: oklch(from var(--floe-progress-surface-base) min(1, calc(l + 0.14)) c h);
|
|
529
|
+
}
|
|
530
|
+
|
|
531
|
+
/* A busy control can be unavailable for a second submission while its
|
|
532
|
+
* progress remains fully legible. Disabled input semantics still apply. */
|
|
533
|
+
[data-floe-progress-shimmer='surface']:disabled {
|
|
534
|
+
opacity: 1 !important;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
[data-floe-progress-shimmer='surface']::before {
|
|
538
|
+
content: '';
|
|
539
|
+
position: absolute;
|
|
540
|
+
inset: 0;
|
|
541
|
+
z-index: -1;
|
|
542
|
+
border-radius: inherit;
|
|
543
|
+
pointer-events: none;
|
|
544
|
+
background-image: linear-gradient(90deg, var(--floe-progress-surface-base) 46%, var(--floe-progress-surface-peak) 49%, var(--floe-progress-surface-peak) 51%, var(--floe-progress-surface-base) 54%);
|
|
545
|
+
background-size: 250% 100%;
|
|
546
|
+
animation: floe-progress-shimmer 2.4s linear infinite;
|
|
547
|
+
}
|
|
548
|
+
|
|
549
|
+
@media (prefers-reduced-motion: reduce), (forced-colors: active) {
|
|
550
|
+
:is([data-floe-progress-shimmer='text'], .processing-text-shimmer) {
|
|
551
|
+
animation: none;
|
|
552
|
+
background-image: none;
|
|
553
|
+
-webkit-text-fill-color: currentColor;
|
|
554
|
+
}
|
|
555
|
+
|
|
556
|
+
[data-floe-progress-shimmer='surface']::before {
|
|
557
|
+
animation: none;
|
|
558
|
+
background-image: none;
|
|
559
|
+
background-color: var(--floe-progress-surface-base);
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
|
|
563
|
+
@media (forced-colors: active) {
|
|
564
|
+
[data-floe-progress-shimmer='surface']::before {
|
|
565
|
+
content: none;
|
|
566
|
+
}
|
|
567
|
+
|
|
568
|
+
:is([data-floe-progress-shimmer='text'], .processing-text-shimmer) {
|
|
569
|
+
color: CanvasText;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
:is([data-floe-progress-shimmer='text'], .processing-text-shimmer)::selection,
|
|
573
|
+
:is([data-floe-progress-shimmer='text'], .processing-text-shimmer) ::selection {
|
|
574
|
+
-webkit-text-fill-color: HighlightText;
|
|
575
|
+
}
|
|
505
576
|
}
|
|
506
577
|
|
|
507
578
|
/* Glow - subtle pulsing text */
|