@q9labsai/chalk-ui 4.1.1 → 4.1.2

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 (2) hide show
  1. package/dist/styles.css +193 -11
  2. package/package.json +2 -2
package/dist/styles.css CHANGED
@@ -1386,21 +1386,27 @@ main[data-chalk][data-chalk-skin="chalk"][data-chalk-palette="cosmic-chalk"] > *
1386
1386
  }
1387
1387
  }
1388
1388
 
1389
- /* Harmonic Speaker Glow */
1390
- @keyframes chalk-harmonic-pulse {
1391
- 0% {
1392
- box-shadow: 0 0 0 0px rgba(34, 197, 94, 0);
1393
- border-color: rgba(34, 197, 94, 0);
1389
+ /* Voice halo behind the avatar of a speaking, camera-off participant: a soft ring that breathes. */
1390
+ @keyframes chalk-voice-halo-breathe {
1391
+ 0%,
1392
+ 100% {
1393
+ box-shadow: 0 0 0 6px color-mix(in srgb, var(--chalk-participant-color) 22%, transparent);
1394
1394
  }
1395
1395
 
1396
1396
  50% {
1397
- box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.2);
1398
- border-color: rgba(34, 197, 94, 0.4);
1397
+ box-shadow: 0 0 0 14px color-mix(in srgb, var(--chalk-participant-color) 12%, transparent);
1399
1398
  }
1399
+ }
1400
1400
 
1401
+ /* Sound bars in the tile chip while someone speaks. */
1402
+ @keyframes chalk-sound-bar {
1403
+ 0%,
1401
1404
  100% {
1402
- box-shadow: 0 0 0 0px rgba(34, 197, 94, 0);
1403
- border-color: rgba(34, 197, 94, 0);
1405
+ transform: scaleY(0.35);
1406
+ }
1407
+
1408
+ 50% {
1409
+ transform: scaleY(1);
1404
1410
  }
1405
1411
  }
1406
1412
 
@@ -1421,8 +1427,55 @@ main[data-chalk][data-chalk-skin="chalk"][data-chalk-palette="cosmic-chalk"] > *
1421
1427
  animation: chalk-tile-pop-in 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) backwards !important;
1422
1428
  }
1423
1429
 
1424
- .chalk-animate-harmonic-pulse {
1425
- animation: chalk-harmonic-pulse 3s infinite !important;
1430
+ .chalk-voice-halo {
1431
+ box-shadow: 0 0 0 8px color-mix(in srgb, var(--chalk-participant-color) 18%, transparent);
1432
+ animation: chalk-voice-halo-breathe 1.8s ease-in-out infinite;
1433
+ }
1434
+
1435
+ .chalk-sound-bars {
1436
+ display: inline-flex;
1437
+ align-items: center;
1438
+ gap: 2px;
1439
+ height: 12px;
1440
+ }
1441
+
1442
+ @container (min-width: 240px) {
1443
+ .chalk-sound-bars {
1444
+ height: 14px;
1445
+ }
1446
+ }
1447
+
1448
+ .chalk-sound-bars > i {
1449
+ display: block;
1450
+ width: 3px;
1451
+ height: 100%;
1452
+ border-radius: 2px;
1453
+ background: currentColor;
1454
+ transform-origin: center;
1455
+ animation: chalk-sound-bar 0.9s ease-in-out infinite;
1456
+ }
1457
+
1458
+ .chalk-sound-bars > i:nth-child(1) {
1459
+ animation-delay: 0ms;
1460
+ }
1461
+
1462
+ .chalk-sound-bars > i:nth-child(2) {
1463
+ animation-delay: 150ms;
1464
+ }
1465
+
1466
+ .chalk-sound-bars > i:nth-child(3) {
1467
+ animation-delay: 300ms;
1468
+ }
1469
+
1470
+ @media (prefers-reduced-motion: reduce) {
1471
+ .chalk-voice-halo {
1472
+ animation: none;
1473
+ }
1474
+
1475
+ .chalk-sound-bars > i {
1476
+ animation: none;
1477
+ transform: scaleY(0.7);
1478
+ }
1426
1479
  }
1427
1480
 
1428
1481
  /* Animation utility classes */
@@ -1458,6 +1511,98 @@ main[data-chalk][data-chalk-skin="chalk"][data-chalk-palette="cosmic-chalk"] > *
1458
1511
  animation: chalk-panel-slide-in var(--chalk-duration-slow) var(--chalk-ease-out-expo);
1459
1512
  }
1460
1513
 
