, but this code // executes before the first paint, when

Âé¶¹Çø

is not yet present. The // classes are added to so styling immediately reflects the current // toolbar state. The classes are removed after the toolbar completes // initialization. const classesToAdd = ['toolbar-loading', 'toolbar-anti-flicker']; if (toolbarState) { const { orientation, hasActiveTab, isFixed, activeTray, activeTabId, isOriented, userButtonMinWidth } = toolbarState; classesToAdd.push( orientation ? `toolbar-` + orientation + `` : 'toolbar-horizontal', ); if (hasActiveTab !== false) { classesToAdd.push('toolbar-tray-open'); } if (isFixed) { classesToAdd.push('toolbar-fixed'); } if (isOriented) { classesToAdd.push('toolbar-oriented'); } if (activeTray) { // These styles are added so the active tab/tray styles are present // immediately instead of "flickering" on as the toolbar initializes. In // instances where a tray is lazy loaded, these styles facilitate the // lazy loaded tray appearing gracefully and without reflow. const styleContent = ` .toolbar-loading #` + activeTabId + ` { background-image: linear-gradient(rgba(255, 255, 255, 0.25) 20%, transparent 200%); } .toolbar-loading #` + activeTabId + `-tray { display: block; box-shadow: -1px 0 5px 2px rgb(0 0 0 / 33%); border-right: 1px solid #aaa; background-color: #f5f5f5; z-index: 0; } .toolbar-loading.toolbar-vertical.toolbar-tray-open #` + activeTabId + `-tray { width: 15rem; height: 100vh; } .toolbar-loading.toolbar-horizontal :not(#` + activeTray + `) > .toolbar-lining {opacity: 0}`; const style = document.createElement('style'); style.textContent = styleContent; style.setAttribute('data-toolbar-anti-flicker-loading', true); document.querySelector('head').appendChild(style); if (userButtonMinWidth) { const userButtonStyle = document.createElement('style'); userButtonStyle.textContent = `#toolbar-item-user {min-width: ` + userButtonMinWidth +`px;}` document.querySelector('head').appendChild(userButtonStyle); } } } document.querySelector('html').classList.add(...classesToAdd); })(); People | Âé¶¹Çø

Âé¶¹Çø

Skip to main content

People

Buteyn CHOICE

Gwen Buteyn

Former Education Field Placement Administrative Assistant
616-526-6206
Hadassa Ribeiro Agostini Da Costa

Hadassa Agostini Ribeiro Da Costa

Student Office Assistant
Haijin Choi Headshot

Haijin Choi

Lesson Instructor (Violin)
Hayley Weesies

Haley Kornoelje

Plaster Creek Stewards Project Coordinator
616-526-6496
Hannah Atsma

Hannah Atsma

Biology Lab Services Manager
616-526-6080
Hannah Brenton Headshot

Hannah Brenton

Student Success Specialist
616-526-6595
Hanna Van't Hof

Hannah Daniels

Associate Director of Admissions, Events
616-526-6106

Hannah DeBoer

Lesson Instructor (Voice)
Hannah Patterson

Hannah Patterson

Programming and Communications Coordinator
526-6625