hydrate.mjs 919 B

1234567891011121314151617181920212223242526
  1. import { style } from '../../render/dom/style.mjs';
  2. import { supportsPartialKeyframes } from '../waapi/supports/partial-keyframes.mjs';
  3. import { pxValues } from '../waapi/utils/px-values.mjs';
  4. function hydrateKeyframes(element, name, keyframes, pseudoElement) {
  5. if (!Array.isArray(keyframes)) {
  6. keyframes = [keyframes];
  7. }
  8. for (let i = 0; i < keyframes.length; i++) {
  9. if (keyframes[i] === null) {
  10. keyframes[i] =
  11. i === 0 && !pseudoElement
  12. ? style.get(element, name)
  13. : keyframes[i - 1];
  14. }
  15. if (typeof keyframes[i] === "number" && pxValues.has(name)) {
  16. keyframes[i] = keyframes[i] + "px";
  17. }
  18. }
  19. if (!pseudoElement && !supportsPartialKeyframes() && keyframes.length < 2) {
  20. keyframes.unshift(style.get(element, name));
  21. }
  22. return keyframes;
  23. }
  24. export { hydrateKeyframes };