@carissa-io/theme-default 0.3.2 → 0.3.4

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/DESIGN.md CHANGED
@@ -248,11 +248,32 @@ from the custom properties, so the card works in both modes.
248
248
  is almost invisible on the dark ground, the border keeps the edge in dark mode.
249
249
 
250
250
  ## Alert
251
- From [components-alert](components/components-alert): `Alert` in `info`, `success`, `warning` and `error`. A `--c-surface` box with a 1px `--c-muted` border
251
+ From [components-alert](components/components-alert): `Alert` in `info`, `success`, `warning` and `error`. A box **tinted with the variant color** (12% of `--c-info`, `--c-success`, `--c-warning` or `--c-error` mixed over `--c-background` with `color-mix`, so it follows the mode) with a 1px border at 35% of the same color
252
252
  and a **4px accent on the left edge** in the variant color (`--c-info`, `--c-success`, `--c-warning`, `--c-error`); the icon, when given, has the same color.
253
- The text and the title are `--c-text` (the status colors are not used for text: see the contrast notes in [Dark mode](#dark-mode)). The title is bold, the text
253
+ The text and the title are `--c-text`, 14.8:1 or more on every tint in both modes; the accent and the icon are at least 3.8:1 on the tint (the status colors are not used for text: see the contrast notes in [Dark mode](#dark-mode)). The title is bold, the text
254
254
  0.875rem, square corners. The dismiss button is a plain "x" in `--c-muted`, `--c-text` on hover, with the usual focus ring.
255
255
 
256
+ ## Spinner
257
+ From [components-spinner](components/components-spinner): `Spinner` in three sizes (`sm` 1rem, `md` 1.5rem, `lg` 2.5rem). A 2px ring in `--c-surface-active` with a
258
+ `--c-primary` arc (black in light, white in dark), one turn every 0.75s, drawn with CSS only. The label is visually hidden text. With
259
+ `prefers-reduced-motion` the turn is replaced by a slow opacity pulse (2s) of the whole ring in `--c-primary`. The arc is 21:1 (light) and
260
+ 19.8:1 (dark) on the page background and 16.7:1 and 15.1:1 on its track, far above the 3:1 needed for a graphic; the track is a faint guide (1.3:1) on purpose.
261
+
262
+ ## Modal
263
+ From [components-modal](components/components-modal): `Modal`, a native `<dialog>` in three widths (`sm` 24rem, `md` 32rem, `lg` 48rem, never wider than the viewport
264
+ minus 1rem). The box is `--c-background` with `--c-text`, a **1px `--c-muted` border**, `$radius` (square) and a layered shadow (`0 4px 8px` at 8% and `0 16px 48px` at 20% of
265
+ black). As with the elevated Card the border stays on purpose: a shadow is almost invisible on the dark ground, the border keeps the edge in dark mode. Padding is
266
+ 1.5rem at the sides and 1.25rem above and below, like Card. The title is the Typography `Heading` (level 4 size) and the description the small muted `Text`.
267
+ The close button is a plain "x" in `--c-muted`, `--c-text` on hover, with the usual focus ring. The **backdrop** is `rgb(0 0 0 / 0.5)`, the one literal color of these
268
+ components, and it is the same in both modes (it dims whatever mode the page is in). The box fades in and rises 0.5rem in `$transition-duration`; with reduced motion it
269
+ just appears.
270
+
271
+ ## Toast
272
+ From [components-toast](components/components-toast): the fixed region of toasts (24rem wide, 1rem from the edges, 0.75rem between toasts, above the page content) and its six
273
+ placements. The look of each toast is the Alert's (see above), so its colors, roles and contrast are the Alert's in both modes. The action is a bold, underlined
274
+ 0.875rem button in `--c-text` (14.8:1 or more on every tint). A toast slides 0.75rem from its edge and fades in over `$transition-duration`; with reduced motion
275
+ only the fade stays. The region is in the page, not in the browser's top layer, so a toast shown while a modal is open sits behind the modal's backdrop.
276
+
256
277
  ## Keyboard focus (all controls)
257
278
  One rule keeps the controls coherent: **an outlined control thickens its own border from 1px to 2px, black** (text fields,
258
279
  select, combobox, date picker, textarea, upload, empty checkbox, off switch, radio, secondary and ghost buttons); **a filled
package/README.md CHANGED
@@ -142,7 +142,7 @@ it: check the names against the theme's `scss/_tokens.scss` before you switch.
142
142
 
143
143
  ## What it configures
144
144
  `components-input`, `-button`, `-checkbox`, `-switch`, `-radio-group`, `-slider`, `-popover`, `-listbox`, `-select`,
145
- `-combobox`, `-upload`, `-calendar`, `-date-picker`, `-search`, `-typography`, `-card` and `-alert`. `components-email`, `-password`, `-url` and `-textarea`
145
+ `-combobox`, `-upload`, `-calendar`, `-date-picker`, `-search`, `-typography`, `-card`, `-alert`, `-spinner`, `-modal` and `-toast`. `components-email`, `-password`, `-url` and `-textarea`
146
146
  are styled through the input.
147
147
 
148
148
  ## Change a value
package/dist/index.css CHANGED
@@ -1449,8 +1449,8 @@
1449
1449
 
1450
1450
  .c-alert--info {
1451
1451
  color: var(--c-text);
1452
- background: var(--c-surface);
1453
- border-color: var(--c-muted);
1452
+ background: color-mix(in srgb, var(--c-info) 12%, var(--c-background));
1453
+ border-color: color-mix(in srgb, var(--c-info) 35%, var(--c-background));
1454
1454
  border-left-color: var(--c-info);
1455
1455
  }
1456
1456
  .c-alert--info .c-alert__icon {
@@ -1462,8 +1462,8 @@
1462
1462
 
1463
1463
  .c-alert--success {
1464
1464
  color: var(--c-text);
1465
- background: var(--c-surface);
1466
- border-color: var(--c-muted);
1465
+ background: color-mix(in srgb, var(--c-success) 12%, var(--c-background));
1466
+ border-color: color-mix(in srgb, var(--c-success) 35%, var(--c-background));
1467
1467
  border-left-color: var(--c-success);
1468
1468
  }
1469
1469
  .c-alert--success .c-alert__icon {
@@ -1475,8 +1475,8 @@
1475
1475
 
1476
1476
  .c-alert--warning {
1477
1477
  color: var(--c-text);
1478
- background: var(--c-surface);
1479
- border-color: var(--c-muted);
1478
+ background: color-mix(in srgb, var(--c-warning) 12%, var(--c-background));
1479
+ border-color: color-mix(in srgb, var(--c-warning) 35%, var(--c-background));
1480
1480
  border-left-color: var(--c-warning);
1481
1481
  }
1482
1482
  .c-alert--warning .c-alert__icon {
@@ -1488,8 +1488,8 @@
1488
1488
 
1489
1489
  .c-alert--error {
1490
1490
  color: var(--c-text);
1491
- background: var(--c-surface);
1492
- border-color: var(--c-muted);
1491
+ background: color-mix(in srgb, var(--c-error) 12%, var(--c-background));
1492
+ border-color: color-mix(in srgb, var(--c-error) 35%, var(--c-background));
1493
1493
  border-left-color: var(--c-error);
1494
1494
  }
1495
1495
  .c-alert--error .c-alert__icon {
@@ -1498,3 +1498,291 @@
1498
1498
  .c-alert--error .c-alert__title {
1499
1499
  color: var(--c-text);
1500
1500
  }
1501
+
1502
+ @keyframes c-spinner-rotate {
1503
+ to {
1504
+ transform: rotate(360deg);
1505
+ }
1506
+ }
1507
+ @keyframes c-spinner-pulse {
1508
+ 0%, 100% {
1509
+ opacity: 1;
1510
+ }
1511
+ 50% {
1512
+ opacity: 0.35;
1513
+ }
1514
+ }
1515
+ .c-spinner {
1516
+ --c-spinner-size: 1.5rem;
1517
+ box-sizing: border-box;
1518
+ display: inline-block;
1519
+ flex: none;
1520
+ width: var(--c-spinner-size);
1521
+ height: var(--c-spinner-size);
1522
+ vertical-align: middle;
1523
+ border: 2px solid var(--c-surface-active);
1524
+ border-top-color: var(--c-primary);
1525
+ border-radius: 50%;
1526
+ animation: c-spinner-rotate 0.75s linear infinite;
1527
+ }
1528
+ @media (prefers-reduced-motion: reduce) {
1529
+ .c-spinner {
1530
+ border-color: var(--c-primary);
1531
+ animation: c-spinner-pulse 2s ease-in-out infinite;
1532
+ }
1533
+ }
1534
+
1535
+ .c-spinner--sm {
1536
+ --c-spinner-size: 1rem;
1537
+ }
1538
+
1539
+ .c-spinner--md {
1540
+ --c-spinner-size: 1.5rem;
1541
+ }
1542
+
1543
+ .c-spinner--lg {
1544
+ --c-spinner-size: 2.5rem;
1545
+ }
1546
+
1547
+ .c-spinner__label {
1548
+ position: absolute;
1549
+ width: 1px;
1550
+ height: 1px;
1551
+ padding: 0;
1552
+ margin: -1px;
1553
+ overflow: hidden;
1554
+ white-space: nowrap;
1555
+ border: 0;
1556
+ clip-path: inset(50%);
1557
+ }
1558
+
1559
+ .c-modal-lock {
1560
+ overflow: hidden;
1561
+ }
1562
+
1563
+ .c-modal {
1564
+ box-sizing: border-box;
1565
+ width: 32rem;
1566
+ max-width: calc(100vw - 2 * 1rem);
1567
+ max-height: calc(100dvh - 2rem);
1568
+ padding: 0;
1569
+ color: var(--c-text);
1570
+ background: var(--c-background);
1571
+ border: 1px solid var(--c-muted);
1572
+ border-radius: 0;
1573
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08), 0 16px 48px rgba(0, 0, 0, 0.2);
1574
+ opacity: 0;
1575
+ transition: opacity 0.2s ease-out, transform 0.2s ease-out, overlay 0.2s allow-discrete, display 0.2s allow-discrete;
1576
+ transform: translateY(0.5rem);
1577
+ }
1578
+ .c-modal[open] {
1579
+ display: flex;
1580
+ flex-direction: column;
1581
+ opacity: 1;
1582
+ transform: none;
1583
+ }
1584
+ @starting-style {
1585
+ .c-modal[open] {
1586
+ opacity: 0;
1587
+ transform: translateY(0.5rem);
1588
+ }
1589
+ }
1590
+ .c-modal::backdrop {
1591
+ background: rgba(0, 0, 0, 0.5);
1592
+ opacity: 0;
1593
+ transition: opacity 0.2s ease-out, overlay 0.2s allow-discrete, display 0.2s allow-discrete;
1594
+ }
1595
+ .c-modal[open]::backdrop {
1596
+ opacity: 1;
1597
+ }
1598
+ @starting-style {
1599
+ .c-modal[open]::backdrop {
1600
+ opacity: 0;
1601
+ }
1602
+ }
1603
+ @media (prefers-reduced-motion: reduce) {
1604
+ .c-modal {
1605
+ transform: none;
1606
+ transition: none;
1607
+ }
1608
+ @starting-style {
1609
+ .c-modal[open] {
1610
+ transform: none;
1611
+ }
1612
+ }
1613
+ .c-modal::backdrop {
1614
+ transition: none;
1615
+ }
1616
+ }
1617
+
1618
+ .c-modal--sm {
1619
+ width: 24rem;
1620
+ }
1621
+
1622
+ .c-modal--md {
1623
+ width: 32rem;
1624
+ }
1625
+
1626
+ .c-modal--lg {
1627
+ width: 48rem;
1628
+ }
1629
+
1630
+ .c-modal__header {
1631
+ display: flex;
1632
+ flex: none;
1633
+ gap: 1rem;
1634
+ align-items: flex-start;
1635
+ justify-content: space-between;
1636
+ padding: 1.25rem 1.5rem 0;
1637
+ }
1638
+
1639
+ .c-modal__heading {
1640
+ flex: 1 1 auto;
1641
+ min-width: 0;
1642
+ }
1643
+
1644
+ .c-modal__title {
1645
+ margin: 0;
1646
+ }
1647
+
1648
+ .c-modal__description {
1649
+ margin: 0.25rem 0 0;
1650
+ }
1651
+
1652
+ .c-modal__close {
1653
+ display: inline-flex;
1654
+ flex: none;
1655
+ align-items: center;
1656
+ justify-content: center;
1657
+ padding: 0;
1658
+ margin-left: auto;
1659
+ font-size: 1.25rem;
1660
+ line-height: 1;
1661
+ color: var(--c-muted);
1662
+ cursor: pointer;
1663
+ background: none;
1664
+ border: 0;
1665
+ }
1666
+ .c-modal__close:hover {
1667
+ color: var(--c-text);
1668
+ }
1669
+ .c-modal__close:focus-visible {
1670
+ outline: 2px solid currentColor;
1671
+ outline-offset: 2px;
1672
+ }
1673
+
1674
+ .c-modal__body {
1675
+ flex: 1 1 auto;
1676
+ min-height: 0;
1677
+ padding: 1.25rem 1.5rem;
1678
+ overflow-y: auto;
1679
+ }
1680
+
1681
+ .c-modal__footer {
1682
+ display: flex;
1683
+ flex: none;
1684
+ flex-wrap: wrap;
1685
+ gap: 1rem;
1686
+ justify-content: flex-end;
1687
+ padding: 0 1.5rem 1.25rem;
1688
+ }
1689
+
1690
+ @keyframes c-toast-enter {
1691
+ from {
1692
+ opacity: 0;
1693
+ transform: translateY(var(--c-toast-enter-shift));
1694
+ }
1695
+ to {
1696
+ opacity: 1;
1697
+ transform: none;
1698
+ }
1699
+ }
1700
+ @keyframes c-toast-fade {
1701
+ from {
1702
+ opacity: 0;
1703
+ }
1704
+ to {
1705
+ opacity: 1;
1706
+ }
1707
+ }
1708
+ .c-toast-region {
1709
+ position: fixed;
1710
+ z-index: 1100;
1711
+ display: flex;
1712
+ flex-direction: column;
1713
+ width: 24rem;
1714
+ max-width: calc(100vw - 2 * 1rem);
1715
+ pointer-events: none;
1716
+ }
1717
+
1718
+ .c-toast-region--top-left,
1719
+ .c-toast-region--top-center,
1720
+ .c-toast-region--top-right {
1721
+ top: 1rem;
1722
+ }
1723
+
1724
+ .c-toast-region--bottom-left,
1725
+ .c-toast-region--bottom-center,
1726
+ .c-toast-region--bottom-right {
1727
+ bottom: 1rem;
1728
+ }
1729
+
1730
+ .c-toast-region--top-left,
1731
+ .c-toast-region--bottom-left {
1732
+ left: 1rem;
1733
+ }
1734
+
1735
+ .c-toast-region--top-right,
1736
+ .c-toast-region--bottom-right {
1737
+ right: 1rem;
1738
+ }
1739
+
1740
+ .c-toast-region--top-center,
1741
+ .c-toast-region--bottom-center {
1742
+ left: 50%;
1743
+ transform: translateX(-50%);
1744
+ }
1745
+
1746
+ .c-toast-list {
1747
+ display: flex;
1748
+ flex-direction: column;
1749
+ gap: 0.75rem;
1750
+ padding: 0;
1751
+ margin: 0;
1752
+ list-style: none;
1753
+ }
1754
+
1755
+ .c-toast {
1756
+ --c-toast-enter-shift: 0.75rem;
1757
+ pointer-events: auto;
1758
+ animation: c-toast-enter 0.2s ease-out;
1759
+ }
1760
+ @media (prefers-reduced-motion: reduce) {
1761
+ .c-toast {
1762
+ animation-name: c-toast-fade;
1763
+ }
1764
+ }
1765
+
1766
+ .c-toast-region--top-left .c-toast,
1767
+ .c-toast-region--top-center .c-toast,
1768
+ .c-toast-region--top-right .c-toast {
1769
+ --c-toast-enter-shift: -0.75rem;
1770
+ }
1771
+
1772
+ .c-toast__action {
1773
+ display: block;
1774
+ padding: 0;
1775
+ margin-top: 0.5rem;
1776
+ font: inherit;
1777
+ font-size: 0.875rem;
1778
+ font-weight: 700;
1779
+ color: var(--c-text);
1780
+ text-decoration: underline;
1781
+ cursor: pointer;
1782
+ background: none;
1783
+ border: 0;
1784
+ }
1785
+ .c-toast__action:focus-visible {
1786
+ outline: 2px solid currentColor;
1787
+ outline-offset: 2px;
1788
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@carissa-io/theme-default",
3
- "version": "0.3.2",
3
+ "version": "0.3.4",
4
4
  "description": "Carissa UI: the default theme (Swiss minimalism) as SCSS variable overrides of the Carissa components, with a compiled CSS build",
5
5
  "type": "module",
6
6
  "style": "dist/index.css",
@@ -54,7 +54,10 @@
54
54
  "@carissa-io/components-search": "^0.1.1",
55
55
  "@carissa-io/components-typography": "^0.1.0",
56
56
  "@carissa-io/components-card": "^0.1.0",
57
- "@carissa-io/components-alert": "^0.1.0"
57
+ "@carissa-io/components-alert": "^0.1.0",
58
+ "@carissa-io/components-spinner": "^0.1.0",
59
+ "@carissa-io/components-modal": "^0.1.0",
60
+ "@carissa-io/components-toast": "^0.1.0"
58
61
  },
59
62
  "peerDependenciesMeta": {
60
63
  "@carissa-io/components-input": {
@@ -119,6 +122,15 @@
119
122
  },
120
123
  "@carissa-io/components-alert": {
121
124
  "optional": true
125
+ },
126
+ "@carissa-io/components-spinner": {
127
+ "optional": true
128
+ },
129
+ "@carissa-io/components-modal": {
130
+ "optional": true
131
+ },
132
+ "@carissa-io/components-toast": {
133
+ "optional": true
122
134
  }
123
135
  },
124
136
  "devDependencies": {
@@ -131,12 +143,15 @@
131
143
  "@carissa-io/components-date-picker": "^0.1.1",
132
144
  "@carissa-io/components-input": "^0.2.1",
133
145
  "@carissa-io/components-listbox": "^0.1.1",
146
+ "@carissa-io/components-modal": "^0.1.0",
134
147
  "@carissa-io/components-popover": "^0.1.1",
135
148
  "@carissa-io/components-radio-group": "^0.1.1",
136
149
  "@carissa-io/components-search": "^0.1.1",
137
150
  "@carissa-io/components-select": "^0.1.1",
138
151
  "@carissa-io/components-slider": "^0.1.1",
152
+ "@carissa-io/components-spinner": "^0.1.0",
139
153
  "@carissa-io/components-switch": "^0.1.1",
154
+ "@carissa-io/components-toast": "^0.1.0",
140
155
  "@carissa-io/components-typography": "^0.1.0",
141
156
  "@carissa-io/components-upload": "^0.1.1",
142
157
  "sass-embedded": "^1.105.1",
package/scss/index.scss CHANGED
@@ -599,34 +599,89 @@
599
599
  $c-alert-dismiss-color-hover: $var-text,
600
600
 
601
601
  // Info
602
- $c-alert-info-background: $var-surface,
603
- $c-alert-info-border-color: $var-muted,
602
+ $c-alert-info-background: color-mix(in srgb, $var-info 12%, $var-background),
603
+ $c-alert-info-border-color: color-mix(in srgb, $var-info 35%, $var-background),
604
604
  $c-alert-info-accent-color: $var-info,
605
605
  $c-alert-info-color: $var-text,
606
606
  $c-alert-info-icon-color: $var-info,
607
607
  $c-alert-info-title-color: $var-text,
608
608
 
609
609
  // Success
610
- $c-alert-success-background: $var-surface,
611
- $c-alert-success-border-color: $var-muted,
610
+ $c-alert-success-background: color-mix(in srgb, $var-success 12%, $var-background),
611
+ $c-alert-success-border-color: color-mix(in srgb, $var-success 35%, $var-background),
612
612
  $c-alert-success-accent-color: $var-success,
613
613
  $c-alert-success-color: $var-text,
614
614
  $c-alert-success-icon-color: $var-success,
615
615
  $c-alert-success-title-color: $var-text,
616
616
 
617
617
  // Warning
618
- $c-alert-warning-background: $var-surface,
619
- $c-alert-warning-border-color: $var-muted,
618
+ $c-alert-warning-background: color-mix(in srgb, $var-warning 12%, $var-background),
619
+ $c-alert-warning-border-color: color-mix(in srgb, $var-warning 35%, $var-background),
620
620
  $c-alert-warning-accent-color: $var-warning,
621
621
  $c-alert-warning-color: $var-text,
622
622
  $c-alert-warning-icon-color: $var-warning,
623
623
  $c-alert-warning-title-color: $var-text,
624
624
 
625
625
  // Error
626
- $c-alert-error-background: $var-surface,
627
- $c-alert-error-border-color: $var-muted,
626
+ $c-alert-error-background: color-mix(in srgb, $var-error 12%, $var-background),
627
+ $c-alert-error-border-color: color-mix(in srgb, $var-error 35%, $var-background),
628
628
  $c-alert-error-accent-color: $var-error,
629
629
  $c-alert-error-color: $var-text,
630
630
  $c-alert-error-icon-color: $var-error,
631
631
  $c-alert-error-title-color: $var-text
632
632
  );
633
+
634
+ // Spinner: a thin ring in the surface-active gray with a primary arc (black in light, white in dark), turning at 0.75s per
635
+ // turn; with reduced motion the package swaps the turn for a slow pulse. Colors only through the custom properties.
636
+ @use '@carissa-io/components-spinner/scss' as spinner with (
637
+ $c-spinner-size-sm: 1rem,
638
+ $c-spinner-size-md: 1.5rem,
639
+ $c-spinner-size-lg: 2.5rem,
640
+ $c-spinner-thickness: 2px,
641
+ $c-spinner-color: $var-primary,
642
+ $c-spinner-track-color: $var-surface-active,
643
+ $c-spinner-duration: 0.75s,
644
+ $c-spinner-duration-reduced: 2s
645
+ );
646
+
647
+ // Modal: a box on the page background with a 1px muted border (the edge that still reads in dark, where a shadow is almost
648
+ // invisible), the theme radius, and the same 1.5rem / 1.25rem padding as Card. The backdrop is the one literal color: black
649
+ // at 50%, the same in both modes. Its index forwards the typography styles, already loaded and configured above, so this
650
+ // block goes after the Typography one (and after Card, which forwards it too).
651
+ @use '@carissa-io/components-modal/scss' as modal with (
652
+ $c-modal-background: $var-background,
653
+ $c-modal-color: $var-text,
654
+ $c-modal-border-width: 1px,
655
+ $c-modal-border-color: $var-muted,
656
+ $c-modal-radius: $radius,
657
+ $c-modal-shadow: (0 4px 8px rgb(0 0 0 / 0.08), 0 16px 48px rgb(0 0 0 / 0.2)),
658
+ $c-modal-padding-x: 1.5rem,
659
+ $c-modal-padding-y: 1.25rem,
660
+ $c-modal-gap: 1rem,
661
+ $c-modal-margin: 1rem,
662
+ $c-modal-width-sm: 24rem,
663
+ $c-modal-width-md: 32rem,
664
+ $c-modal-width-lg: 48rem,
665
+ $c-modal-close-size: 1.25rem,
666
+ $c-modal-close-color: $var-muted,
667
+ $c-modal-close-color-hover: $var-text,
668
+ $c-modal-backdrop-color: rgb(0 0 0 / 0.5),
669
+ $c-modal-transition-duration: $transition-duration,
670
+ $c-modal-enter-offset: 0.5rem
671
+ );
672
+
673
+ // Toast: the region and its placement only; the look of each toast is the Alert's (configured above). Its index forwards the
674
+ // alert styles, already loaded and configured by the Alert block, so this block goes after it. The action is a bold
675
+ // underlined 0.875rem button in the text color.
676
+ @use '@carissa-io/components-toast/scss' as toast with (
677
+ $c-toast-region-offset: 1rem,
678
+ $c-toast-region-z-index: 1100,
679
+ $c-toast-gap: 0.75rem,
680
+ $c-toast-width: 24rem,
681
+ $c-toast-action-margin-top: 0.5rem,
682
+ $c-toast-action-font-size: $font-size-small,
683
+ $c-toast-action-font-weight: $font-weight-bold,
684
+ $c-toast-action-color: $var-text,
685
+ $c-toast-enter-duration: $transition-duration,
686
+ $c-toast-enter-distance: 0.75rem
687
+ );