Sarah Services
41 elements fade — quick — on click
Summary
- origin
- sarahzaheer.site
- selector
- .framer-jy3Pe
- family
- interaction
- passes
- rest, ground, motion, scrub, feel, page-transition, interaction, fallback
- read directly
- 92 %
WHAT WAS MEASURED
mechanism
- 10
- distinct mechanisms. That is what actually has to be built, and what sets the price.
- 6
- unique easing curves. Each one is a design decision to get right.
- 55
- elements in motion. Scope raises the price, but in logarithm: repeating is not the expensive part.
THE CHARACTER OF THE MOTION
fastslow
10 mechanisms · 6 curves
one recipemany
10 distinct mechanisms
intimatecrowd
55 elements in motion
measuredinferred
92 % read from the engine, the rest sampled or inferred
The travel is re-anchored when the piece is mounted outside its page: the original scroll range belonged to a document this component no longer lives in. The mechanism — which properties, with which curve, from where to where — is the measured one.
MOUNTING THE PIECE…
RUNNING ON THE MEASURED RECIPES · 1440 PX, SCALEDIMAGES AND TEXT ARE STAND-INS — WE NEVER TAKE THEM
The code that does this
Generated from the measurement, untouched by hand. One recipe per mechanism: the elements that move the same way share it, and their delay comes from their position.
1/**2* ServicesBlock — las recetas medidas.3*4* Estos números salieron de la página, no de una estimación. Son el archivo que se toca para5* ajustar el movimiento: nada de aquí necesita entrar en el JSX.6*7* specVersion 1.0 · capturado a 59.5 fps8*/910export type Recipe = {11/** una receta por MECANISMO; el marcado la comparte con `data-mv` */12id: string;13trigger: string;14scrollRangePx?: [number, number];15/** `null` en un scrub: su tiempo es el scroll, no el reloj */16durationMs: number | null;17/**18* Un retraso por elemento, en el orden del marcado.19*20* Es lo único que distingue a los miembros de un escalonado, así que va como lista en vez21* de repetir la receta entera por cada uno. Si sólo hay un valor, lo comparten todos.22*/23delaysMs: number[];24easing: string;25iterations: number;26fill: string;27keyframes: Record<string, number | string>[];28/** el estado final, para quien pidió no ver movimiento */29restingStyle: Record<string, number | string>;30};3132export const RECIPES: Recipe[] = [33{34// div 76 — medido — Web Animations API · 3 elementos35id: "mech_01",36trigger: "viewport-enter",37durationMs: 600,38delaysMs: [0],39easing: "linear(0 0%, 0.011 1.694915254237288%, 0.0399 3.389830508474576%, 0.0811 5.084745762711864%, 0.1305 6.779661016949152%, 0.1849 8.474576271186441%, 0.2418 10.16949152542373%, 0.2993 11.864406779661019%, 0.3561 13.559322033898308%, 0.4111 15.254237288135595%, 0.4637 16.949152542372882%, 0.5134 18.64406779661017%, 0.56 20.338983050847457%, 0.6032 22.033898305084744%, 0.6432 23.72881355932203%, 0.6799 25.42372881355932%, 0.7135 27.118644067796605%, 0.7441 28.813559322033893%, 0.7718 30.50847457627118%, 0.7969 32.20338983050847%, 0.8194 33.89830508474576%, 0.8397 35.593220338983045%, 0.858 37.28813559322033%, 0.8743 38.98305084745762%, 0.8888 40.677966101694906%, 0.9018 42.37288135593219%, 0.9133 44.06779661016948%, 0.9236 45.76271186440677%, 0.9327 47.457627118644055%, 0.9408 49.15254237288134%, 0.9479 50.84745762711863%, 0.9543 52.54237288135592%, 0.9598 54.237288135593204%, 0.9648 55.93220338983049%, 0.9691 57.62711864406778%, 0.9729 59.322033898305065%, 0.9763 61.01694915254235%, 0.9792 62.71186440677964%, 0.9818 64.40677966101693%, 0.9841 66.10169491525421%, 0.9861 67.7966101694915%, 0.9879 69.49152542372879%, 0.9894 71.18644067796608%, 0.9908 72.88135593220336%, 0.9919 74.57627118644065%, 0.993 76.27118644067794%, 0.9939 77.96610169491522%, 0.9947 79.66101694915251%, 0.9953 81.3559322033898%, 0.9959 83.05084745762709%, 0.9965 84.74576271186437%, 0.9969 86.44067796610166%, 0.9973 88.13559322033895%, 0.9977 89.83050847457623%, 0.998 91.52542372881354%, 0.9982 93.22033898305082%, 0.9985 94.91525423728811%, 0.9987 96.61016949152541%, 0.9988 98.30508474576271%, 1 100%)",40iterations: 1,41fill: "both",42keyframes: [{"offset":0,"opacity":"0.980924"},{"offset":1,"opacity":"1"}],43restingStyle: {"opacity":"1"},44},45{46// div 77 — medido — Web Animations API · 2 elementos47id: "mech_02",48trigger: "viewport-enter",49durationMs: 600,50delaysMs: [0],51easing: "linear(0 0%, 0.011 1.694915254237288%, 0.0399 3.389830508474576%, 0.0811 5.084745762711864%, 0.1305 6.779661016949152%, 0.1849 8.474576271186441%, 0.2418 10.16949152542373%, 0.2993 11.864406779661019%, 0.3561 13.559322033898308%, 0.4111 15.254237288135595%, 0.4637 16.949152542372882%, 0.5134 18.64406779661017%, 0.56 20.338983050847457%, 0.6032 22.033898305084744%, 0.6432 23.72881355932203%, 0.6799 25.42372881355932%, 0.7135 27.118644067796605%, 0.7441 28.813559322033893%, 0.7718 30.50847457627118%, 0.7969 32.20338983050847%, 0.8194 33.89830508474576%, 0.8397 35.593220338983045%, 0.858 37.28813559322033%, 0.8743 38.98305084745762%, 0.8888 40.677966101694906%, 0.9018 42.37288135593219%, 0.9133 44.06779661016948%, 0.9236 45.76271186440677%, 0.9327 47.457627118644055%, 0.9408 49.15254237288134%, 0.9479 50.84745762711863%, 0.9543 52.54237288135592%, 0.9598 54.237288135593204%, 0.9648 55.93220338983049%, 0.9691 57.62711864406778%, 0.9729 59.322033898305065%, 0.9763 61.01694915254235%, 0.9792 62.71186440677964%, 0.9818 64.40677966101693%, 0.9841 66.10169491525421%, 0.9861 67.7966101694915%, 0.9879 69.49152542372879%, 0.9894 71.18644067796608%, 0.9908 72.88135593220336%, 0.9919 74.57627118644065%, 0.993 76.27118644067794%, 0.9939 77.96610169491522%, 0.9947 79.66101694915251%, 0.9953 81.3559322033898%, 0.9959 83.05084745762709%, 0.9965 84.74576271186437%, 0.9969 86.44067796610166%, 0.9973 88.13559322033895%, 0.9977 89.83050847457623%, 0.998 91.52542372881354%, 0.9982 93.22033898305082%, 0.9985 94.91525423728811%, 0.9987 96.61016949152541%, 0.9988 98.30508474576271%, 1 100%)",52iterations: 1,53fill: "both",54keyframes: [{"offset":0,"opacity":"0.520112"},{"offset":1,"opacity":"1"}],55restingStyle: {"opacity":"1"},56},57{58// div 83 — medido — Web Animations API · 24 elementos59id: "mech_03",60trigger: "viewport-enter",61durationMs: 400,62delaysMs: [0],63easing: "linear(0 0%, 0.024 2.5641025641025643%, 0.0823 5.128205128205128%, 0.1594 7.692307692307692%, 0.2448 10.256410256410255%, 0.3315 12.82051282051282%, 0.4152 15.384615384615383%, 0.4934 17.94871794871795%, 0.5646 20.51282051282051%, 0.6282 23.076923076923077%, 0.6844 25.641025641025642%, 0.7334 28.205128205128208%, 0.7758 30.769230769230774%, 0.8122 33.333333333333336%, 0.8432 35.8974358974359%, 0.8694 38.46153846153846%, 0.8916 41.02564102564102%, 0.9102 43.589743589743584%, 0.9258 46.153846153846146%, 0.9388 48.71794871794871%, 0.9496 51.28205128205127%, 0.9586 53.84615384615383%, 0.966 56.410256410256395%, 0.9722 58.97435897435896%, 0.9772 61.53846153846152%, 0.9814 64.10256410256409%, 0.9848 66.66666666666666%, 0.9876 69.23076923076923%, 0.9899 71.7948717948718%, 0.9918 74.35897435897436%, 0.9933 76.92307692307693%, 0.9946 79.4871794871795%, 0.9956 82.05128205128207%, 0.9964 84.61538461538463%, 0.9971 87.17948717948718%, 0.9977 89.74358974358975%, 0.9981 92.30769230769232%, 0.9985 94.87179487179488%, 0.9988 97.43589743589743%, 1 100%)",64iterations: 1,65fill: "both",66keyframes: [{"offset":0,"opacity":"1"},{"offset":1,"opacity":"0"}],67restingStyle: {"opacity":"0"},68},69{70// div 107 — medido — Web Animations API71id: "mech_04",72trigger: "viewport-enter",73durationMs: 400,74delaysMs: [0],75easing: "linear(0 0%, 0.0235 2.5641025641025643%, 0.083 5.128205128205128%, 0.1647 7.692307692307692%, 0.2582 10.256410256410255%, 0.3557 12.82051282051282%, 0.4517 15.384615384615383%, 0.5423 17.94871794871795%, 0.6252 20.51282051282051%, 0.6991 23.076923076923077%, 0.7636 25.641025641025642%, 0.8186 28.205128205128208%, 0.8647 30.769230769230774%, 0.9025 33.333333333333336%, 0.933 35.8974358974359%, 0.9571 38.46153846153846%, 0.9756 41.02564102564102%, 0.9895 43.589743589743584%, 0.9996 46.153846153846146%, 1.0065 48.71794871794871%, 1.0111 51.28205128205127%, 1.0137 53.84615384615383%, 1.0149 56.410256410256395%, 1.0151 58.97435897435896%, 1.0146 61.53846153846152%, 1.0136 64.10256410256409%, 1.0123 66.66666666666666%, 1.0108 69.23076923076923%, 1.0093 71.7948717948718%, 1.0079 74.35897435897436%, 1.0066 76.92307692307693%, 1.0053 79.4871794871795%, 1.0043 82.05128205128207%, 1.0033 84.61538461538463%, 1.0025 87.17948717948718%, 1.0019 89.74358974358975%, 1.0013 92.30769230769232%, 1.0009 94.87179487179488%, 1.0006 97.43589743589743%, 1 100%)",76iterations: 1,77fill: "both",78keyframes: [{"offset":0,"opacity":"1"},{"offset":1,"opacity":"0"}],79restingStyle: {"opacity":"0"},80},81{82// div 109 — medido — Web Animations API · 15 elementos · sequence de 7ms83id: "mech_05",84trigger: "click",85durationMs: 1200,86delaysMs: [800, 800, 800, 800, 800, 800, 800, 900, 900, 900, 900, 900, 900, 900, 900],87easing: "linear(0 0%, 0.0029 0.8403361344537815%, 0.0109 1.680672268907563%, 0.0232 2.5210084033613445%, 0.0393 3.3613445378151257%, 0.0584 4.201680672268907%, 0.0799 5.042016806722688%, 0.1036 5.882352941176469%, 0.1288 6.72268907563025%, 0.1552 7.563025210084032%, 0.1826 8.403361344537814%, 0.2106 9.243697478991596%, 0.2389 10.084033613445378%, 0.2674 10.92436974789916%, 0.2959 11.764705882352942%, 0.3243 12.605042016806724%, 0.3523 13.445378151260506%, 0.3799 14.285714285714288%, 0.407 15.12605042016807%, 0.4335 15.966386554621852%, 0.4594 16.806722689075634%, 0.4845 17.647058823529417%, 0.5089 18.4873949579832%, 0.5326 19.32773109243698%, 0.5554 20.168067226890763%, 0.5775 21.008403361344545%, 0.5987 21.848739495798327%, 0.6191 22.68907563025211%, 0.6387 23.52941176470589%, 0.6575 24.369747899159673%, 0.6755 25.210084033613455%, 0.6927 26.050420168067237%, 0.7092 26.89075630252102%, 0.7249 27.7310924369748%, 0.7399 28.571428571428584%, 0.7542 29.411764705882366%, 0.7678 30.252100840336148%, 0.7807 31.09243697478993%, 0.793 31.932773109243712%, 0.8047 32.77310924369749%, 0.8158 33.61344537815127%, 0.8263 34.45378151260505%, 0.8363 35.294117647058826%, 0.8458 36.134453781512605%, 0.8547 36.97478991596638%, 0.8632 37.81512605042016%, 0.8712 38.65546218487394%, 0.8788 39.49579831932772%, 0.886 40.3361344537815%, 0.8928 41.176470588235276%, 0.8992 42.016806722689054%, 0.9052 42.85714285714283%, 0.9109 43.69747899159661%, 0.9163 44.53781512605039%, 0.9214 45.37815126050417%, 0.9262 46.21848739495795%, 0.9307 47.058823529411725%, 0.9349 47.89915966386551%, 0.9389 48.7394957983193%, 0.9427 49.579831932773075%, 0.9462 50.420168067226854%, 0.9496 51.26050420168064%, 0.9527 52.100840336134425%, 0.9556 52.9411764705882%, 0.9584 53.78151260504198%, 0.961 54.62184873949577%, 0.9635 55.46218487394955%, 0.9658 56.30252100840333%, 0.9679 57.14285714285711%, 0.9699 57.983193277310896%, 0.9719 58.82352941176468%, 0.9736 59.66386554621846%, 0.9753 60.50420168067224%, 0.9769 61.344537815126024%, 0.9784 62.18487394957981%, 0.9798 63.02521008403359%, 0.981 63.86554621848737%, 0.9823 64.70588235294115%, 0.9834 65.54621848739492%, 0.9845 66.3865546218487%, 0.9855 67.22689075630248%, 0.9864 68.06722689075626%, 0.9873 68.90756302521004%, 0.9881 69.74789915966382%, 0.9889 70.5882352941176%, 0.9896 71.42857142857137%, 0.9903 72.26890756302515%, 0.9909 73.10924369747893%, 0.9915 73.94957983193271%, 0.9921 74.78991596638649%, 0.9926 75.63025210084027%, 0.9931 76.47058823529404%, 0.9935 77.31092436974782%, 0.994 78.1512605042016%, 0.9944 78.99159663865538%, 0.9947 79.83193277310916%, 0.9951 80.67226890756294%, 0.9954 81.51260504201672%, 0.9957 82.3529411764705%, 0.996 83.19327731092429%, 0.9963 84.03361344537808%, 0.9965 84.87394957983186%, 0.9967 85.71428571428564%, 0.997 86.55462184873943%, 0.9972 87.39495798319322%, 0.9974 88.235294117647%, 0.9975 89.07563025210078%, 0.9977 89.91596638655457%, 0.9978 90.75630252100837%, 0.998 91.59663865546214%, 0.9981 92.43697478991592%, 0.9983 93.27731092436971%, 0.9984 94.11764705882351%, 0.9985 94.95798319327729%, 0.9986 95.79831932773106%, 0.9987 96.63865546218486%, 0.9988 97.47899159663865%, 0.9988 98.31932773109243%, 0.9989 99.15966386554621%, 1 100%)",88iterations: 1,89fill: "both",90keyframes: [{"offset":0,"opacity":"0"},{"offset":1,"opacity":"1"}],91restingStyle: {"opacity":"1"},92},93{94// div 123 — medido — Web Animations API95id: "mech_06",96trigger: "click",97durationMs: 600,98delaysMs: [800],99easing: "linear(0 0%, 0.011 1.694915254237288%, 0.0399 3.389830508474576%, 0.0811 5.084745762711864%, 0.1305 6.779661016949152%, 0.1849 8.474576271186441%, 0.2418 10.16949152542373%, 0.2993 11.864406779661019%, 0.3561 13.559322033898308%, 0.4111 15.254237288135595%, 0.4637 16.949152542372882%, 0.5134 18.64406779661017%, 0.56 20.338983050847457%, 0.6032 22.033898305084744%, 0.6432 23.72881355932203%, 0.6799 25.42372881355932%, 0.7135 27.118644067796605%, 0.7441 28.813559322033893%, 0.7718 30.50847457627118%, 0.7969 32.20338983050847%, 0.8194 33.89830508474576%, 0.8397 35.593220338983045%, 0.858 37.28813559322033%, 0.8743 38.98305084745762%, 0.8888 40.677966101694906%, 0.9018 42.37288135593219%, 0.9133 44.06779661016948%, 0.9236 45.76271186440677%, 0.9327 47.457627118644055%, 0.9408 49.15254237288134%, 0.9479 50.84745762711863%, 0.9543 52.54237288135592%, 0.9598 54.237288135593204%, 0.9648 55.93220338983049%, 0.9691 57.62711864406778%, 0.9729 59.322033898305065%, 0.9763 61.01694915254235%, 0.9792 62.71186440677964%, 0.9818 64.40677966101693%, 0.9841 66.10169491525421%, 0.9861 67.7966101694915%, 0.9879 69.49152542372879%, 0.9894 71.18644067796608%, 0.9908 72.88135593220336%, 0.9919 74.57627118644065%, 0.993 76.27118644067794%, 0.9939 77.96610169491522%, 0.9947 79.66101694915251%, 0.9953 81.3559322033898%, 0.9959 83.05084745762709%, 0.9965 84.74576271186437%, 0.9969 86.44067796610166%, 0.9973 88.13559322033895%, 0.9977 89.83050847457623%, 0.998 91.52542372881354%, 0.9982 93.22033898305082%, 0.9985 94.91525423728811%, 0.9987 96.61016949152541%, 0.9988 98.30508474576271%, 1 100%)",100iterations: 1,101fill: "both",102keyframes: [{"offset":0,"opacity":"0"},{"offset":1,"opacity":"1"}],103restingStyle: {"opacity":"1"},104},105{106// div 124 — medido — Web Animations API107id: "mech_07",108trigger: "viewport-enter",109durationMs: 400,110delaysMs: [0],111easing: "linear(0 0%, 0.024 2.5641025641025643%, 0.0823 5.128205128205128%, 0.1594 7.692307692307692%, 0.2448 10.256410256410255%, 0.3315 12.82051282051282%, 0.4152 15.384615384615383%, 0.4934 17.94871794871795%, 0.5646 20.51282051282051%, 0.6282 23.076923076923077%, 0.6844 25.641025641025642%, 0.7334 28.205128205128208%, 0.7758 30.769230769230774%, 0.8122 33.333333333333336%, 0.8432 35.8974358974359%, 0.8694 38.46153846153846%, 0.8916 41.02564102564102%, 0.9102 43.589743589743584%, 0.9258 46.153846153846146%, 0.9388 48.71794871794871%, 0.9496 51.28205128205127%, 0.9586 53.84615384615383%, 0.966 56.410256410256395%, 0.9722 58.97435897435896%, 0.9772 61.53846153846152%, 0.9814 64.10256410256409%, 0.9848 66.66666666666666%, 0.9876 69.23076923076923%, 0.9899 71.7948717948718%, 0.9918 74.35897435897436%, 0.9933 76.92307692307693%, 0.9946 79.4871794871795%, 0.9956 82.05128205128207%, 0.9964 84.61538461538463%, 0.9971 87.17948717948718%, 0.9977 89.74358974358975%, 0.9981 92.30769230769232%, 0.9985 94.87179487179488%, 0.9988 97.43589743589743%, 1 100%)",112iterations: 1,113fill: "both",114keyframes: [{"offset":0,"opacity":"0"},{"offset":1,"opacity":"1"}],115restingStyle: {"opacity":"1"},116},117{118// div 302 — medido — Web Animations API · 16 elementos119id: "mech_08",120trigger: "click",121durationMs: 400,122delaysMs: [0],123easing: "linear(0 0%, 0.024 2.5641025641025643%, 0.0823 5.128205128205128%, 0.1594 7.692307692307692%, 0.2448 10.256410256410255%, 0.3315 12.82051282051282%, 0.4152 15.384615384615383%, 0.4934 17.94871794871795%, 0.5646 20.51282051282051%, 0.6282 23.076923076923077%, 0.6844 25.641025641025642%, 0.7334 28.205128205128208%, 0.7758 30.769230769230774%, 0.8122 33.333333333333336%, 0.8432 35.8974358974359%, 0.8694 38.46153846153846%, 0.8916 41.02564102564102%, 0.9102 43.589743589743584%, 0.9258 46.153846153846146%, 0.9388 48.71794871794871%, 0.9496 51.28205128205127%, 0.9586 53.84615384615383%, 0.966 56.410256410256395%, 0.9722 58.97435897435896%, 0.9772 61.53846153846152%, 0.9814 64.10256410256409%, 0.9848 66.66666666666666%, 0.9876 69.23076923076923%, 0.9899 71.7948717948718%, 0.9918 74.35897435897436%, 0.9933 76.92307692307693%, 0.9946 79.4871794871795%, 0.9956 82.05128205128207%, 0.9964 84.61538461538463%, 0.9971 87.17948717948718%, 0.9977 89.74358974358975%, 0.9981 92.30769230769232%, 0.9985 94.87179487179488%, 0.9988 97.43589743589743%, 1 100%)",124iterations: 1,125fill: "both",126keyframes: [{"offset":0,"opacity":"1"},{"offset":1,"opacity":"0"}],127restingStyle: {"opacity":"0"},128},129];
129 líneas · sin dependencias · Web Animations API