2 lines
10 KiB
JavaScript
2 lines
10 KiB
JavaScript
import{d as j,u as le,o as oe,a as Q,b as t,c as s,e as i,F,r as L,n as A,f as V,g as w,h as e,i as S,_ as G,t as N,j as ie,k as re,l as ce,w as ue,m as _,I as X,p as de,q as _e,s as E,v as ve,x as Y,y as ne,z as he,A as me,B as pe,K as Z,C as fe,D as R,E as ge,G as ee,H as ye,J as q,L as W}from"./index-DFI27khJ.js";import{R as ke}from"./RateStrip-w3aw7M99.js";import{P as te}from"./ProductCard-v1oNlUdc.js";import{S as se}from"./SectionHead-BJKEdlj5.js";import{u as be}from"./filtersStore-DnSNjG28.js";import{u as we}from"./useReveal-D7Y_dyj7.js";import{u as ze}from"./catalogStore-DO1Uwjz0.js";import{P as Ce}from"./index-0bfD4RHE.js";import"./filters-CYTFAZ1T.js";const xe={key:0,class:"showcase"},$e={class:"showcase__track"},Pe=["src"],Se={key:0,class:"showcase__dots"},Ie=["aria-label","onClick"],ae=.18,Re=6,Me=j({__name:"ShowcaseSlider",props:{slides:{}},setup(p){const r=p,o=S(0);let b;const z=le();function v(n){o.value=n,f()}function f(){b&&clearInterval(b),r.slides.length>1&&!z.isReducedMotion&&(b=setInterval(()=>{o.value=(o.value+1)%r.slides.length},6e3))}oe(f),Q(()=>{b&&clearInterval(b)});const C=S(null),g=S(!1),y=S(0);let h=null,I=0,D=0,k=0,d=!1;function P(n){var m;if(r.slides.length<2||h!==null)return;const l=C.value;l&&(h=n.pointerId,I=n.clientX,D=n.clientY,k=l.getBoundingClientRect().width||1,y.value=0,g.value=!0,d=!1,(m=l.setPointerCapture)==null||m.call(l,n.pointerId))}function B(n){if(!g.value||n.pointerId!==h)return;const l=n.clientX-I,m=n.clientY-D;!d&&Math.abs(l)>Math.abs(m)&&Math.abs(l)>Re&&(d=!0),d&&(y.value=l)}function O(){if(!g.value)return;const l=y.value/k;g.value=!1,h=null,y.value=0,l<=-ae&&o.value<r.slides.length-1?o.value++:l>=ae&&o.value>0&&o.value--,d&&f(),d=!1}function H(n){n.pointerId===h&&O()}function T(n){n.pointerId===h&&(g.value=!1,h=null,y.value=0,d=!1)}function K(n){const l=o.value,m=z.isReducedMotion;if(!g.value||!d||!k){const $=n===l;return{opacity:$?1:0,zIndex:$?2:0}}const x=Math.min(1,Math.abs(y.value)/k),a=y.value<0?l+1:l-1,u=a>=0&&a<r.slides.length;return n===l?{opacity:u?1-x*.92:1,zIndex:2,transition:m?"none":void 0}:u&&n===a?{opacity:x,zIndex:3,transition:"none"}:{opacity:0,zIndex:0}}return Q(()=>{if(h!==null&&C.value)try{C.value.releasePointerCapture(h)}catch{}}),(n,l)=>p.slides.length?(t(),s("section",xe,[i("div",{ref_key:"root",ref:C,class:V(["showcase__frame",{"is-dragging":g.value,"is-reduced":e(z).isReducedMotion}]),onPointerdown:P,onPointermove:B,onPointerup:H,onPointercancel:T},[i("div",$e,[(t(!0),s(F,null,L(p.slides,(m,x)=>(t(),s("article",{key:m.key,class:V(["showcase__slide",{"is-active":x===o.value&&!g.value}]),style:A(K(x))},[m.image?(t(),s("img",{key:0,src:m.image,alt:"",class:"showcase__art",draggable:"false"},null,8,Pe)):w("",!0)],6))),128))])],34),p.slides.length>1?(t(),s("div",Se,[(t(!0),s(F,null,L(p.slides,(m,x)=>(t(),s("button",{key:m.key,type:"button",class:V(["showcase__dot",{"is-active":x===o.value}]),"aria-label":`اسلاید ${x+1}`,onClick:U=>v(x)},null,10,Ie))),128))])):w("",!0)])):w("",!0)}}),Ae=G(Me,[["__scopeId","data-v-958a4fde"]]),De={class:"rail no-scrollbar"},Be=["onClick"],Ee={class:"rail__mark","aria-hidden":"true"},Fe=["src"],Le={class:"rail__title"},Ve=j({__name:"CategoryRail",props:{categories:{},activeId:{}},emits:["select"],setup(p,{emit:r}){const o=r;return(b,z)=>(t(),s("div",De,[(t(!0),s(F,null,L(p.categories,v=>{var f;return t(),s("button",{key:v.id,type:"button",class:V(["rail__chip",{"is-active":v.id===p.activeId}]),onClick:C=>o("select",v)},[i("span",Ee,[(f=v.icon)!=null&&f.image?(t(),s("img",{key:0,src:v.icon.image,alt:""},null,8,Fe)):w("",!0)]),i("span",Le,N(v.title),1)],10,Be)}),128))]))}}),Xe=G(Ve,[["__scopeId","data-v-b38bbeb0"]]),qe={class:"pr__art"},Ne=["alt"],Oe={key:1,class:"pr__artEmpty","aria-hidden":"true"},He=["aria-label"],Te={key:2,class:"pr__flag"},Ue={key:3,class:"pr__flag pr__flag--soft"},Ye={class:"pr__body"},je={class:"pr__title"},Ge={class:"pr__meta"},Ke={class:"pr__weight"},Je={key:0,class:"pr__wage"},We=j({__name:"ProductRow",props:{value:{}},setup(p){const r=p,o=ie(),{image:b,id:z,title:v,min_gram:f,wage:C,is_e
|