Search and sample materials on Material Bank (2024)

KBIS 2024

Meet us. Join us. Visit booth W1456 or schedule a meeting below and let’s chat.

Hundreds of leading brands. One site. Order by midnight. Free samples by 10:30 a.m. tomorrow.

Join for free Become a Brand Partner

Search and sample materials on Material Bank (1)

For architects and interior designers

  • Hundreds of leading brands
  • One site
  • Order by midnight
  • Everything in one box by 10:30 a.m.
  • Free for architects and designers

Join for free

Search and sample materials on Material Bank (2)

For manufacturers

Thousands of new specifiers every month

Leads on-demand

Ultra-fast sample logistics

Sample reclamation

Strong ROI and massive brand awareness

Become a Brand Partner

Hundreds of leading brands all in one place.

Material Bank powers complex searches across hundreds of brands and thousands of materials in seconds.

  • Search and sample materials on Material Bank (3)
  • Search and sample materials on Material Bank (4)
  • Search and sample materials on Material Bank (5)
  • Search and sample materials on Material Bank (6)
  • Search and sample materials on Material Bank (7)
  • Search and sample materials on Material Bank (8)
  • Search and sample materials on Material Bank (9)
  • Search and sample materials on Material Bank (10)
  • Search and sample materials on Material Bank (11)
  • Search and sample materials on Material Bank (12)
  • Search and sample materials on Material Bank (13)
  • Search and sample materials on Material Bank (14)
  • Search and sample materials on Material Bank (15)
  • Search and sample materials on Material Bank (16)
  • Search and sample materials on Material Bank (17)
  • Search and sample materials on Material Bank (18)
  • Search and sample materials on Material Bank (19)
  • Search and sample materials on Material Bank (20)
  • Search and sample materials on Material Bank (21)
  • Search and sample materials on Material Bank (22)
  • Search and sample materials on Material Bank (23)
Search and sample materials on Material Bank (24)

Supercharge your workflow.

Supercharge your workflow.

Communicate directly with Brand Reps

  • Keep all of your correspondence in one place
  • Connect with reps from hundreds of leading brands
  • Get product details, lead times, and quotes for your projects

Search and sample materials on Material Bank (25)

Save materials you like, sample later

  • Save and organize materials for your projects, create boards
  • Collaborate with colleagues in seconds
  • Sample your entire board when you’re ready

Search and sample materials on Material Bank (26)

Streamline your design.

See what our members
are saying.

Material Bank isn’t just a sampling platform — it’s a source of discovery and
connection for a community of over 120,000 designers and architects.

See what our members
are saying.

Material Bank isn’t just a sampling platform — it’s a source of discovery and connection for a community of over 120,000 designers and architects.

Search and sample materials on Material Bank (27)

Stephanie Wexler
Senior Associate

“Material Bank has evolved into a source for material research, project tracking, and sustainability benchmarking.”

Search and sample materials on Material Bank (28)

Kati Kirby
Interior Designer

“I would be lost without Material Bank, it has improved my finish selection time and my knowledge of brands.”

Search and sample materials on Material Bank (29)

Jessica Havard
Design Studio Manager

“From saving time on sample ordering to discovering new materials, Material Bank has elevated our creativity!”

Register now.

Join the world’s most powerful platform for searching and sampling materials.

Join for free Become a Brand Partner

Sample sustainably.

Get unlimited brands in a single box, shipped 100% carbon neutral. That means less packaging waste and fewer emissions.

Sustainability Initiatives

Materials Using Environmental Product Declarations

Search by EPDs

Search and sample materials on Material Bank (30)

Materials Using Environmental Product Declarations

Search by EPDs

Design Your Impact

A CEU webinar series on sustainable specifying.

Register now

Search and sample materials on Material Bank (31)

Design Your Impact

Register now

Explore Our Design Your Impact Series: Free Sustainability CEUs

Learn More

Search and sample materials on Material Bank (32)

Explore Our Design Your Impact Series: Free Sustainability CEUs

Learn More

Explore Material Health & CDPH Compliant Products

Search by CDPH

Search and sample materials on Material Bank (33)

Explore Material Health & CDPH Compliant Products

