Stainless Steel Dough Hook for KitchenAid® 4.5 and 5 Quart Tilt-Head Stand Mixers KSM5THDHSS | KitchenAid (2024)

Stainless Steel Dough Hook for KitchenAid® 4.5 and 5 Quart Tilt-Head Stand Mixers

Model: KSM5THDHSS

Model: KSM5THDHSS

KSM5THDHSS

Model: KSM5THDHSS

Hurry! Limited Time Offer Ends Soon

Customize Your Stand Mixer (Free)

Personalize your stand mixer with laser engraving and special offers on additional bowls and attachments. Available on select colors.

CUSTOMIZE IT

Stainless Steel Dough Hook for KitchenAid® 4.5 and 5 Quart Tilt-Head Stand Mixers KSM5THDHSS | KitchenAid (1)

'; setTimeout(function (){ if (window.location.href.indexOf("ksm150") > -1) { if (window.digitalData.product[0].productInfo.availability == "inStock"){ $(".productvariants").append(customSection); } } }, 5000); // How long you want the delay to be, measured in milliseconds. });

Preview in your space

Use your phone camera to see it in your space.

`; class AgileVideoComponent extends HTMLElement { constructor() { super(); this.cfUrl = this.getAttribute("cf-data-url"); this.vidUniqId = `video-`+String(Date.now()); this.jsonData = {}; this.urlSku = ""; this.pageType = window.digitalData.page.pageInfo.pageType; this.pageType = 'productdetail'; if (this.pageType.includes("productdetail")) { this.urlSku = window.location.pathname.split('p.').pop().split('.') } // ===================== ATTACHING SHADOW AND SETTING DELEGATES FOCUS TO MAKE ELEMENTS INSIDE THE COMPONENT FOCUSABLE ===================== this.attachShadow({ mode: "open", delegatesFocus: true }); this.shadowRoot.appendChild(pdpTemplate.content.cloneNode(true)); this.classList.add('hidden') } connectedCallback() { this.shadowRoot.querySelector('[name=play-icon]').addEventListener('slotchange', (e)=>{ // *** Can I move this to document scoped CSS since it cannot be changed from the within the component scoped styles? *** // If/when this is moved to codebase, we can bring in and use YT internally, which would eliminate the need to bring these in via slots and allow us to use/style them within the component. const playSvg = this.querySelector('.play-svg svg') playSvg.setAttribute('style', 'height:100%;') playSvg.addEventListener('mouseenter',()=>{ playSvg.parentElement.style.scale = '1.15' }) playSvg.addEventListener('mouseleave',()=>{ playSvg.parentElement.style.scale = '1' }) // ************* }) const modal = document.getElementById(this.getAttribute('modal-id')) // if(!window.location.host.includes('aem-author.whirlpool') ){ // this.classList.add('hidden') // }else if(window.location.host.includes('aem-author.whirlpool') ){ this.classList.remove('hidden') this.shadowRoot.querySelector('.headline').textContent = 'Agile Video Placeholder' this.closest('.xf-content-height').style.margin = '0'; this.shadowRoot.querySelector('.img-placeholder').style.display = 'inline-block' } // *** Fetch Content Fragment, Or JSON Data *** // // this.getCfData.bind(this)(); document.addEventListener('readystatechange', ()=>this.getCfData.bind(this)() ) // ************* // } // ===================== FETCH CONTENT FRAGMENT/JSON DATA ===================== // **** Newest Version uses web-workers to handle most of the logic, that will further improve the performance as nearly all the logic will be taken off the main thread **** async getCfData () { if(document.readyState == 'complete' ){ await fetch(this.cfUrl) .then( response => response.json() ) .then( data => this.jsonData = data ) .then( () => this.parseSet.bind(this)(this.jsonData) ) .catch( err => console.log("Getting cf data failed: ", err)) } } // ===================== PARSE CONTENT FRAGMENT DATA ===================== // **** Newest Version uses web-workers to handle most of the logic, that will further improve the performance as nearly all the logic will be taken off the main thread **** async parseSet(data) { let cfObj = this.jsonData || data;// console.log(cfObj, this.urlSku) let foundVid = cfObj["videos"].forEach((vid, i) => { let loadVid = this.urlSku.filter(item=>{ if(!vid["skus"])return return vid["skus"].includes(item) }) // console.log(loadVid) if (this.pageType.includes("productdetail") && loadVid.length>0 ) { this.setPdpVidAttrs({ overline: vid.overline, headline: vid.headline, subtitle: vid.subtitle, dataVideoId: vid.dataVideoId, mobileImg: vid.mobileImg, desktopImg: vid.desktopImg, ctaText: vid.ctaText, ctaTitle: vid.ctaTitle, dataUniqueId: this.vidUniqId, }); } }); } // ===================== SET ATTRIBUTES ===================== setPdpVidAttrs = (vidDataToRender) => { // ===================== CONTENT CARD SELECTORS ===================== const vidSel = this.shadowRoot ? { overline: this.shadowRoot.querySelector(".overline"), headline: this.shadowRoot.querySelector(".headline"), subtitle: this.shadowRoot.querySelector(".subtitle"), ctaText: this.querySelector(".platform-components-video__button .button-text"), playSvg: this.querySelector(".play-svg"), playBtn: this.querySelector('.platform-components-video__button'), desktopImg: this.shadowRoot.querySelector('[media="(min-width: 768px)"]'), mobileImg: this.shadowRoot.querySelector('[media="(max-width: 767px)"]'), img: this.shadowRoot.querySelector( ".image" ), } : ""; this.videoId = vidDataToRender.dataVideoId // Check to see if the agile-video element has been hydrated first to avoid unneccessary work. if(!this.getAttribute('hyrdrated')){ for(const prop in vidDataToRender){ switch(prop){ case 'overline': let contentContainer = this.shadowRoot.querySelector('.agile-pdp-content') let overline = document.createElement('h1') contentContainer.insertAdjacentElement('afterbegin',overline) overline.textContent = vidDataToRender[prop] overline.classList.add('overline') break; case 'headline': // Check to see if ® is in the text, if it is, superscript it vidDataToRender[prop].includes('®') ? vidSel[prop].innerHTML = vidDataToRender[prop].replace('®','®') : vidSel[prop].textContent = vidDataToRender[prop] break; case 'subtitle': // Check to see if ® is in the text, if it is, superscript it vidDataToRender[prop].includes('®') ? vidSel[prop].innerHTML = vidDataToRender[prop].replace('®','®') : vidSel[prop].textContent = vidDataToRender[prop] break; case 'desktopImg': vidSel[prop].getAttribute('srcset', vidDataToRender[prop]) vidSel["img"].setAttribute('src', (window.innerWidth >= 768 ? vidDataToRender[prop] :vidDataToRender["mobileImg"])) break; case 'mobileImg': vidSel[prop].getAttribute('srcset', vidDataToRender[prop]) break; case 'ctaTitle': vidSel["playSvg"].setAttribute('title', vidDataToRender[prop]) vidSel["playBtn"].setAttribute('title', vidDataToRender[prop]) break; case 'dataVideoId': {vidSel["playSvg"].setAttribute('data-video-id', vidDataToRender[prop]) vidSel["playBtn"].setAttribute('data-video-id', vidDataToRender[prop])} break; case 'dataUniqueId': { vidSel["playSvg"].setAttribute('data-unique-id', this.vidUniqId) vidSel["playBtn"].setAttribute('data-unique-id', this.vidUniqId)} break; } } } this.setAttribute('hydrated', ''); this.classList.remove('hidden'); }; } // ===================== CHECK TO MAKE SURE ELEMENT ISN'T ALREADY REGISTERED & REGISTER ===================== if (!customElements.get("agile-video")) { window.customElements.define("agile-video", AgileVideoComponent); }

How to Preview in Your Space

Scan QR Code to view product in your space

  • Point your Phone Camera at a flat surface

    Try a different space if you cannot view the product

  • Moving the product in your space

    Use one finger to move product

  • Scale to see product detail

    Use two fingers to pinch, scale, and rotate product

  • Tap twice to reset

    Return to original scale by double tapping with one finger on the product

Augmented Reality experience is currently supported on the following devices: iPhone on iOS 12+ Android 8.0+ with ARCore 1.9 support

Get Started

Key Features

Long-lasting Durability

Easy To Clean

For KitchenAid® 4.5 and 5 Quart Tilt-Head Stand Mixers

Model KSM5THDHSS includes

Color:

Other

Hurry! Limited Time Offer Ends Soon

Sign in to unlock lower pricing

Temporarily out of stock

Success!

We will send you an email when this product is back in stock. Thank you.

in.stock.toast.message

Provide your ZIP code to check availability in your area.

Estimating In-Home Delivery for ...

Change this location?

Estimated Shipping Date for :

product.tray.arrival.date.unavailable.label

Change this location?

Stainless Steel Dough Hook for KitchenAid® 4.5 and 5 Quart Tilt-Head Stand Mixers KSM5THDHSS | KitchenAid (3) Stainless Steel Dough Hook for KitchenAid® 4.5 and 5 Quart Tilt-Head Stand Mixers KSM5THDHSS | KitchenAid (4) Stainless Steel Dough Hook for KitchenAid® 4.5 and 5 Quart Tilt-Head Stand Mixers KSM5THDHSS | KitchenAid (5) Stainless Steel Dough Hook for KitchenAid® 4.5 and 5 Quart Tilt-Head Stand Mixers KSM5THDHSS | KitchenAid (6)

Protection Plans(Optional)

  • No-hassle Claim Process
  • Service Scheduled at Your Convenience
  • Multi-year Protection Options
  • Convenient Payment Options

View Full Policy

Flexible Appliance Protection Plans for Your NeedsLearn More

Accessories & Attachments

Items frequently bought together

Stainless Steel Dough Hook for KitchenAid® 4.5 and 5 Quart Tilt-Head Stand Mixers KSM5THDHSS | KitchenAid (2024)

References

Top Articles
Latest Posts
Article information

Author: Stevie Stamm

Last Updated:

Views: 5884

Rating: 5 / 5 (80 voted)

Reviews: 95% of readers found this page helpful

Author information

Name: Stevie Stamm

Birthday: 1996-06-22

Address: Apt. 419 4200 Sipes Estate, East Delmerview, WY 05617

Phone: +342332224300

Job: Future Advertising Analyst

Hobby: Leather crafting, Puzzles, Leather crafting, scrapbook, Urban exploration, Cabaret, Skateboarding

Introduction: My name is Stevie Stamm, I am a colorful, sparkling, splendid, vast, open, hilarious, tender person who loves writing and wants to share my knowledge and understanding with you.