PageSourceSearch

https://www.oceanstatecu.org/wp-content/themes/ncr-child-theme/js/_design.js?ver=1

js oceanstatecu.org collected 2026-10-05 20:13:19 UTC 9,627 bytes, 263 lines download raw bytes

1/******/ (() => { // webpackBootstrap
2/******/ 	"use strict";
3/******/ 	// The require scope
4/******/ 	var __webpack_require__ = {};
5/******/ 	
6/************************************************************************/
7/******/ 	/* webpack/runtime/make namespace object */
8/******/ 	(() => {
9/******/ 		// define __esModule on exports
10/******/ 		__webpack_require__.r = (exports) => {
11/******/ 			if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
12/******/ 				Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
13/******/ 			}
14/******/ 			Object.defineProperty(exports, '__esModule', { value: true });
15/******/ 		};
16/******/ 	})();
17/******/ 	
18/************************************************************************/
19var __webpack_exports__ = {};
20__webpack_require__.r(__webpack_exports__);
21
22
23
24
25//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
26//:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
27
28    clickableDiv();
29    
30    if (document.querySelector('.band-menu-panel')) document.querySelector('.band-menu-panel').classList.add('panel-pop', 'panel-off-1201');
31    if(document.querySelector('.band-login-panel')) document.querySelector('.band-login-panel').classList.add('panel-overlay');
32
33    var panel2 = document.querySelectorAll('.menu-panel-level-2');
34    if(panel2){
35      panel2.forEach(function(element) {
36        element.classList.add( 'switch-1201-overlay-accordion');
37      });
38    }
39    
40
41    var panel3 = document.querySelectorAll('.menu-panel-level-3');
42    if(panel3){
43      panel3.forEach(function(element) {
44        element.classList.add('panel-accordion','panel-off-1201');
45    });
46    }
47  
48
49  if(document.querySelector('header .feature.search [ncr-panel]')) document.querySelector('header .feature.search [ncr-panel]').classList.add('switch-1200-overlay-accordion');
50      
51  // $('.band-login-panel').on('ncr-panel-opened', () => {
52  //   $('.band-menu-panel').trigger('ncr-close-panel')
53  // })
54  // $('.band-menu-panel').on('ncr-panel-opened', () => {
55  //   $('.band-login-panel').trigger('ncr-close-panel')
56  // })
57
58  // font awesome
59  FontAwesome.library.add(customIcons, ncrIcons)
60
61  //utils
62  utils();
63
64  //resizer
65  elementResizer('.resizer', {
66    minWidth: 240
67  });
68
69  elementResizer('.feature-wrap-quicklinks-1',{
70    qty: 4,
71  });
72
73  elementResizer('.feature-wrap-promos-2',{
74    qty: 4,
75  });
76
77  // elementResizer('.feature-wrap-rates-1',{
78  //   qty: 4,
79  // });
80
81  // elementResizer('.feature-wrap-testimonials-1',{
82  //   qty: 4,
83  // });
84
85
86  //slider
87  /* ****
88  * probably a better way to do this, but for now just don't do this if the window is too small.  *
89  * this is breaking SWTS in admin platform *
90  * */
91 const swtsWidth = window.innerWidth || document.documentElement.clientWidth || document.body.clientWidth;
92 if(swtsWidth > 240){
93  ncrSlider(".ncr-slider",{
94    arrowPrev: '<span class="fa fa-caret-left" aria-label="previous" role="img"></span>',
95    arrowNext: '<span class="fa fa-caret-right" aria-label="next" role="img"></span>',
96  })
97  ncrSlider(".band-standard-custom-block .slider",{
98    arrowPrev: '<span class="fa fa-caret-left" aria-label="previous" role="img"></span>',
99    arrowNext: '<span class="fa fa-caret-right" aria-label="next" role="img"></span>',
100  })
101}
102
103  // cover image
104  moveImageToBg('.cover-image',{
105    destroyBelow: "",
106    detectDistance: 0,
107    pushContentDown: false,
108    bgType: "cover"//default
109  });
110
111  // tabtrap
112  // tabTrapping();
113  jqueryTabTrapping(); 
114
115
116  // move utilities
117  moveElementAround('header .band-utility-1 .feature-wrap', {
118    insideBefore: 'header .band-menu-panel .feature-wrap-menu',
119    returnBelow: 1200,  // Width in pixels
120  });
121
122    // move utilities
123    moveElementAround('header .band-utility-2 .feature-wrap', {
124      insideBefore: 'header .band-menu-panel .feature-wrap-menu',
125      returnBelow: 1200,  // Width in pixels
126    });
127
128    
129      // move utilities
130  moveElementAround('header .band-utility-3 .feature-wrap', {
131    insideBefore: 'header .band-menu-panel .feature-wrap-menu',
132    returnBelow: 1200,  // Width in pixels
133  });
134
135
136  //effect on scroll
137  effectOnScroll('header', {
138    detectDistance: 0,
139    pushContentDown: true,
140    contentToPush: 'main',
141    fixed: true,
142  });
143  
144
145  //Moves Breadcrumbs outside of <main> so that you can have a 2 column layout
146   document.querySelectorAll('.col-main div[class*="band-breadcrumbs"]').forEach(function(element) {
147    document.querySelector('main').prepend(element);
148  });
149 
150
151  //Moves Content Hero outside of <main> so that you can have a 2 column layout
152  document.querySelectorAll('.col-main div[class*="content-hero"]').forEach(function(element) {
153    document.querySelector('main').prepend(element);
154  });
155
156  
157  // //Moves Blog Header outside of <main> so that you can have a 2 column layout
158  document.querySelectorAll('.col-main div[class*="blog-header"]').forEach(function(element) {
159    document.querySelector('main').prepend(element);
160  });
161
162  if(document.querySelector('.col-side')) document.querySelector('.col-side').classList.add('show');
163  if(document.querySelector('.col-main')) document.querySelector('.col-main').classList.add('show');
164
165  // :::::::::::::::::::::::::::::::::::::::::::::   End   ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
166  // ::::::::::::::::::::::::::::::::::::::::::::   Custom   ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
167
168  document.querySelectorAll('.band-hero-1 .feature .feature-content').forEach(feature => {
169    const featureContentText = feature.querySelector('.feature-content-text');
170    const featureWrapContentWysiwyg = feature.querySelector('.feature-content-wysiwyg');
171    const featureContentCTA = feature.querySelector('.feature-cta');
172    if (featureContentText && featureWrapContentWysiwyg) {
173        const wrapperDiv = document.createElement('div');
174        wrapperDiv.className = 'feature-content-inner';
175        // Wrap the elements
176        wrapperDiv.appendChild(featureContentText.cloneNode(true));
177        wrapperDiv.appendChild(featureWrapContentWysiwyg.cloneNode(true));
178        // Clear the original content and append the new wrapper
179        feature.innerHTML = '';
180        feature.appendChild(wrapperDiv);
181        // Append the CTA next to the wrapper
182        if (featureContentCTA) {
183            feature.appendChild(featureContentCTA.cloneNode(true));
184        }
185    }
186});
187
188
189
190document.addEventListener('DOMContentLoaded', function () {
191const links = document.querySelectorAll('.routing-number');
192links.forEach(link => {
193link.addEventListener('click', function (event) {
194event.preventDefault(); // Prevent the default link behavior
195const routingNumber = link.querySelector('.number').textContent;
196navigator.clipboard.writeText(routingNumber)
197.then(() => alert(`Number: ${routingNumber} copied!`))
198.catch(err => console.error('Failed to copy routing number: ', err));
199});
200});
201});
202
203
204
205const parents = document.querySelectorAll('.feature-wrap-menu .feature');
206parents.forEach(parent => {
207    const toggle = parent.querySelector('.feature-title button');
208    const content = parent.querySelector('.feature-content');
209    let hasCheckedAlignment = false; // Flag to check alignment once
210    toggle.addEventListener('mouseenter', () => {
211        // Check and set alignment once
212        if (!hasCheckedAlignment) {
213            const rect = content.getBoundingClientRect();
214            // Check if the content is overflowing on the right side
215            if (rect.right > window.innerWidth && rect.left < 0) {
216                content.classList.add('center-align');
217                content.classList.remove('left-align'); // Remove left alignment if it exists
218                content.classList.remove('right-align'); // Remove right alignment if it exists
219            } else if (rect.right > window.innerWidth) {
220                content.classList.add('right-align');
221                content.classList.remove('left-align'); // Remove left alignment if it exists
222                content.classList.remove('center-align'); // Remove center alignment if it exists
223            } else if (rect.left < 0) {
224                content.classList.add('left-align');
225                content.classList.remove('right-align'); // Remove right alignment if it exists
226                content.classList.remove('center-align'); // Remove center alignment if it exists
227            } else {
228                // If no overflow on either side, remove all alignment classes
229                content.classList.remove('right-align');
230                content.classList.remove('left-align');
231                content.classList.remove('center-align');
232            }
233            hasCheckedAlignment = true; // Set flag to true after checking
234        }
235    });
236});
237
238
239
240
241// JavaScript to handle the back-to-top button functionality
242document.addEventListener('DOMContentLoaded', function () {
243    const backToTopButton = document.getElementById('back-to-top');
244    // Show or hide the button based on the scroll position
245    window.addEventListener('scroll', function () {
246        if (window.pageYOffset > 300) {
247            backToTopButton.classList.add('show');
248        } else {
249            backToTopButton.classList.remove('show');
250        }
251    });
252    // Scroll back to the top smoothly when the button is clicked
253    backToTopButton.addEventListener('click', function () {
254        window.scrollTo({
255            top: 0,
256            behavior: 'smooth'
257        });
258    });
259});
260
261
262/******/ })()
263;

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.