@widelab-nc/widelab 1.0.20 → 1.0.21

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/dist/style.css CHANGED
@@ -1,2 +1 @@
1
1
  html.lenis{height:auto}.splide__list{user-select:none}.hero_headline.is-cta{text-wrap:balance}#heroHeading{pointer-events:none;user-select:none}.hero_headline-span{pointer-events:auto;z-index:-1}.hero-line-mask:first-of-type{z-index:2}.hero_headline-span{aspect-ratio:65/23}.clients_collection_item_wrapper{aspect-ratio:1/1}.start_diagram_step_path-mask{aspect-ratio:2/1}.splide__track{overflow:visible}.splide__pagination__page.reviews-page,.splide__pagination__page.facts-page{height:.625rem;width:.625rem;background:#b2b2b2;opacity:.5;margin:.25rem}.splide__pagination__page.reviews-page.is-active,.splide__pagination__page.facts-page.is-active{height:.625rem;width:.625rem;background:#000;opacity:1;transform:none}.footer_logo-svg{aspect-ratio:1286/185}address{font-style:normal}.bottom-wrapper_footer-spacer,.whats-next_links_item_image-wrapper,.reel-modal_player{pointer-events:none}.skills_item_hover-track.is-design{white-space:nowrap;will-change:transform;animation:marquee-horizontal 12s linear infinite}.skills_item_hover-track.is-branding,.skills_item_hover-track.is-nocode{white-space:nowrap;will-change:transform;animation:marquee-horizontal 5s linear infinite}@keyframes marquee-horizontal{0%{transform:translate(0)}to{transform:translate(-50%)}}.splide__pagination.facts-pagination{padding:0;align-items:start;justify-content:left}.hero-line-mask,.stats-line-mask,.facts-line-mask,.cs-line-mask{clip-path:polygon(0 0,100% 0,100% 110%,0 110%)}@media only screen and (min-width: 992px){#csSingleFooter{position:static}#csItemTransformWrapper,#csItemNotTransformWrapper{padding-left:2.5rem;padding-right:2.5rem}.portfolio_item_image-wrapper.is-portrait{aspect-ratio:31/32}.portfolio_item_image-wrapper{aspect-ratio:4/3}.portfolio_wrapper.is-2-col>.portfolio_item:first-child .portfolio_item_content,.portfolio_item.is-1-left .portfolio_item_content{padding-left:2.5rem}.splide__pagination.reviews-pagination{bottom:-3.625rem}.splide__pagination.facts-pagination{bottom:2.25rem;left:0;right:0}#stickyNavbar{padding:1rem 2.5rem}.button_small .link,.portfolio_item .is-p-l.is-link,.cookies-button{position:relative;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% .08em;transition:background-size .2s cubic-bezier(.65,0,.35,1)}.button_small:hover .link,.button_small:focus .link,.portfolio_item:hover .is-p-l.is-link,.portfolio_item:active .is-p-l.is-link,.cookies-button:hover,.cookies-button:active{background-size:0% .08em}.button_small .button_small_icon_circle,.cta_link .cta_link_icon-wrapper{position:relative}.button_small .button_small_icon_circle:after,.cta_link .cta_link_icon-wrapper:after{background-color:inherit;border-radius:50%;content:"";position:absolute;inset:0;z-index:-1;transition:.3s cubic-bezier(.83,0,.17,1)}.button_small:hover .button_small_icon_circle:after,.cta_link:hover .cta_link_icon-wrapper:after{scale:1.2}.navbar_menu_link,.footer_menu_link,.is-link,.cta_link .is-h4{position:relative;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:0% .08em;transition:background-size .2s cubic-bezier(.65,0,.35,1)}.navbar_menu_link:hover,.navbar_menu_link:focus,.footer_menu_link:hover,.footer_menu_link:focus,.is-link:hover,.is-link_link:focus,.cta_link:hover .is-h4,.cta_link:focus .is-h4{background-size:100% .08em}}@media only screen and (max-width: 1180px) and (min-width: 992px){.stats-content_wrapper{padding-right:4vw}}@media only screen and (max-width: 1280px) and (min-width: 992px){.section.is-cs-2col{padding-left:2.5rem;padding-right:2.5rem}}@media only screen and (max-width: 991px){.navbar .button_small .button_small_icon_circle{display:none}#csItemTransformWrapper{padding-left:1.75rem;padding-right:1.75rem}.portfolio_item_image-wrapper{aspect-ratio:6/5}.button_small .link,.portfolio_item .is-p-l.is-link,.cta_link.is-mobile-nav .is-p-l,.cookies-button{position:relative;text-decoration:none;background-image:linear-gradient(currentColor,currentColor);background-position:0 100%;background-repeat:no-repeat;background-size:100% .08em}.splide__pagination.reviews-pagination{bottom:-3.5rem}.splide__pagination.facts-pagination{top:15.25rem;left:0;right:0}.splide__list.team_collection_list{overflow:visible}}@media only screen and (max-width: 767px){#csItemTransformWrapper{padding-left:1.375rem;padding-right:1.375rem}.reel_prev_mask{aspect-ratio:19/22}.splide__pagination.facts-pagination{top:13.5rem;left:0;right:0}.portfolio_item_image-wrapper{aspect-ratio:95/79}.splide__pagination.reviews-pagination{bottom:-3rem}}.background-video{height:100%;position:relative;overflow:hidden}.background-video>video{width:100%;height:100%;object-fit:cover;z-index:-100;background-position:50%;background-size:cover;margin:auto;position:absolute;inset:-100%}.background-video>video::-webkit-media-controls-start-playback-button{-webkit-appearance:none;display:none!important}.background-video--control{background-color:#0000;padding:0;position:absolute;bottom:1em;right:1em}.background-video--control>[hidden]{display:none!important}
