/**
 * Copyright © Magento, Inc. All rights reserved.
 * See COPYING.txt for license details.
 */


define("Magento_Wishlist/js/add-to-wishlist",["jquery","jquery-ui-modules/widget"],function(t){"use strict";return t.widget("mage.addToWishlist",{options:{bundleInfo:"div.control [name^=bundle_option]",configurableInfo:".super-attribute-select",groupedInfo:"#super-product-table input",downloadableInfo:"#downloadable-links-list input",customOptionsInfo:".product-custom-option",qtyInfo:"#qty",actionElement:'[data-action="add-to-wishlist"]',productListWrapper:".product-item-info",productPageWrapper:".product-info-main"},_create:function(){this._bind()},_bind:function(){var t,n=this.options,e="change "+n.customOptionsInfo,o="change "+n.qtyInfo,i="click "+n.actionElement,a={};"productType"in n?"string"==typeof n.productType&&(n.productType=[n.productType]):n.productType=[],a[e]="_updateWishlistData",a[o]="_updateWishlistData",a[i]="_validateWishlistQty";for(t in n.productType)n.productType.hasOwnProperty(t)&&n.productType[t]+"Info"in n&&(a["change "+n[n.productType[t]+"Info"]]="_updateWishlistData");this._on(a)},_updateWishlistData:function(n){var e={},o=!1,i=null,a=this;if(n.handleObj.selector==this.options.qtyInfo)return this._updateAddToWishlistButton({},n),void n.stopPropagation();i=t(n.currentTarget).closest("form").find(n.handleObj.selector),i.each(function(n,i){if(t(i).is("input[type=text]")||t(i).is("input[type=email]")||t(i).is("input[type=number]")||t(i).is("input[type=hidden]")||t(i).is("input[type=checkbox]:checked")||t(i).is("input[type=radio]:checked")||t(i).is("textarea")||t("#"+i.id+" option:selected").length)return void((t(i).data("selector")||t(i).attr("name"))&&(e=t.extend({},e,a._getElementData(i))));t(i).is("input[type=file]")&&t(i).val()&&(o=!0)}),o&&this.bindFormSubmit(),this._updateAddToWishlistButton(e,n),n.stopPropagation()},_updateAddToWishlistButton:function(n,e){var o=this;this._getAddToWishlistButton(e).each(function(i,a){var s,r,u=t(a).data("post"),d=e.currentTarget;u?(t(d).data("selector")||t(d).attr("name"))&&(s=o._getElementData(d),r=Object.keys(s)[0],u.data.hasOwnProperty(r)&&!n.hasOwnProperty(r)&&delete u.data[r]):u={data:{}},u.data=t.extend({},u.data,n,{qty:t(o.options.qtyInfo).val()}),t(a).data("post",u)})},_getAddToWishlistButton:function(n){var e=t(n.currentTarget).closest(this.options.productListWrapper);return e.length?e.find(this.options.actionElement):t(this.options.actionElement)},_arrayDiffByKeys:function(n,e){var o={};return t.each(n,function(t,n){-1!==t.indexOf("option")&&(e[t]||(o[t]=n))}),o},_getElementData:function(n){var e,o,i;return n=t(n),e={},o=n.data("selector")?n.data("selector"):n.attr("name"),i=n.val(),n.is("select[multiple]")&&null!==i?("[]"==o.substr(o.length-2)&&(o=o.substring(0,o.length-2)),t.each(i,function(t,n){e[o+"["+n+"]"]=n})):"[]"==o.substr(o.length-2)?(o=o.substring(0,o.length-2),e[o+"["+i+"]"]=i):e[o]=i,e},_removeExcessiveData:function(n,e){var o=this._arrayDiffByKeys(n.data,e);t.each(o,function(t){delete n.data[t]})},bindFormSubmit:function(){var n=this;t('[data-action="add-to-wishlist"]').on("click",function(e){var o,i,a,s;e.stopPropagation(),e.preventDefault(),o=t("input[type=file]"+n.options.customOptionsInfo),i=t(e.currentTarget).data("post"),a=t(o).closest("form"),s=i.action,i.data.id&&t("<input>",{type:"hidden",name:"id",value:i.data.id}).appendTo(a),i.data.uenc&&(s+="uenc/"+i.data.uenc),t(a).attr("action",s).trigger("submit")})},_validateWishlistQty:function(n){var e=t(this.options.qtyInfo);if(!e.validation()||!e.validation("isValid"))return n.preventDefault(),void n.stopPropagation()}}),t.mage.addToWishlist}),define("mage/smart-keyboard-handler",["jquery"],function(t){"use strict";function n(){function n(){s=!0,a.addClass(r).off("focusin.keyboardHandler",n)}function e(){s=!1,a.removeClass(r).off("click",e)}function o(){t(document).on("keydown keypress",function(t){t.which!==c||s||a.on("focusin.keyboardHandler",n).on("click",e)}),d.length&&(a.on("focusin.gridProducts",u,function(){a.hasClass(r)&&t(this).addClass("active")}),a.on("focusout.gridProducts",u,function(){t(this).removeClass("active")}))}function i(t){t.on("focusin.emulateTabFocus",function(){s=!0,a.addClass(r),t.off()}),t.on("focusout.emulateTabFocus",function(){s=!1,a.removeClass(r),t.off()})}var a=t("body"),s=!1,r="_keyfocus",u='[data-container="product-grid"]',d=t(u),c=9;return{apply:o,focus:i}}return new n}),define("bundles/product-category",function(){});
//# sourceMappingURL=product-category.js.map