1514
+ /* Space drawer: a right-hand sheet below 1024px, a docked column that pushes the stage above it. */
1515
+ @keyframes chalk-drawer-slide-out {
1516
+ from {
1517
+ transform: translateX(0);
1518
+ opacity: 1;
1519
+ }
1520
+
1521
+ to {
1522
+ transform: translateX(100%);
1523
+ opacity: 0;
1524
+ }
1525
+ }
1526
+
1527
+ @keyframes chalk-drawer-grow {
1528
+ from {
1529
+ width: 0;
1530
+ }
1531
+
1532
+ to {
1533
+ width: var(--chalk-drawer-width);
1534
+ }
1535
+ }
1536
+
1537
+ @keyframes chalk-drawer-shrink {
1538
+ from {
1539
+ width: var(--chalk-drawer-width);
1540
+ }
1541
+
1542
+ to {
1543
+ width: 0;
1544
+ }
1545
+ }
1546
+
1547
+ .chalk-drawer {
1548
+ --chalk-drawer-width: 396px;
1549
+ position: fixed;
1550
+ inset: 0 0 0 auto;
1551
+ z-index: 50;
1552
+ width: min(100%, 420px);
1553
+ overflow: hidden;
1554
+ }
1555
+
1556
+ .chalk-drawer[data-state="open"] {
1557
+ animation: chalk-panel-slide-in var(--chalk-duration-slow) var(--chalk-ease-out-expo);
1558
+ }
1559
+
1560
+ .chalk-drawer[data-state="closing"] {
1561
+ animation: chalk-drawer-slide-out var(--chalk-duration-normal) var(--chalk-ease-out-expo) forwards;
1562
+ pointer-events: none;
1563
+ }
1564
+
1565
+ .chalk-drawer-content {
1566
+ position: absolute;
1567
+ inset: 0 0 0 auto;
1568
+ width: 100%;
1569
+ }
1570
+
1571
+ .chalk-drawer-scrim {
1572
+ position: fixed;
1573
+ inset: 0;
1574
+ z-index: 49;
1575
+ }
1576
+
1577
+ @media (min-width: 1024px) {
1578
+ .chalk-drawer {
1579
+ position: relative;
1580
+ inset: auto;
1581
+ z-index: auto;
1582
+ flex: none;
1583
+ width: var(--chalk-drawer-width);
1584
+ }
1585
+
1586
+ .chalk-drawer[data-state="open"] {
1587
+ animation: chalk-drawer-grow var(--chalk-duration-slow) var(--chalk-ease-out-expo);
1588
+ }
1589
+
1590
+ .chalk-drawer[data-state="closing"] {
1591
+ animation: chalk-drawer-shrink var(--chalk-duration-normal) var(--chalk-ease-out-expo) forwards;
1592
+ }
1593
+
1594
+ /* Docked: the panel is a card with the same insets as the stage, not a wall against the header. */
1595
+ .chalk-drawer-content {
1596
+ inset: 4px 20px 16px 0;
1597
+ width: calc(var(--chalk-drawer-width) - 20px);
1598
+ border-radius: 10px;
1599
+ }
1600
+
1601
+ .chalk-drawer-scrim {
1602
+ display: none;
1603
+ }
1604
+ }
1605
+
1461
1606
  .chalk-animate-float-up {
1462
1607
  animation: chalk-float-up 2s ease-out forwards;
1463
1608
  }
@@ -1466,6 +1611,43 @@ main[data-chalk][data-chalk-skin="chalk"][data-chalk-palette="cosmic-chalk"] > *
1466
1611
  animation: chalk-reaction-float var(--float-duration, 3000ms) cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
1467
1612
  }
1468
1613
 
1614
+ /* Classic reactions: rise from the stage floor, sway once, fade at the top of the travel. */
1615
+ @keyframes chalk-reaction-rise {
1616
+ 0% {
1617
+ opacity: 0;
1618
+ transform: translate3d(0, 12px, 0) scale(0.6);
1619
+ }
1620
+
1621
+ 12% {
1622
+ opacity: 1;
1623
+ transform: translate3d(var(--reaction-sway, 0px), -36px, 0) scale(1.12);
1624
+ }
1625
+
1626
+ 55% {
1627
+ transform: translate3d(calc(var(--reaction-sway, 0px) * -0.6), calc(var(--reaction-travel, -280px) * 0.55), 0) scale(1);
1628
+ }
1629
+
1630
+ 82% {
1631
+ opacity: 1;
1632
+ }
1633
+
1634
+ 100% {
1635
+ opacity: 0;
1636
+ transform: translate3d(calc(var(--reaction-sway, 0px) * 0.4), var(--reaction-travel, -280px), 0) scale(0.92);
1637
+ }
1638
+ }
1639
+
1640
+ .chalk-reaction-rise {
1641
+ animation: chalk-reaction-rise var(--reaction-duration, 3200ms) cubic-bezier(0.22, 0.61, 0.36, 1) forwards;
1642
+ will-change: transform, opacity;
1643
+ }
1644
+
1645
+ @media (prefers-reduced-motion: reduce) {
1646
+ .chalk-reaction-rise {
1647
+ animation: chalk-fade-out 400ms ease-out calc(var(--reaction-duration, 3200ms) - 400ms) forwards;
1648
+ }
1649
+ }
1650
+
1469
1651
  .chalk-animate-reaction-bounce-in {
1470
1652
  animation: chalk-reaction-bounce-in 0.5s cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
1471
1653
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@q9labsai/chalk-ui",
3
- "version": "4.1.1",
3
+ "version": "4.1.2",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -179,7 +179,7 @@
179
179
  },
180
180
  "dependencies": {
181
181
  "@base-ui/react": "^1.0.0",
182
- "@q9labsai/chalk-assets": "^4.1.1",
182
+ "@q9labsai/chalk-assets": "^4.1.2",
183
183
  "class-variance-authority": "^0.7.1",
184
184
  "clsx": "^2.1.1",
185
185
  "tailwind-merge": "^3.6.0"