2
- /*# sourceMappingURL=style.css.map */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@widelab-nc/widelab",
3
- "version": "1.0.20",
3
+ "version": "1.0.21",
4
4
  "description": "Widelab starter template based on Finsweet template + add-ons.",
5
5
  "homepage": "https://widelab.co",
6
6
  "license": "ISC",
package/src/index.js CHANGED
@@ -8,6 +8,7 @@ import { SplitText } from "gsap/SplitText";
8
8
  import Splide from '@splidejs/splide';
9
9
  import { DrawSVGPlugin } from 'gsap/DrawSVGPlugin';
10
10
 
11
+
11
12
  // GSAP plugins register and custom easing
12
13
  gsap.registerPlugin(ScrollTrigger, ScrollToPlugin, CustomEase, SplitText, DrawSVGPlugin);
13
14
  function customGsapEasing() {
@@ -77,14 +78,17 @@ function customGsapEasing() {
77
78
 
78
79
  // Hero move to reveal footer
79
80
  function revealFooter() {
80
- gsap.to('#heroSection', {
81
- scrollTrigger: {
82
- trigger: '#bottomWrapper',
83
- start: 'top bottom',
84
- toggleActions: 'restart none none reverse',
85
- },
86
- autoAlpha: 0,
87
- });
81
+ const footer = document.querySelector('.is-footer');
82
+ if (footer) {
83
+ gsap.to('#heroSection', {
84
+ scrollTrigger: {
85
+ trigger: '#bottomWrapper',
86
+ start: 'top bottom',
87
+ toggleActions: 'restart none none reverse',
88
+ },
89
+ autoAlpha: 0,
90
+ });
91
+ }
88
92
  }
89
93
 
90
94
  // Page load animation
@@ -788,6 +792,116 @@ function customGsapEasing() {
788
792
  });
789
793
  }
790
794
 
