PageSourceSearch

https://droprompt.com/_static/cd603bf35fdbcf40f9f52119/assets/interface-motion.js?v=1

js droprompt.com collected 2026-09-24 14:41:53 UTC 2,238 bytes, 44 lines download raw bytes

1/* No network calls, dependencies, page state changes or content hidden on load. */
2(function () {
3  'use strict';
4  var reduced = window.matchMedia('(prefers-reduced-motion: reduce)');
5  var active = new Set();
6  var revealed = new WeakSet();
7  var observer;
8  function stop() {
9    active.forEach(function (animation) { animation.cancel(); });
10    active.clear();
11    if (observer) observer.disconnect();
12  }
13  function reveal(element, delay) {
14    if (reduced.matches || document.hidden || !element.animate) return;
15    var animation = element.animate([
16      { opacity: .65, transform: 'translateY(8px)' },
17      { opacity: 1, transform: 'translateY(0)' }
18    ], { duration: 360, delay: delay, easing: 'cubic-bezier(.22,1,.36,1)' });
19    active.add(animation);
20    animation.onfinish = animation.oncancel = function () { active.delete(animation); };
21  }
22  function init() {
23    if (reduced.matches || !('IntersectionObserver' in window)) return;
24    var page = document.body.dataset.dpPage;
25    var marketing = ['about','pricing','library','contact','support','coding','mcp','mac','news','credits','privacy','terms','refund','shortcut','droprompt-mobile','waffarha-ended','404'];
26    if (marketing.indexOf(page) === -1) return;
27    var targets = document.querySelectorAll('.plan,.prompt-card,.support-card,.credit-card,.cc-card,.legal-section,.mission-card,.response-card,.mcp-setup,.feats > *,[data-polish-reveal]');
28    observer = new IntersectionObserver(function (entries) {
29      var index = 0;
30      entries.forEach(function (entry) {
31        if (!entry.isIntersecting) return;
32        observer.unobserve(entry.target);
33        revealed.add(entry.target);
34        reveal(entry.target, Math.min(index++ * 35, 105));
35      });
36    }, { threshold: .08 });
37    targets.forEach(function (target) { if (!revealed.has(target)) observer.observe(target); });
38  }
39  reduced.addEventListener('change', function () { stop(); if (!reduced.matches) init(); });
40  document.addEventListener('visibilitychange', function () { if (document.hidden) stop(); else init(); });
41  window.addEventListener('pagehide', stop);
42  if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', init, {once:true});
43  else init();
44})();

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.