Search by CDPH

We’re Committed to Net Zero by 2040

Learn More

Search and sample materials on Material Bank (34)

We’re Committed to Net Zero by 2040

Learn More

`; slider.classList.add('glider-contain'); slider.insertAdjacentHTML( 'beforeend', '\u000A\u003Cdiv\u0020class\u003D\u0022carousel\u002Dnav\u0020flex\u0020items\u002Dcenter\u0020justify\u002Dcenter\u0020flex\u002D1\u0020p\u002D4\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Previous\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022glider\u002Dprev\u0020w\u002D8\u0020h\u002D8\u0020mr\u002D1\u0020text\u002Dblack\u0020rounded\u002Dfull\u0020outline\u002Dnone\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Csvg\u0020viewBox\u003D\u00220\u00200\u00201024\u00201024\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Cpath\u0020class\u003D\u0022path1\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020d\u003D\u0022M716.8\u00201024c6.552\u00200\u002013.102\u002D2.499\u002018.101\u002D7.499\u00209.998\u002D9.997\u00209.998\u002D26.206\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u00200\u002D36.203l\u002D442.698\u002D442.698\u0020442.698\u002D442.699c9.998\u002D9.997\u00209.998\u002D26.206\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u00200\u002D36.203s\u002D26.206\u002D9.998\u002D36.203\u00200l\u002D460.8\u0020460.8c\u002D9.998\u00209.997\u002D9.998\u002026.206\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u00200\u002036.203l460.8\u0020460.8c5\u00205\u002011.55\u00207.499\u002018.102\u00207.499z\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003C\u002Fpath\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003C\u002Fsvg\u003E\u000A\u0020\u0020\u0020\u0020\u003C\u002Fbutton\u003E\u000A\u0020\u0020\u0020\u0020\u003Cdiv\u0020role\u003D\u0022tablist\u0022\u0020class\u003D\u0022glider\u002Ddots\u0020select\u002Dnone\u0020flex\u0020flex\u002Dwrap\u0020mx\u002D1\u0020justify\u002Dcenter\u0020p\u002D0\u0020focus\u003Aoutline\u002Dnone\u0022\u003E\u003C\u002Fdiv\u003E\u000A\u0020\u0020\u0020\u0020\u003Cbutton\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020aria\u002Dlabel\u003D\u0022Next\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020class\u003D\u0022glider\u002Dnext\u0020w\u002D8\u0020h\u002D8\u0020ml\u002D1\u0020text\u002Dblack\u0020rounded\u002Dfull\u0020outline\u002Dnone\u0020focus\u003Aoutline\u002Dnone\u0020hidden\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Csvg\u0020viewBox\u003D\u00220\u00200\u00201024\u00201024\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003Cpath\u0020class\u003D\u0022path1\u0022\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020d\u003D\u0022M256\u00201024c\u002D6.552\u00200\u002D13.102\u002D2.499\u002D18.101\u002D7.499\u002D9.998\u002D9.997\u002D9.998\u002D26.206\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u00200\u002D36.203l442.698\u002D442.698\u002D442.698\u002D442.699c\u002D9.998\u002D9.997\u002D9.998\u002D26.206\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u00200\u002D36.203s26.206\u002D9.998\u002036.203\u00200l460.8\u0020460.8c9.998\u00209.997\u00209.998\u002026.206\u00200\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u002036.203l\u002D460.8\u0020460.8c\u002D5\u00205\u002D11.55\u00207.499\u002D18.102\u00207.499z\u0022\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003C\u002Fpath\u003E\u000A\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u0020\u003C\u002Fsvg\u003E\u000A\u0020\u0020\u0020\u0020\u003C\u002Fbutton\u003E\u000A\u003C\u002Fdiv\u003E\u000A' ); const gliderElement = slider.querySelector('[data-role="glider-content"]'); const gliderDots = slider.querySelector('.glider-dots'); const gliderPrev = slider.querySelector('.glider-prev'); const gliderNext = slider.querySelector('.glider-next'); const slidesToShow = slider.dataset.slidesToShow; const slidesToScroll = slider.dataset.slidesToScroll; const glider = new Glider(gliderElement, { slidesToShow: 'auto', slidesToScroll: 'auto', resizeLock: true, scrollLock: true, scrollLockDelay: 250, draggable: true, dragVelocity: 2.5, dots: gliderDots, arrows: { prev: gliderPrev, next: gliderNext, }, responsive: [ { // Mobile min-width 320px breakpoint: 320, settings: { slidesToShow: 1, slidesToScroll: 1, } }, { // Desktop min-width 768px breakpoint: 768, settings: { slidesToShow: slidesToShow, slidesToScroll: slidesToScroll, } }, ], }); slider.classList.add('glider-initialized'); if (slider.dataset.showArrows === 'true') { gliderPrev.classList.remove('hidden'); gliderNext.classList.remove('hidden'); } if (slider.dataset.autoplay !== 'false') { gliderAutoplay( glider, slider.dataset.autoplaySpeed, slider.dataset.infiniteLoop ); } }; const gliderAutoplay = (glider, milliseconds, loop) => { const pagesCount = glider.track.childElementCount; let slideTimeout = null; let nextIndex = 1; let paused = false; const slide = () => { slideTimeout = setTimeout( () => { if (loop && nextIndex >= pagesCount) { nextIndex = 0; } glider.scrollItem(nextIndex); }, parseInt(milliseconds) ); }; glider.ele.addEventListener('glider-animated', () => { nextIndex = glider.slide + glider.opt.slidesToScroll; window.clearInterval(slideTimeout); if (!paused && (loop || nextIndex < pagesCount)) { slide(); } }); const pause = () => { if (!paused) { clearInterval(slideTimeout); paused = true; } }; const unpause = () => { if (paused) { slide(); paused = false; } }; glider.ele.parentElement.addEventListener('mouseover', pause, {passive: true}); glider.ele.parentElement.addEventListener('touchstart', pause, {passive: true}); glider.ele.parentElement.addEventListener('mouseout', unpause, {passive: true}); glider.ele.parentElement.addEventListener('touchend', unpause, {passive: true}); slide(); }; elements.forEach(element => { if (element.dataset.contentType === 'products') { initProductCarousel(element); } if (element.dataset.contentType === 'slider') { initSliderCarousel(element); } }); }; window.addEventListener('DOMContentLoaded', () => { const carouselElements = document.querySelectorAll( `[data-content-type="products"][data-appearance="carousel"], [data-content-type="slider"]` ); if (carouselElements.length > 0) { const script = document.createElement('script'); script.type = 'text/javascript'; script.addEventListener('load', () => { initCarousels(carouselElements); }); script.src = 'https\u003A\u002F\u002Fwww.materialbank.com\u002Fstatic\u002Fversion1710497972\u002Ffrontend\u002FMaterialBank\u002Fmb\u002D2022\u002Fen_US\u002FMagento_PageBuilder\u002Fjs\u002Fglider.min.js'; document.head.appendChild(script); } }); })();

Select an Associated Product

Search and sample materials on Material Bank (37)

Sign Out

My Profile

Contact Info

  • First Name
  • Last Name
  • Email
  • Office Phone
  • Mobile Phone
  • Country
  • City
  • Zip

Preferences

  • Preferred Contact Method
  • Urgent Order Notification

    Receive urgent text notifications related to your order

216">

Edit Profile

`; div.appendChild(article); } } function generateLabel(fieldId, labelTxt, isDisabled = false, isRequired = false) { const label = document.createElement('label'); label.classList.add('label', 'form-label'); if (isDisabled) { label.classList.add('text-mbgray-200', 'cursor-not-allowed'); } label.setAttribute('for', fieldId); label.innerText = labelTxt + (isRequired && !isDisabled ? '*' : ''); return label; } function attachCustomAttributes(attribute, field) { if (!(attribute.hasOwnProperty('custom_attributes') && attribute.custom_attributes)) { return; } attribute.custom_attributes.forEach(attribute => { const existingAttribute = field.getAttribute(attribute.name); if (existingAttribute) { if (existingAttribute.includes('{')) { const existingObjValue = existingAttribute.substring(existingAttribute.indexOf('{') + 1, existingAttribute.lastIndexOf('}')); const newObjValue = attribute.value.substring(attribute.value.indexOf('{') + 1, attribute.value.lastIndexOf('}')); field.setAttribute(attribute.name, `{ ${newObjValue}, ${existingObjValue} }`); } else { field.setAttribute(attribute.name, `${attribute.value}; ${existingAttribute}`); } } else { field.setAttribute(attribute.name, attribute.value); } }); } function generateCustomSelect(attribute) { /** * TODO: Move custom select element to a script scope once AlpineJs v3 is installed * in order to use the scope inheritance that's not available on previously versions */ const field = document.createElement('input'); field.setAttribute('type', 'hidden'); field.setAttribute('name', attribute.code); field.setAttribute('id', attribute.code); field.setAttribute('x-ref', attribute.code); field.setAttribute('placeholder', ' '); if (attribute.is_required) { field.required = true; } field.classList.add('form-select', 'peer'); const valueWrapper = document.createElement('div'); valueWrapper.classList.add('flex', 'justify-between', 'items-center', 'form-input', 'peer', 'overflow-ellipsis', 'overflow-hidden', 'min-h-[33px]'); valueWrapper.setAttribute('x-ref', `${attribute.code}_button`); valueWrapper.setAttribute('tabindex', '0'); valueWrapper.innerHTML = ` `; const optionsList = document.createElement('ul'); optionsList.classList.add('w-full', 'absolute', 'hidden', 'flex-col', 'gap-y-4', 'p-4', 'z-20', 'cursor-pointer', 'bg-white', 'overflow-y-auto', 'shadow-xl', 'overflow-x-hidden', 'max-h-[80vh]', 'group-focus-within:flex', 'md:max-h-[372px]', 'md:gap-y-1', 'md:p-2', 'md:rounded-lg', 'max-md:fixed', 'max-md:bottom-0', 'max-md:max-w-full', 'max-md:left-0', 'max-md:rounded-tl-2xl', 'max-md:rounded-tr-2xl'); optionsList.setAttribute('tabindex', '0'); optionsList.insertAdjacentHTML( 'afterbegin', `
  • ${attribute.label}
  • ` ); if (typeof attribute.options === 'object' && !Array.isArray(attribute.options)) { attribute.options = Object.values(attribute.options); } attribute.options.forEach(option => { const optValue = option.value ?? option.code; const optLabel = option.label ?? option.name; if (!optValue) { return; } optionsList.insertAdjacentHTML( 'beforeend', `
  • ${optLabel}
  • ` ); }); field.setAttribute('x-on:change', 'onChange($event)'); attachCustomAttributes(attribute, field); attribute.hasOwnProperty('custom_classes') ? attribute.custom_classes.push('group', 'relative') : attribute.custom_classes = ['group', 'relative']; const wrapper = wrapField(field, attribute); wrapper.appendChild(generateBackDrop()); wrapper.appendChild(valueWrapper); wrapper.appendChild(optionsList); return wrapper; } function generateMultilineFields(attribute, nLines) { if (isNaN(nLines)) { nLines = 2; // Min value allowed } const fieldsArr = []; for (let i = 1; nLines >= i; i++) { const fieldId = attribute.code + `_${i}`; const field = document.createElement('input'); field.setAttribute('type', 'text'); field.setAttribute('name', `${attribute.code}[${i - 1}]`); field.setAttribute('id', fieldId); field.setAttribute('maxlength', '50'); field.setAttribute('placeholder', ' '); field.classList.add('form-input', 'peer'); if (fieldId === 'street_1') { field.setAttribute('x-on:keyup.debounce', 'addressAutocomplete($event.target)'); field.setAttribute('x-on:focus', 'suggestionsOpen = true'); field.setAttribute('x-on:click.away', 'suggestionsOpen = false'); field.setAttribute('autocomplete', 'none'); } attachCustomAttributes(attribute, field); const isRequired = attribute.is_required && i === 1; if (isRequired) { field.required = true; } // Set form validation event field.setAttribute('x-on:blur', 'onChange($event)'); const label = generateLabel(fieldId, `${attribute.label}` + (i === 1 ? '' : ` ${i}`), attribute.is_disabled, isRequired); const wrapper = wrapField(field, attribute, true, label); fieldsArr.push(wrapper); } return fieldsArr; } function generateTooltip(attribute) { const tooltipWrapper = document.createElement('div'); tooltipWrapper.classList.add('has-tooltip', 'ml-auto'); const tooltip = document.createElement('p'); tooltip.classList.add('-right-2', 'top-10', 'text-xs', 'p-3', 'tooltip', 'rounded-xl', 'hover:w-52'); tooltip.appendChild(document.createTextNode(attribute.help_tooltip)); tooltipWrapper.insertAdjacentHTML( 'afterbegin', '' // Remove new line from SVG ); tooltipWrapper.appendChild(tooltip); return tooltipWrapper; } function generateBackDrop() { const backDrop = document.createElement('div'); backDrop.className = 'fixed hidden inset-0 bg-black bg-opacity-30 z-10 max-md:group-focus-within:flex'; backDrop.setAttribute('x-on:click', '$event.target.blur()'); return backDrop; } function phoneCountryFields(attribute, phoneFieldEl) { phoneFieldEl.placeholder = 'Phone Number'; const countryPhoneCode = attribute.code + '_country'; const countryPhoneEl = document.createElement('input'); countryPhoneEl.name = countryPhoneCode; countryPhoneEl.id = countryPhoneCode; countryPhoneEl.placeholder = 'Country'; countryPhoneEl.type = 'hidden'; countryPhoneEl.className = 'form-input peer overflow-ellipsis overflow-hidden cursor-pointer group relative'; countryPhoneEl.setAttribute('x-ref', countryPhoneCode); countryPhoneEl.setAttribute('x-on:change', 'onChange($event); updateSelectedPhoneCountry($event.target); checkDataUpdate($event.target)'); if (attribute.is_required) { countryPhoneEl.required = true; } const valueWrapper = document.createElement('div'); valueWrapper.classList = 'flex justify-between items-center form-input peer overflow-ellipsis overflow-hidden min-h-[33px]'; valueWrapper.setAttribute('x-ref', `${countryPhoneCode}_button`); valueWrapper.setAttribute('tabindex', '0'); valueWrapper.innerHTML = `Country `; const optionsList = document.createElement('ul'); optionsList.className = 'w-full absolute hidden flex-col gap-y-4 p-4 z-20 cursor-pointer bg-white overflow-y-auto shadow-xl' + ' overflow-x-hidden max-h-[80vh] group-focus-within:flex md:w-auto md:max-h-[372px] md:gap-y-1 md:p-2' + ' md:rounded-lg max-md:fixed max-md:bottom-0 max-md:max-w-full max-md:left-0 max-md:rounded-tl-2xl max-md:rounded-tr-2xl'; optionsList.setAttribute('tabindex', '0'); optionsList.insertAdjacentHTML( 'afterbegin', `
  • ${attribute.label}
  • ` ); const allowedCountries = [{"code":"CA","label":"Canada","regions":[{"code":66,"label":"Alberta"},{"code":67,"label":"British Columbia"},{"code":68,"label":"Manitoba"},{"code":70,"label":"New Brunswick"},{"code":69,"label":"Newfoundland and Labrador"},{"code":72,"label":"Northwest Territories"},{"code":71,"label":"Nova Scotia"},{"code":73,"label":"Nunavut"},{"code":74,"label":"Ontario"},{"code":75,"label":"Prince Edward Island"},{"code":76,"label":"Quebec"},{"code":77,"label":"Saskatchewan"},{"code":78,"label":"Yukon Territory"}]},{"code":"US","label":"United States","regions":[{"code":1,"label":"Alabama"},{"code":4,"label":"Arizona"},{"code":5,"label":"Arkansas"},{"code":12,"label":"California"},{"code":13,"label":"Colorado"},{"code":14,"label":"Connecticut"},{"code":15,"label":"Delaware"},{"code":16,"label":"District of Columbia"},{"code":18,"label":"Florida"},{"code":19,"label":"Georgia"},{"code":22,"label":"Idaho"},{"code":23,"label":"Illinois"},{"code":24,"label":"Indiana"},{"code":25,"label":"Iowa"},{"code":26,"label":"Kansas"},{"code":27,"label":"Kentucky"},{"code":28,"label":"Louisiana"},{"code":29,"label":"Maine"},{"code":31,"label":"Maryland"},{"code":32,"label":"Massachusetts"},{"code":33,"label":"Michigan"},{"code":34,"label":"Minnesota"},{"code":35,"label":"Mississippi"},{"code":36,"label":"Missouri"},{"code":37,"label":"Montana"},{"code":38,"label":"Nebraska"},{"code":39,"label":"Nevada"},{"code":40,"label":"New Hampshire"},{"code":41,"label":"New Jersey"},{"code":42,"label":"New Mexico"},{"code":43,"label":"New York"},{"code":44,"label":"North Carolina"},{"code":45,"label":"North Dakota"},{"code":47,"label":"Ohio"},{"code":48,"label":"Oklahoma"},{"code":49,"label":"Oregon"},{"code":51,"label":"Pennsylvania"},{"code":53,"label":"Rhode Island"},{"code":54,"label":"South Carolina"},{"code":55,"label":"South Dakota"},{"code":56,"label":"Tennessee"},{"code":57,"label":"Texas"},{"code":58,"label":"Utah"},{"code":59,"label":"Vermont"},{"code":61,"label":"Virginia"},{"code":62,"label":"Washington"},{"code":63,"label":"West Virginia"},{"code":64,"label":"Wisconsin"},{"code":65,"label":"Wyoming"}]}]; allowedCountries.forEach(country => { const optValue = country.code; const optLabel = country.label; if (!optValue) { return; } optionsList.insertAdjacentHTML( 'beforeend', `
  • ${optLabel}
  • ` ); }); // Phone Country dropdown element const countryWrapper = wrapField(countryPhoneEl, {custom_classes: ['col-span-1', 'group', 'relative']}, false); countryWrapper.appendChild(generateBackDrop()); countryWrapper.appendChild(valueWrapper); countryWrapper.appendChild(optionsList); // Phone text field element attribute.custom_classes ? attribute.custom_classes.push('col-span-3') : attribute['custom_classes'] = ['col-span-3']; const phoneWrapper = wrapField(phoneFieldEl, attribute, false); const phoneSection = document.createElement('div'); phoneSection.className = 'relative grid grid-cols-4 gap-x-3 col-span-2'; phoneSection.appendChild( generateLabel(attribute.code, attribute.label, false, attribute.is_required) ); phoneSection.appendChild(countryWrapper); phoneSection.appendChild(phoneWrapper); return phoneSection; }
    { selectedCountry = $event.detail.address && 'country_id' in $event.detail.address && $event.detail.address.country_id ? $event.detail.address.country_id : selectedCountry; addressData.country_name = $event.detail.address && 'country_name' in $event.detail.address && $event.detail.address.country_name ? $event.detail.address.country_name : ''; countrySearch = addressData.country_name; updateStateRequired(); setRegionsByCountry(); sanitizeFormData($event.detail.address); checkIsEdit($event.detail); checkIsFirstAddress($event.detail); initFormValidation(); });" @private-content-loaded.window="initCustomerCountry($event.detail.data)" @close-address-form.window="closeForm()">
    Search and sample materials on Material Bank (2024)
    Top Articles
    Latest Posts
    Article information

    Author: Maia Crooks Jr

    Last Updated:

    Views: 5955

    Rating: 4.2 / 5 (63 voted)

    Reviews: 94% of readers found this page helpful

    Author information

    Name: Maia Crooks Jr

    Birthday: 1997-09-21

    Address: 93119 Joseph Street, Peggyfurt, NC 11582

    Phone: +2983088926881

    Job: Principal Design Liaison

    Hobby: Web surfing, Skiing, role-playing games, Sketching, Polo, Sewing, Genealogy

    Introduction: My name is Maia Crooks Jr, I am a homely, joyous, shiny, successful, hilarious, thoughtful, joyous person who loves writing and wants to share my knowledge and understanding with you.