@faststore/core 3.91.2 → 3.91.3-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/build-manifest.json +79 -79
- package/.next/cache/.tsbuildinfo +1 -1
- package/.next/cache/config.json +3 -3
- package/.next/cache/webpack/client-production/0.pack +0 -0
- package/.next/cache/webpack/client-production/index.pack +0 -0
- package/.next/cache/webpack/server-production/0.pack +0 -0
- package/.next/cache/webpack/server-production/index.pack +0 -0
- package/.next/images-manifest.json +1 -1
- package/.next/prerender-manifest.js +1 -1
- package/.next/prerender-manifest.json +1 -1
- package/.next/react-loadable-manifest.json +28 -28
- package/.next/required-server-files.json +1 -1
- package/.next/routes-manifest.json +1 -1
- package/.next/server/chunks/2792.js +1 -1
- package/.next/server/chunks/3836.js +1 -1
- package/.next/server/chunks/4168.js +1 -1
- package/.next/server/chunks/4803.js +1 -1
- package/.next/server/chunks/5683.js +1 -1
- package/.next/server/chunks/6789.js +1 -1
- package/.next/server/chunks/7098.js +1 -1
- package/.next/server/chunks/870.js +1 -1
- package/.next/server/chunks/948.js +1 -1
- package/.next/server/chunks/9563.js +1 -1
- package/.next/server/chunks/9630.js +1 -1
- package/.next/server/chunks/9740.js +1 -1
- package/.next/server/chunks/9853.js +1 -1
- package/.next/server/chunks/UISKUMatrixSidebar.js +1 -1
- package/.next/server/functions-config-manifest.json +1 -1
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/middleware-react-loadable-manifest.js +1 -1
- package/.next/server/pages/404.js +1 -1
- package/.next/server/pages/500.js +1 -1
- package/.next/server/pages/[...slug].js +1 -1
- package/.next/server/pages/[slug]/p.js +1 -1
- package/.next/server/pages/_error.js +1 -1
- package/.next/server/pages/api/graphql.js +1 -1
- package/.next/server/pages/checkout.js +1 -1
- package/.next/server/pages/en-US/404.html +1 -1
- package/.next/server/pages/en-US/500.html +1 -1
- package/.next/server/pages/en-US/checkout.html +1 -1
- package/.next/server/pages/en-US/login.html +1 -1
- package/.next/server/pages/en-US/s.html +1 -1
- package/.next/server/pages/en-US.html +1 -1
- package/.next/server/pages/index.js +1 -1
- package/.next/server/pages/login.js +1 -1
- package/.next/server/pages/pvt/account/403.js +1 -1
- package/.next/server/pages/pvt/account/404.js +1 -1
- package/.next/server/pages/pvt/account/[...unknown].js +1 -1
- package/.next/server/pages/pvt/account/orders/[id].js +1 -1
- package/.next/server/pages/pvt/account/orders.js +1 -1
- package/.next/server/pages/pvt/account/profile.js +1 -1
- package/.next/server/pages/pvt/account/security.js +1 -1
- package/.next/server/pages/pvt/account/user-details.js +1 -1
- package/.next/server/pages/pvt/account.js +1 -1
- package/.next/server/pages/s.js +1 -1
- package/.next/server/pages-manifest.json +1 -1
- package/.next/static/chunks/2284.dffe7b0e5a5bfb4a.js +1 -0
- package/.next/static/chunks/{2927.23bae2c79f0ac0f3.js → 2927.5a79877943a6bf7c.js} +1 -1
- package/.next/static/chunks/3399.3e1f685c992c345b.js +1 -0
- package/.next/static/chunks/3836.612763339fc4c64c.js +1 -0
- package/.next/static/chunks/5859.1023ecc1175e7e5a.js +1 -0
- package/.next/static/chunks/{6031-a7dfc540189ff57c.js → 6031-b0b111f48a7d504d.js} +2 -2
- package/.next/static/chunks/6789.960162355435a81d.js +1 -0
- package/.next/static/chunks/7191-5f9bc40c648eda05.js +1 -0
- package/.next/static/chunks/{9173-51ba7ca2f546f879.js → 9173-2dea6acd60aa8030.js} +1 -1
- package/.next/static/chunks/{9399.132e63584d15075f.js → 9399.48251a278809f7d3.js} +1 -1
- package/.next/static/chunks/CartItem.092df07db9e8b271.js +1 -0
- package/.next/static/chunks/Gift.08db4da8c89cacf1.js +1 -0
- package/.next/static/chunks/UISKUMatrixSidebar.87ba393b7d738e99.js +1 -0
- package/.next/static/chunks/{UIToast.de15325248043ce5.js → UIToast.19a8664c01a00d3a.js} +1 -1
- package/.next/static/chunks/{main-595f5e3b626b9fff.js → main-ec03882c4375091d.js} +1 -1
- package/.next/static/chunks/pages/{[...slug]-7878c4679614a34d.js → [...slug]-5d0cf270dda4b839.js} +1 -1
- package/.next/static/chunks/pages/[slug]/p-28fab8021db28766.js +1 -0
- package/.next/static/chunks/pages/_app-69a5536f585549e0.js +1 -0
- package/.next/static/chunks/pages/index-900b6104074a72b8.js +1 -0
- package/.next/static/chunks/pages/pvt/account/orders-369a813fa114b381.js +1 -0
- package/.next/static/chunks/pages/{s-a056370e5ad4366b.js → s-9ba90a9525cf19e8.js} +1 -1
- package/.next/static/chunks/{webpack-95c6847556354c4b.js → webpack-befe37790ea11a4b.js} +1 -1
- package/.next/static/css/{244373752cfc52c7.css → 9f8fb1ef9b49d844.css} +1 -1
- package/.next/static/{e1Iy_PbcFsZ57QejzRzyL → jsgIfezCdBnXngIoyg7Az}/_buildManifest.js +1 -1
- package/.next/trace +138 -138
- package/.turbo/turbo-build.log +17 -17
- package/.turbo/turbo-test.log +5 -5
- package/CHANGELOG.md +11 -0
- package/discovery.config.default.js +1 -1
- package/next.config.js +3 -1
- package/package.json +7 -7
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterSlider.tsx +0 -8
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/section.module.scss +0 -2
- package/src/components/account/orders/MyAccountListOrders/MyAccountListOrders.tsx +1 -28
- package/src/components/account/orders/MyAccountListOrders/MyAccountSelectedTags/MyAccountSelectedTags.tsx +3 -20
- package/src/components/templates/ProductListingPage/ProductListingPage.tsx +1 -0
- package/src/components/ui/Image/Image.tsx +4 -5
- package/src/components/ui/Image/loader.ts +60 -26
- package/src/pages/_app.tsx +3 -0
- package/src/pages/pvt/account/orders/index.tsx +0 -6
- package/src/pages/s.tsx +1 -0
- package/src/sdk/search/Sentinel.tsx +4 -4
- package/src/sdk/search/useMyAccountFilter.ts +0 -7
- package/src/sdk/ui/useScrollRestoration.tsx +65 -0
- package/.next/static/chunks/2284.be64169724492654.js +0 -1
- package/.next/static/chunks/3399.b1311b661da6b316.js +0 -1
- package/.next/static/chunks/3836.5a76d717d95d1f2d.js +0 -1
- package/.next/static/chunks/5859.0b4ee873dc86bef7.js +0 -1
- package/.next/static/chunks/6789.856de844108ee5da.js +0 -1
- package/.next/static/chunks/7191-eef95438b827504b.js +0 -1
- package/.next/static/chunks/CartItem.afa42120880fcb94.js +0 -1
- package/.next/static/chunks/Gift.9d0570cbe866077f.js +0 -1
- package/.next/static/chunks/UISKUMatrixSidebar.2cfa8552a84d2f5f.js +0 -1
- package/.next/static/chunks/pages/[slug]/p-5f89d29d02064f15.js +0 -1
- package/.next/static/chunks/pages/_app-e8ac4d8f914feb94.js +0 -1
- package/.next/static/chunks/pages/index-f285046ed161df07.js +0 -1
- package/.next/static/chunks/pages/pvt/account/orders-34821345bd7401d9.js +0 -1
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetPlacedBy/MyAccountFilterFacetPlacedBy.tsx +0 -172
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetPlacedBy/index.ts +0 -2
- package/src/components/account/orders/MyAccountListOrders/MyAccountFilterSlider/MyAccountFilterFacetPlacedBy/styles.scss +0 -96
- package/src/sdk/account/useShopperSuggestions.ts +0 -151
- /package/.next/static/{e1Iy_PbcFsZ57QejzRzyL → jsgIfezCdBnXngIoyg7Az}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1957],{16886:function(e,t,a){"use strict";a.d(t,{Z:function(){return MyAccountLayout_MyAccountLayout}});var r=a(56890),n=a(42210),i=a(40727),l=a(83339),o=a(33339),s=a(77085),c=a.n(s),d=a(60679),u=a(31549),Nav=e=>{var{items:t}=e,a=(0,o.useRouter)().pathname;return(0,u.jsx)("ul",{className:c().nav,children:t.map(e=>{var{route:t,title:r}=e;return(0,u.jsx)("li",{className:c().navItem,"data-is-selected":a.includes(t),children:(0,u.jsx)(i.Z,{href:t,tabIndex:0,children:r})},t)})})},MyAccountMenu_MyAccountMenu=e=>{var{avatarImageUrl:t,accountName:a,items:r}=e,{isDesktop:n}=(0,d.Z)();return(0,u.jsxs)("div",{className:c().menu,children:[n?(0,u.jsxs)("div",{className:c().account,children:[(0,u.jsxs)("div",{className:c().avatarContainer,children:[t?(0,u.jsx)("img",{className:c().avatar,src:t}):(0,u.jsx)("span",{className:c().avatar,children:null==a?void 0:a[0]}),(0,u.jsx)("h2",{children:a})]}),(0,u.jsx)(l.Z,{className:c().switchButton,variant:"secondary",size:"small",children:"Switch"})]}):null,(0,u.jsx)(Nav,{items:r})]})},f=[n.d3],MyAccountLayout_MyAccountLayout=e=>{var{children:t,accountName:a,isRepresentative:n=!0}=e,i=n?r.Z:r.Z.filter(e=>{var{route:t}=e;return!f.includes(t)});return(0,u.jsxs)("section",{className:c().layout,children:[(0,u.jsx)(MyAccountMenu_MyAccountMenu,{accountName:a,items:i}),(0,u.jsx)("div",{"data-fs-account-layout-content":!0,children:t})]})}},73754:function(e,t,a){"use strict";var r=a(31549);t.Z=function(e){var{pageTitle:t}=e;return(0,r.jsx)("header",{"data-fs-account-header":!0,children:(0,r.jsx)("h1",{"data-fs-account-header-title":!0,children:t})})}},2562:function(e,t,a){"use strict";var r=a(15759),n=a(31549);t.Z=function(e){var t,{status:a,statusFallback:i}=e;return(0,n.jsx)("span",{"data-fs-my-account-badge":!0,"data-fs-my-account-badge-variant":function(e){var t,{status:a}=e;return(null===(t=r._y[a])||void 0===t?void 0:t.variant)||"neutral"}({status:a}),children:(null===(t=r._y[a])||void 0===t?void 0:t.label)||i||"-"})}},96896:function(e,t,a){"use strict";a.d(t,{p:function(){return useFormatPrice}});var r=a(97358),n=a(44194),useFormatPrice=()=>{var{locale:e}=(0,r.kP)();return(0,n.useCallback)((t,a)=>new Intl.NumberFormat(e,{style:"currency",currency:a,minimumFractionDigits:2}).format(t/100),[e])}},59039:function(e,t,a){"use strict";a.r(t),a.d(t,{__N_SSP:function(){return V},default:function(){return ListOrdersPage}});var r=a(33067),n=a(35935),i=a(16886),l=a(19173),o=a(81772),s=a(76924),c=a(31549),after=function(){return(0,c.jsx)(c.Fragment,{})},before=function(){return(0,c.jsx)(c.Fragment,{})},d=a(34235),u=a(44194),f=a(33339),p=a(16652),v=a(96396),y=a(83339),m=a(2614),b=a(6133),h=a(13922),g=a(91844),j=a(15699),x=a(64199),w=a(52815),O=a(26174),_=a(93779);function ownKeys(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function _objectSpread(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?ownKeys(Object(a),!0).forEach(function(t){(0,r.Z)(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):ownKeys(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var P=(0,u.forwardRef)((e,t)=>{var{to:a,from:r,setDisabled:n}=e,i=(0,u.useRef)(null),l=(0,u.useRef)(null),{0:o,1:s}=(0,u.useState)(),{0:d,1:f}=(0,u.useState)(),{0:p,1:v}=(0,u.useState)({from:r,to:a});function onEnd(e){if(!e.from||!e.to){s(void 0),f(void 0),n(!1);return}new Date(e.from)>new Date(e.to)?(s("Invalid date range"),n(!0)):(s(void 0),f(void 0),n(!1))}return(0,u.useImperativeHandle)(t,()=>({clear:()=>{s(void 0),f(void 0),v({from:"",to:""}),i.current&&(i.current.value=""),l.current&&(l.current.value="")},getDataRangeFacet:()=>({key:"dateRange",value:p})})),(0,c.jsx)("div",{"data-fs-list-orders-filters-date-range":!0,children:(0,c.jsxs)("div",{"data-fs-list-orders-filters-date-range-inputs":!0,children:[(0,c.jsx)(_.Z,{id:"date-range-from",label:"From",type:"date",inputMode:"text",error:o,inputRef:i,value:p.from,onChange:e=>{var t;return t=e.target.value,void(v(_objectSpread(_objectSpread({},p),{},{from:String(t)})),null==onEnd||onEnd(_objectSpread(_objectSpread({},p),{},{from:String(t)})))},onBlur:()=>!o&&(null==onEnd?void 0:onEnd(p))}),(0,c.jsx)(_.Z,{id:"date-range-to",label:"To",type:"date",inputMode:"text",error:d,inputRef:l,value:p.to,onChange:e=>{var t;return t=e.target.value,void(v(_objectSpread(_objectSpread({},p),{},{to:String(t)})),null==onEnd||onEnd(_objectSpread(_objectSpread({},p),{},{to:String(t)})))},onBlur:()=>!d&&(null==onEnd?void 0:onEnd(p))})]})})}),S=a(42256),A=a(83982),E=a(37041),F=a(74988),D=[{purchase_agent_id:"1",name:"Robert Fox",email:"robert.fox@example.com"},{purchase_agent_id:"2",name:"Ronald Wilson",email:"ronald.wilson@example.com"},{purchase_agent_id:"3",name:"Cameron Williamson",email:"cameron.williamson@example.com"},{purchase_agent_id:"4",name:"Brooklyn Simmons",email:"brooklyn.simmons@example.com"}],account_useShopperSuggestions=function(){var e,t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",{0:a,1:r}=(0,u.useState)({shoppers:D}),{0:n,1:i}=(0,u.useState)(null),{0:l,1:o}=(0,u.useState)(!1),s=(0,u.useCallback)((e=(0,F.Z)(function*(e){if(!(null!=e&&e.trim())){r({shoppers:D}),o(!1);return}o(!0),i(null);try{var t=yield new Promise(t=>{setTimeout(()=>{var a=e.trim().toLowerCase(),r=D.filter(e=>e.name.toLowerCase().includes(a)||e.email.toLowerCase().includes(a));t(r)},300)});r({shoppers:t})}catch(e){i(e instanceof Error?e:Error("Failed to search for shoppers")),r({shoppers:[]})}finally{o(!1)}}),function(t){return e.apply(this,arguments)}),[]);return(0,u.useEffect)(()=>{if(t||null!==a){var e=setTimeout(()=>{s(t)},300);return()=>{clearTimeout(e)}}},[t]),{data:a,error:n,isLoading:l,findShopperById:(0,u.useMemo)(()=>e=>null==a?void 0:a.shoppers.find(t=>t.purchase_agent_id===e),[])}},MyAccountFilterFacetPlacedBy_MyAccountFilterFacetPlacedBy=function(e){var{selected:t,dispatch:a}=e,r=(0,u.useRef)(null),{0:n,1:i}=(0,u.useState)(""),{0:l,1:o}=(0,u.useState)(null),{0:s,1:d}=(0,u.useState)(!1),{data:f,isLoading:p,findShopperById:v}=account_useShopperSuggestions(n),y=(null==f?void 0:f.shoppers)||[],b=(0,u.useMemo)(()=>{var e;return null===(e=t.find(e=>"purchaseAgentId"===e.key))||void 0===e?void 0:e.value},[t]),clearAll=()=>{i(""),o(null),r.current&&(r.current.value="")};(0,u.useEffect)(()=>{if(b&&!l){var e=v(b);e&&o(e)}else b||clearAll()},[b,l]);var h=(0,u.useMemo)(()=>!p&&n&&0===y.length,[p,n,y]);return(0,c.jsxs)("div",{"data-fs-list-orders-filters-placed-by":!0,children:[(0,c.jsxs)("div",{"data-fs-list-orders-filters-placed-by-input":!0,children:[(0,c.jsx)(S.Z,{id:"placed-by-input",placeholder:"Enter the shopper's name...",ref:r,value:l?l.name:n,readOnly:!!l,onFocus:()=>{l||d(!0)},onChange:e=>{l||(i(e.target.value),d(!0))},onBlur:()=>{setTimeout(()=>{d(!1),!l&&(i(""),r.current&&(r.current.value=""))},100)},type:"text",inputMode:"text"}),p&&(0,c.jsx)("div",{"data-fs-list-orders-filters-placed-by-loader":!0,children:(0,c.jsx)(A.Z,{})}),l&&(0,c.jsx)(E.Z,{size:"small","aria-label":"Clear shopper","data-fs-list-orders-filters-placed-by-clear":!0,icon:(0,c.jsx)(m.Z,{name:"X"}),onClick:function(){l&&a({type:"toggleFacet",payload:{key:"purchaseAgentId",value:l.purchase_agent_id}}),clearAll()}})]}),s&&h&&(0,c.jsx)("div",{"data-fs-list-orders-filters-placed-by-dropdown":!0,"data-fs-list-orders-filters-placed-by-empty":!0,"aria-label":"No shoppers found with query",children:(0,c.jsxs)("p",{children:['No shoppers found with "',n,'"']})}),s&&y.length>0&&(0,c.jsx)("div",{"data-fs-list-orders-filters-placed-by-dropdown":!0,"aria-label":"Shopper selection dropdown",children:(0,c.jsx)("ul",{children:y.map(e=>(0,c.jsx)("li",{children:(0,c.jsx)("button",{type:"button",onMouseDown:e=>e.preventDefault(),onClick:()=>{o(e),d(!1),a({type:"setFacet",payload:{facet:{key:"purchaseAgentId",value:e.purchase_agent_id},unique:!0}})},"data-fs-list-orders-filters-placed-by-option":!0,children:(0,c.jsx)("span",{"data-fs-list-orders-filters-placed-by-option-name":!0,children:e.name})})},e.purchase_agent_id))})})]})},C=a(49048),Z=a.n(C),MyAccountFilterSlider_MyAccountFilterSlider=function(e){var{facets:t,testId:a,dispatch:r,expanded:n,selected:i,title:l,clearButtonLabel:o,applyButtonLabel:s,searchInputRef:d}=e,f=(0,u.useRef)(null),{0:p,1:v}=(0,u.useState)(!1),handleFilterChange=e=>{var{selectedFacets:t,text:a}=e,r=t.reduce((e,t)=>{var{key:a,value:r}=t;return"dateInitial"===a&&(e.dateInitial=r),"dateFinal"===a&&(e.dateFinal=r),"status"===a&&(e.status=Array.isArray(e.status)?[...e.status,r]:[r]),"purchaseAgentId"===a&&(e.purchaseAgentId=r),e},{}),n=new URLSearchParams;a&&n.set("text",a),Object.entries(r).forEach(e=>{var[t,a]=e;Array.isArray(a)?a.forEach(e=>n.append(t,e)):n.set(t,a)}),window.location.href="/pvt/account/orders?".concat(n.toString())};return(0,c.jsx)(g.Z,{overlayProps:{className:"section ".concat(Z().section," section-filter-slider")},title:l,size:"partial",direction:"rightSide",clearBtnProps:{variant:"secondary",onClick:()=>{var e;null===(e=f.current)||void 0===e||e.clear(),r({type:"selectFacets",payload:[]})},children:null!=o?o:"Clear All"},applyBtnProps:{variant:"primary",onClick:()=>{var e,t,a,r,n,l,o,s,c,u=null===(e=f.current)||void 0===e?void 0:null===(t=e.getDataRangeFacet)||void 0===t?void 0:t.call(e),p=null==u?void 0:null===(a=u.value)||void 0===a?void 0:null===(r=a.from)||void 0===r?void 0:null===(n=r.trim)||void 0===n?void 0:n.call(r),v=null==u?void 0:null===(l=u.value)||void 0===l?void 0:null===(o=l.to)||void 0===o?void 0:null===(s=o.trim)||void 0===s?void 0:s.call(o),y=[];p&&y.push({key:"dateInitial",value:p}),v&&y.push({key:"dateFinal",value:v}),handleFilterChange({selectedFacets:[...i,...y],text:null===(c=d.current)||void 0===c?void 0:c.inputRef.value})},disabled:p,children:null!=s?s:"Apply"},onClose:()=>{},children:(0,c.jsx)(j.Z,{testId:"mobile-".concat(a),indicesExpanded:n,onAccordionChange:e=>r({type:"toggleExpanded",payload:e}),children:t.map((e,t)=>{var{__typename:l,label:o}=e,s=n.has(t);return(0,c.jsxs)(x.Z,{testId:"mobile-".concat(a),index:t,type:l,label:o,children:["StoreFacetBoolean"===l&&s&&(0,c.jsx)(w.Z,{children:e.values.map(t=>{var n,i,l=(null==a?void 0:a.trim().toLowerCase())||"",o=(null===(n=e.label)||void 0===n?void 0:n.trim().toLowerCase())||"",s=(null===(i=t.label)||void 0===i?void 0:i.trim().toLowerCase())||"",d="".concat(l,"-").concat(o,"-").concat(s);return(0,c.jsx)(O.Z,{id:d,testId:"mobile-".concat(l),onFacetChange:e=>r({type:"toggleFacet",payload:e}),selected:t.selected,value:t.value,quantity:t.quantity,facetKey:e.key,label:t.label},d)})}),"StoreFacetPlacedBy"===l&&s&&(0,c.jsx)(MyAccountFilterFacetPlacedBy_MyAccountFilterFacetPlacedBy,{selected:i,dispatch:r}),"StoreFacetRange"===l&&s&&(0,c.jsx)(P,{ref:f,from:e.from,to:e.to,setDisabled:v})]},"".concat(a,"-").concat(o,"-").concat(t))})})})},k=a(73754),useDebounce=(e,t,a)=>{var{0:r,1:n}=(0,u.useState)(a);return(0,u.useEffect)(()=>{if(r!==a){var n=setTimeout(()=>{e(r)},t);return()=>{clearTimeout(n)}}},[r]),n},R=a(9664),M=["value"];function useMyAccountFilter_ownKeys(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function useMyAccountFilter_objectSpread(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?useMyAccountFilter_ownKeys(Object(a),!0).forEach(function(t){(0,r.Z)(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):useMyAccountFilter_ownKeys(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var reducer=(e,t)=>{var{expanded:a,selected:r}=e,{type:n,payload:i}=t;switch(n){case"toggleExpanded":return a.has(i)?a.delete(i):a.add(i),useMyAccountFilter_objectSpread(useMyAccountFilter_objectSpread({},e),{},{expanded:new Set(a)});case"selectFacets":if(i!==r)return useMyAccountFilter_objectSpread(useMyAccountFilter_objectSpread({},e),{},{selected:i});break;case"toggleFacet":return useMyAccountFilter_objectSpread(useMyAccountFilter_objectSpread({},e),{},{selected:(0,R.wB)(e.selected,i)});case"setFacet":return useMyAccountFilter_objectSpread(useMyAccountFilter_objectSpread({},e),{},{selected:(0,R.uL)(e.selected,i.facet,i.unique)});default:throw Error("Action ".concat(n," not implemented"))}return e},useMyAccountFilter=e=>{var{allFacets:t,selectedFacets:a}=e,{0:{selected:r,expanded:n},1:i}=(0,u.useReducer)(reducer,null,()=>({expanded:new Set([0,1]),selected:a})),l=(0,u.useMemo)(()=>r.reduce((e,t)=>{var a;return e.has(t.key)||e.set(t.key,new Map),null===(a=e.get(t.key))||void 0===a||a.set(t.value,t),e},new Map),[r]);return{facets:(0,u.useMemo)(()=>t.map(e=>"StoreFacetBoolean"===e.__typename?useMyAccountFilter_objectSpread(useMyAccountFilter_objectSpread({},e),{},{values:e.values.map(t=>{var a,{value:r}=t;return useMyAccountFilter_objectSpread(useMyAccountFilter_objectSpread({},(0,d.Z)(t,M)),{},{value:r.toLowerCase(),selected:!!(null===(a=l.get(e.key))||void 0===a?void 0:a.has(r.toLowerCase()))})})}):e),[t,l]),selected:r,expanded:n,dispatch:i}},I=a(60679),L=a(15759),B=a(2562),N=a(96896),T=a(97358);function ExpandButton(e){var{isExpanded:t,onToggle:a,label:r,ariaControls:n}=e;return(0,c.jsx)(y.Z,{"aria-expanded":t,"aria-controls":n,"data-fs-list-orders-table-expand-button":!0,size:"small",variant:"primary",inverse:!0,iconPosition:"right",icon:t?(0,c.jsx)(m.Z,{width:16,height:16,name:"CaretUp","aria-label":"Collapse"}):(0,c.jsx)(m.Z,{width:16,height:16,name:"CaretDown","aria-label":"Expand"}),onClick:e=>{e.preventDefault(),e.stopPropagation(),a(e)},children:t?"View less":null!=r?r:"View all"})}function MyAccountListOrdersTable_ownKeys(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function MyAccountListOrdersTable_objectSpread(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?MyAccountListOrdersTable_ownKeys(Object(a),!0).forEach(function(t){(0,r.Z)(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):MyAccountListOrdersTable_ownKeys(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function formatOrderDate(e,t){return new Date(e).toLocaleDateString(t,{year:"numeric",month:"2-digit",day:"2-digit"})}function Pagination(e){var{page:t,total:a,perPage:r}=e,n=Math.ceil(a/r),i=1===t?1:(t-1)*r+1,l=a>i+r-1?i+r-1:a,handlePageChange=e=>{var t=new URLSearchParams(window.location.search);1===e||0===e?t.delete("page"):t.set("page",String(e)),window.location.href="/pvt/account/orders".concat(t.toString()?"?".concat(t):"")};return(0,c.jsxs)("div",{"data-fs-list-orders-table-pagination":!0,children:[(0,c.jsx)("p",{children:"".concat(i," — ").concat(l," of ").concat(a)}),(0,c.jsx)(E.Z,{size:"small",variant:"tertiary",disabled:1===t,onClick:()=>handlePageChange(t-1),icon:(0,c.jsx)(m.Z,{name:"CaretLeft"}),"aria-label":"Previous Page"}),(0,c.jsx)(E.Z,{size:"small",variant:"tertiary",disabled:t===n,onClick:()=>handlePageChange(t+1),icon:(0,c.jsx)(m.Z,{name:"CaretRight"}),"aria-label":"Next Page"})]})}function MyAccountListOrdersTable(e){var{listOrders:t,total:a,perPage:r,filters:n}=e,{isDesktop:i}=(0,I.Z)(),{locale:l}=(0,T.kP)(),o=(0,N.p)(),{0:s,1:d}=(0,u.useState)({}),handleToggle=(e,t)=>{d(a=>{var r;return MyAccountListOrdersTable_objectSpread(MyAccountListOrdersTable_objectSpread({},a),{},{[e]:MyAccountListOrdersTable_objectSpread(MyAccountListOrdersTable_objectSpread({},a[e]),{},{[t]:!(null!==(r=a[e])&&void 0!==r&&r[t])})})})};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)("table",{"data-fs-list-orders-table":!0,children:(0,c.jsx)("tbody",{"data-fs-list-orders-table-body":!0,children:t.list.map(e=>{var t,a,r,n,d,u,f=(null==e?void 0:null===(t=e.customFields)||void 0===t?void 0:null===(a=t.find(e=>{var{type:t}=e;return"order"===t}))||void 0===a?void 0:a.value)||[],p=(null==e?void 0:null===(r=e.customFields)||void 0===r?void 0:null===(n=r.find(e=>{var{type:t}=e;return"item"===t}))||void 0===n?void 0:n.value)||[],v=f&&f.length>0||p&&p.length>0,y=(null===(d=s[e.orderId])||void 0===d?void 0:d.item)||!1,m=(null===(u=s[e.orderId])||void 0===u?void 0:u.order)||!1,{displayed:b,shouldShowButton:h}=getLevel({level:p,isExpanded:y,max:5}),{displayed:g,shouldShowButton:j}=getLevel({level:f,isExpanded:m,max:5}),x="/pvt/account/orders/".concat(e.orderId),w=e.ShippingEstimatedDate?formatOrderDate(e.ShippingEstimatedDate,l):"-",O=e.creationDate?formatOrderDate(e.creationDate,l):"-",_=o(e.totalValue,e.currencyCode),P=e.ShippingEstimatedDate?"Delivery by ".concat(formatOrderDate(e.ShippingEstimatedDate,l)):"-",S="additional-info-".concat(e.orderId,"-order"),A="additional-info-".concat(e.orderId,"-item");return(0,c.jsxs)("tr",{"data-fs-list-orders-table-row":!0,onClick:()=>{window.location.href=x},onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),window.location.href=x)},tabIndex:0,"aria-label":"View order ".concat(e.orderId," details"),children:[(0,c.jsx)("td",{"data-fs-list-orders-table-cell":!0,children:(0,c.jsxs)("div",{"data-fs-list-orders-table-product-info-main":!0,children:[(0,c.jsx)("p",{"data-fs-list-orders-table-product-info-order-id":!0,title:"ID: ".concat(e.orderId||"-"),children:e.orderId||"-"}),(0,c.jsxs)("p",{"data-fs-list-orders-table-product-info-order-total":!0,title:"Total: ".concat(_),children:["Total: ",_]})]})}),i&&(0,c.jsxs)(c.Fragment,{children:[(0,c.jsxs)("td",{"data-fs-list-orders-table-cell":!0,children:[(0,c.jsxs)("div",{"data-fs-list-orders-table-product-info":!0,children:[(0,c.jsx)("p",{"data-fs-list-orders-table-product-info-label":!0,children:"Placed on"}),(0,c.jsx)("p",{"data-fs-list-orders-table-product-info-value":!0,title:O,children:O})]}),v&&(0,c.jsxs)("div",{"data-fs-list-orders-table-product-info":!0,children:[(0,c.jsx)("p",{"data-fs-list-orders-table-product-info-label":!0,children:"Delivery by"}),(0,c.jsx)("p",{"data-fs-list-orders-table-product-info-value":!0,title:w,children:w})]})]}),(0,c.jsx)("td",{"data-fs-list-orders-table-cell":!0,children:v&&(0,c.jsxs)(c.Fragment,{children:[g.length>0&&(0,c.jsx)("p",{"data-fs-list-orders-table-product-info-label":!0,id:S,children:"Order fields"}),g.map((e,t)=>(0,c.jsx)("p",{"data-fs-list-orders-table-product-info-order":!0,title:e,"aria-owns":S,children:e},e+t)),j&&(0,c.jsx)(ExpandButton,{ariaControls:S,isExpanded:m,count:f.length-5,onToggle:()=>handleToggle(e.orderId,"order")})]})}),(0,c.jsx)("td",{"data-fs-list-orders-table-cell":!0,children:v&&(0,c.jsxs)(c.Fragment,{children:[b.length>0&&(0,c.jsx)("p",{"data-fs-list-orders-table-product-info-label":!0,id:A,children:"Item fields"}),b.map((e,t)=>(0,c.jsx)("p",{"data-fs-list-orders-table-product-info-item":!0,title:e,"aria-owns":A,children:e},e+t)),h&&(0,c.jsx)(ExpandButton,{ariaControls:A,isExpanded:y,count:p.length-5,onToggle:()=>handleToggle(e.orderId,"item")})]})})]}),(0,c.jsxs)("td",{"data-fs-list-orders-table-cell":!0,children:[(0,c.jsx)(B.Z,{status:e.status,statusFallback:e.statusDescription}),!i&&(0,c.jsx)("p",{children:P})]})]},e.orderId)})})}),i&&(0,c.jsx)(Pagination,{page:n.page,total:a,perPage:r})]})}function getLevel(e){var{level:t,isExpanded:a,max:r}=e,n=t.length>r;return{displayed:a?t:t.slice(0,r),shouldShowButton:n}}function formatFilterDate(e,t){var[a,r,n]=e.split("-").map(Number);return new Date(a,r-1,n).toLocaleDateString(t,{year:"numeric",month:"2-digit",day:"2-digit"})}function Tags(e){var{filters:t,onRemoveFilter:a}=e,{locale:r}=(0,T.kP)(),{dateInitial:n,dateFinal:i,status:l,purchaseAgentId:o}=t,s=n?formatFilterDate(n,r):"",d=i?formatFilterDate(i,r):"",u=(n||i)&&(0,c.jsxs)("div",{"data-fs-list-orders-selected-tag":!0,children:[(0,c.jsx)("span",{"data-fs-list-orders-selected-tag-label":!0,children:(n&&i?"".concat(s," to ").concat(d):s?"from ".concat(s):"to ".concat(d))||""}),(0,c.jsx)("button",{"data-fs-list-orders-selected-tag-clear":!0,onClick:()=>{a("dateInitial",n)},children:"\xd7"})]},"date-range"),f=(l||[]).map(e=>(0,c.jsxs)("div",{"data-fs-list-orders-selected-tag":!0,children:[(0,c.jsx)("span",{children:L.BX[e.toLowerCase()]||e}),(0,c.jsx)("button",{"data-fs-list-orders-selected-tag-clear":!0,onClick:()=>a("status",e),children:"\xd7"})]},"status-".concat(e))),p=o&&(0,c.jsxs)("div",{"data-fs-list-orders-selected-tag":!0,children:[(0,c.jsxs)("span",{children:["Placed by: ",o]}),(0,c.jsx)("button",{"data-fs-list-orders-selected-tag-clear":!0,onClick:()=>a("purchaseAgentId",o),children:"\xd7"})]},"placed-by-".concat(o));return(0,c.jsxs)(c.Fragment,{children:[p,u,f]})}var MyAccountSelectedTags_MyAccountSelectedTags=function(e){var{filters:t,onClearAll:a,onRemoveFilter:r}=e,n=Object.entries(t).some(e=>{var[t,a]=e;return("status"===t||"dateInitial"===t||"dateFinal"===t||"purchaseAgentId"===t)&&a&&(!Array.isArray(a)||a.length>0)});return(0,c.jsx)(c.Fragment,{children:n&&(0,c.jsxs)("div",{"data-fs-list-orders-selected-tags":!0,children:[(0,c.jsx)(Tags,{filters:t,onRemoveFilter:r}),(0,c.jsx)(y.Z,{variant:"tertiary",size:"small","data-fs-list-orders-selected-tags-clear-all-button":!0,onClick:a,children:"Clear All"})]})})},q=a(65841),K=a.n(q),$=["page","clientEmail"];function MyAccountListOrders_ownKeys(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function MyAccountListOrders_objectSpread(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?MyAccountListOrders_ownKeys(Object(a),!0).forEach(function(t){(0,r.Z)(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):MyAccountListOrders_ownKeys(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}function getSelectedFacets(e){var{filters:t}=e;return Object.keys(t).reduce((e,a)=>{if("page"===a||"text"===a||"clientEmail"===a)return e;var r=t[a];if("status"===a&&r.length>0){var n=Array.isArray(r)?r:[r];e.push(...n.map(e=>({key:"status",value:e.toLowerCase()})))}else"dateInitial"===a&&r?e.push({key:"dateInitial",value:String(r)}):"dateFinal"===a&&r?e.push({key:"dateFinal",value:String(r)}):"purchaseAgentId"===a&&r&&e.push({key:"purchaseAgentId",value:String(r)});return e},[])}function MyAccountListOrders(e){var{listOrders:t,total:a,perPage:r,filters:n}=e,i=(0,f.useRouter)(),{isDesktop:l}=(0,I.Z)(),o=(0,u.useRef)(null);(0,u.useEffect)(()=>{var e,t;null!==(e=o.current)&&void 0!==e&&e.inputRef&&(null!=n&&n.text&&null!==(t=o.current)&&void 0!==t&&t.inputRef?o.current.inputRef.value=n.text:o.current.inputRef.value="")},[null==n?void 0:n.text]);var s=useDebounce(e=>{if((e||i.query.text)&&e.trim().toLowerCase()!==(null===(t=i.query.text)||void 0===t?void 0:t.toString().trim().toLowerCase())){var t,a=new URLSearchParams(window.location.search);a.delete("text"),a.delete("page"),e&&a.set("text",e),window.location.href="/pvt/account/orders?".concat(a.toString())}},300,String(i.query.text)),g=getSelectedFacets({filters:n}),j=useMyAccountFilter({allFacets:function(e){var{filters:t}=e;return[{__typename:"StoreFacetBoolean",key:"status",label:"Status",values:L.j4.map(e=>({label:e,quantity:0,selected:!1,value:e.toLowerCase()}))},{__typename:"StoreFacetRange",key:"dateRange",label:"Order Date",from:t.dateInitial,to:t.dateFinal}]}({filters:n}),selectedFacets:g}),{openFilter:x,filter:w}=(0,p.l8)(),O=n.status.length>0||!!n.dateInitial||!!n.dateFinal||!!n.text,_=0===t.list.length;return(0,c.jsxs)("div",{className:K().page,children:[(0,c.jsx)(k.Z,{pageTitle:"Orders"}),(0,c.jsxs)("div",{"data-fs-list-orders-controls":!0,children:[(0,c.jsxs)("div",{"data-fs-list-orders-search-filters":!0,children:[(0,c.jsx)(v.Z,{ref:o,"data-fs-search-input-field-list-orders":!0,placeholder:"Search",onBlur:e=>{s(o.current.inputRef.value)},onKeyDown:e=>{"Enter"===e.key&&s(o.current.inputRef.value)},onSubmit:e=>{s(o.current.inputRef.value)}}),(0,c.jsx)(y.Z,{"data-fs-list-orders-search-filters-button":!0,size:"small",variant:"tertiary",icon:(0,c.jsx)(m.Z,{name:"FadersHorizontal",width:24,height:24,"aria-label":"Open Filters"}),iconPosition:"left",onClick:()=>{j.dispatch({type:"selectFacets",payload:getSelectedFacets({filters:n})}),x()},children:"Filters"})]}),l&&(0,c.jsx)(Pagination,{page:n.page,total:a,perPage:r})]}),(0,c.jsx)(MyAccountSelectedTags_MyAccountSelectedTags,{filters:{status:n.status,dateInitial:n.dateInitial,dateFinal:n.dateFinal},onClearAll:()=>{window.location.href="/pvt/account/orders"},onRemoveFilter:(e,t)=>{var a=MyAccountListOrders_objectSpread({},n),{page:r,clientEmail:i}=a,l=(0,d.Z)(a,$);"status"===e&&Array.isArray(l[e])?l[e]=l[e].filter(e=>e!==t):"dateInitial"===e||"dateFinal"===e?(delete l.dateInitial,delete l.dateFinal):"purchaseAgentId"===e?delete l.purchaseAgentId:delete l[e],"status"===e&&Array.isArray(l[e])?l[e]=l[e].filter(e=>e.toLowerCase()!==t.toLowerCase()):"dateInitial"===e||"dateFinal"===e?(delete l.dateInitial,delete l.dateFinal):"purchaseAgentId"===e?delete l.purchaseAgentId:delete l[e];var o=Object.fromEntries(Object.entries(l).filter(e=>{var[,t]=e;return Array.isArray(t)?t.length>0:!!t})),s=new URLSearchParams(o);window.location.href="/pvt/account/orders?".concat(s.toString())}}),w&&(0,c.jsx)(MyAccountFilterSlider_MyAccountFilterSlider,MyAccountListOrders_objectSpread(MyAccountListOrders_objectSpread({},j),{},{title:"Filters",clearButtonLabel:"Clear All",applyButtonLabel:"View Results",searchInputRef:o,testId:"my-account-filter-slider"})),_?(0,c.jsx)(b.Z,{titleIcon:(0,c.jsx)(m.Z,{name:O?"MagnifyingGlass":"Bag2",width:56,height:56,weight:"thin"}),title:O?"No results found":"You don't have any orders",bkgColor:"light",children:!O&&(0,c.jsx)(h.Z,{"data-fs-list-orders-empty-state-link":!0,href:"/",variant:"secondary",children:"Start shopping"})}):(0,c.jsx)(MyAccountListOrdersTable,{listOrders:t,total:a,perPage:r,filters:n}),!l&&(0,c.jsx)(Pagination,{page:n.page,total:a,perPage:r})]})}var z=a(56272);function orders_ownKeys(e,t){var a=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable})),a.push.apply(a,r)}return a}function orders_objectSpread(e){for(var t=1;t<arguments.length;t++){var a=null!=arguments[t]?arguments[t]:{};t%2?orders_ownKeys(Object(a),!0).forEach(function(t){(0,r.Z)(e,t,a[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(a)):orders_ownKeys(Object(a)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(a,t))})}return e}var U=orders_objectSpread(orders_objectSpread({},o.Z),s.Z),V=!0;function ListOrdersPage(e){var{globalSections:t,accountName:a,listOrders:r,total:o,perPage:s,filters:d,isRepresentative:u}=e,{sections:f,settings:p}=null!=t?t:{};return(0,c.jsx)(z.ZP,{context:{globalSettings:p},children:(0,c.jsxs)(l.ZP,{globalSections:f,components:U,children:[(0,c.jsx)(n.PB,{noindex:!0,nofollow:!0}),(0,c.jsxs)(i.Z,{isRepresentative:u,accountName:a,children:[(0,c.jsx)(before,{}),(0,c.jsx)(MyAccountListOrders,{listOrders:r,filters:d,perPage:s,total:o}),(0,c.jsx)(after,{})]})]})})}},15759:function(e,t,a){"use strict";a.d(t,{BX:function(){return i},_y:function(){return r},j4:function(){return n}});var r={created:{variant:"success",label:"Order Placed"},creating:{variant:"success",label:"Order Placed"},"on-order-completed":{variant:"success",label:"Order Placed"},"on-order-completed-ffm":{variant:"success",label:"Order Placed"},"order-accepted":{variant:"success",label:"Order Placed"},"order-created":{variant:"success",label:"Order Placed"},"waiting-for-seller-confirmation":{variant:"success",label:"Order Placed"},"waiting-for-authorization":{variant:"warning",label:"Pending approval"},"waiting-for-confirmation":{variant:"warning",label:"Pending approval"},"approving-transaction":{variant:"warning",label:"Payment Pending"},"notify-payment":{variant:"warning",label:"Payment Pending"},"payment-pending":{variant:"warning",label:"Payment Pending"},"payment-approved":{variant:"success",label:"Payment Approved"},"approve-payment":{variant:"success",label:"Payment Approved"},"payment-denied":{variant:"neutral",label:"Payment Denied"},"authorize-fulfillment":{variant:"success",label:"Ready for Delivery"},handling:{variant:"success",label:"Ready for Delivery"},invoice:{variant:"success",label:"Ready for Delivery"},"invoice-after-cancellation-deny":{variant:"success",label:"Ready for Delivery"},invoicing:{variant:"success",label:"Ready for Delivery"},packing:{variant:"success",label:"Ready for Delivery"},picking:{variant:"success",label:"Ready for Delivery"},"ready-for-handling":{variant:"success",label:"Ready for Delivery"},"ready-for-invoicing":{variant:"success",label:"Ready for Delivery"},"ready-for-packing":{variant:"success",label:"Ready for Delivery"},"ready-for-picking":{variant:"success",label:"Ready for Delivery"},"release-to-fulfillment":{variant:"success",label:"Ready for Delivery"},"start-handling":{variant:"success",label:"Ready for Delivery"},"waiting-ffmt-authorization":{variant:"success",label:"Ready for Delivery"},"waiting-for-fulfillment":{variant:"success",label:"Ready for Delivery"},"window-to-cancel":{variant:"success",label:"Ready for Delivery"},invoiced:{variant:"success",label:"Invoiced"},"accepting-cancel":{variant:"neutral",label:"Cancellation Requested"},cancel:{variant:"neutral",label:"Cancellation Requested"},canceling:{variant:"neutral",label:"Cancellation Requested"},"cancellation-requested":{variant:"neutral",label:"Cancellation Requested"},"cancellation-requested-with-ack":{variant:"neutral",label:"Cancellation Requested"},"request-cancel":{variant:"neutral",label:"Cancellation Requested"},"waiting-for-seller-decision":{variant:"neutral",label:"Cancellation Requested"},canceled:{variant:"neutral",label:"Canceled"}},n=["Order Placed","Pending approval","Payment Pending","Payment Approved","Payment Denied","Ready for Delivery","Invoiced","Cancellation Requested","Canceled"],i={"order placed":"Order Placed","Pending approval":"Pending approval","payment pending":"Payment Pending","payment approved":"Payment Approved","payment denied":"Payment Denied","ready for delivery":"Ready for Delivery",invoiced:"Invoiced","cancellation requested":"Cancellation Requested",canceled:"Canceled"}},97676:function(e,t,a){(window.__NEXT_P=window.__NEXT_P||[]).push(["/pvt/account/orders",function(){return a(59039)}])},49048:function(e){e.exports={section:"section_section__YPC0_",load:"section_load__1kqk7"}},65841:function(e){e.exports={page:"styles_page__flnO9"}},77085:function(e){e.exports={layout:"section_layout__QJ4xs",menu:"section_menu__WKZdl",account:"section_account__YjCAC",avatarContainer:"section_avatarContainer__1RMsJ",switchButton:"section_switchButton__ul06M",nav:"section_nav__Jjee8",navItem:"section_navItem__yr27R",avatar:"section_avatar__IQLo8"}},82740:function(e,t,a){"use strict";var r=a(44194);let n=(0,r.forwardRef)(function({testId:e="fs-checkbox",partial:t,...a},n){return r.createElement("input",{ref:n,"data-fs-checkbox":!0,"data-testid":e,"data-fs-checkbox-partial":t,type:"checkbox",...a})});t.Z=n},36735:function(e,t,a){"use strict";var r=a(44194);let n=(0,r.forwardRef)(function({testId:e="fs-radio",...t},a){return r.createElement("input",{ref:a,"data-fs-radio":!0,type:"radio","data-testid":e,...t})});t.Z=n},71516:function(e,t,a){"use strict";a.d(t,{A:function(){return useAccordion}});var r=a(44194);let n=(0,r.createContext)(void 0),i=(0,r.forwardRef)(function({testId:e="fs-accordion",indices:t,onChange:a,children:i,...l},o){let s=r.Children.map(i,(e,t)=>{if(e)return(0,r.cloneElement)(e,{index:e.props.index??t})}),c={indices:new Set(t),onChange:a,numberOfItems:s.length};return r.createElement(n.Provider,{value:c},r.createElement("div",{ref:o,"data-fs-accordion":!0,role:"region","data-testid":e,...l},s))});function useAccordion(){let e=(0,r.useContext)(n);if(void 0===e)throw Error("Do not use Accordion components outside the Accordion context.");return e}t.Z=i},67734:function(e,t,a){"use strict";var r=a(44194),n=a(71516),i=a(40783),l=a(2614),o=a(83339);let s=(0,r.forwardRef)(function({testId:e="fs-accordion-button",expandedIcon:t=r.createElement(l.Z,{name:"MinusCircle","data-icon":"expanded"}),collapsedIcon:a=r.createElement(l.Z,{name:"PlusCircle","data-icon":"collapsed"}),children:s,...c},d){let{indices:u,onChange:f,numberOfItems:p}=(0,n.A)(),{index:v,panel:y,button:m,prefixId:b}=(0,i.D)();return r.createElement(o.Z,{ref:d,id:m,variant:"tertiary","data-fs-accordion-button":u.has(v)?"expanded":"collapsed","aria-expanded":u.has(v),icon:u.has(v)?t:a,iconPosition:"right","aria-controls":y,onKeyDown:e=>{if(["ArrowDown","ArrowUp"].includes(e.key))switch(e.key){case"ArrowDown":e.preventDefault(),(()=>{let e=Number(v)+1===p?0:Number(v)+1;return document.getElementById(`${b&&`${b}-`}button--${e}`)})()?.focus();break;case"ArrowUp":e.preventDefault(),(()=>{let e=Number(v)-1<0?p-1:Number(v)-1;return document.getElementById(`${b&&`${b}-`}button--${e}`)})()?.focus()}},onClick:()=>{f(v)},"data-testid":e,...c},s)});t.Z=s},40783:function(e,t,a){"use strict";a.d(t,{D:function(){return useAccordionItem}});var r=a(44194);let n=(0,r.createContext)(void 0),i=(0,r.forwardRef)(function({prefixId:e="",index:t=0,as:a,children:i,testId:l="fs-accordion-item",...o},s){let c=a??"div",d={index:t,prefixId:e,panel:`${e&&`${e}-`}panel--${t}`,button:`${e&&`${e}-`}button--${t}`};return r.createElement(n.Provider,{value:d},r.createElement(c,{ref:s,"data-fs-accordion-item":!0,"data-testid":l,...o},i))});function useAccordionItem(){let e=(0,r.useContext)(n);if(void 0===e)throw Error("Do not use AccordionItem components outside the AccordionItem context.");return e}t.Z=i},27583:function(e,t,a){"use strict";var r=a(44194),n=a(71516),i=a(40783);let l=(0,r.forwardRef)(function({testId:e="fs-accordion-panel",children:t,...a},l){let{indices:o}=(0,n.A)(),{index:s,button:c,panel:d}=(0,i.D)();return r.createElement("div",{ref:l,id:d,"data-fs-accordion-panel":!0,"aria-labelledby":c,role:"region",hidden:!o.has(s),"data-testid":e,...a},t)});t.Z=l},13922:function(e,t,a){"use strict";var r=a(44194);t.Z=function({icon:e,inverse:t,children:a,disabled:n,iconPosition:i,size:l="regular",variant:o="primary",testId:s="fs-link-button",...c}){let d=(0,r.useRef)(null);return r.createElement("a",{ref:d,"data-fs-button":!0,"data-fs-link-button":!0,"data-fs-button-size":l,"data-fs-button-variant":o,"data-fs-button-inverse":t,"data-fs-button-disabled":n,onFocus:function(e){e.preventDefault(),n&&d.current?.blur()},"data-testid":s,...c},r.createElement("div",{"data-fs-button-wrapper":!0},!!e&&"left"===i&&r.createElement("span",{"data-fs-button-icon":!0},e),a&&r.createElement("span",null,a),!!e&&"right"===i&&r.createElement("span",{"data-fs-button-icon":!0},e)))}},95737:function(e,t,a){"use strict";var r=a(44194),n=a(31953),i=a(36735);let l=(0,r.forwardRef)(function({testId:e="fs-radio-field",id:t,label:a,value:l,name:o,...s},c){return r.createElement("div",{ref:c,"data-fs-radio-field":!0,"data-testid":e},r.createElement(i.Z,{id:t,value:"string"==typeof a?a:l,name:o,...s}),r.createElement(n.Z,{htmlFor:t},a))});t.Z=l},96396:function(e,t,a){"use strict";var r=a(44194),n=a(42256),i=a(37041),l=a(2614);let o=(0,r.forwardRef)(function({onSubmit:e,buttonIcon:t,"aria-label":a="search",testId:o="fs-search-input",buttonProps:s,...c},d){let u=(0,r.useRef)(null),f=(0,r.useRef)(null);return(0,r.useImperativeHandle)(d,()=>({inputRef:u.current,formRef:f.current})),r.createElement("form",{ref:f,"data-fs-search-input-field":!0,"data-testid":o,onSubmit:t=>{t.preventDefault(),u.current?.value!==""&&e(u.current.value)},role:"search"},r.createElement(n.Z,{ref:u,"aria-label":a,"data-fs-search-input-field-input":!0,...c}),r.createElement(i.Z,{type:"submit","aria-label":"Submit Search",icon:t??r.createElement(l.Z,{name:"MagnifyingGlass"}),size:"small",...s}))});t.Z=o},6133:function(e,t,a){"use strict";var r=a(44194);t.Z=function({testId:e="fs-empty-state",title:t,titleIcon:a,variant:n="default",bkgColor:i="default",children:l,...o}){return r.createElement("section",{"data-fs-empty-state":!0,"data-fs-empty-state-variant":n,"data-fs-empty-state-bkg-color":i,"data-fs-content":"empty-state","data-testid":e,...o},t&&r.createElement("header",{"data-fs-empty-state-title":!0},a&&r.createElement(r.Fragment,null,a),r.createElement("p",null,t)),l)}},15699:function(e,t,a){"use strict";var r=a(44194),n=a(71516);t.Z=function({testId:e,title:t,indicesExpanded:a,onAccordionChange:i,children:l}){return r.createElement("div",{"data-fs-filter":!0,"data-testid":e},r.createElement("h2",{"data-fs-filter-title":!0},t),r.createElement(n.Z,{indices:a,onChange:i,"data-fs-filter-accordion":!0},l))}},52815:function(e,t,a){"use strict";var r=a(44194),n=a(94564);t.Z=function({children:e}){return r.createElement(n.Z,{"data-fs-filter-list":!0},e)}},26174:function(e,t,a){"use strict";var r=a(44194),n=a(82740),i=a(31953),l=a(40276),o=a(95737);t.Z=function({testId:e,id:t,selected:a,value:s,quantity:c,facetKey:d,label:u,type:f="checkbox",onFacetChange:p}){return r.createElement("li",{key:t,"data-fs-filter-list-item":!0},"checkbox"===f?r.createElement(r.Fragment,null,r.createElement(n.Z,{id:t,checked:a,onChange:()=>p({key:d,value:s},"BOOLEAN"),"data-fs-filter-list-item-checkbox":!0,"data-testid":`${e}-accordion-panel-checkbox`,"data-value":s,"data-quantity":c}),r.createElement(i.Z,{htmlFor:t,className:"text__title-mini-alt","data-fs-filter-list-item-label":!0},u,"number"==typeof c&&c>=0&&r.createElement(l.Z,{"data-fs-filter-list-item-badge":!0},c))):r.createElement(o.Z,{id:t,name:d,value:s,checked:a,onChange:()=>p({key:d,value:s},"BOOLEAN"),"data-fs-filter-list-item-radio":!0,"data-testid":`${e}-accordion-panel-radio`,"data-value":s,label:u}))}},64199:function(e,t,a){"use strict";var r=a(44194),n=a(40783),i=a(67734),l=a(27583);t.Z=function({testId:e,label:t,index:a,children:o,type:s,description:c}){return r.createElement(n.Z,{key:`${t}-${a}`,prefixId:e,testId:`${e}-accordion`,index:a,"data-type":s,"data-fs-filter-accordion-item":!0},r.createElement(i.Z,{testId:`${e}-accordion-button`},t),r.createElement(l.Z,null,c&&r.createElement("span",{"data-fs-filter-accordion-item-description":!0},c),o))}},91844:function(e,t,a){"use strict";var r=a(44194),n=a(13666),i=a(16652),l=a(77215),o=a(45049),s=a(83339);t.Z=function({testId:e="fs-filter-slider",title:t,size:a,direction:c,children:d,applyBtnProps:u,clearBtnProps:f,overlayProps:p,onClose:v,onDismiss:y,footer:m=!0,...b}){let{fade:h,fadeOut:g}=(0,n.b)(),{closeFilter:j,closeRegionSlider:x}=(0,i.l8)();return r.createElement(l.Z,{"data-fs-filter-slider":!0,isOpen:!0,fade:h,onDismiss:()=>{g(),y?.()},size:a,direction:c,onTransitionEnd:()=>{"out"===h&&(j(),x())},testId:e,overlayProps:p,...b},r.createElement("div",{"data-fs-filter-slider-content":!0},r.createElement(o.Z,{onClose:()=>{v(),g()}},r.createElement("h2",{"data-fs-filter-slider-title":!0},t)),d),m&&r.createElement("footer",{"data-fs-filter-slider-footer":!0},f&&r.createElement(s.Z,{"data-fs-filter-slider-footer-button-clear":!0,...f}),u&&r.createElement(s.Z,{"data-fs-filter-slider-footer-button-apply":!0,testId:`${e}-button-apply`,...u,onClick:e=>{u?.onClick?.(e),g()}})))}}},function(e){e.O(0,[6031,9173,9774,2888,179],function(){return e(e.s=97676)}),_N_E=e.O()}]);
|
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { useEffect, useMemo, useRef, useState } from 'react'
|
|
2
|
-
import { Input, IconButton, Icon, Loader } from '@faststore/ui'
|
|
3
|
-
import type { SelectedFacet } from 'src/sdk/search/useMyAccountFilter'
|
|
4
|
-
import useShopperSuggestions from 'src/sdk/account/useShopperSuggestions'
|
|
5
|
-
import type { Shopper } from 'src/sdk/account/useShopperSuggestions'
|
|
6
|
-
|
|
7
|
-
export interface MyAccountFilterFacetPlacedByProps {
|
|
8
|
-
/**
|
|
9
|
-
* Current selected facets from filter context
|
|
10
|
-
*/
|
|
11
|
-
selected: SelectedFacet[]
|
|
12
|
-
/**
|
|
13
|
-
* Dispatch from filter context
|
|
14
|
-
*/
|
|
15
|
-
dispatch: (action: { type: 'toggleFacet' | 'setFacet'; payload: any }) => void
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
function MyAccountFilterFacetPlacedBy({
|
|
19
|
-
selected,
|
|
20
|
-
dispatch,
|
|
21
|
-
}: MyAccountFilterFacetPlacedByProps) {
|
|
22
|
-
const inputRef = useRef<HTMLInputElement>(null)
|
|
23
|
-
const [query, setQuery] = useState('')
|
|
24
|
-
const [selectedShopper, setSelectedShopper] = useState<Shopper | null>(null)
|
|
25
|
-
const [isOpen, setIsOpen] = useState(false)
|
|
26
|
-
|
|
27
|
-
// Use the new hook for shoppers suggestions
|
|
28
|
-
const { data, isLoading, findShopperById } = useShopperSuggestions(query)
|
|
29
|
-
|
|
30
|
-
// Get the filtered shoppers from hook data
|
|
31
|
-
const filteredShoppers = data?.shoppers || []
|
|
32
|
-
|
|
33
|
-
const selectedId = useMemo(
|
|
34
|
-
() => selected.find((f) => f.key === 'purchaseAgentId')?.value,
|
|
35
|
-
[selected]
|
|
36
|
-
)
|
|
37
|
-
|
|
38
|
-
const clearAll = () => {
|
|
39
|
-
setQuery('')
|
|
40
|
-
setSelectedShopper(null)
|
|
41
|
-
if (inputRef.current) inputRef.current.value = ''
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
useEffect(() => {
|
|
45
|
-
if (selectedId && !selectedShopper) {
|
|
46
|
-
const found = findShopperById(selectedId)
|
|
47
|
-
if (found) setSelectedShopper(found)
|
|
48
|
-
} else if (!selectedId) {
|
|
49
|
-
clearAll()
|
|
50
|
-
}
|
|
51
|
-
}, [selectedId, selectedShopper])
|
|
52
|
-
|
|
53
|
-
function handleSearchOnChange(value: string) {
|
|
54
|
-
setQuery(value)
|
|
55
|
-
setIsOpen(true)
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
const isSearchEmpty = useMemo(
|
|
59
|
-
() => !isLoading && query && filteredShoppers.length === 0,
|
|
60
|
-
[isLoading, query, filteredShoppers]
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
function handleSelect(shopper: Shopper) {
|
|
64
|
-
setSelectedShopper(shopper)
|
|
65
|
-
setIsOpen(false)
|
|
66
|
-
dispatch({
|
|
67
|
-
type: 'setFacet',
|
|
68
|
-
payload: {
|
|
69
|
-
facet: { key: 'purchaseAgentId', value: shopper.purchase_agent_id },
|
|
70
|
-
unique: true,
|
|
71
|
-
},
|
|
72
|
-
})
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
function handleClearTag() {
|
|
76
|
-
if (selectedShopper) {
|
|
77
|
-
// Using toggleFacet here removes the purchaseAgentId from selected facets
|
|
78
|
-
// because toggleFacet will remove the facet if it already exists in the selected facets
|
|
79
|
-
dispatch({
|
|
80
|
-
type: 'toggleFacet',
|
|
81
|
-
payload: {
|
|
82
|
-
key: 'purchaseAgentId',
|
|
83
|
-
value: selectedShopper.purchase_agent_id,
|
|
84
|
-
},
|
|
85
|
-
})
|
|
86
|
-
}
|
|
87
|
-
clearAll()
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
return (
|
|
91
|
-
<div data-fs-list-orders-filters-placed-by>
|
|
92
|
-
<div data-fs-list-orders-filters-placed-by-input>
|
|
93
|
-
<Input
|
|
94
|
-
id="placed-by-input"
|
|
95
|
-
placeholder="Enter the shopper's name..."
|
|
96
|
-
ref={inputRef}
|
|
97
|
-
value={selectedShopper ? selectedShopper.name : query}
|
|
98
|
-
readOnly={Boolean(selectedShopper)}
|
|
99
|
-
onFocus={() => {
|
|
100
|
-
if (!selectedShopper) setIsOpen(true)
|
|
101
|
-
}}
|
|
102
|
-
onChange={(e) => {
|
|
103
|
-
if (selectedShopper) return
|
|
104
|
-
handleSearchOnChange(e.target.value)
|
|
105
|
-
}}
|
|
106
|
-
onBlur={() => {
|
|
107
|
-
// delay close to allow click selection
|
|
108
|
-
setTimeout(() => {
|
|
109
|
-
setIsOpen(false)
|
|
110
|
-
if (!selectedShopper) {
|
|
111
|
-
setQuery('')
|
|
112
|
-
if (inputRef.current) inputRef.current.value = ''
|
|
113
|
-
}
|
|
114
|
-
}, 100)
|
|
115
|
-
}}
|
|
116
|
-
type="text"
|
|
117
|
-
inputMode="text"
|
|
118
|
-
/>
|
|
119
|
-
{isLoading && (
|
|
120
|
-
<div data-fs-list-orders-filters-placed-by-loader>
|
|
121
|
-
<Loader />
|
|
122
|
-
</div>
|
|
123
|
-
)}
|
|
124
|
-
{selectedShopper && (
|
|
125
|
-
<IconButton
|
|
126
|
-
size="small"
|
|
127
|
-
aria-label="Clear shopper"
|
|
128
|
-
data-fs-list-orders-filters-placed-by-clear
|
|
129
|
-
icon={<Icon name="X" />}
|
|
130
|
-
onClick={handleClearTag}
|
|
131
|
-
/>
|
|
132
|
-
)}
|
|
133
|
-
</div>
|
|
134
|
-
|
|
135
|
-
{isOpen && isSearchEmpty && (
|
|
136
|
-
<div
|
|
137
|
-
data-fs-list-orders-filters-placed-by-dropdown
|
|
138
|
-
data-fs-list-orders-filters-placed-by-empty
|
|
139
|
-
aria-label="No shoppers found with query"
|
|
140
|
-
>
|
|
141
|
-
<p>No shoppers found with "{query}"</p>
|
|
142
|
-
</div>
|
|
143
|
-
)}
|
|
144
|
-
|
|
145
|
-
{isOpen && filteredShoppers.length > 0 && (
|
|
146
|
-
<div
|
|
147
|
-
data-fs-list-orders-filters-placed-by-dropdown
|
|
148
|
-
aria-label="Shopper selection dropdown"
|
|
149
|
-
>
|
|
150
|
-
<ul>
|
|
151
|
-
{filteredShoppers.map((s) => (
|
|
152
|
-
<li key={s.purchase_agent_id}>
|
|
153
|
-
<button
|
|
154
|
-
type="button"
|
|
155
|
-
onMouseDown={(e) => e.preventDefault()}
|
|
156
|
-
onClick={() => handleSelect(s)}
|
|
157
|
-
data-fs-list-orders-filters-placed-by-option
|
|
158
|
-
>
|
|
159
|
-
<span data-fs-list-orders-filters-placed-by-option-name>
|
|
160
|
-
{s.name}
|
|
161
|
-
</span>
|
|
162
|
-
</button>
|
|
163
|
-
</li>
|
|
164
|
-
))}
|
|
165
|
-
</ul>
|
|
166
|
-
</div>
|
|
167
|
-
)}
|
|
168
|
-
</div>
|
|
169
|
-
)
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
export default MyAccountFilterFacetPlacedBy
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
[data-fs-list-orders-filters-placed-by] {
|
|
2
|
-
--fs-list-orders-filters-placed-by-dropdown-bkg : var(--fs-color-neutral-0);
|
|
3
|
-
--fs-list-orders-filters-placed-by-dropdown-border : 1px solid var(--fs-border-color-light);
|
|
4
|
-
--fs-list-orders-filters-placed-by-dropdown-radius : var(--fs-border-radius);
|
|
5
|
-
--fs-list-orders-filters-placed-by-option-padding : var(--fs-spacing-2) var(--fs-spacing-3);
|
|
6
|
-
--fs-list-orders-filters-placed-by-selected-height : var(--fs-control-height);
|
|
7
|
-
--fs-list-orders-filters-placed-by-selected-padding : 0 var(--fs-spacing-3);
|
|
8
|
-
--fs-list-orders-filters-placed-by-selected-border : var(--fs-input-border-width) solid var(--fs-input-border-color);
|
|
9
|
-
--fs-list-orders-filters-placed-by-selected-radius : var(--fs-input-border-radius);
|
|
10
|
-
--fs-list-orders-filters-placed-by-empty-text-color : var(--fs-color-text-light);
|
|
11
|
-
--fs-list-orders-filters-placed-by-loader-size : 1.25rem;
|
|
12
|
-
--fs-list-orders-filters-placed-by-dropdown-shadow : 0 2px 8px rgb(0 0 0 / 10%);
|
|
13
|
-
|
|
14
|
-
position: relative;
|
|
15
|
-
|
|
16
|
-
// Clear icon inside input when actionable
|
|
17
|
-
[data-fs-list-orders-filters-placed-by-input] {
|
|
18
|
-
position: relative;
|
|
19
|
-
|
|
20
|
-
[data-fs-input] {
|
|
21
|
-
width: 100%;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
[data-fs-icon-button] {
|
|
25
|
-
position: absolute;
|
|
26
|
-
top: 50%;
|
|
27
|
-
right: var(--fs-spacing-2);
|
|
28
|
-
transform: translateY(-50%);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
[data-fs-list-orders-filters-placed-by-loader] {
|
|
32
|
-
position: absolute;
|
|
33
|
-
top: 50%;
|
|
34
|
-
right: var(--fs-spacing-2);
|
|
35
|
-
display: flex;
|
|
36
|
-
align-items: center;
|
|
37
|
-
justify-content: center;
|
|
38
|
-
transform: translateY(-50%);
|
|
39
|
-
|
|
40
|
-
[data-fs-loader] {
|
|
41
|
-
width: var(--fs-list-orders-filters-placed-by-loader-size);
|
|
42
|
-
height: var(--fs-list-orders-filters-placed-by-loader-size);
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
[data-fs-list-orders-filters-placed-by-dropdown] {
|
|
48
|
-
position: absolute;
|
|
49
|
-
z-index: 10;
|
|
50
|
-
width: 100%;
|
|
51
|
-
margin-top: var(--fs-spacing-1);
|
|
52
|
-
background: var(--fs-list-orders-filters-placed-by-dropdown-bkg);
|
|
53
|
-
border: var(--fs-list-orders-filters-placed-by-dropdown-border);
|
|
54
|
-
border-radius: var(--fs-list-orders-filters-placed-by-dropdown-radius);
|
|
55
|
-
box-shadow: var(--fs-list-orders-filters-placed-by-dropdown-shadow);
|
|
56
|
-
|
|
57
|
-
&[data-fs-list-orders-filters-placed-by-empty] {
|
|
58
|
-
padding: var(--fs-spacing-3);
|
|
59
|
-
|
|
60
|
-
p {
|
|
61
|
-
margin: 0;
|
|
62
|
-
font-size: var(--fs-text-size-body);
|
|
63
|
-
font-style: italic;
|
|
64
|
-
color: var(--fs-list-orders-filters-placed-by-empty-text-color);
|
|
65
|
-
text-align: center;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
ul {
|
|
70
|
-
max-height: 220px;
|
|
71
|
-
padding: 0;
|
|
72
|
-
margin: 0;
|
|
73
|
-
overflow: auto;
|
|
74
|
-
list-style: none;
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
[data-fs-list-orders-filters-placed-by-option] {
|
|
78
|
-
display: flex;
|
|
79
|
-
justify-content: flex-start;
|
|
80
|
-
width: 100%;
|
|
81
|
-
padding: var(--fs-list-orders-filters-placed-by-option-padding);
|
|
82
|
-
text-align: left;
|
|
83
|
-
cursor: pointer;
|
|
84
|
-
background: transparent;
|
|
85
|
-
border: 0;
|
|
86
|
-
|
|
87
|
-
&:hover, &:focus {
|
|
88
|
-
background: var(--fs-color-neutral-bkg);
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
[data-fs-list-orders-filters-placed-by-option-name] {
|
|
92
|
-
font-weight: var(--fs-text-weight-regular);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
import { useMemo, useState, useCallback, useEffect } from 'react'
|
|
2
|
-
|
|
3
|
-
// This will be replaced with an imported type from a GraphQL schema in the future
|
|
4
|
-
export type Shopper = {
|
|
5
|
-
purchase_agent_id: string
|
|
6
|
-
name: string
|
|
7
|
-
email: string
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
// Mock data for now, will be fetched from API in the future
|
|
11
|
-
const MOCK_SHOPPERS: Shopper[] = [
|
|
12
|
-
{
|
|
13
|
-
purchase_agent_id: '1',
|
|
14
|
-
name: 'Robert Fox',
|
|
15
|
-
email: 'robert.fox@example.com',
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
purchase_agent_id: '2',
|
|
19
|
-
name: 'Ronald Wilson',
|
|
20
|
-
email: 'ronald.wilson@example.com',
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
purchase_agent_id: '3',
|
|
24
|
-
name: 'Cameron Williamson',
|
|
25
|
-
email: 'cameron.williamson@example.com',
|
|
26
|
-
},
|
|
27
|
-
{
|
|
28
|
-
purchase_agent_id: '4',
|
|
29
|
-
name: 'Brooklyn Simmons',
|
|
30
|
-
email: 'brooklyn.simmons@example.com',
|
|
31
|
-
},
|
|
32
|
-
]
|
|
33
|
-
|
|
34
|
-
interface ShopperSuggestionsData {
|
|
35
|
-
/**
|
|
36
|
-
* Array of shoppers that match the search term
|
|
37
|
-
*/
|
|
38
|
-
shoppers: Shopper[]
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
interface ShopperSuggestionsResult {
|
|
42
|
-
/**
|
|
43
|
-
* The data containing matched shoppers
|
|
44
|
-
*/
|
|
45
|
-
data: ShopperSuggestionsData | null
|
|
46
|
-
/**
|
|
47
|
-
* Error message if any
|
|
48
|
-
*/
|
|
49
|
-
error: Error | null
|
|
50
|
-
/**
|
|
51
|
-
* Whether the data is currently being loaded
|
|
52
|
-
*/
|
|
53
|
-
isLoading: boolean
|
|
54
|
-
/**
|
|
55
|
-
* Function to find a shopper by ID
|
|
56
|
-
*/
|
|
57
|
-
findShopperById: (id: string) => Shopper | undefined
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
/**
|
|
61
|
-
* Hook to search for shoppers by name or email
|
|
62
|
-
*
|
|
63
|
-
* @param searchTerm - The term to search for
|
|
64
|
-
* @param options - Additional options for the hook
|
|
65
|
-
* @returns Result object with data, loading state, and error
|
|
66
|
-
*/
|
|
67
|
-
export function useShopperSuggestions(
|
|
68
|
-
searchTerm = ''
|
|
69
|
-
): ShopperSuggestionsResult {
|
|
70
|
-
const [data, setData] = useState<ShopperSuggestionsData | null>({
|
|
71
|
-
shoppers: MOCK_SHOPPERS,
|
|
72
|
-
})
|
|
73
|
-
const [error, setError] = useState<Error | null>(null)
|
|
74
|
-
const [isLoading, setIsLoading] = useState(false)
|
|
75
|
-
|
|
76
|
-
// Function to search for shoppers
|
|
77
|
-
const searchShoppers = useCallback(
|
|
78
|
-
async (term: string) => {
|
|
79
|
-
// Don't search if term is empty or null
|
|
80
|
-
if (!term?.trim()) {
|
|
81
|
-
setData({ shoppers: MOCK_SHOPPERS })
|
|
82
|
-
setIsLoading(false)
|
|
83
|
-
return
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
setIsLoading(true)
|
|
87
|
-
setError(null)
|
|
88
|
-
|
|
89
|
-
try {
|
|
90
|
-
// Simulate API call with timeout
|
|
91
|
-
const results = await new Promise<Shopper[]>((resolve) => {
|
|
92
|
-
setTimeout(() => {
|
|
93
|
-
// Filter logic to simulate server-side filtering
|
|
94
|
-
const q = term.trim().toLowerCase()
|
|
95
|
-
const filtered = MOCK_SHOPPERS.filter(
|
|
96
|
-
(shopper) =>
|
|
97
|
-
shopper.name.toLowerCase().includes(q) ||
|
|
98
|
-
shopper.email.toLowerCase().includes(q)
|
|
99
|
-
)
|
|
100
|
-
resolve(filtered)
|
|
101
|
-
}, 300) // Simulate network delay
|
|
102
|
-
})
|
|
103
|
-
|
|
104
|
-
setData({ shoppers: results })
|
|
105
|
-
} catch (err) {
|
|
106
|
-
setError(
|
|
107
|
-
err instanceof Error
|
|
108
|
-
? err
|
|
109
|
-
: new Error('Failed to search for shoppers')
|
|
110
|
-
)
|
|
111
|
-
setData({ shoppers: [] })
|
|
112
|
-
} finally {
|
|
113
|
-
setIsLoading(false)
|
|
114
|
-
}
|
|
115
|
-
},
|
|
116
|
-
[] // No dependencies needed for this mock implementation
|
|
117
|
-
)
|
|
118
|
-
|
|
119
|
-
// Setup debouncing for the search term
|
|
120
|
-
useEffect(() => {
|
|
121
|
-
// Don't run search if term is empty and we already have null data
|
|
122
|
-
if (!searchTerm && data === null) return
|
|
123
|
-
|
|
124
|
-
const handler = setTimeout(() => {
|
|
125
|
-
searchShoppers(searchTerm)
|
|
126
|
-
}, 300)
|
|
127
|
-
|
|
128
|
-
return () => {
|
|
129
|
-
clearTimeout(handler)
|
|
130
|
-
}
|
|
131
|
-
}, [searchTerm])
|
|
132
|
-
|
|
133
|
-
// Helper function to find a shopper by ID
|
|
134
|
-
// We use useMemo instead of useCallback to ensure this function has a stable reference
|
|
135
|
-
// and doesn't cause infinite loops in dependencies of other hooks
|
|
136
|
-
const findShopperById = useMemo(() => {
|
|
137
|
-
// Return a stable function that won't change between renders
|
|
138
|
-
return (id: string): Shopper | undefined => {
|
|
139
|
-
return data?.shoppers.find((s) => s.purchase_agent_id === id)
|
|
140
|
-
}
|
|
141
|
-
}, [])
|
|
142
|
-
|
|
143
|
-
return {
|
|
144
|
-
data,
|
|
145
|
-
error,
|
|
146
|
-
isLoading,
|
|
147
|
-
findShopperById,
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
export default useShopperSuggestions
|
|
File without changes
|