// ------------------------------------------------------------------------------
// <auto-generated>
//     This code was generated by a tool.
//     Changes to this file may cause incorrect behavior and will be lost if the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
// #region Imports
import { css } from '../../../../../Dom/Css';
// #endregion
/**
 * @public
 */
export function numberCounterElementJoyStyle() {
    return css `
:host {
  --number-counter-font-family: var(--joy-font-family);
  --number-counter-font-letter-spacing: var(--joy-typography-body1-letter-spacing);
  --number-counter-font-line-height: var(--joy-typography-body1-line-height);
  --number-counter-font-size: var(--joy-typography-body1-font-size);
  --number-counter-font-text-decoration: var(--joy-typography-body1-text-decoration);
  --number-counter-font-text-transform: var(--joy-typography-body1-text-transform);
  --number-counter-font-weight: var(--joy-typography-body1-font-weight);
  --number-counter-gap: 0px;
  --number-counter-padding-bottom: 0px;
  --number-counter-padding-left: 0px;
  --number-counter-padding-right: 0px;
  --number-counter-padding-top: 0px;
  --number-counter-shadow: unset unset unset unset unset;
  --number-counter-shadow-blur: unset;
  --number-counter-shadow-color: unset;
  --number-counter-shadow-offset-x: unset;
  --number-counter-shadow-offset-y: unset;
  --number-counter-shadow-spread: unset;
  --number-counter-transition-duration: var(--joy-duration-short);
  --number-counter-transition-mode: ease;
  --number-counter-transition-property: color, opacity, box-shadow;
  --number-counter-translate: none;
}

@media screen and (prefers-reduced-motion: reduce) {
  :host {
    transition-duration: .01ms;
  }
}

:host {
  box-sizing: border-box;
  display: block;
  position: relative;
}

:host *, :host :before, :host :after {
  box-sizing: border-box;
  background-repeat: no-repeat;
}

:host :before, :host :after {
  text-decoration: inherit;
  vertical-align: inherit;
}

:host([hidden]) {
  display: none !important;
}

:host {
  --from: 0;
  --to: 0;
  --duration: 0s;
  --timing: ease-in-out;
  --alignment: left;
  --n: 0;
  font-family: var(--number-counter-font-family);
  font-size: var(--number-counter-font-size);
  line-height: var(--number-counter-font-line-height);
  font-weight: var(--number-counter-font-weight);
  letter-spacing: var(--number-counter-font-letter-spacing);
  -webkit-text-decoration: var(--number-counter-font-text-decoration);
  text-decoration: var(--number-counter-font-text-decoration);
  text-transform: var(--number-counter-font-text-transform);
  transition-duration: var(--number-counter-transition-duration);
  transition-timing-function: var(--number-counter-transition-mode);
  transition-property: var(--number-counter-transition-property);
  padding-top: var(--number-counter-padding-top);
  padding-right: var(--number-counter-padding-right);
  padding-bottom: var(--number-counter-padding-bottom);
  padding-left: var(--number-counter-padding-left);
  gap: var(--number-counter-gap);
  background-color: var(--text-background-color);
  color: var(--text-foreground-color);
  text-align: var(--alignment);
  line-clamp: var(--maxLines);
  box-orient: vertical;
  box-sizing: border-box;
  line-break: normal;
  word-break: normal;
  white-space: nowrap;
  -webkit-box-orient: vertical;
  display: -webkit-box;
  overflow: hidden;
}

:host [part="counter"] {
  animation: counter var(--duration) forwards var(--timing, ease-in-out);
  counter-reset: num var(--n);
  margin: 0;
}

:host [part="counter"] > .digit {
  display: none;
}

:host [part="counter"]:after {
  content: counter(num);
}

@keyframes counter {
  from {
    --n: var(--from);
  }

  to {
    --n: var(--to);
  }
}

:host([alignment="center"]) {
  --alignment: center;
}

:host([alignment="justify"]) {
  --alignment: justify;
}

:host([alignment="left"]) {
  --alignment: left;
}

:host([alignment="right"]) {
  --alignment: right;
}

:host [part="counter"]:after {
  display: none;
}

:host [part="counter"] > .digit {
  will-change: transform;
  display: inline-block;
}

:host [part="counter"] > .digit.bounce-up {
  animation: elastic-digit-up var(--joy-duration-short) cubic-bezier(.4, 0, .2, 1);
}

:host [part="counter"] > .digit.bounce-down {
  animation: elastic-digit-down var(--joy-duration-short) cubic-bezier(.4, 0, .2, 1);
}

@keyframes elastic-digit-up {
  0% {
    transform: scaleX(1) scaleY(1);
  }

  15% {
    transform: scaleX(.92) scaleY(1.08);
  }

  30% {
    transform: scaleX(.85) scaleY(1.18);
  }

  45% {
    transform: scaleX(.8) scaleY(1.25);
  }

  55% {
    transform: scaleX(.95) scaleY(1.05);
  }

  65% {
    transform: scaleX(1.02) scaleY(.98);
  }

  78% {
    transform: scaleX(1) scaleY(1);
  }

  100% {
    transform: scaleX(1) scaleY(1);
  }
}

@keyframes elastic-digit-down {
  0% {
    transform: scaleX(1) scaleY(1);
  }

  15% {
    transform: scaleX(1.08) scaleY(.92);
  }

  30% {
    transform: scaleX(1.18) scaleY(.85);
  }

  45% {
    transform: scaleX(1.25) scaleY(.8);
  }

  55% {
    transform: scaleX(1.05) scaleY(.95);
  }

  65% {
    transform: scaleX(.98) scaleY(1.02);
  }

  78% {
    transform: scaleX(1) scaleY(1);
  }

  100% {
    transform: scaleX(1) scaleY(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  [part="counter"] > .digit {
    animation: none !important;
  }
}

    `;
}
//# sourceMappingURL=NumberCounterElement.Joy.js.map