795
+ // Sliders on Services page
796
+ window.servicesSliders = function(e) {
797
+ const config = {
798
+ type: 'loop',
799
+ perPage: 1,
800
+ gap: 0,
801
+ arrows: false,
802
+ drag: false,
803
+ duration: 0.15,
804
+ easing: 'cubic-bezier(0.83, 0, 0.17, 1)',
805
+ classes: {
806
+ pagination: 'splide__pagination services-pagination',
807
+ page: 'splide__pagination__page services-page',
808
+ },
809
+ breakpoints: {
810
+ 992: { drag: true, fixedWidth: '90%' },
811
+ 480: {},
812
+ },
813
+ };
814
+ const slider = new Splide(e, config).mount();
815
+ if (window.innerWidth > 992) {
816
+ slider.on('click', function () {
817
+ slider.go('+1');
818
+ });
819
+ }
820
+ gsap.from(e, {
821
+ scrollTrigger: {
822
+ trigger: e,
823
+ start: 'top bottom',
824
+ end: 'bottom bottom+=15%',
825
+ scrub: 1,
826
+ once: true,
827
+ },
828
+ x: '10%',
829
+ opacity: 0,
830
+ ease: 'linear',
831
+ });
832
+ }
833
+
834
+ // Case study - What's next interaction
835
+ window.whatsNext = function() {
836
+ const caseItem = document.querySelectorAll('.whats-next_links_item.is-case');
837
+ const allCases = document.querySelector('.whats-next_links_item.is-all');
838
+ caseItem.forEach((item) => {
839
+ const imageMask = item.querySelector('.whats-next_links_item_image_mask');
840
+ const imageWrapper = item.querySelector('.whats-next_links_item_image-wrapper');
841
+ const whatsNextHover = gsap.timeline({ paused: true, ease: 'loader2' });
842
+ whatsNextHover.to(imageWrapper, { opacity: 0.8, duration: 0.15 });
843
+ whatsNextHover.to(imageMask, { width: '0%', duration: 0.3 }, '>-0.');
844
+ item.addEventListener('mouseenter', () => {
845
+ whatsNextHover.timeScale(1).play();
846
+ caseItem.forEach((i) => {
847
+ if (i !== event.target) {
848
+ gsap.to(i, { color: '#7A7A7A', duration: 0.2, ease: 'loader2' });
849
+ }
850
+ });
851
+ });
852
+ item.addEventListener('mouseleave', () => {
853
+ whatsNextHover.timeScale(3).reverse();
854
+ caseItem.forEach((i) => {
855
+ if (i !== event.target) {
856
+ gsap.to(i, { color: '#fff', duration: 0.1, ease: 'loader2' });
857
+ }
858
+ });
859
+ });
860
+ });
861
+ allCases.addEventListener('mouseenter', () => {
862
+ gsap.to(allCases, { color: '#fff', duration: 0.2, ease: 'loader2' });
863
+ caseItem.forEach((item) => {
864
+ gsap.to(item, { color: '#7A7A7A', duration: 0.2, ease: 'loader2' });
865
+ });
866
+ });
867
+ allCases.addEventListener('mouseleave', () => {
868
+ gsap.to(allCases, { color: '#7A7A7A', duration: 0.2, ease: 'loader2' });
869
+ caseItem.forEach((item) => {
870
+ gsap.to(item, { color: '#fff', duration: 0.2, ease: 'loader2' });
871
+ });
872
+ });
873
+
874
+ // Remove responsive image feature from CS pages
875
+ for (var i = 0; i < document.getElementsByTagName('img').length; i++) {
876
+ document.getElementsByTagName('img')[i].srcset = '';
877
+ }
878
+ for (var i = 0; i < document.getElementsByTagName('img').length; i++) {
879
+ document.getElementsByTagName('img')[i].sizes = '';
880
+ }
881
+ }
882
+
883
+ // Case study - images mask animation
884
+ window.csMaskAnimation = function() {
885
+ const csImageMasks = document.querySelectorAll('.portfolio_item_image-mask');
886
+ csImageMasks.forEach((mask, index) => {
887
+ if (index === 0) {
888
+ return;
889
+ }
890
+ const maskAnimation = gsap.from(mask, {
891
+ width: '100%',
892
+ duration: 0.7,
893
+ ease: 'loader2',
894
+ paused: true,
895
+ });
896
+ ScrollTrigger.create({
897
+ animation: maskAnimation,
898
+ trigger: mask,
899
+ start: 'top 80%',
900
+ onEnter: () => maskAnimation.play(),
901
+ });
902
+ });
903
+ }
904
+
791
905
 
792
906
  // !!!!!!!!! Keep this Alpine init at the end !!!!!!!!!
793
907
  window.Webflow ||= [];