PageSourceSearch

https://www.nikon.fr/dist-client/ProductListing-Chunk-a724cab62befa4228ef8.js

js nikon.fr collected 2026-10-02 03:22:41 UTC 15,987 bytes, 2 lines download raw bytes

1"use strict";(globalThis.webpackChunknikon_client=globalThis.webpackChunknikon_client||[]).push([[2330,5544,5763],{63495(e,t,a){a.d(t,{A:()=>c});var n=a(38431),r=a(73359),l=a(97500),o=a.n(l);const c=({ariaLabel:e,className:t,color:a="black",onClick:l,size:c=n.A.lg,dataTestId:s,ref:i})=>{const{closeModalAriaLabel:d}=(0,r.A)();return React.createElement("button",{type:"button",className:o()("close-button",{black:"before:bg-black-100 after:bg-black-100",white:"before:bg-white after:bg-white",red:"before:bg-red-100 after:bg-red-100"}[a],t),"aria-label":e??d,style:{width:c,height:c},onClick:l,"data-testid":s,ref:i})}},37927(e,t,a){a.d(t,{A:()=>f});var n=a(63495),r=a(47976),l=a(22129),o=a(38431),c=a(87407),s=a(97500),i=a.n(s),d=a(15536),u=a.n(d),m=a(59471);function p(){return p=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},p.apply(null,arguments)}const f=({ariaDescribedBy:e,ariaLabelledBy:t,children:a,closeButtonIconSize:s=o.A.md,containerZIndexClassName:d="z-max",contentAnimation:f,contentClasses:g,crossClasses:b,crossColor:h="white",crossMarginsClassName:v="mr-8 mt-8",isCloseButtonFixed:y=!0,isOpen:E,modalClasses:x,modalOpacityAnimationDuration:w=.8,shouldCloseOnClickOutsideContent:k=!1,shouldCloseOnEscapeKey:A=!0,shouldLockBody:R=!0,showCloseButton:L=!0,transparent:N=!1,onCloseCallback:C,setIsOpen:I})=>{const S=(0,m.useRef)(null),P=(0,m.useRef)(null),{lockBodyScroll:B}=(0,c.A)();(0,m.useEffect)(()=>(E&&R&&B(!0),()=>{R&&B(!1)}),[E,R,B]);const D=(0,m.useCallback)(()=>{I?.(!1),C?.()},[C,I]);return(0,m.useEffect)(()=>{const e=e=>{"Escape"===e.key&&!0===E&&A&&I?.(!1)};return window.addEventListener("keydown",e),()=>{window.removeEventListener("keydown",e)}},[E,A,I]),(0,m.useEffect)(()=>{const e=e=>{E&&k&&!S.current?.contains(e.target)&&D()};return window.addEventListener("click",e,!0),()=>{window.removeEventListener("click",e,!0)}},[D,E,k]),E?React.createElement(l.A,{key:"portal",mountId:"drawer-root"},React.createElement(u(),{focusTrapOptions:{preventScroll:!0,escapeDeactivates:!1,fallbackFocus:()=>P.current,...L&&{initialFocus:()=>P.current}}},React.createElement(r.A,{animate:{opacity:1},className:i()("relative h-auto",d),exit:{opacity:0},initial:{opacity:0}
1,transition:{duration:w,ease:[.04,.62,.23,.98]}},React.createElement("section",{ref:P,className:i()(N?"bg-black-100/50":"bg-black-100","fixed inset-0 z-100 text-white"),"aria-modal":"true",role:"dialog","aria-labelledby":t,"aria-describedby":e,tabIndex:-1},React.createElement("div",{className:"flex h-full w-full"},React.createElement("div",{className:i()(x,"container h-full w-full overflow-y-auto")},React.createElement(r.A,p({},f,{className:i()(g,"relative text-left"),ref:S}),L&&React.createElement(n.A,{color:h,size:s,onClick:D,className:i()("top-0 right-0 z-100 flex cursor-pointer flex-col items-center",y?"fixed":"absolute",v,b)}),a))))))):null}},22129(e,t,a){a.d(t,{A:()=>l});var n=a(59471),r=a(58289);const l=({mountId:e,children:t})=>{const a=(0,n.useMemo)(()=>document.createElement("div"),[]);return(0,n.useEffect)(()=>(document.getElementById(e)?.appendChild(a),()=>{document.getElementById(e)?.removeChild(a)}),[e,a]),(0,r.createPortal)(t,a)}},24219(e,t,a){a.d(t,{A:()=>f});var n=a(47976),r=a(33063),l=a(59471);const o=(e,t,a,n=!1)=>{const[r,o]=(0,l.useState)(!1),c=(0,l.useRef)({top:0,y:0});(0,l.useEffect)(()=>{const l=e.current;l?.clientWidth&&(l.style.cursor=t>=a||n?"inherit":r?"grabbing":"grab")},[t,a,r,n]),(0,l.useEffect)(()=>{c.current={top:0,y:0};const t=e.current;if(!t)return()=>({});if(n)return t.scrollTop=0,()=>({});const a=e=>{const a=e.clientY-c.current.y;t.scrollTop=c.current.top-a},r=()=>{document.removeEventListener("mousemove",a),document.removeEventListener("mouseup",r),o(!1)},l=e=>{c.current={top:t.scrollTop,y:e.clientY},o(!0),document.addEventListener("mousemove",a),document.addEventListener("mouseup",r)};return t.addEventListener("mousedown",l),()=>{t.removeEventListener("mousedown",l)}},[n])};var c=a(14365),s=a(11866),i=a(65215);const d=(e,t,a,n=!1)=>{const{scrollYProgress:r}=(0,s.L)({container:e}),[o,d]=(0,l.useState)(!0),[u,m]=(0,l.useState)(!1),[p,f]=(0,l.useState)(c.A.Start),g=.05;return(0,i.L)(r,"change",e=>{e<g&&f(c.A.Start),e>=g&&e<=.95&&f(c.A.Middle),e>.95&&f(c.A.End)}),(0,l.useEffect)(()=>{if(t&&!n){if(t>=a)return d(!0),void m(!0);p===c.A.Start&&(d(!0),m(!1)),p===c.A.Middle&&(d(!1),m(!1)),p===c.A.End&&m(!0)}},[n,p,t,a]),{isStart:o,isEnd:u}};var u=a(97500),m=a.n(u),p=a(34629);const f=({children:e,className:t,customScrollbarTheme:a,disableScroll:c=!1,hasDefaultHeightClass:s=!0,hideScrollbar:i=!0,ref:u,shadowColour:f="from-white dark:from-black-100",shadowHeight:g="h-10"})=>{const b=(0,l.useRef)(null),[h,{height:v}]=(0,r.A)(),[y,{height:E}]=(0,r.A)(),{isStart:x,isEnd:w}=d(b,v,E,c);o(b,v,E,c),(0,l.useImperativeHandle)(u,()=>({scrollTo:(e,t="smooth")=>{b.current?.scrollTo({top:e,behavior:t})}}));const k=(0,l.useCallback)(e=>{b.current=e,h(e)},[h]);return React.createElement("div",{className:m()(t,"relative",{"h-full":s})},React.createElement(p.N,null,!x&&!c&&React.createElement(n.A,{tag:"span",animate:{opacity:1},className:m()(f,g,"pointer-events-none absolute top-0 z-10 w-full bg-gradient-to-b to-transparent"),exit:{opacity:0},initial:{opacity:0}
1,transition:{duration:.25},"aria-hidden":"true"})),React.createElement("div",{ref:k,tabIndex:0,className:m()({"scrollbar-hide":i,"overflow-y-hidden":c,"overflow-y-auto":!c,"custom-scrollbar":!c&&a,"custom-scrollbar--light":"light"===a,"custom-scrollbar--dark":"dark"===a},"relative h-full select-none"),role:"presentation"},React.createElement("div",{ref:y},e)),React.createElement(p.N,null,!w&&!c&&React.createElement(n.A,{tag:"span",animate:{opacity:1},className:m()(f||"from-white dark:from-black-100",g,"pointer-events-none absolute bottom-0 z-10 w-full bg-gradient-to-t to-transparent"),exit:{opacity:0},initial:{opacity:0},transition:{duration:.25},"aria-hidden":"true"})))}},60874(e,t,a){a.r(t),a.d(t,{default:()=>s});var n=a(89993),r=a(76439),l=a(28885),o=a(97500),c=a.n(o);const s=({title:e,text:t,cta:a,image:o,isLargeCard:s,dataTestId:i="Promo-Card",meta:d,epiEdit:u})=>{const m=(0,l.A)(1440);return React.createElement("div",{className:c()("relative flex h-full w-full flex-col items-center justify-between gap-13 rounded-[10px] bg-grey-600 text-white lg:gap-7.5",s?"px-4 pt-4 pb-13 xl:gap-10 xl:pb-10":"px-4 pt-4 pb-13 lg:px-3 lg:pt-4 lg:pb-4 xl:gap-13 xl:px-4 xl:pb-13"),"data-testid":i,"data-epi-property-name":u},o&&React.createElement(r.A,{image:o,classes:"w-full",imageClasses:"w-full object-contain rounded-[10px]",dataTestId:`${i}-Image`,epiEdit:d?.editHints?.image}),React.createElement("div",{className:c()("flex w-[85%] flex-col items-center justify-center",s?"grow gap-4 lg:gap-7.5 xl:gap-6":"gap-5")},React.createElement("div",{className:c()("flex flex-col",s?"gap-4 lg:gap-7.5 xl:gap-6":"gap-2.5")},React.createElement("p",{className:c()("text-center",m||!s?"h5":"h3"),"data-testid":`${i}-Title`,"data-epi-property-name":d?.editHints?.title},e),t&&React.createElement("p",{className:"body-one text-center","data-testid":`${i}-Text`,"data-epi-property-name":d?.editHints?.text},t)),a?.url&&a.name&&React.createElement(n.A,{className:"text-center",link:a,dataTestId:`${i}-Link`,editHint:d?.editHints?.cta})))}},87882(e,t,a){a.r(t),a.d(t,{default:()=>S});var n=a(45691),r=a(59530),l=a(88050),o=a(29534),c=a(8222),s=a(88327),i=a(53337),d=a(66665),u=a(84501),m=a(28885),p=a(97500),f=a.n(p),g=a(59471),b=a(47976),h=a(97814),v=a(11707),y=a(60874);const E=()=>(0,g.useCallback)(e=>{if(!e)return null;return e.querySelector('a[href], button:not([disabled]), input:not([disabled]):not([type="hidden"]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex="-1"]), [contenteditable="true"]')??null},[]);var x=a(16898),w=a(33063),k=a(61914),A=a(32088),R=a(34629);function L(){return L=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},L.apply(null,arguments)}const N=({activeCard:e,activeColumnIndex:t,activeRowIndex:a,hidePrices:r,nextFocusIndex:l,productListingName:o,products:c,rowIndex:s,statusLabels:i,onDesktopKitDropdownButtonClick:d,onMobileKitDropdownButtonClick:u,onListingProductsTracking:p,onCloseDropdown:f})=>{const N=(0,g.useRef)(null),[C,I]=(0,g.useState)(0),[S,P]=(0,g.useState)(0),[B,{height:D}]=(0,w.A)(),T=(0,g.useRef)(null),O=(0,g.useRef)(null),$=(0,g.useRef)(null),[W,z]=(0,g.useState)(!1),F=(0,x.A)(W,{preventScroll:!0}),M=(0,k.A)(),j=E(),H=(0,m.A)(1024),K=(0,A.W)(N,{amount:.5}),U=s===a&&!!e,V=()=>{if(!$?.current)return;const e=$.current.getBoundingClientRect(),{scrollX:t}=window;I(e.left+t),P(document.documentElement.clientWidth)};(0,g.useEffect)(()=>{K&&p(c)},[K,p,c]),(0,g.useEffect)(()=>{a===s&&V()},[t,a,s]),(0,g.useEffect)(()=>(window.addEventListener("resize",V),V(),()=>{window.removeEventListener("resize",V)}),[]);const Y=e=>{const t=e.relatedTarget;M&&T.current&&t&&!T.current.contains(t)&&f()};return React.createElement("div",{ref:N,className:"relative overflow-hidden"},React.createElement("div",{className:"container grid gap-5 bg-black-100 lg:grid-cols-12"},c.map((c,m)=>{const p=t===m&&a===s&&!!e;return React.createElement("div",{tabIndex:-1,ref:e=>{p&&($.current=e),l>0&&l===(H?1:3)*s+m&&(F.current=e,e&&z(!0))}
1,key:c.title,className:"relative col-span-full overflow-visible lg:col-span-4"},c.type===n.A.Product&&React.createElement(v.A,L({},c,{active:p,hidePrices:r,productListingName:o,statusLabels:i,onKitDropdownButtonClick:()=>H?u(s):d(s,m)})),c.type===n.A.Promo&&React.createElement(y.default,c),p&&S&&React.createElement(React.Fragment,null,React.createElement("div",{className:"pointer-events-none invisible absolute top-full -z-10 opacity-0",tabIndex:-1,ref:B,"aria-hidden":"true",style:{left:`-${C}px`,width:`${S}px`,overflowX:"clip"}},React.createElement(h.A,{hidePrices:r,kitTitleLabel:e?.kitTitleLabel,kitsTitleLabel:e?.kitsTitleLabel,productListingName:o,statusLabels:i,variations:e?.variations??[]})),React.createElement(R.N,{mode:"wait"},React.createElement(b.A,{key:`${e?.title}-${s}-${t}`,ref:T,tabIndex:-1,onBlur:Y,initial:{height:0,opacity:0},animate:{height:D,opacity:1},exit:{height:0,opacity:0},className:"absolute top-full z-100",style:{left:`-${C}px`,width:`${S}px`,maxWidth:`${S}px`,overflowX:"clip"}},React.createElement(h.A,{hidePrices:r,kitTitleLabel:e.kitTitleLabel,kitsTitleLabel:e.kitsTitleLabel,productListingName:o,statusLabels:i,variations:e.variations})))))})),React.createElement(R.N,{mode:"wait"},U&&React.createElement(b.A,{key:`spacer-${a}`,initial:{height:0},animate:{height:D},exit:{height:0},transition:{duration:.25},style:{overflow:"hidden"},"aria-hidden":"true",ref:O,onAnimationComplete:({height:e})=>{e>0&&e===D&&(requestAnimationFrame(()=>O.current?.scrollIntoView({behavior:"smooth"})),setTimeout(()=>{j(T.current)?.focus({preventScroll:!0})},300))}})))},C=({currentPageResultsCount:e,hidePrices:t,pageNumber:a,productListingName:r,results:l,showOnlyKits:o,sortByParam:c,statusLabels:s})=>{const p=(0,m.A)(1024),b=(0,g.useRef)([]),[h,v]=(0,g.useState)(null),[y,E]=(0,g.useState)(null),[x,w]=(0,g.useState)(null),k=(0,g.useMemo)(()=>(0,i.A)(l,p?1:3),[p,l]),A=l.length-e,R=({rowIndex:e,columnIndex:t})=>{v(k[e]?.[t]||null)},L=()=>{v(null),w(null),E(null)};(0,g.useEffect)(()=>{if(null===x||null===y)return;const e=p?3*x+y:Math.floor(x/3),t=p?0:x-3*e;w(e),E(t),R({rowIndex:e,columnIndex:t})},[p]),(0,g.useEffect)(()=>{0===a&&L()},[o,c,l]);const C=(e,t)=>{const a=y===t&&x===e;R({rowIndex:e,columnIndex:t}),E(a?null:t),w(a?null:e)},I=e=>{const t=0===y&&x===e;R({rowIndex:e,columnIndex:0}),E(t?null:0),w(x===e?null:e)},S=e=>{const t=e.filter(e=>e.type===n.A.Product&&e.trackingData&&!b.current.includes(e.sku??""));b.current=[...b.current,...t.map(e=>e.sku??"")],0!==t.length&&((0,d.A)({ecommerce:null}),(0,d.A)({event:"viewItemList",ecommerce:{item_list_name:r,items:t.map(e=>(0,u.A)(e.trackingData,{listingName:r}))}}))};return React.createElement("div",{className:f()("mt-12 space-y-8 md:space-y-20")},k.map((e,a)=>React.createElement("div",{key:e.map(e=>e.title).join(","),className:f()({"pb-14 lg:pb-[150px]":a===k.length-1})},React.createElement(N,{activeCard:h,activeColumnIndex:y,activeRowIndex:x,hidePrices:t,nextFocusIndex:A,products:e,productListingName:r,rowIndex:a,statusLabels:s,onDesktopKitDropdownButtonClick:C,onMobileKitDropdownButtonClick:I,onListingProductsTracking:S,onCloseDropdown:L})))||null)};function I(){return I=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var a=arguments[t];for(var n in a)({}).hasOwnProperty.call(a,n)&&(e[n]=a[n])}return e},I.apply(null,arguments)}const S=e=>{const{hidePrices:t,listingId:a="",pagedLinks:i,productListingName:d,showExpandedFilters:u,statusLabels:m}=e,p={ListingId:[a]},{results:f,...g}=(0,s.A)({...e,preFilterParams:p}),b=f.filter(e=>e.type===n.A.Product);return React.createElement("section",{className:"component-padding bg-black-100 pt-7.5 text-white lg:pt-24"},React.createElement(c.A,null,React.createElement("div",{className:"container"},React.createElement(l.A,I({},g,{pageType:"ProductListing",showExpandedFilters:u}))),React.createElement("div",{className:"flex flex-col gap-y-8 md:gap-y-20"},React.createElement(r.A,I({results:f},g,{loadingBackgroundClassName:"bg-black-100/60",noResultsClassName:"container",errorClassName:"container"}),React.createElement(C,I({hidePrices:t,productListingName:d,results:f,statusLabels:m}
1,g)))),React.createElement(o.A,I({results:b,pagedLinks:i},g))))}},33802(e,t,a){a.d(t,{A:()=>r});var n=function(e){return e.AccountDefaultAddressUpdate="defaultAddressUpdate",e.AccountDeleteAddress="accountDeleteAddress",e.AccountDeleteContactSubmit="deleteContactSubmit",e.AccountExtendedWarrantyStepSubmit="accountExtendedWarrantyStepSubmit",e.AccountExtendedWarrantyProductSearch="accountExtendedWarrantyProductSearch",e.AccountExtendedWarrantyRegistrationError="accountExtendedWarrantyRegistrationError",e.AccountExtendedWarrantyProofOfPurchaseUploadError="accountExtendedWarrantyProofOfPurchaseUploadError",e.AccountExtendedWarrantyProofOfPurchaseDownloadError="accountExtendedWarrantyProofOfPurchaseDownloadError",e.AccountGetOrderDetails="accountGetOrderDetails",e.CartRemoveItem="cartRemoveItem",e.LightboxOuterImages="lightboxOuterImages",e.MiniBasketDetails="miniBasketDetails",e.NewsletterSignupBanner="newsletterSignupBanner",e.NewsletterSignupPopup="newsletterSignupPopup",e.OnlineRetailersData="onlineRetailersData",e.OrderSummaryRemoveVoucher="orderSummaryRemoveVoucher",e.ProductDetailsFetch="productDetailsFetch",e.ProductDetailsNotifyMe="productDetailsNotifyMe",e.SearchResults="searchResults",e.ShippingPickUpLocations="shippingPickUpLocations",e}(n||{});const r=n},45691(e,t,a){a.d(t,{A:()=>r});var n=function(e){return e.Product="product",e.Promo="promo",e.Article="article",e}(n||{});const r=n},89983(e,t,a){a.d(t,{A:()=>n});const n=(0,a(44285).A)(e=>({isBodyScrollLocked:!1,setIsBodyScrollLocked:t=>e({isBodyScrollLocked:t})}))},37668(e,t,a){a.d(t,{A:()=>n});const n=(0,a(44285).A)(e=>
1({errorBannerNotification:null,setErrorBannerNotification:t=>e({errorBannerNotification:t})}))},87407(e,t,a){a.d(t,{A:()=>l});var n=a(89983),r=a(59471);const l=()=>{const{setIsBodyScrollLocked:e}=(0,n.A)(e=>({setIsBodyScrollLocked:e.setIsBodyScrollLocked}));return{lockBodyScroll:(0,r.useCallback)(t=>{const{body:a}=document;if(t){const e=window.scrollY;document.documentElement.style.setProperty("--scroll-y",`${e}`),a.style.position="fixed",a.style.top=`-${e}px`}else{const e=document.documentElement.style.getPropertyValue("--scroll-y");a.style.position="",a.style.top="",e&&window.scrollTo(0,parseInt(e,10)),document.documentElement.style.removeProperty("--scroll-y")}e(t)},[e])}}}}]);
2//# sourceMappingURL=ProductListing-Chunk-a724cab62befa4228ef8.js.map

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.