PageSourceSearch

https://macpoint-shop.ru/_astro/Layout.astro_astro_type_script_index_0_lang.CLMY5scZ.js

js macpoint-shop.ru collected 2026-09-28 22:57:58 UTC 15,791 bytes, 2 lines download raw bytes

1import{a as e,i as t,n}from"./productStock.CyN6Z6cI.js";import{n as r}from"./dist.BZl0XCwr.js";var i=`(min-width: 1201px)`;function a(){return typeof window<`u`&&window.matchMedia(i).matches}function o(){return+!!a()}function s(){let e=document.querySelector(`[data-header-catalog-popup]`);if(!e)return;let t=e.querySelector(`[data-catalog-mobile]`),n=e.querySelector(`[data-catalog-desktop]`),r=e.querySelector(`[data-catalog-track]`),s=e.querySelector(`[data-catalog-back]`),c=e.querySelector(`[data-catalog-close]`),l=e.querySelector(`[data-catalog-title]`),u=document.querySelector(`[data-header-catalog-open]`),d=document.querySelector(`[data-header-catalog-burger]`),f=[u,d].filter(Boolean),p=Number(r?.dataset.totalLayers)||3,m=Array.from(e.querySelectorAll(`[data-catalog-mobile] [data-sub-panel]`)).map(e=>(e.dataset.categoryTitle||``).trim()),h=n?[...n.querySelectorAll(`[data-catalog-cat-desktop]`)]:[],g=n?[...n.querySelectorAll(`[data-catalog-panel-desktop]`)]:[],_=0,v=0,y=`catalog`;function b(){return!e.hasAttribute(`hidden`)}function x(){if(!r||a())return;let e=p>0?_/p*100:0;r.style.transform=`translate3d(-${e}%, 0, 0)`}function S(e){if(!t)return;let n=Math.max(0,Math.min(e,m.length-1));v=n,t.querySelectorAll(`[data-sub-panel]`).forEach((e,t)=>{e.hidden=t!==n})}function C(e){let t=Math.max(0,Math.min(e,h.length-1));h.forEach((e,n)=>{let r=n===t;e.classList.toggle(`header-catalog-popup__cat-desktop--active`,r),r?e.setAttribute(`aria-current`,`page`):e.removeAttribute(`aria-current`)}),g.forEach((e,n)=>{e.hidden=n!==t})}function w(){let e=o();s&&s.classList.toggle(`header-catalog-popup__back--visible`,_>e),l&&(_===0?l.textContent=``:_===1?l.textContent=`Каталог`:l.textContent=m[v]||`Каталог`),x()}function T(){if(a()){s&&s.classList.remove(`header-catalog-popup__back--visible`),l&&(l.textContent=`Каталог`);return}w()}function E(e){if(a())return;let t=o(),n=p-1;_=Math.max(t,Math.min(e,n)),w()}function D(e){let t=Number(e);!Number.isFinite(t)||t<0||(S(t),E(2))}function O(t){if(y=t,e.removeAttribute(`hidden`),f.forEach(e=>e.setAttribute(`aria-expanded`,`true`)),a()){C(0),l&&(l.textContent=`Каталог`),s&&s.classList.remove(`header-catalog-popup__back--visible`);return}let n=o();S(0),_=t===`burger`?0:n,w()}function k(){e.setAttribute(`hidden`,``),_=o(),S(0),C(0),T(),f.forEach(e=>e.setAttribute(`aria-expanded`,`false`));let t=y===`burger`&&d?d:u??d;t instanceof HTMLElement&&t.focus()}function A(){if(a()){k();return}let e=o();if(_<=e){k();return}E(+(_===2))}function j(){b()&&k()}function M(e,t){e.stopPropagation(),b()?k():O(t)}u?.addEventListener(`click`,e=>M(e,`catalog`)),d?.addEventListener(`click`,e=>M(e,`burger`)),c?.addEventListener(`click`,()=>k()),s?.addEventListener(`click`,()=>A()),t?.querySelectorAll(`[data-catalog-drill-categories]`).forEach(e=>{e.addEventListener(`click`,e=>{e.preventDefault(),E(1)})}),t?.querySelectorAll(`[data-catalog-drill-sub]`).forEach(e=>{e.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),D(e.dataset.categoryIndex)})}),h.forEach((e,t)=>{let n=()=>C(t);e.addEventListener(`mouseenter`,n),e.addEventListener(`focus`,n)}),document.addEventListener(`click`,t=>{if(!b())return;let n=t.target;n instanceof Node&&(e.contains(n)||u?.contains(n)||d?.contains(n)||k())}),document.addEventListener(`keydown`,e=>{e.key===`Escape`&&b()&&(e.preventDefault(),A())});try{let e=window.matchMedia(i);e.addEventListener?.(`change`,j),e.addListener?.(j)}catch{}S(0),C(0),x()}var c=`mcpnt_cart`;function l(e){if(!e)return 0;let t=String(e).replace(/\s/g,``).replace(/[^\d]/g,``);return parseInt(t,10)||0}function u(e){return`${new Intl.NumberFormat(`ru-RU`).format(e)} ₽`}function d(e){try{let t=n(Array.isArray(e)?e:JSON.parse(localStorage.getItem(c)||`[]`));if(!t.length)return``;let r=0,i=t.map(e=>{let t=String(e?.name||e?.id||`Товар`),n=Math.max(1,Number(e?.quantity)||1),i=l(e?.price)*n;return r+=i,`${t} × ${n} — ${u(i)}`});return i.length===0?``:`${i.join(`
2`)}\n\nИтого: ${u(r)}`}catch{return``}}function f(e=``,t={}){let n=document.getElementById(`dialog__main`),r=n?.querySelector(`.dialog__form`),i=document.getElementById(`dialog-form-info`);if(!n||!r||!i)return null;i.value=e,r.dataset.cartCheckout=t.cartCheckout?`1`:`0`;let a=document.getElementById(`dialog-cart-items`);return a&&!t.cartCheckout&&(a.value=``),n}function p(e=``,t={}){let n=f(e,t);n&&typeof n.showModal==`function`&&n.showModal()}var m=!1;function h(){m||(m=!0,document.addEventListener(`click`,e=>{let t=e.target;if(!(t instanceof Element))return;let n=t.closest(`[commandfor="dialog__main"][command="show-modal"]`);n&&f(n.getAttribute(`data-form-info`)||``,{cartCheckout:n.id===`cart-checkout`})},!0))}function g(e){let t=new FormData(e),n={};for(let[e,r]of t.entries())r instanceof File||(n[e]=String(r));for(let e of Object.keys(n))(e===`agreement-1`||e.startsWith(`agreement`))&&delete n[e];return!e.classList.contains(`dialog__form`)&&!n.subject&&(n.subject=e.getAttribute(`data-email-subject`)||`Заявка с сайта MacPoint`),n}function _(){h(),document.querySelectorAll(`form`).forEach(t=>
2{t instanceof HTMLFormElement&&t.dataset.skipEmail!==`true`&&t.dataset.emailSubmitInit!==`1`&&(t.dataset.emailSubmitInit=`1`,t.addEventListener(`submit`,async n=>{if(n.preventDefault(),t.dataset.emailSending===`1`)return;t.dataset.emailSending=`1`;let i=t.querySelectorAll(`[type="submit"]`),a=[];if(i.forEach((e,t)=>{a[t]=e.textContent||``,e.disabled=!0,e.textContent=`Отправка…`}),t.classList.contains(`dialog__form`)){let e=document.getElementById(`dialog-cart-items`);e&&(e.value=t.dataset.cartCheckout===`1`?d():``)}let o=g(t);try{let n=await fetch(`https://macpoint-endpoint.netlify.app/api/send-email.json`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify(o)}),i={};try{i=await n.json()}catch{i={}}if(n.ok){if(r.success(`Заявка отправлена`,{description:`Мы свяжемся с вами в ближайшее время`,duration:5e3,bounce:.25}),t.classList.contains(`dialog__form`)&&t.dataset.cartCheckout===`1`){try{let t=JSON.parse(localStorage.getItem(c)||`[]`),n=Array.isArray(t)?t.filter(t=>e(t)):[];localStorage.setItem(c,JSON.stringify(n))}catch{localStorage.setItem(c,`[]`)}window.dispatchEvent(new CustomEvent(`cart-updated`)),t.dataset.cartCheckout=`0`}t.reset(),t.querySelectorAll(`.form__agreement-checkbox`).forEach(e=>{e.dispatchEvent(new Event(`change`,{bubbles:!0}))});let n=document.getElementById(`dialog-form-info`),i=document.getElementById(`dialog-cart-items`);n&&(n.value=``),i&&(i.value=``);let a=t.closest(`dialog`);a&&typeof a.close==`function`&&a.close()}else{let e=i.error||i.message||`Код ${n.status}`;r.error(`Не удалось отправить заявку`,{description:String(e),duration:6e3,bounce:.25})}}catch(e){console.error(`[formEmailSubmit]`,e),r.error(`Ошибка сети`,{description:`Проверьте подключение и попробуйте снова`,duration:5e3,bounce:.25})}finally{i.forEach((e,t)=>{e.textContent=a[t]||e.textContent,e.disabled=!1}),delete t.dataset.emailSending;let e=t.querySelectorAll(`.form__agreement-checkbox`),n=t.querySelectorAll(`.form__agreement-button`),r=Array.from(e).every(e=>e.checked);n.forEach(e=>{e.disabled=!r})}}))})}document.querySelectorAll(`form`).forEach(e=>{let t=Array.from(e.querySelectorAll(`.form__agreement-checkbox`));if(t.length===0)return;let n=Array.from(e.querySelectorAll(`.form__agreement-button`)),r=()=>{let e=t.every(e=>e.checked);n.forEach(t=>t.disabled=!e)};t.forEach(e=>e.addEventListener(`change`,r)),r()}),_();function v(){try{s()}catch(e){console.error(`[header catalog menu]`,e)}}document.readyState===`loading`?document.addEventListener(`DOMContentLoaded`,v,{once:!0}):v();function y(e,t=48){if(!e)return;let n=String(e).trim();if(n)return n.length<=t?n:`${n.slice(0,t-1)}…`}document.addEventListener(`DOMContentLoaded`,function(){let e=`mcpnt_wishlist`,n=`mcpnt_compare`,i=`mcpnt_cart`;function a(e){if(!e)return``;try{let t=e;return t.includes(`://`)&&(t=new URL(t).pathname),t=t.split(`?`)[0].split(`#`)[0],t=t.replace(/\/$/,``),t.substring(t.lastIndexOf(`/`)+1)}catch{return e}}function o(){try{let t=JSON.parse(localStorage.getItem(e)||`[]`),n=[],r=new Set;return t.forEach(e=>{let t=a(e.id||e.url);r.has(t)||(r.add(t),n.push(e))}),n}catch{return[]}}function s(t){localStorage.setItem(e,JSON.stringify(t))}function c(){try{let e=JSON.parse(localStorage.getItem(n)||`[]`),t=[],r=new Set;return e.forEach(e=>{let n=a(e.id||e.url);r.has(n)||(r.add(n),t.push(e))}),t}catch{return[]}}function l(e){localStorage.setItem(n,JSON.stringify(e))}function u(){try{let e=JSON.parse(localStorage.getItem(i)||`[]`),t=[],n=new Set;return e.forEach(e=>{let r=a(e.id||e.url);n.has(r)||(n.add(r),t.push(e))}),t}catch{return[]}}function d(e){localStorage.setItem(i,JSON.stringify(e))}function f(e){let t=``,n=``,r=``,i=``,o=``,s=``,c=e.closest(`.card__catalog`)||e.closest(`.splide__slide`);if(c){let e=c.dataset;t=e.productUrl||c.querySelector(`a[href]`)?.getAttribute(`href`)||``,n=e.productName||``,r=e.productPrice||``,i=e.productImage||``,o=e.productOldPrice||``,s=e.productVariation||``}else{t=e.dataset.productUrl||location.pathname;
2let a=document.querySelector(`[data-product-hidden]`);a?(n=a.querySelector(`.product__hidden-title`)?.textContent?.trim()||``,r=a.querySelector(`.product__hidden-price`)?.textContent?.trim()||``,i=a.querySelector(`.product__hidden-image`)?.getAttribute(`src`)||``,o=a.querySelector(`.product__hidden-old-price`)?.textContent?.trim()||``,s=[a.querySelector(`.product__hidden-sim`)?.textContent?.trim(),a.querySelector(`.product__hidden-storage`)?.textContent?.trim(),a.querySelector(`.product__hidden-color`)?.textContent?.trim()].filter(Boolean).join(` `)):(n=document.querySelector(`h1`)?.textContent||``,r=document.querySelector(`[data-product-price]`)?.dataset.productPrice||``,i=document.querySelector(`[data-product-image]`)?.dataset.productImage||``)}if(!t)return null;let l={id:a(t),url:t,name:n,price:r,image:i};return o&&(l.oldPrice=o),s&&(l.variation=s),l}function m(e){let t=f(e);if(!t)return null;t.categoryTitle=``,t.subcategoryTitle=``,t.aggregatorCharacteristics=[];let n=document.querySelector(`[data-product-hidden]`),r=e.closest(`.card__catalog`)||e.closest(`.splide__slide`);return n?(t.categoryTitle=n.querySelector(`.product__hidden-category`)?.textContent?.trim()||``,t.subcategoryTitle=n.querySelector(`.product__hidden-subcategory`)?.textContent?.trim()||``,n.querySelectorAll(`.characteristics-item`).forEach(e=>{let n=e.querySelector(`.product__hidden-characteristic-title`)?.textContent?.trim()||``,r=[];e.querySelectorAll(`.characteristics-list li`).forEach(e=>{let t=e.querySelector(`.product__hidden-characteristic-key`)?.textContent?.trim()||``,n=e.querySelector(`.product__hidden-characteristic-value`)?.textContent?.trim()||``;(t||n)&&r.push({key:t,value:n})}),t.aggregatorCharacteristics.push({groupTitle:n,specs:r})})):r&&(t.categoryTitle=r.dataset.productCategory||``,t.subcategoryTitle=r.dataset.productSubcategory||``),t}function h(e){return e?e.startsWith(`http://`)||e.startsWith(`https://`)?e:window.location.origin+(e.startsWith(`/`)?e:`/`+e):``}function g(e){let t=h(e);return fetch(t,{method:`GET`,headers:{Accept:`text/html`}}).then(e=>{if(!e.ok)throw Error(`Fetch failed`);return e.text()}).then(e=>{let t=new DOMParser().parseFromString(e,`text/html`).querySelector(`.product__hidden-characteristics`);if(!t)return[];let n=[];return t.querySelectorAll(`.characteristics-item`).forEach(e=>{let t=e.querySelector(`.product__hidden-characteristic-title`)?.textContent?.trim()||``,r=[];e.querySelectorAll(`.characteristics-list li`).forEach(e=>{let t=e.querySelector(`.product__hidden-characteristic-key`)?.textContent?.trim()||``,n=e.querySelector(`.product__hidden-characteristic-value`)?.textContent?.trim()||``;(t||n)&&r.push({key:t,value:n})}),n.push({groupTitle:t,specs:r})}),n}).catch(()=>[])}function _(){let e=o();document.querySelectorAll(`.card__wishlist`).forEach(t=>{let n=f(t);if(!n)return;let r=e.some(e=>a(e.id||e.url)===n.id);t.classList.toggle(`active`,r),t.setAttribute(`title`,r?`Убрать из избранного`:`Добавить в избранное`)}),v()}function v(){let e=document.getElementById(`header-wishlist-count`);if(!e)return;let t=o().length;e.textContent=t>0?String(t):``}function b(){let e=c();document.querySelectorAll(`.card__compare`).forEach(t=>{let n=f(t);if(!n)return;let r=e.some(e=>a(e.id||e.url)===n.id);t.classList.toggle(`active`,r)}),x()}function x(){let e=document.getElementById(`header-compare-count`);e&&(e.textContent=c().length>0?String(c().length):``)}function S(){let e=u();document.querySelectorAll(`.card__cart`).forEach(t=>{let n=f(t);if(!n)return;let r=e.some(e=>a(e.id||e.url)===n.id);t.classList.toggle(`active`,r)}),C()}function C(){let e=document.getElementById(`header-cart-count`);e&&(e.textContent=u().length>0?String(u().length):``)}document.addEventListener(`click`,function(e){let n=e.target.closest(`.card__wishlist`);
2if(n){e.preventDefault(),e.stopPropagation();let t=f(n);if(!t)return;let i=o(),c=i.findIndex(e=>a(e.id||e.url)===t.id);if(c>=0){i.splice(c,1),s(i),_(),r.success(`Удалено из избранного`,{description:y(t.name),duration:3500,bounce:.25});let e=n.closest(`.wishlist__list li`);if(e){e.remove();let t=document.querySelector(`.wishlist__list`),n=document.querySelector(`.wishlist-page`);t&&n&&!t.children.length&&n.classList.remove(`has-items`)}}else{let e=n.closest(`.card__catalog`)||n.closest(`.splide__slide`);if(e){let n=e.dataset;n.productCategory&&(t.categoryTitle=n.productCategory),n.productSubcategory&&(t.subcategoryTitle=n.productSubcategory)}else{let e=document.querySelector(`[data-product-hidden]`);e&&(t.categoryTitle=e.querySelector(`.product__hidden-category`)?.textContent?.trim()||``,t.subcategoryTitle=e.querySelector(`.product__hidden-subcategory`)?.textContent?.trim()||``)}i.push(t),s(i),_(),r.success(`Добавлено в избранное`,{description:y(t.name),duration:3500,bounce:.25})}}let i=e.target.closest(`.card__notify, .card__analog`);if(i){e.preventDefault(),e.stopPropagation(),p(i.getAttribute(`data-form-info`)||``);return}let h=e.target.closest(`.card__compare`);if(h){e.preventDefault(),e.stopPropagation();let t=m(h);if(!t)return;let n=c(),i=n.findIndex(e=>a(e.id||e.url)===t.id),o=i>=0;o?n.splice(i,1):n.push(t),l(n),b(),r.success(o?`Убрано из сравнения`:`Добавлено в сравнение`,{description:y(t.name),duration:3500,bounce:.25}),(!t.aggregatorCharacteristics||t.aggregatorCharacteristics.length===0)&&t.url&&g(t.url).then(e=>{if(e.length===0)return;let n=c(),r=n.findIndex(e=>a(e.id||e.url)===t.id);r>=0&&(n[r].aggregatorCharacteristics=e,l(n),window.dispatchEvent(new CustomEvent(`compare-updated`)))})}let v=e.target.closest(`.card__cart`);if(v){e.preventDefault(),e.stopPropagation();let n=f(v);if(!n||t(n.price))return;let i=u(),o=i.findIndex(e=>a(e.id||e.url)===n.id),s=o>=0;s?i.splice(o,1):i.push(n),d(i),S(),window.dispatchEvent(new CustomEvent(`cart-updated`)),r.success(s?`Удалено из корзины`:`Добавлено в корзину`,{description:y(n.name),duration:3500,bounce:.25})}let x=e.target.closest(`.header__cmpr-share-btn`);if(x){e.preventDefault(),e.stopPropagation();let t=x.dataset.shareUrl||window.location.href;(async()=>{try{await navigator.clipboard.writeText(t),r.success(`Ссылка скопирована`,{description:y(t,56),duration:4e3,bounce:.25})}catch{r.error(`Не удалось скопировать ссылку`)}})()}}),_(),b(),S(),window.addEventListener(`cart-updated`,function(){C()}),window.addEventListener(`wishlist-rendered`,function(){_(),b(),S()})});

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.