@unchainedshop/admin-ui 4.0.31 → 4.0.32
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/dist/defaultSystemPrompt.d.ts +1 -1
- package/dist/defaultSystemPrompt.js +1 -1
- package/dist/express.js +1 -1
- package/dist/fastify.js +1 -1
- package/out/403/index.html +2 -2
- package/out/404/index.html +2 -2
- package/out/404.html +2 -2
- package/out/423/index.html +2 -2
- package/out/500/index.html +2 -2
- package/out/_next/static/chunks/{1027-0aecddfd822150dc.js → 1027-15432f2a8aefcf98.js} +1 -1
- package/out/_next/static/chunks/{1344-a9e1bd63bf1ef726.js → 1344-41d1ab44a7c0b644.js} +1 -1
- package/out/_next/static/chunks/{1513-5d3353ed8cb58439.js → 1513-e2f5c44e59609425.js} +1 -1
- package/out/_next/static/chunks/2058-fafa2822a2d12371.js +1 -0
- package/out/_next/static/chunks/{213-abe90d69ca4c2b6c.js → 213-a61962c1dbf5c776.js} +1 -1
- package/out/_next/static/chunks/{2531-ce7c927e502b8283.js → 2531-ecc7d08471423f5c.js} +1 -1
- package/out/_next/static/chunks/{2749-48bc44d301b927ed.js → 2749-ad2529f4bfe5eb4c.js} +1 -1
- package/out/_next/static/chunks/{2923-cc9c0ffbc82099cf.js → 2923-62198d062f0afbd7.js} +1 -1
- package/out/_next/static/chunks/{3300-d5dd7b49cc30b137.js → 3300-341e4bab78e4c9f4.js} +1 -1
- package/out/_next/static/chunks/{3425-49a2268037047df5.js → 3425-dc66922b557a413a.js} +1 -1
- package/out/_next/static/chunks/{3766-0c06230fc9f8f1cf.js → 3766-2bf98127a6a8ab21.js} +1 -1
- package/out/_next/static/chunks/{3767-4f363fca8460c5b7.js → 3767-831c3cebeacddbbc.js} +1 -1
- package/out/_next/static/chunks/{4497-28110836542a7c61.js → 4497-9cc5436a013736f2.js} +1 -1
- package/out/_next/static/chunks/{4902-c04e32304e55d089.js → 4902-a06b8da74695ee45.js} +1 -1
- package/out/_next/static/chunks/{4981-22b77be79c3eb0c1.js → 4981-acbf8df5077199e1.js} +1 -1
- package/out/_next/static/chunks/548-74e97ef785714883.js +1 -0
- package/out/_next/static/chunks/{574-5b3d0d57df41d3fe.js → 574-6553a9cf03372c77.js} +1 -1
- package/out/_next/static/chunks/{5779-a8cce180fe59abef.js → 5779-e3e38e77082c2111.js} +1 -1
- package/out/_next/static/chunks/{6328-9a61e9830251a5c1.js → 6328-a027f936b63d5e8f.js} +1 -1
- package/out/_next/static/chunks/6534-c219c2f970051d7d.js +1 -0
- package/out/_next/static/chunks/{7496-ab3111b00147ca72.js → 7496-2dcf0668c03734c1.js} +1 -1
- package/out/_next/static/chunks/{7688-bf72194f37214b3f.js → 7688-c47a37b42f1b98c0.js} +1 -1
- package/out/_next/static/chunks/8173-780e93488036de61.js +1 -0
- package/out/_next/static/chunks/8339-be1a2d210d0c0334.js +1 -0
- package/out/_next/static/chunks/8378-b4caba6d684d3c68.js +1 -0
- package/out/_next/static/chunks/8784-36bff7f677a9c43f.js +1 -0
- package/out/_next/static/chunks/{8963-ab2110924b753f08.js → 8963-26777cb78bb83b5a.js} +1 -1
- package/out/_next/static/chunks/{9760-47f718b025e7aa39.js → 9760-af281fa370f413f8.js} +1 -1
- package/out/_next/static/chunks/9869-9322383608dc8e4d.js +1 -0
- package/out/_next/static/chunks/{main-05a4a3e54264b2f9.js → main-292286a778fb9ddd.js} +1 -1
- package/out/_next/static/chunks/pages/_app-c412c8d01885c5c2.js +41 -0
- package/out/_next/static/chunks/pages/account/{forgot-password-8eaf0dfebb5de3ee.js → forgot-password-7f379c5c4a7acb56.js} +1 -1
- package/out/_next/static/chunks/pages/{account-1c6df9bdfa57d889.js → account-c0d5487f0ec64a55.js} +1 -1
- package/out/_next/static/chunks/pages/assortments/{new-0941aff4b84b84c8.js → new-220576c1d6e4ae0d.js} +1 -1
- package/out/_next/static/chunks/pages/{assortments-8138961c3cc557f3.js → assortments-f8924886c8abc215.js} +1 -1
- package/out/_next/static/chunks/pages/copilot-d07fa98845e58075.js +1 -0
- package/out/_next/static/chunks/pages/country/{CountryDetailPage-105b1e8cd912f879.js → CountryDetailPage-a6a9b68a555cc557.js} +1 -1
- package/out/_next/static/chunks/pages/{country-478ab75733c72b7f.js → country-797fac60a73d1e79.js} +1 -1
- package/out/_next/static/chunks/pages/currency/{CurrencyDetailPage-7b0683fc17ef1a0b.js → CurrencyDetailPage-ea5890841ee668a6.js} +1 -1
- package/out/_next/static/chunks/pages/{currency-3f0af9685000a0ed.js → currency-15830bb06754a30b.js} +1 -1
- package/out/_next/static/chunks/pages/delivery-provider/{DeliveryProviderDetailPage-bc404158448dde1b.js → DeliveryProviderDetailPage-06cd26c808a45373.js} +1 -1
- package/out/_next/static/chunks/pages/delivery-provider/{new-e7e6b9ed00feae78.js → new-d7c1e0f34632a262.js} +1 -1
- package/out/_next/static/chunks/pages/{delivery-provider-5bcae0dfdb1a05b9.js → delivery-provider-cc977ece7648b58d.js} +1 -1
- package/out/_next/static/chunks/pages/{enrollments-7634dba3569c98b8.js → enrollments-eecae8c24df8707f.js} +1 -1
- package/out/_next/static/chunks/pages/events-31a7a601aa215cc0.js +1 -0
- package/out/_next/static/chunks/pages/filters/{new-5313686af3fa12eb.js → new-c53a22144e779e6c.js} +1 -1
- package/out/_next/static/chunks/pages/{filters-3a7167c58e66f68e.js → filters-732ede9a641959e3.js} +1 -1
- package/out/_next/static/chunks/pages/{index-0fe5a8fb82faf881.js → index-c75248873fca9146.js} +1 -1
- package/out/_next/static/chunks/pages/language/{LanguageDetailPage-31e26ddcabc4e459.js → LanguageDetailPage-acb2c648d20bbfbc.js} +1 -1
- package/out/_next/static/chunks/pages/{language-788785efc0d00aed.js → language-47333383e10ef360.js} +1 -1
- package/out/_next/static/chunks/pages/{log-in-5bb81b5beb6358b0.js → log-in-0d9181d4b2df5330.js} +1 -1
- package/out/_next/static/chunks/pages/{orders-518370db75cf59c9.js → orders-a6dfb8a603a10b29.js} +1 -1
- package/out/_next/static/chunks/pages/payment-provider/{PaymentProviderDetailPage-5bd972952b6a7ade.js → PaymentProviderDetailPage-ef8d149c4ae111b4.js} +1 -1
- package/out/_next/static/chunks/pages/payment-provider/{new-c317f5720632c02a.js → new-f2cd26a57554e8b7.js} +1 -1
- package/out/_next/static/chunks/pages/{payment-provider-d8e558e3ffa812c9.js → payment-provider-77f852a42f39657e.js} +1 -1
- package/out/_next/static/chunks/pages/products/{new-e17881946a44fd6a.js → new-c6e9883e211d1624.js} +1 -1
- package/out/_next/static/chunks/pages/{products-d462ba6a8f36caf0.js → products-3a5b0064e5bdb5fc.js} +1 -1
- package/out/_next/static/chunks/pages/{quotations-c3bd9a8111962d0f.js → quotations-5b6c6b05ad6bbac0.js} +1 -1
- package/out/_next/static/chunks/pages/{reset-password-4907b9fd45487fad.js → reset-password-eed505d6a0e2b60c.js} +1 -1
- package/out/_next/static/chunks/pages/{tokens-90a536732f7fb92c.js → tokens-8edeacb034a8a8e5.js} +1 -1
- package/out/_next/static/chunks/pages/users/{UserDetailPage-00f9b6c0c9c2797a.js → UserDetailPage-36d0d04b5212aac5.js} +1 -1
- package/out/_next/static/chunks/pages/users/{new-831ef6c7d9930cb2.js → new-d5b42c8f74133487.js} +1 -1
- package/out/_next/static/chunks/pages/{users-b120b164b99d2eee.js → users-068035e7aa1de68a.js} +1 -1
- package/out/_next/static/chunks/pages/{verify-email-9c1ec8bc36a8b743.js → verify-email-2461565da4ae3953.js} +1 -1
- package/out/_next/static/chunks/pages/warehousing-provider/{WarehousingProviderDetailPage-d9bbe7cf87d9304d.js → WarehousingProviderDetailPage-8524fd29ac9340ce.js} +1 -1
- package/out/_next/static/chunks/pages/warehousing-provider/{new-64d8def00ba52ce3.js → new-95eb5df2e8467d7a.js} +1 -1
- package/out/_next/static/chunks/pages/{warehousing-provider-f578a1d2a5a614d8.js → warehousing-provider-0b8a12ff7ef354a4.js} +1 -1
- package/out/_next/static/chunks/pages/works/{management-4eada722bd384820.js → management-094fb14eb9f98333.js} +1 -1
- package/out/_next/static/chunks/pages/{works-6d5da89e100cb63e.js → works-64219c7e68fb724a.js} +1 -1
- package/out/_next/static/css/c040c6b3325bf704.css +1 -0
- package/out/_next/static/piNR22oQ1hsQ6PBMehzcM/_buildManifest.js +1 -0
- package/out/_offline/index.html +2 -2
- package/out/account/forgot-password/index.html +2 -2
- package/out/account/index.html +2 -2
- package/out/assortments/AssortmentDetailPage/index.html +2 -2
- package/out/assortments/index.html +2 -2
- package/out/assortments/new/index.html +2 -2
- package/out/copilot/index.html +2 -2
- package/out/country/CountryDetailPage/index.html +2 -2
- package/out/country/index.html +2 -2
- package/out/country/new/index.html +2 -2
- package/out/currency/CurrencyDetailPage/index.html +2 -2
- package/out/currency/index.html +2 -2
- package/out/currency/new/index.html +2 -2
- package/out/delivery-provider/DeliveryProviderDetailPage/index.html +2 -2
- package/out/delivery-provider/index.html +2 -2
- package/out/delivery-provider/new/index.html +2 -2
- package/out/enrollments/EnrollmentDetailPage/index.html +2 -2
- package/out/enrollments/index.html +2 -2
- package/out/events/EventDetailPage/index.html +2 -2
- package/out/events/index.html +2 -2
- package/out/external/index.html +2 -2
- package/out/filters/FilterDetailPage/index.html +2 -2
- package/out/filters/index.html +2 -2
- package/out/filters/new/index.html +2 -2
- package/out/index.html +2 -2
- package/out/install/index.html +2 -2
- package/out/language/LanguageDetailPage/index.html +2 -2
- package/out/language/index.html +2 -2
- package/out/language/new/index.html +2 -2
- package/out/log-in/index.html +2 -2
- package/out/orders/OrderDetailPage/index.html +2 -2
- package/out/orders/index.html +2 -2
- package/out/payment-provider/PaymentProviderDetailPage/index.html +2 -2
- package/out/payment-provider/index.html +2 -2
- package/out/payment-provider/new/index.html +2 -2
- package/out/products/ProductDetailPage/index.html +2 -2
- package/out/products/index.html +2 -2
- package/out/products/new/index.html +2 -2
- package/out/quotations/QuotationDetailPage/index.html +2 -2
- package/out/quotations/index.html +2 -2
- package/out/reset-password/index.html +2 -2
- package/out/sign-up/index.html +2 -2
- package/out/styleguide/index.html +2 -2
- package/out/tokens/TokenDetailPage/index.html +2 -2
- package/out/tokens/index.html +2 -2
- package/out/users/UserDetailPage/index.html +2 -2
- package/out/users/index.html +2 -2
- package/out/users/new/index.html +2 -2
- package/out/verify-email/index.html +2 -2
- package/out/warehousing-provider/WarehousingProviderDetailPage/index.html +2 -2
- package/out/warehousing-provider/index.html +2 -2
- package/out/warehousing-provider/new/index.html +2 -2
- package/out/works/WorkDetailPage/index.html +2 -2
- package/out/works/index.html +2 -2
- package/out/works/management/index.html +2 -2
- package/package.json +19 -19
- package/dist/types.d.ts +0 -6
- package/dist/types.js +0 -2
- package/out/_next/static/chunks/2058-05a1c88ebbe1fbd9.js +0 -1
- package/out/_next/static/chunks/548-f9f6d4ff7c399a71.js +0 -1
- package/out/_next/static/chunks/6534-e7b890c93a38a021.js +0 -1
- package/out/_next/static/chunks/8173-9ab4b781701d7c68.js +0 -1
- package/out/_next/static/chunks/8339-2b704d3c19c7e29b.js +0 -1
- package/out/_next/static/chunks/8378-89bc880b24fcb269.js +0 -1
- package/out/_next/static/chunks/9364-b0ab66116510a9a7.js +0 -1
- package/out/_next/static/chunks/9869-142a5975ed8c2796.js +0 -1
- package/out/_next/static/chunks/pages/_app-4b9b3b0d8ce56e68.js +0 -41
- package/out/_next/static/chunks/pages/copilot-3d0b4fe431729173.js +0 -1
- package/out/_next/static/chunks/pages/events-a810327f3824ebe8.js +0 -1
- package/out/_next/static/css/0f081a02c1637e84.css +0 -1
- package/out/_next/static/vzNmARGS82MjH1pSO6tx8/_buildManifest.js +0 -1
- /package/out/_next/static/{vzNmARGS82MjH1pSO6tx8 → piNR22oQ1hsQ6PBMehzcM}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[213],{11542:(e,t,n)=>{n.d(t,{A:()=>l});var a=n(96427);function s(){let e=(0,a._)(["\n fragment ProductTextsFragment on ProductTexts {\n _id\n locale\n slug\n title\n subtitle\n description\n vendor\n brand\n labels\n }\n"]);return s=function(){return e},e}let l=(0,n(79350).J1)(s())},15421:(e,t,n)=>{n.d(t,{A:()=>a});let a=(e,t,n)=>Object.assign({},...(null==e?void 0:e.map(e=>({[e[n]]:e[t]})))||[])},20213:(e,t,n)=>{n.r(t),n.d(t,{default:()=>n7});var a=n(37876),s=n(77742),l=n(89848),r=n(48010),i=n(47340),d=n(36050),o=n(13204),u=n(57142),c=n(82214),m=n(90448),p=n(29966),x=n(21659),f=n(40792),g=n(66492),h=n(52282),v=n(85028),b=n(33404),j=n(99456),y=n(12259),w=n(14232),_=n(48627),N=n(30893),k=n(82579),I=n(15421),A=n(72836),P=n(50898),M=n(15039),C=n.n(M),$=n(23477);let S=e=>{let{disabled:t,labelClassName:n,containerClassName:s,inputClassName:l,...r}=e,i=(0,$.A)({...e,type:"checkbox"});return(0,a.jsxs)("div",{className:C()("",{"text-rose-600":!!i.error,checkbox:!0,disabled:i.disabled,required:i.required},s),children:[(0,a.jsx)("input",{checked:!!i.value,disabled:t,id:i.name,name:i.name,onChange:i.onChange,onBlur:i.onBlur,type:"checkbox",className:C()("h-4 w-4 rounded-xs border-slate-300 dark:border-slate-600 bg-white dark:!bg-slate-800 text-indigo-600 dark:text-slate-200 focus:ring-slate-800",l,e.className),...r}),(0,a.jsx)("label",{htmlFor:i.name,className:C()("text-sm text-slate-900 dark:text-slate-200",n,{"text-danger":!!i.error}),children:i.label})]})};var T=n(32202),V=n(30124),D=n(7604),R=n(1384),q=n(83023),E=n(17872),F=n(91590),J=n(98905),L=n(96427),O=n(79350),U=n(88296);function B(){let e=(0,L._)(["\n fragment ProductCatalogPriceFragment on ProductCatalogPrice {\n isTaxable\n isNetPrice\n country {\n _id\n isoCode\n name\n flagEmoji\n }\n currency {\n _id\n isoCode\n isActive\n }\n amount\n maxQuantity\n }\n"]);return B=function(){return e},e}let Q=(0,O.J1)(B());function z(){let e=(0,L._)(["\n query ProductCatalogPrices($productId: ID!) {\n productCatalogPrices(productId: $productId) {\n ...ProductCatalogPriceFragment\n }\n }\n ","\n"]);return z=function(){return e},e}let W=(0,O.J1)(z(),Q);var K=n(53588),G=n(98103);function H(){let e=(0,L._)(["\n mutation UpdateProductCommerce(\n $productId: ID!\n $commerce: UpdateProductCommerceInput!\n ) {\n updateProductCommerce(productId: $productId, commerce: $commerce) {\n ...ProductDetailFragment\n }\n }\n ","\n"]);return H=function(){return e},e}let X=(0,O.J1)(H(),G.A),Y=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t.length?e.map(e=>{let n=t.find(t=>{let{isoCode:n}=t;return n.toLowerCase()===e.currency.isoCode.toLowerCase()});return{countryCode:e.country.isoCode,currencyCode:e.currency.isoCode,isTaxable:!!e.isTaxable,isNetPrice:!!e.isNetPrice,amount:((e,t)=>{if(t<0)return"0";if(0===t)return e.toString();let n=e.toString();if("0"===n)return"0."+"0".repeat(t);let a=n.startsWith("-"),s=a?n.slice(1):n;if(s.length<=t){let e=s.padStart(t,"0");return"".concat(a?"-":"","0.").concat(e)}let l=s.length-t,r=s.slice(0,l),i=s.slice(l);return"".concat(a?"-":"").concat(r,".").concat(i)})(e.amount,null==n?void 0:n.decimals),maxQuantity:e.maxQuantity}}):[]},Z=e=>{var t;let{productId:n,disabled:l=!1}=e,{formatMessage:r}=(0,s.A)(),{catalogPrices:i}=(e=>{let{productId:t}=e,{data:n,loading:a,error:s}=(0,U.I)(W,{skip:!t,variables:{productId:t}});return{catalogPrices:(null==n?void 0:n.productCatalogPrices)||[],loading:a,error:s}})({productId:n}),{hasRole:d}=(0,N.A)(),{updateProductCommerce:o}=(()=>{let[e]=(0,K.n)(X),{currencies:t}=(0,P.A)();return{updateProductCommerce:async n=>{let{productId:a,commerce:{pricing:s}}=n;return e({variables:{productId:a,commerce:{pricing:s.map(e=>{let n=t.find(t=>{let{isoCode:n}=t;return n===e.currencyCode}),a=((e,t)=>{if(!e||t<0)return 0;let n=e.trim();if(!/^-?\d*\.?\d*$/.test(n))return 0;let a=n.indexOf(".");if(-1===a)return Number(n)*10**t;let s=n.slice(0,a)||"0";return Number(s+n.slice(a+1).slice(0,t).padEnd(t,"0"))})(e.amount.toString(),n.decimals);return{...e,amount:a}})}},refetchQueries:["Products"]})}}})(),{countries:u}=(0,A.A)(),{currencies:c}=(0,P.A)(),m=null==u?void 0:u.find(e=>{let{isBase:t}=e;return t}),p=null==m?void 0:m.isoCode,x=null==m||null==(t=m.defaultCurrency)?void 0:t.isoCode,f=async e=>{let{pricing:t}=e;return await o({productId:n,commerce:{pricing:t}}),{success:!0}},g=r({id:"saved",defaultMessage:"Saved"}),h=Y(i,c),v=(0,F.A)({disabled:l,submit:f,successMessage:g,enableReinitialize:!0,initialValues:{pricing:[...(null==h?void 0:h.length)?h:[{maxQuantity:"",amount:null,isTaxable:!1,isNetPrice:!1,currencyCode:x,countryCode:p}]]}}),{values:b}=v.formik,{pricing:j}=b;return(0,a.jsx)("div",{children:(0,a.jsxs)("div",{className:"mt-5 md:col-span-3 lg:mt-0",children:[(0,a.jsx)(k.A,{children:(0,a.jsxs)(T.A,{className:"mt-3 rounded-md",form:v,children:[(0,a.jsxs)("div",{className:"relative max-w-full p-3 sm:px-5",children:[(0,a.jsx)("div",{className:"max-w-full justify-between align-baseline"}),(0,a.jsxs)("label",{className:"sr-only flex w-full font-sans text-sm text-slate-500 dark:text-slate-200 lg:not-sr-only",children:[(0,a.jsxs)("span",{className:"flex w-full",children:[(0,a.jsx)("span",{className:"w-full",children:r({id:"max_quantity",defaultMessage:"Max Quantity"})}),(0,a.jsx)("span",{className:"w-full lg:ml-5",children:r({id:"price",defaultMessage:"Price"})})]}),(0,a.jsxs)("span",{className:"flex w-full",children:[(0,a.jsx)("span",{className:"w-full lg:ml-8",children:r({id:"vat_suspect",defaultMessage:"Vat Suspect"})}),(0,a.jsx)("span",{className:"w-full lg:ml-12",children:r({id:"net_price",defaultMessage:"Net Price"})})]}),(0,a.jsxs)("span",{className:"mr-5 flex w-full",children:[(0,a.jsx)("span",{className:"ml-10 w-full",children:r({id:"country",defaultMessage:"Country"})}),(0,a.jsx)("span",{className:"w-full",children:r({id:"currency",defaultMessage:"Currency"})})]})]}),(0,a.jsx)(_.ED,{name:"pricing",children:e=>{let{push:t,remove:n}=e;return(0,a.jsxs)("div",{children:[b.pricing.map((e,t)=>(0,a.jsxs)("div",{className:"relative max-w-full border-b dark:border-slate-700 pt-1 pb-5 mb-3 align-baseline lg:flex",children:[(0,a.jsxs)("div",{className:"flex w-full gap-x-2",children:[(0,a.jsx)(q.A,{className:"w-full",validators:[(0,J.lw)(t,j),(0,J.IE)(j)],name:"pricing[".concat(t,"].maxQuantity"),id:"pricing[".concat(t,"].maxQuantity"),type:"number",min:0,hideLabel:!0,label:r({id:"max_quantity",defaultMessage:"Max Quantity"})}),(0,a.jsx)(q.A,{type:"number",className:"w-full",name:"pricing[".concat(t,"].amount"),id:"pricing[".concat(t,"].amount"),required:!0,hideLabel:!0,label:r({id:"price",defaultMessage:"Price "})})]}),(0,a.jsxs)("div",{className:"flex w-full gap-x-2 pt-3 pb-2",children:[(0,a.jsx)("div",{className:"w-full lg:ml-8 lg:items-center",children:(0,a.jsx)(S,{name:"pricing[".concat(t,"].isTaxable"),labelClassName:"lg:sr-only items-center ",label:r({id:"vat_suspect",defaultMessage:"Vat Suspect"}),className:"mr-2 h-4 w-4 rounded-sm border-slate-300 dark:border-slate-600 bg-white dark:!bg-slate-900 text-slate-950 focus:ring-slate-800 lg:items-center",type:"checkbox"})}),(0,a.jsx)("div",{className:"w-full lg:ml-8",children:(0,a.jsx)(S,{name:"pricing[".concat(t,"].isNetPrice"),labelClassName:"lg:sr-only items-center",label:r({id:"net_price",defaultMessage:"Net Price"}),hideLabel:!0,className:"mr-2 h-4 w-4 justify-between rounded-sm border-slate-300 dark:border-slate-600 bg-white dark:!bg-slate-900 text-slate-950 focus:ring-slate-800 lg:items-center",type:"checkbox"})})]}),(0,a.jsxs)("div",{className:"flex w-full gap-x-2 mt-1",children:[(0,a.jsx)(D.A,{defaultValue:p,className:"w-full lg:ml-4 lg:mr-4",label:r({id:"country",defaultMessage:"Country"}),name:"pricing[".concat(t,"].countryCode"),id:"pricing[".concat(t,"].countryCode"),required:!0,options:(0,I.A)(u,"isoCode","isoCode"),hideLabel:!0}),(0,a.jsx)(D.A,{defaultValue:x,className:"w-full lg:mr-8 ",label:r({id:"currency",defaultMessage:"Currency"}),name:"pricing[".concat(t,"].currencyCode"),id:"pricing[".concat(t,"].currencyCode"),required:!0,options:(0,I.A)(c,"isoCode","isoCode"),hideLabel:!0,placeholder:r({id:"country_currency",defaultMessage:"Currency"})})]}),(0,a.jsx)("div",{className:"absolute -top-2 right-0 mt-0 mr-0 shrink-0 pb-1 md:mr-0 lg:mt-6 lg:py-0 lg:px-0 ",children:(0,a.jsx)("button",{className:"items-center rounded-full bg-white dark:bg-slate-900 px-1 py-1 text-sm text-rose-500 dark:text-rose-400 hover:bg-rose-50 focus:outline-hidden focus:ring-0 focus:ring-rose-500 focus:ring-offset-2",type:"button",onClick:()=>n(t),children:(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,a.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),(0,a.jsx)("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),(0,a.jsx)("line",{x1:"14",y1:"11",x2:"14",y2:"17"})]})})})]},t)),(0,a.jsx)("div",{className:"mt-6",children:(0,a.jsx)(E.A,{variant:"tertiary",text:r({id:"add_price_row",defaultMessage:"Add Price Row"}),className:"w-full items-center justify-center",onClick:()=>t({maxQuantity:"",amount:null,isTaxable:!1,isNetPrice:!1,currencyCode:x,countryCode:p})})})]})}})]}),(0,a.jsx)(V.A,{displayFieldErrors:!0}),(0,a.jsx)("div",{className:"-mx-6 p-6 bg-slate-50 dark:bg-slate-900 text-right",children:(0,a.jsx)(R.A,{className:"mx-6",hidden:!d("editProductCommerce"),label:r({id:"save",defaultMessage:"Save"})})})]})}),(0,a.jsx)("p",{className:"mt-6 mb-10 text-sm text-slate-500 dark:text-slate-400",children:r({id:"product_commerce_info",defaultMessage:"One price list should have a max quantity field empty and no price should have the same max quantity along with currency and country specified"})})]})})};var ee=n(8733),et=n(35937),en=n(11542);function ea(){let e=(0,L._)(["\n query TranslatedProductTexts($productId: ID!) {\n translatedProductTexts(productId: $productId) {\n ...ProductTextsFragment\n ","\n }\n }\n ","\n"]);return ea=function(){return e},e}let es=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,O.J1)(ea(),e,en.A)};var el=n(39799),er=n(37364),ei=n(44655),ed=n(64640),eo=n(48676),eu=n(32982);let ec=e=>{let{productId:t,disabled:n=!1}=e,{selectedLocale:l}=(0,eu.A)(),{formatMessage:r}=(0,s.A)(),{hasRole:i}=(0,N.A)(),{translatedTexts:d}=(e=>{let{productId:t}=e,{customProperties:n}=(0,et.A)(),{data:a,loading:s,error:l}=(0,U.I)(es(null==n?void 0:n.ProductTexts),{skip:!t,variables:{productId:t}});return{translatedTexts:(null==a?void 0:a.translatedProductTexts)||[],loading:s,error:l}})({productId:t}),o=r({id:"saved",defaultMessage:"Saved"}),{updateProductTexts:u}=(0,el.A)(),c=async e=>{let{slug:n,title:a,subtitle:s,vendor:r,description:i,brand:d,labels:o}=e;return await u({productId:t,texts:[{locale:l,slug:n,title:a,subtitle:s,vendor:r,description:i,brand:d,labels:o}]}),{success:!0}},m=(0,F.A)({disabled:n,submit:c,successMessage:o,initialValues:{slug:"",title:"",subtitle:"",vendor:"",description:"",brand:"",labels:[]}});return(0,w.useEffect)(()=>{let e=null==d?void 0:d.find(e=>e.locale===l);m.formik.setValues({slug:"",title:"",subtitle:"",vendor:"",description:"",brand:"",labels:[],...e||{}})},[d,l]),(0,a.jsx)(er.A,{documentationLabel:r({id:"texts",defaultMessage:"Texts"}),className:"mt-2 lg:mt-5",documentation:(0,a.jsx)(ee.A,{id:"product_text_form_description",defaultMessage:"<ul> <li><strong>Slug:</strong> The unique part of your product URL (e.g., 'my-awesome-product'). Keep it short and descriptive.</li> <li><strong>Localization:</strong> Switch languages using the dropdown at the top left to translate content for different markets.</li> <li><strong>Description:</strong> Supports Markdown and HTML formatting. Use double backslash (\\\\\\\\) for line breaks.</li> <li><strong>Labels:</strong> Eye-catching badges that appear on your product (e.g., 'New Arrival', '50% Off', 'Limited Edition'). Perfect for promotions and highlighting special features. Each language can have unique labels.</li> <li><strong>Key Difference:</strong> Labels are customer-facing promotional badges, while Tags are internal keywords for organization and filtering.</li> </ul>",values:{ul:e=>(0,a.jsxs)("ul",{className:"space-y-2",children:[e," "]}),li:e=>(0,a.jsxs)("li",{className:"text-sm",children:[e," "]},Math.random()),strong:e=>(0,a.jsx)("strong",{className:"font-semibold text-slate-800 dark:text-slate-200",children:e})}}),children:(0,a.jsx)(k.A,{children:(0,a.jsxs)(T.A,{form:m,children:[(0,a.jsxs)("div",{className:"relative text-slate-500 dark:text-slate-200 px-4 py-5 sm:p-6",children:[(0,a.jsxs)("div",{className:"grid grid-cols-6 gap-6",children:[(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{name:"slug",required:!0,id:"slug",label:r({id:"slug",defaultMessage:"Slug"}),autoComplete:"on",className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{name:"title",required:!0,id:"title",label:r({id:"title",defaultMessage:"Title"}),autoComplete:"on",className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{name:"subtitle",id:"subtitle",label:r({id:"subtitle",defaultMessage:"Subtitle"}),autoComplete:"on",className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{name:"vendor",id:"vendor",label:r({id:"vendor",defaultMessage:"Vendor"}),autoComplete:"on",className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{name:"brand",id:"brand",label:r({id:"brand",defaultMessage:"Brand"}),autoComplete:"on",className:"text-sm"})}),(0,a.jsxs)("div",{className:"col-span-6 sm:col-span-3",children:[(0,a.jsx)(ed.A,{name:"labels",id:"labels",label:r({id:"labels",defaultMessage:"Labels"}),placeholder:r({id:"label",defaultMessage:"Label"}),buttonText:r({id:"add",defaultMessage:"Add"}),autoComplete:"on",className:"text-sm"}),(0,a.jsx)(eo.A,{messageKey:"product_labels_help",defaultMessage:"Add promotional badges like 'New Arrival', '50% Off', or 'Limited Edition' that customers will see on your product. Perfect for highlighting deals and special features.",className:"mt-3"})]})]}),(0,a.jsx)("div",{className:"col-span-6 mt-6 sm:col-span-3",children:(0,a.jsx)(ei.A,{name:"description",id:"description",label:r({id:"description",defaultMessage:"Description"})})})]}),(0,a.jsx)("div",{className:"border-t-slate-100 border-t dark:border-t-slate-700 bg-slate-50 dark:bg-slate-900 px-4 py-5 text-right sm:px-6",children:(0,a.jsx)(R.A,{hidden:!i("editProductTexts"),label:r({id:"save",defaultMessage:"Save"})})})]})})})};var em=n(14664),ep=n(54287),ex=n(4354),ef=n(9964),eg=n(73930),eh=n(31772),ev=n(70806);function eb(){let e=(0,L._)(["\n mutation PrepareProductMediaUpload($mediaName: String!, $productId: ID!) {\n prepareProductMediaUpload(mediaName: $mediaName, productId: $productId) {\n _id\n putURL\n expires\n }\n }\n"]);return eb=function(){return e},e}let ej=(0,O.J1)(eb());var ey=n(11979);function ew(){let e=(0,L._)(["\n fragment ProductMediaFragment on ProductMedia {\n _id\n tags\n file {\n _id\n name\n type\n size\n url\n }\n sortKey\n texts {\n _id\n locale\n title\n subtitle\n }\n }\n"]);return ew=function(){return e},e}let e_=(0,O.J1)(ew());function eN(){let e=(0,L._)(["\n query ProductMedia($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n media {\n ...ProductMediaFragment\n }\n }\n }\n ","\n"]);return eN=function(){return e},e}let ek=(0,O.J1)(eN(),e_),eI=function(){var e;let{productId:t=null,slug:n=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=(0,ey.id)(n),{data:s,loading:l,error:r}=(0,U.I)(ek,{skip:!t&&!a,variables:{productId:t||a}});return{productMedia:(null==s||null==(e=s.product)?void 0:e.media)||[],loading:l,error:r}};function eA(){let e=(0,L._)(["\n mutation RemoveProductMedia($productMediaId: ID!) {\n removeProductMedia(productMediaId: $productMediaId) {\n _id\n }\n }\n"]);return eA=function(){return e},e}let eP=(0,O.J1)(eA());var eM=n(85717),eC=n(68406);function e$(){let e=(0,L._)(["\n fragment ProductMediaTextsFragment on ProductMediaTexts {\n _id\n locale\n title\n subtitle\n }\n"]);return e$=function(){return e},e}let eS=(0,O.J1)(e$());function eT(){let e=(0,L._)(["\n query TranslatedProductMediaTexts($productMediaId: ID!) {\n translatedProductMediaTexts(productMediaId: $productMediaId) {\n ...ProductMediaTextsFragment\n }\n }\n ","\n"]);return eT=function(){return e},e}let eV=(0,O.J1)(eT(),eS);function eD(){let e=(0,L._)(["\n mutation UpdateProductMediaTexts(\n $productMediaId: ID!\n $texts: [ProductMediaTextInput!]!\n ) {\n updateProductMediaTexts(productMediaId: $productMediaId, texts: $texts) {\n ...ProductMediaTextsFragment\n }\n }\n ","\n"]);return eD=function(){return e},e}let eR=(0,O.J1)(eD(),eS),eq=e=>{let{media:t,onDelete:n,id:s}=e,{selectedLocale:l}=(0,eu.A)(),{updateProductMediaTexts:r}=(()=>{let[e]=(0,K.n)(eR);return{updateProductMediaTexts:async t=>{let{productMediaId:n,texts:a}=t;return e({variables:{productMediaId:n,texts:a},refetchQueries:["TranslatedProductMediaTexts"]})}}})(),[i,d]=(0,w.useState)(!1),{translatedMediaTexts:o}=(e=>{let{productMediaId:t}=e,{data:n,loading:a,error:s}=(0,U.I)(eV,{skip:!t,variables:{productMediaId:t}});return{translatedMediaTexts:(null==n?void 0:n.translatedProductMediaTexts)||[],loading:a,error:s}})({productMediaId:t._id}),u=(null==o?void 0:o.find(e=>e.locale===l))||{},c=async e=>{let{title:n,subtitle:a}=e;return await r({productMediaId:t._id,texts:[{title:n,locale:l,subtitle:a}]}),d(!1),!0};return(0,a.jsx)(eC.A,{id:s,media:t,mediaText:u,isEdit:i,onDelete:n,onEdit:d,onUpdate:c})},eE=e=>{let{medias:t,onDeleteMedia:n,items:l}=e,{formatMessage:r}=(0,s.A)();return(0,a.jsx)("div",{className:"rounded-md lg:col-span-6 px-6",children:(0,a.jsxs)("div",{className:"mx-auto overflow-hidden",children:[(0,a.jsx)("h2",{className:"sr-only",children:r({id:"product_media",defaultMessage:"Product Media"})}),(0,a.jsx)("div",{className:"flow-root",children:(0,a.jsx)(ep.gB,{items:l,strategy:ep._G,children:(0,a.jsx)("ul",{className:"flex flex-col gap-3 rounded-md transition-[background-color] ease-in-out delay-200 ",children:(null==t?void 0:t.length)?l.map(e=>{let s=Object.values(t).find(t=>t._id===e);return(0,a.jsx)(eq,{id:e,media:s,onDelete:n},s._id)}):(0,a.jsx)(eM.A,{message:r({id:"media",defaultMessage:"Media"})})})})})]})})};function eF(){let e=(0,L._)(["\n mutation ReOrderProductMedia($sortKeys: [ReorderProductMediaInput!]!) {\n reorderProductMedia(sortKeys: $sortKeys) {\n _id\n }\n }\n"]);return eF=function(){return e},e}let eJ=(0,O.J1)(eF()),eL=e=>{let{productId:t}=e,{productMedia:n}=eI({productId:t}),{setModal:r}=(0,eg.A)(),{formatMessage:i}=(0,s.A)(),{removeProductMedia:d}=(()=>{let[e]=(0,K.n)(eP);return{removeProductMedia:async t=>{let{productMediaId:n}=t;return e({variables:{productMediaId:n},refetchQueries:["ProductMedia"]})}}})(),{addProductMedia:o}=(()=>{let[e]=(0,K.n)(ej),{confirmMediaUpload:t}=(0,ev.A)({refetchQueries:["Product"]});return{addProductMedia:async n=>{let{productId:a,media:s}=n,{data:l}=await e({variables:{productId:a,mediaName:s.name}}),{prepareProductMediaUpload:r}=l;return await (0,eh.A)(s,r.putURL),t({mediaUploadTicketId:r._id,size:null==s?void 0:s.size,type:s.type})}}})(),{reOrderProductMedia:u}=(()=>{let[e]=(0,K.n)(eJ);return{reOrderProductMedia:async t=>{let{sortKeys:n}=t;return e({variables:{sortKeys:n},refetchQueries:["ProductMedia"]})}}})(),c=null==n?void 0:n.map(e=>e._id),m=async e=>{try{await o({productId:t,media:e}),l.oR.success(i({id:"product_media_upload",defaultMessage:"Media uploaded successfully"}))}catch(e){l.oR.error(i({id:"fail_upload",defaultMessage:"Media upload failed"}))}},p=async e=>{await r((0,a.jsx)(ef.A,{onCancelClick:async()=>r(""),message:i({id:"delete_product_media_confirmation",defaultMessage:"This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this media? "}),onOkClick:async()=>{r(""),await d({productMediaId:e}),l.oR.success(i({id:"product_media_deleted",defaultMessage:"Media deleted successfully"}))},okText:i({id:"delete_product_media",defaultMessage:"Delete media"})}))},x=async e=>{let{active:t,over:n}=e;if(t.id!==n.id){let e=c.indexOf(t.id),a=c.indexOf(n.id),s=(0,ep.be)(c,e,a).map((e,t)=>({productMediaId:e,sortKey:t}));try{await u({sortKeys:s}),l.oR.success(i({id:"link_reorder",defaultMessage:"Link reorder successfully"}))}catch(e){l.oR.error(i({id:"fail_reorder",defaultMessage:"Reordering failed, Try again!"}))}}else l.oR.info(i({id:"reorder_original",defaultMessage:"Reorder to original location"}))},f=(0,em.FR)((0,em.MS)(em.AN,{activationConstraint:{distance:5}}),(0,em.MS)(em.uN,{coordinateGetter:ep.JR}));return(0,a.jsxs)("div",{className:"mx-auto mt-5 space-y-5 lg:space-y-0 max-w-full py-6 lg:grid lg:grid-cols-12 lg:gap-4",children:[(0,a.jsx)("div",{className:"mx-auto w-full px-6 lg:col-span-6 lg:col-start-1",children:(0,a.jsx)(ex.A,{onlyDragAndDrop:!0,addMedia:m})}),(0,a.jsx)(em.Mp,{sensors:f,collisionDetection:em.fp,onDragEnd:x,children:(0,a.jsx)(eE,{medias:n,onDeleteMedia:p,items:c})})]})};function eO(){let e=(0,L._)(["\n fragment ProductPlanConfigurationFragment on ProductPlanConfiguration {\n usageCalculationType\n billingInterval\n trialInterval\n trialIntervalCount\n billingIntervalCount\n }\n"]);return eO=function(){return e},e}let eU=(0,O.J1)(eO());function eB(){let e=(0,L._)(["\n query ProductPlan($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on PlanProduct {\n plan {\n ...ProductPlanConfigurationFragment\n }\n }\n }\n }\n ","\n"]);return eB=function(){return e},e}let eQ=(0,O.J1)(eB(),eU),ez=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{data:a,loading:s,error:l}=(0,U.I)(eQ,{skip:!e&&!n,variables:{productId:e||n}}),r=null==a?void 0:a.product;return{plan:null==r?void 0:r.plan,loading:s,error:l}};function eW(){let e=(0,L._)(['\n query ProductPlanConfigurationOptions {\n usageCalculationTypes: __type(name: "ProductPlanUsageCalculationType") {\n options: enumValues {\n value: name\n label: description\n }\n }\n configurationIntervals: __type(name: "ProductPlanConfigurationInterval") {\n options: enumValues {\n value: name\n label: description\n }\n }\n }\n']);return eW=function(){return e},e}let eK=(0,O.J1)(eW());function eG(){let e=(0,L._)(["\n mutation UpdateProductPlan($productId: ID!, $plan: UpdateProductPlanInput!) {\n updateProductPlan(productId: $productId, plan: $plan) {\n _id\n }\n }\n"]);return eG=function(){return e},e}let eH=(0,O.J1)(eG()),eX=e=>{let{productId:t,disabled:n=!1}=e,{formatMessage:l}=(0,s.A)(),{configurationIntervals:r,usageCalculationTypes:i}=(()=>{var e,t;let{data:n,loading:a,error:s}=(0,U.I)(eK),l=(null==n||null==(e=n.usageCalculationTypes)?void 0:e.options)||[];return{configurationIntervals:(null==n||null==(t=n.configurationIntervals)?void 0:t.options)||[],usageCalculationTypes:l,loading:a,error:s}})(),{plan:d,loading:o}=ez({productId:t}),{hasRole:u}=(0,N.A)(),{updateProductPlan:c}=(()=>{let[e]=(0,K.n)(eH);return{updateProductPlan:async t=>{let{productId:n,plan:{usageCalculationType:a,billingInterval:s,billingIntervalCount:l=null,trialInterval:r=null,trialIntervalCount:i=null}}=t;return e({variables:{productId:n,plan:{usageCalculationType:a,billingInterval:s,billingIntervalCount:l,trialInterval:r,trialIntervalCount:i}},refetchQueries:["Products"]})}}})(),m=l({id:"enrollment_updated_successfully",defaultMessage:"Enrollment saved successfully"}),p=async e=>{let{trialInterval:n,trialIntervalCount:a,billingInterval:s,billingIntervalCount:l,usageCalculationType:r}=e;return await c({productId:t,plan:{billingInterval:s,usageCalculationType:r,billingIntervalCount:l,trialInterval:n,trialIntervalCount:a}}),{success:!0}},x=(0,F.A)({disabled:n,submit:p,successMessage:m,initialValues:{trialInterval:"",trialIntervalCount:"",billingInterval:"",billingIntervalCount:"",usageCalculationType:""},getSubmitErrorMessage:e=>{var t;return(null==e||null==(t=e.message)?void 0:t.includes("Status of the product does not allow this operation"))?l({id:"subscription_product_type_not_valid",defaultMessage:"Status of the product does not allow this operation"}):(null==e?void 0:e.message)||""}});return(0,w.useEffect)(()=>{d&&!o&&x.formik.setValues(d)},[d]),(0,a.jsx)(er.A,{documentationLabel:l({id:"subscription",defaultMessage:"Subscription"}),className:"mt-2 lg:mt-5",documentation:(0,a.jsx)(ee.A,{id:"product_subscription_form_description",defaultMessage:"<ul><li> Information that will be used to calculate price of a subscription based product </li> <li>The price specified in commerce section will be used when calculating fees on each interval. </li> <li>Price will not be included for the specified trial period </li> </ul>",values:{ul:e=>(0,a.jsxs)("ul",{className:"space-y-1",children:[e," "]}),li:e=>(0,a.jsx)("li",{children:e})}}),children:(0,a.jsx)(k.A,{children:(0,a.jsx)(T.A,{form:x,children:(0,a.jsxs)("div",{className:"relative max-w-full space-y-6 rounded-md sm:p-6",children:[(0,a.jsx)(D.A,{required:!0,className:"mt-2.5 w-full py-1.5 text-sm font-medium text-slate-500",label:l({id:"usage_calculation_type",defaultMessage:"Usage calculation type"}),placeholder:l({id:"usage_calculation_type",defaultMessage:"Usage calculation type"}),name:"usageCalculationType",options:(0,I.A)(i,"value","value")}),(0,a.jsxs)("div",{className:"w-full items-end justify-end sm:flex",children:[(0,a.jsx)(D.A,{className:"mt-2.5 w-full text-sm font-medium text-slate-500",required:!0,label:l({id:"billing_interval_unit",defaultMessage:"Billing interval unit"}),placeholder:l({id:"billing_interval_unit",defaultMessage:"Billing interval unit"}),name:"billingInterval",options:(0,I.A)(r,"value","value")}),(0,a.jsx)(q.A,{name:"billingIntervalCount",id:"billing_unit",type:"number",required:!0,label:l({id:"billing_unit",defaultMessage:"Billing Unit"}),placeholder:l({id:"billing_unit",defaultMessage:"Billing Unit"}),className:"mt-1 w-full text-sm font-medium text-slate-500 sm:ml-1"})]}),(0,a.jsxs)("div",{className:"max-w-full items-end justify-end sm:flex",children:[(0,a.jsx)(D.A,{className:"mt-2.5 w-full text-sm font-medium text-slate-500",label:l({id:"trial_interval_unit",defaultMessage:"Trial interval unit"}),placeholder:l({id:"trial_interval_unit",defaultMessage:"Trial interval unit"}),name:"trialInterval",options:(0,I.A)(r,"value","value")}),(0,a.jsx)(q.A,{type:"number",name:"trialIntervalCount",id:"trialIntervalCount ",label:l({id:"trial_unit",defaultMessage:"Trial Unit"}),placeholder:l({id:"trial_unit",defaultMessage:"Trial Unit"}),required:!0,className:"mt-1 w-full text-sm font-medium text-slate-500 sm:ml-1"})]}),(0,a.jsx)("div",{className:"-mx-6 -mb-6 mt-6 border-t-slate-100 border-t space-y-6 bg-slate-50 dark:bg-slate-500 text-right sm:p-6",children:(0,a.jsx)(R.A,{hidden:!u("addEnrollment"),label:l({id:"save",defaultMessage:"Save"})})})]})})})})};function eY(){let e=(0,L._)(["\n fragment ProductDimensionFragment on Dimensions {\n weight(unit: GRAM)\n length(unit: MILLIMETERS)\n width(unit: MILLIMETERS)\n height(unit: MILLIMETERS)\n }\n"]);return eY=function(){return e},e}let eZ=(0,O.J1)(eY());function e0(){let e=(0,L._)(["\n query ProductSupply($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on SimpleProduct {\n dimensions {\n ...ProductDimensionFragment\n }\n }\n }\n }\n ","\n"]);return e0=function(){return e},e}let e1=(0,O.J1)(e0(),eZ),e2=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{data:a,loading:s,error:l}=(0,U.I)(e1,{skip:!e&&!t,variables:{productId:e||n}}),r=null==a?void 0:a.product;return{dimensions:(null==r?void 0:r.dimensions)||{},loading:s,error:l}};function e5(){let e=(0,L._)(["\n mutation UpdateProductSupply(\n $productId: ID!\n $supply: UpdateProductSupplyInput!\n ) {\n updateProductSupply(productId: $productId, supply: $supply) {\n _id\n ... on SimpleProduct {\n dimensions {\n ...ProductDimensionFragment\n }\n }\n }\n }\n ","\n"]);return e5=function(){return e},e}let e6=(0,O.J1)(e5(),eZ),e4=e=>{let{productId:t,disabled:n=!1}=e,{formatMessage:l}=(0,s.A)(),r=l({id:"saved",defaultMessage:"Saved"}),{hasRole:i}=(0,N.A)(),{updateProductSupply:d}=(()=>{let[e]=(0,K.n)(e6);return{updateProductSupply:async t=>{let{productId:n,supply:{weightInGram:a=null,heightInMillimeters:s=null,lengthInMillimeters:l=null,widthInMillimeters:r=null}}=t;return e({variables:{productId:n,supply:{weightInGram:a||null,heightInMillimeters:s||null,lengthInMillimeters:l||null,widthInMillimeters:r||null}},refetchQueries:["Products"]})}}})(),{dimensions:o}=e2({productId:t}),u=async e=>{let{weight:n,length:a,width:s,height:l}=e;return await d({productId:t,supply:{weightInGram:n,lengthInMillimeters:a,heightInMillimeters:l,widthInMillimeters:s}}),{success:!0}},c=(0,F.A)({disabled:n,submit:u,getSubmitErrorMessage:e=>(e.message.includes("supply.weightInGram")&&e.message.includes("Expected type Int")?c.formik.setFieldError("weight","Invalid value, only integer is accepted"):e.message.includes("supply.heightInMillimeters")&&e.message.includes("Expected type Int")?c.formik.setFieldError("height","Invalid value, only integer is accepted"):e.message.includes("supply.lengthInMillimeters")&&e.message.includes("Expected type Int")&&c.formik.setFieldError("length","Invalid value, only integer is accepted"),null),successMessage:r,initialValues:{weight:"",length:"",width:"",height:""}});return(0,w.useEffect)(()=>{Object.keys(o).length&&c.formik.setValues(o)},[o]),(0,a.jsx)("div",{className:"mt-5 md:col-span-2 md:mt-0",children:(0,a.jsx)(k.A,{children:(0,a.jsxs)(T.A,{form:c,children:[(0,a.jsx)("div",{className:"relative px-4 py-5 sm:p-6",children:(0,a.jsxs)("div",{className:"grid grid-cols-6 gap-6",children:[(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{validators:[(0,J.L6)()],type:"number",name:"weight",id:"weight",label:l({id:"weight_gram",defaultMessage:"Weight (Gram)"}),className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{validators:[(0,J.L6)()],name:"length",id:"length",type:"number",label:l({id:"length_millimeter",defaultMessage:"Length (Millimeter)"}),className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{validators:[(0,J.L6)()],type:"number",name:"width",id:"width ",label:l({id:"width",defaultMessage:"Width (Millimeter)"}),className:"text-sm "})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{validators:[(0,J.L6)()],name:"height",type:"number",id:"height",label:l({id:"height",defaultMessage:"Height (Millimeter)"}),className:"text-sm "})})]})}),(0,a.jsx)("div",{className:"border-t-slate-100 border-t dark:border-t-slate-700 space-y-6 bg-slate-50 dark:bg-slate-900 text-right sm:p-6",children:(0,a.jsx)(R.A,{hidden:!i("editProductSupply"),label:l({id:"save",defaultMessage:"Save"}),full:!0})})]})})})};var e3=n(91459);function e8(){let e=(0,L._)(["\n mutation CreateProductVariation(\n $productId: ID!\n $variation: CreateProductVariationInput!\n $texts: [ProductVariationTextInput!]\n ) {\n createProductVariation(\n productId: $productId\n variation: $variation\n texts: $texts\n ) {\n _id\n }\n }\n"]);return e8=function(){return e},e}let e9=(0,O.J1)(e8());function e7(){let e=(0,L._)(["\n fragment ProductVariationFragment on ProductVariation {\n _id\n type\n key\n texts(forceLocale: $locale) {\n _id\n locale\n title\n subtitle\n }\n options {\n _id\n texts(forceLocale: $locale) {\n _id\n locale\n title\n subtitle\n }\n value\n }\n }\n"]);return e7=function(){return e},e}let te=(0,O.J1)(e7());function tt(){let e=(0,L._)(["\n query ProductVariations($productId: ID, $slug: String, $locale: Locale) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on ConfigurableProduct {\n variations {\n ...ProductVariationFragment\n }\n }\n }\n }\n ","\n"]);return tt=function(){return e},e}let tn=(0,O.J1)(tt(),te),ta=function(){let{productId:e=null,slug:t=null,locale:n=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=(0,ey.id)(t),{data:s,loading:l,error:r}=(0,U.I)(tn,{skip:!e&&!a,variables:{productId:e||a,locale:n}}),i=null==s?void 0:s.product;return{variations:null==i?void 0:i.variations,loading:l,error:r}};function ts(){let e=(0,L._)(['\n query ProductVariationType {\n variationTypes: __type(name: "ProductVariationType") {\n options: enumValues {\n value: name\n label: description\n }\n }\n }\n']);return ts=function(){return e},e}let tl=(0,O.J1)(ts()),tr=e=>{let{helpKey:t,helpText:n,helpValues:s,...l}=e;return(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)(q.A,{...l}),(t||n)&&(0,a.jsx)(eo.A,{messageKey:t||"".concat(l.name,"_help"),defaultMessage:n,values:s,className:"mt-1"})]})};var ti=n(62519);function td(){let e=(0,L._)(["\n mutation RemoveProductVariation($productVariationId: ID!) {\n removeProductVariation(productVariationId: $productVariationId) {\n _id\n }\n }\n"]);return td=function(){return e},e}let to=(0,O.J1)(td());var tu=n(16461);function tc(){let e=(0,L._)(["\n mutation UpdateProductVariationTexts(\n $productVariationId: ID!\n $productVariationOptionValue: String\n $texts: [ProductVariationTextInput!]!\n ) {\n updateProductVariationTexts(\n productVariationId: $productVariationId\n productVariationOptionValue: $productVariationOptionValue\n texts: $texts\n ) {\n _id\n }\n }\n"]);return tc=function(){return e},e}let tm=(0,O.J1)(tc()),tp=()=>{let[e]=(0,K.n)(tm);return{updateProductVariationTexts:async t=>{let{productVariationId:n,productVariationOptionValue:a,texts:s}=t;return e({variables:{productVariationId:n,productVariationOptionValue:a,texts:s},refetchQueries:["ProductVariations"]})}}},tx=e=>{var t,n,l,r,i;let{variation:d,onCancel:o,onSuccess:u}=e,{updateProductVariationTexts:c}=tp(),{formatMessage:m}=(0,s.A)(),{selectedLocale:p}=(0,eu.A)(),x=async e=>{let{title:t,subtitle:n}=e;return await c({productVariationId:d._id,texts:[{title:t,subtitle:n,locale:p}]}),u(),{success:!0}},f=(0,F.A)({submit:x,initialValues:{title:null!=(r=null==d||null==(t=d.texts)?void 0:t.title)?r:"",subtitle:null!=(i=null==d||null==(n=d.texts)?void 0:n.subtitle)?i:""}});return(0,a.jsx)(T.A,{form:f,className:"variation-update-form bg-white dark:bg-slate-800 px-4 py-3 border-b border-slate-200 dark:border-slate-700 w-full overflow-x-hidden overflow-y-visible relative hover:outline hover:outline-2 hover:outline-slate-400 dark:hover:outline-slate-500 transition-all","data-variationid":d._id,children:(0,a.jsxs)("div",{className:"flex items-center justify-between w-full gap-4",tabIndex:-1,children:[(0,a.jsxs)("div",{className:"flex items-center gap-4 flex-1 min-w-0 overflow-hidden flex-wrap",children:[(0,a.jsx)("div",{className:"flex-shrink-0 min-w-[180px]",children:(0,a.jsx)(q.A,{className:"mt-0 py-1",name:"title",required:!0,label:m({id:"title",defaultMessage:"Title"})})}),(null==d?void 0:d.type)&&(0,a.jsx)(tu.A,{text:d.type,color:"slate",className:"rounded-md uppercase text-xs font-medium flex-shrink-0"}),(0,a.jsx)("div",{className:"text-sm text-slate-500 dark:text-slate-400 truncate min-w-[200px]",children:(0,a.jsx)(q.A,{className:"mt-0 py-1",name:"subtitle",label:m({id:"subtitle",defaultMessage:"Subtitle"})})}),(null==d||null==(l=d.options)?void 0:l.length)>0&&(0,a.jsx)("div",{className:"flex items-center gap-2 flex-wrap",children:d.options.map((e,t)=>{var n;return(0,a.jsx)("span",{className:"inline-flex text-nowrap items-center px-2 py-0.5 rounded-lg text-xs font-medium bg-slate-100 dark:bg-slate-900 text-slate-800 dark:text-slate-200 border border-slate-200 dark:border-slate-800",children:(null==e||null==(n=e.texts)?void 0:n.title)||e.value},e.value||t)})}),(0,a.jsxs)("div",{className:"text-sm text-slate-400 dark:text-slate-500 font-mono flex-shrink-0",children:["(",null==d?void 0:d.key,")"]})]}),(0,a.jsxs)("div",{className:"flex space-x-2 flex-shrink-0",children:[(0,a.jsx)(E.A,{onClick:o,type:"button",variant:"secondary",size:"sm",text:m({id:"cancel",defaultMessage:"Cancel"})}),(0,a.jsx)(E.A,{onClick:()=>f.formik.submitForm(),type:"submit",variant:"primary",size:"sm",text:m({id:"save",defaultMessage:"Save"})})]})]})})};var tf=n(71308),tg=n(84638),th=n(43026),tv=n(18236);let tb=e=>{var t,n,l,r;let{type:i,variation:d,onEdit:o,onDelete:u}=e,[c,m]=(0,w.useState)(!1),{formatMessage:p}=(0,s.A)(),{buttonRef:x,menuRef:f,menuPosition:g}=((e,t)=>{let n=(0,w.useRef)(null),a=(0,w.useRef)(null),[s,l]=(0,w.useState)({top:0,left:0});return(0,w.useEffect)(()=>{let e=e=>{n.current&&!n.current.contains(e.target)&&t(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[t]),(0,w.useEffect)(()=>{if(e&&a.current){let e=a.current.getBoundingClientRect(),t=e.bottom+4,n=e.right-192;n<8&&(n=8),t+80>window.innerHeight-8&&(t=e.top-80-4),l({top:t,left:n})}},[e]),{buttonRef:a,menuRef:n,menuPosition:s}})(c,m);return(0,a.jsx)("div",{className:"variation-display bg-white dark:bg-slate-800 px-4 py-3 border-b border-slate-200 dark:border-slate-700 w-full overflow-x-hidden overflow-y-visible relative hover:outline hover:outline-2 hover:outline-slate-400 dark:hover:outline-slate-500 transition-all",children:(0,a.jsxs)("div",{className:"flex items-center justify-between w-full gap-4",tabIndex:-1,children:[(0,a.jsxs)("div",{className:"flex items-center gap-4 flex-1 min-w-0 overflow-hidden",children:[(0,a.jsx)("div",{className:"flex-shrink-0 text-lg font-semibold text-slate-900 dark:text-slate-200 truncate",children:null==d||null==(t=d.texts)?void 0:t.title}),i&&(0,a.jsx)(tu.A,{text:i,color:"slate",className:"rounded-md uppercase text-xs font-medium flex-shrink-0"}),(null==d||null==(n=d.texts)?void 0:n.subtitle)&&(0,a.jsx)("div",{className:"text-sm text-slate-500 dark:text-slate-400 truncate",children:null==d||null==(l=d.texts)?void 0:l.subtitle}),(null==d||null==(r=d.options)?void 0:r.length)>0&&(0,a.jsx)("div",{className:"flex items-center gap-2 flex-wrap",children:d.options.map((e,t)=>{var n;return(0,a.jsx)("span",{className:"inline-flex text-nowrap items-center px-2 py-0.5 rounded-lg text-xs font-medium bg-slate-100 dark:bg-slate-900 text-slate-800 dark:text-slate-200 border border-slate-200 dark:border-slate-800",children:(null==e||null==(n=e.texts)?void 0:n.title)||e.value},e.value||t)})}),(0,a.jsxs)("div",{className:"text-sm text-slate-400 dark:text-slate-500 font-mono flex-shrink-0",children:["(",null==d?void 0:d.key,")"]})]}),(0,a.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,a.jsx)("button",{ref:x,type:"button",onClick:e=>{e.stopPropagation(),e.preventDefault(),m(e=>!e)},className:"flex items-center justify-center w-8 h-8 rounded-md hover:bg-slate-100 dark:hover:bg-slate-700 transition-colors",children:(0,a.jsx)(tf.A,{className:"w-5 h-5 text-slate-500 dark:text-slate-400"})}),c&&(0,a.jsx)(tg.A,{children:(0,a.jsx)("div",{ref:f,className:"fixed w-48 bg-white dark:bg-slate-800 rounded-md shadow-xl border border-slate-200 dark:border-slate-700 z-[9999]",style:{top:g.top,left:g.left,boxShadow:"0 10px 25px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)"},children:(0,a.jsxs)("div",{className:"py-1",children:[(0,a.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),e.preventDefault(),o(),m(!1)},className:"flex items-center w-full px-4 py-2 text-sm text-slate-700 dark:text-slate-200 hover:bg-slate-100 dark:hover:bg-slate-700 transition-colors",children:[(0,a.jsx)(th.A,{className:"mr-3 h-5 w-5"}),p({id:"edit",defaultMessage:"Edit"})]}),(0,a.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),e.preventDefault(),u(d._id),m(!1)},className:"flex items-center w-full px-4 py-2 text-sm text-rose-600 dark:text-rose-400 hover:bg-rose-50 dark:hover:bg-rose-900/20 transition-colors",children:[(0,a.jsx)(tv.A,{className:"mr-3 h-5 w-5"}),p({id:"delete",defaultMessage:"Delete"})]})]})})})]})]})})},tj=e=>{let{type:t,variation:n,onDelete:s}=e,[l,r]=(0,w.useState)(!1);return l?(0,a.jsx)(tx,{variation:n,onCancel:()=>r(!1),onSuccess:()=>r(!1)}):(0,a.jsx)(tb,{type:t,variation:n,onEdit:()=>r(!0),onDelete:s})};function ty(){let e=(0,L._)(["\n mutation CreateProductVariationOption(\n $productVariationId: ID!\n $option: String!\n $texts: [ProductVariationTextInput!]\n ) {\n createProductVariationOption(\n productVariationId: $productVariationId\n option: $option\n texts: $texts\n ) {\n _id\n }\n }\n"]);return ty=function(){return e},e}let tw=(0,O.J1)(ty());function t_(){let e=(0,L._)(["\n mutation RemoveProductVariationOption(\n $productVariationId: ID!\n $productVariationOptionValue: String!\n ) {\n removeProductVariationOption(\n productVariationId: $productVariationId\n productVariationOptionValue: $productVariationOptionValue\n ) {\n _id\n }\n }\n"]);return t_=function(){return e},e}let tN=(0,O.J1)(t_()),tk=e=>{let{onSubmit:t}=e,{formatMessage:n}=(0,s.A)(),{hasRole:l}=(0,N.A)(),r=n({id:"variation_option_added",defaultMessage:"Variation option added successfully!"}),i=(0,F.A)({submit:t,successMessage:r,initialValues:{value:"",title:""}});return(0,a.jsxs)(T.A,{form:i,className:"variation-option-form relative overflow-visible",children:[(0,a.jsx)("div",{className:"mb-4 px-2 sm:px-4 pt-2",children:(0,a.jsx)("div",{className:"p-3 bg-slate-50 dark:bg-slate-900/20 rounded-lg border border-slate-200 dark:border-slate-800",children:(0,a.jsx)("p",{className:"text-sm text-slate-800 dark:text-slate-200",children:n({id:"variation_options_explanation",defaultMessage:'Add individual choices for this variation (e.g., "Red", "Blue", "Green" for a Color variation)'})})})}),(0,a.jsxs)("div",{className:"grid lg:grid-cols-2 gap-3 px-2 sm:px-4 sm:pb-4",children:[(0,a.jsx)("div",{className:"col-span-1",children:(0,a.jsx)(tr,{className:"mt-2 pt-1",name:"title",label:n({id:"title",defaultMessage:"Title"}),helpText:n({id:"variation_option_title_help",defaultMessage:'Display name customers see (e.g., "Red", "Large", "Cotton")'}),required:!0})}),(0,a.jsx)("div",{className:"col-span-1",children:(0,a.jsx)(tr,{className:"mt-2 pt-1",name:"value",label:n({id:"value",defaultMessage:"Value"}),helpText:n({id:"variation_option_value_help",defaultMessage:'Internal identifier (e.g., "red", "large", "cotton")'}),required:!0})})]}),(0,a.jsx)("div",{className:"text-right mt-2 px-6 pb-6",children:(0,a.jsx)(R.A,{className:"py-2.5",hidden:!l("addProductVariationOption"),label:n({id:"add_variation_option",defaultMessage:"Add option"})})})]})};var tI=n(80696);let tA=e=>{var t,n,l,r;let{option:i,onDelete:d,variationId:o}=e,{formatMessage:u}=(0,s.A)(),{selectedLocale:c}=(0,eu.A)(),[m,p]=(0,w.useState)(!1),x=u({id:"variation_option_updated",defaultMessage:"Variation option updated successfully!"}),{updateProductVariationTexts:f}=tp(),g=async e=>{let{title:t,subtitle:n}=e,a=await f({productVariationId:o,productVariationOptionValue:i.value,texts:[{title:t,subtitle:n,locale:c}]});return p(!1),{data:a,success:!0}},h=(0,F.A)({submit:g,successMessage:x,initialValues:{title:null==i||null==(t=i.texts)?void 0:t.title,subtitle:null==i||null==(n=i.texts)?void 0:n.subtitle}});return(0,a.jsx)(T.A,{form:h,className:"last:pb-2 variation-option-update-form relative overflow-visible",children:(0,a.jsx)("div",{className:"my-2 rounded-sm border dark:border-slate-700 mx-4 ",children:(0,a.jsx)("div",{className:"p-2 bg-white dark:bg-slate-900 dark:text-slate-200",children:(0,a.jsxs)("div",{className:"flex gap-2 w-full items-center justify-between",children:[(0,a.jsx)(tu.A,{text:null==i||null==(l=i.texts)?void 0:l.title,color:"slate",className:"rounded-md"}),(0,a.jsxs)("div",{className:"flex items-center gap-4 w-full",children:[(0,a.jsx)("p",{className:"truncate text-sm font-medium text-slate-900 dark:text-slate-400",children:m?(0,a.jsx)(q.A,{className:"mt-0",name:"title",required:!0,label:u({id:"title",defaultMessage:"Title"})}):null==i?void 0:i.value}),(0,a.jsx)("p",{className:"truncate text-sm text-slate-500",children:m?(0,a.jsx)(q.A,{className:"mt-0",name:"subtitle",label:u({id:"subtitle",defaultMessage:"Subtitle"})}):null==i||null==(r=i.texts)?void 0:r.subtitle})]}),(0,a.jsx)("div",{className:"flex items-center justify-end ml-auto",children:m?(0,a.jsxs)("div",{className:"flex space-x-2 py-2",children:[(0,a.jsx)("button",{onClick:()=>p(!m),"aria-label":u({id:"cancel",defaultMessage:"Cancel"}),type:"button",className:"inline-flex items-center justify-center font-medium shadow-sm focus:outline-hidden focus:ring-2 focus:ring-offset-2 transition-colors duration-200 disabled:cursor-not-allowed disabled:opacity-50 px-3 py-2 text-sm h-8 rounded-md border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 text-slate-700 dark:text-slate-200 hover:bg-slate-50 dark:hover:bg-slate-700 focus:ring-slate-500",children:u({id:"cancel",defaultMessage:"Cancel"})}),(0,a.jsx)("button",{type:"submit","aria-label":u({id:"save",defaultMessage:"Save"}),className:"inline-flex items-center justify-center font-medium shadow-sm focus:outline-hidden focus:ring-2 focus:ring-offset-2 transition-colors duration-200 disabled:cursor-not-allowed disabled:opacity-50 px-3 py-2 text-sm h-8 rounded-md border border-slate-800 dark:border-slate-600 bg-slate-800 dark:bg-slate-600 text-white hover:bg-slate-900 dark:hover:bg-slate-500 focus:ring-slate-800 dark:focus:ring-slate-400",children:u({id:"save",defaultMessage:"Save"})})]}):(0,a.jsx)(tI.A,{onEdit:()=>{p(!0)},onDelete:()=>{d(i.value)},showEdit:!0,showDelete:!0})})]})})})})},tP=e=>{let{variationId:t,options:n}=e,{createProductVariationOption:r}=(()=>{let[e]=(0,K.n)(tw);return{createProductVariationOption:async t=>{let{productVariationId:n,option:a,texts:s}=t;return e({variables:{productVariationId:n,option:a,texts:s},refetchQueries:["ProductVariations","Product"]})}}})(),{formatMessage:i}=(0,s.A)(),{selectedLocale:d}=(0,eu.A)(),{setModal:o}=(0,eg.A)(),{removeProductVariationOption:u}=(()=>{let[e]=(0,K.n)(tN);return{removeProductVariationOption:async t=>{let{productVariationId:n,productVariationOptionValue:a}=t;return e({variables:{productVariationId:n,productVariationOptionValue:a},refetchQueries:["ProductVariations"]})}}})(),c=async e=>{await o((0,a.jsx)(ef.A,{message:i({id:"delete_variation_option_confirmation",defaultMessage:"This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this option? "}),onCancelClick:()=>o(""),onOkClick:async()=>{o(""),await u({productVariationId:t,productVariationOptionValue:e}),l.oR.success(i({id:"product_variation_option_deleted",defaultMessage:"Variation option deleted successfully"}))},okText:i({id:"delete_variation_option",defaultMessage:"Delete option"})}))},m=async e=>{let{value:n,title:a}=e;return await r({productVariationId:t,option:n,texts:[{title:a,locale:d}]}),{success:!0}};return(0,a.jsxs)("div",{className:"relative overflow-visible",children:[(0,a.jsx)(tk,{onSubmit:m}),n.length?n.map(e=>(0,a.jsx)(tA,{variationId:t,option:e,onDelete:c},e._id)):(0,a.jsx)(eM.A,{message:i({id:"option",defaultMessage:"Option"})})]})},tM=e=>{let{productVariationId:t,variation:n}=e,{formatMessage:r}=(0,s.A)(),{setModal:i}=(0,eg.A)(),{options:d}=n,{removeProductVariation:o}=(()=>{let[e]=(0,K.n)(to);return{removeProductVariation:async t=>{let{productVariationId:n}=t;return e({variables:{productVariationId:n},refetchQueries:["ProductVariations"]})}}})(),u=async()=>{await i((0,a.jsx)(ef.A,{onCancelClick:async()=>i(""),message:r({id:"delete_product_variation_confirmation",defaultMessage:"This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this variation? "}),onOkClick:async()=>{i(""),await o({productVariationId:t}),l.oR.success(r({id:"product_variation_deleted",defaultMessage:"Variation deleted successfully"}))},okText:r({id:"delete_product_variation",defaultMessage:"Delete variation"})}))},c=[{header:(0,a.jsx)(tj,{onDelete:u,variation:n,...n}),body:(0,a.jsx)(tP,{variationId:n._id,options:d},t)}];return(0,a.jsx)(ti.A,{"data-variationid":n._id,data:c,containerCSS:"w-full max-w-full !my-0 !border-0 !shadow-none relative",bodyCSS:"bg-slate-50 dark:bg-slate-950 !border-t-0 relative overflow-visible",itemContainerCSS:"!mt-0 !mb-0 !border-0",headerCSS:"w-full flex items-center justify-between !p-0 !bg-transparent !border-0",hideChevron:!0})},tC=e=>{let{onSubmit:t,disabled:n,formatMessage:s}=e,{variationTypes:l}=(()=>{var e;let{data:t,loading:n,error:a}=(0,U.I)(tl);return{variationTypes:(null==t||null==(e=t.variationTypes)?void 0:e.options)||[],loading:n,error:a}})(),{hasRole:r}=(0,N.A)(),i=s({id:"product_variation_added",defaultMessage:"Product variation added successfully"}),d=(0,F.A)({disabled:n,submit:t,successMessage:i,initialValues:{title:"",key:"",type:""}});return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-6",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-slate-900 dark:text-slate-100 mb-2",children:s({id:"product_variations_explanation_title",defaultMessage:"About Product Variations"})}),(0,a.jsx)("p",{className:"text-sm text-slate-600 dark:text-slate-400",children:s({id:"product_variations_explanation",defaultMessage:"Variations allow customers to choose different options for your product (like color, size, material). Each variation can have multiple options that customers can select from."})})]}),(0,a.jsxs)(T.A,{form:d,children:[(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(tr,{name:"title",id:"title",label:s({id:"title",defaultMessage:"Title"}),helpText:s({id:"product_variation_title_help",defaultMessage:'The display name customers will see (e.g., "Color", "Size", "Material")'}),required:!0,autoComplete:"on",className:"w-full"}),(0,a.jsx)(tr,{name:"key",id:"key",label:s({id:"key",defaultMessage:"Key"}),helpText:s({id:"product_variation_key_help",defaultMessage:'Unique identifier used internally (e.g., "color", "size"). Use lowercase without spaces.'}),required:!0,autoComplete:"on",className:"w-full"}),(0,a.jsxs)("div",{children:[(0,a.jsx)(D.A,{required:!0,className:"w-full",label:s({id:"type",defaultMessage:"Type"}),placeholder:s({id:"type",defaultMessage:"Type"}),name:"type",options:(0,I.A)(l,"value","value")}),(0,a.jsx)(eo.A,{messageKey:"product_variation_type_help",defaultMessage:"COLOR: For predefined options like colors or sizes. TEXT: For free-form input like custom text or measurements.",className:"mt-1"})]})]}),(0,a.jsx)("div",{className:"flex justify-end mt-6 py-6 -mb-6 bg-slate-100 -mx-6 pe-5 border-t border-slate-200 dark:border-slate-700 bg-slate-50 dark:bg-slate-900",children:(0,a.jsx)(R.A,{hidden:!r("addProductVariation"),label:s({id:"add_variation",defaultMessage:"Add variation"})})})]})]})},t$=e=>{let{productId:t,disabled:n=!1}=e,{createProductVariation:l}=(()=>{let[e]=(0,K.n)(e9);return{createProductVariation:async t=>{let{productId:n,variation:{key:a,type:s},texts:l}=t;return e({variables:{productId:n,variation:{key:a,type:s},texts:l},refetchQueries:["ProductVariations"]})}}})(),{selectedLocale:r}=(0,eu.A)(),{formatMessage:d}=(0,s.A)(),{setModal:o}=(0,eg.A)(),{variations:u,loading:c}=ta({productId:t,locale:r}),m=async e=>{let{title:n,key:a,type:s}=e;return await l({productId:t,variation:{key:a,type:s},texts:[{title:n,locale:r}]}),o(""),{success:!0}};return c?(0,a.jsx)(i.A,{}):(0,a.jsxs)("div",{className:"mt-6 overflow-hidden rounded-md w-full max-w-full",children:[(0,a.jsx)("div",{className:"mb-6 flex justify-end items-center",children:(0,a.jsx)(E.A,{className:"m-1",onClick:()=>{o((0,a.jsx)(tC,{onSubmit:m,disabled:n,formatMessage:d}))},disabled:n,variant:"secondary",icon:(0,a.jsx)(e3.A,{className:"w-5 h-5"}),text:d({id:"add_variation",defaultMessage:"Add variation"})})}),(0,a.jsx)("div",{className:"flex flex-col border border-slate-200 dark:border-slate-700 rounded-md overflow-x-hidden overflow-y-visible w-full relative",children:(null==u?void 0:u.length)?null==u?void 0:u.map(e=>(0,a.jsx)(tM,{productVariationId:e._id,variation:e},e._id)):(0,a.jsx)(eM.A,{message:d({id:"variations",defaultMessage:"Variations"})})})]})};function tS(){let e=(0,L._)(["\n query ProductWarehousing($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on SimpleProduct {\n sku\n baseUnit\n }\n }\n }\n"]);return tS=function(){return e},e}let tT=(0,O.J1)(tS()),tV=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{data:a,loading:s,error:l}=(0,U.I)(tT,{skip:!e&&!n,variables:{productId:e||n}});return{product:(null==a?void 0:a.product)||{},loading:s,error:l}};function tD(){let e=(0,L._)(["\n mutation UpdateProductWarehousing(\n $productId: ID!\n $warehousing: UpdateProductWarehousingInput!\n ) {\n updateProductWarehousing(productId: $productId, warehousing: $warehousing) {\n _id\n ... on SimpleProduct {\n sku\n baseUnit\n }\n }\n }\n"]);return tD=function(){return e},e}let tR=(0,O.J1)(tD()),tq=e=>{let{productId:t,disabled:n=!1}=e,{formatMessage:l}=(0,s.A)(),{product:r}=tV({productId:t}),{hasRole:i}=(0,N.A)(),{updateProductWarehousing:d}=(()=>{let[e]=(0,K.n)(tR);return{updateProductWarehousing:async t=>{let{productId:n,warehousing:{sku:a=null,baseUnit:s=null}}=t;return e({variables:{productId:n,warehousing:{sku:a,baseUnit:s}},refetchQueries:["Products"]})}}})(),o=l({id:"saved",defaultMessage:"Saved"}),u=async e=>{let{sku:n,baseUnit:a}=e;return{data:await d({productId:t,warehousing:{baseUnit:a,sku:n}}),success:!0}},c=(0,F.A)({disabled:n,submit:u,successMessage:o,initialValues:{sku:"",baseUnit:""}});return(0,w.useEffect)(()=>{Object.keys(r).length&&c.formik.setValues({...r})},[r]),(0,a.jsx)("div",{className:"mt-5 md:mt-0",children:(0,a.jsx)(k.A,{children:(0,a.jsxs)(T.A,{className:"rounded",form:c,children:[(0,a.jsx)("div",{className:"relative px-4 pb-5 sm:p-6",children:(0,a.jsxs)("div",{className:"w-full justify-between align-baseline lg:flex gap-6",children:[(0,a.jsx)(q.A,{name:"sku",id:"sku",label:l({id:"sku",defaultMessage:"SKU"}),className:"mb-4 text-sm"}),(0,a.jsx)(q.A,{name:"baseUnit",id:"baseUnit",label:l({id:"baseUnit",defaultMessage:"Base Unit"}),className:"text-sm"})]})}),(0,a.jsx)("div",{className:"border-t-slate-100 border-t dark:border-t-slate-700 space-y-6 bg-slate-50 dark:bg-slate-900 text-right sm:p-6",children:(0,a.jsx)(R.A,{hidden:!i("editProductWarehousing"),label:l({id:"save",defaultMessage:"Save"})})})]})})})};var tE=n(32613),tF=n(37795),tJ=n(15972);function tL(){let e=(0,L._)(["\n query ProductReviewByProduct(\n $productId: ID\n $slug: String\n $limit: Int\n $offset: Int\n $sort: [SortOptionInput!]\n ) {\n product(productId: $productId, slug: $slug) {\n _id\n reviews(limit: $limit, offset: $offset, sort: $sort) {\n ...ProductReviewDetailFragment\n }\n reviewsCount\n }\n }\n ","\n"]);return tL=function(){return e},e}let tO=(0,O.J1)(tL(),tJ.A),tU=function(){let{productId:e=null,slug:t=null,limit:n=10,offset:a=0,sort:s=[{key:"created",value:tF.t4.Desc}]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{data:l,loading:r,error:i,fetchMore:d}=(0,U.I)(tO,{skip:!e,variables:{productId:e,slug:t,limit:n,offset:a,sort:s}}),o=null==l?void 0:l.product,u=(null==o?void 0:o.reviews)||[];return{productReviews:u,loading:r,error:i,reviewsCount:(null==o?void 0:o.reviewsCount)||0,loadMore:()=>{d({variables:{offset:null==u?void 0:u.length}})}}};var tB=n(90182),tQ=n(58817),tz=n(13708),tW=n(2112);let tK=e=>{let{productReviews:t}=e,{formatMessage:n}=(0,s.A)(),l=t.reduce((e,t)=>e+t.upVote,0),r=t.reduce((e,t)=>e+t.downVote,0),i=l?l/(l+r)*100:0,d=i?100-i:0;return(0,a.jsxs)("div",{className:"lg:col-span-4",children:[(0,a.jsx)("h2",{className:"text-2xl",children:n({id:"customer_reviews",defaultMessage:"Customer Reviews"})}),(0,a.jsxs)("div",{className:"mt-3 flex items-center",children:[(0,a.jsx)("div",{children:(0,a.jsx)("div",{title:"".concat(i),className:"flex items-center",children:[0,1,2,3,4].map(e=>{let t=i>=20*e;return(0,a.jsx)(tW.A,{className:"\n ".concat(t?"text-amber-400":"text-slate-300 dark:text-slate-600","\n h-5 w-5 shrink-0\n "),"aria-hidden":"true"},e)})})}),(0,a.jsx)("div",{className:"ml-2 text-sm",children:(0,a.jsx)(ee.A,{id:"review_summary",defaultMessage:"<div> Based on <cta> {total} </cta> reviews</div>",values:{div:e=>(0,a.jsx)("div",{children:e}),cta:e=>(0,a.jsx)("b",{className:"font-semibold",children:e}),total:t.length}})})]}),(0,a.jsxs)("div",{className:"mt-6",children:[(0,a.jsx)("h3",{className:"sr-only",children:n({id:"review_data",defaultMessage:"Review data"})}),(0,a.jsxs)("dl",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center text-sm",children:[(0,a.jsxs)("dt",{className:"flex flex-1 items-center",children:[(0,a.jsx)("p",{className:"font-medium",children:l}),(0,a.jsxs)("div",{"aria-hidden":"true",className:"ml-2 flex flex-1 items-center",children:[(0,a.jsx)(tQ.A,{className:"\n ".concat(l>0?"text-emerald-500":"text-slate-500","\n h-5 w-5 shrink-0"),"aria-hidden":"true"}),(0,a.jsxs)("div",{className:"relative ml-3 flex-1",children:[(0,a.jsx)("div",{className:"h-3 rounded-full border border-slate-300 dark:border-slate-800 bg-slate-50 dark:bg-slate-900"}),l>0?(0,a.jsx)("div",{className:"absolute inset-y-0 rounded-full border border-emerald-500 bg-emerald-500",style:{width:"calc(".concat(i,"%)")}}):null]})]})]}),(0,a.jsxs)("dd",{className:"ml-3 w-10 text-right text-sm tabular-nums",children:[Math.round(i),"%"]})]}),(0,a.jsxs)("div",{className:"flex items-center text-sm",children:[(0,a.jsxs)("dt",{className:"flex flex-1 items-center",children:[(0,a.jsxs)("p",{className:"font-medium",children:[r,(0,a.jsx)("span",{className:"sr-only",children:n({id:"star_reviews",defaultMessage:"Star reviews"})})]}),(0,a.jsxs)("div",{"aria-hidden":"true",className:"ml-2 flex flex-1 items-center",children:[(0,a.jsx)(tz.A,{className:"\n ".concat(r>0?"text-rose-500":"text-slate-500","\n h-5 w-5 shrink-0\n "),"aria-hidden":"true"}),(0,a.jsxs)("div",{className:"relative ml-3 flex-1",children:[(0,a.jsx)("div",{className:"h-3 rounded-full border border-slate-300 dark:border-slate-800 bg-slate-50 dark:bg-slate-900"}),r>0?(0,a.jsx)("div",{className:"absolute inset-y-0 rounded-full border border-rose-500 bg-rose-500",style:{width:"calc(".concat(d,"%)")}}):null]})]})]}),(0,a.jsxs)("dd",{className:"ml-3 w-10 text-right text-sm tabular-nums",children:[Math.round(d),"%"]})]})]})]})]})};var tG=n(60834);let tH=e=>{let{onSubmit:t,onSubmitSuccess:n=null,defaultValue:l={},isEdit:r=!1}=e,{formatMessage:i}=(0,s.A)(),{hasRole:d}=(0,N.A)(),o=i({id:"product_review_added",defaultMessage:"Review added successfully!"}),u=i({id:"product_review_updated",defaultMessage:"Review updated successfully!"}),c=(0,F.A)({submit:t,onSubmitSuccess:n,successMessage:r?u:o,initialValues:{title:"",review:"",rating:1,...l}});return(0,a.jsxs)("div",{className:"bg-white dark:bg-slate-800 rounded-md shadow-sm overflow-hidden p-6 mb-6",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-slate-900 dark:text-slate-100 mb-4",children:i({id:"write_review",defaultMessage:"Write a Review"})}),(0,a.jsxs)(T.A,{form:c,children:[(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(q.A,{name:"title",id:"title",label:i({id:"title",defaultMessage:"Title"}),autoComplete:"off",required:!0}),(0,a.jsx)(tG.A,{rows:4,name:"review",id:"review",label:i({id:"review",defaultMessage:"Review"}),placeholder:i({id:"review_placeholder",defaultMessage:"Share your thoughts about this product..."})})]}),(0,a.jsx)("div",{className:"mt-6 flex justify-end",children:(0,a.jsx)(R.A,{hidden:!d("reviewProduct"),label:i(r?{id:"update_review",defaultMessage:"Update Review"}:{id:"add_review",defaultMessage:"Add Review"}),className:"px-6 py-2"})})]})]})};function tX(){let e=(0,L._)(["\n mutation CreateProductReview(\n $productId: ID!\n $productReview: ProductReviewInput!\n ) {\n createProductReview(productId: $productId, productReview: $productReview) {\n ...ProductReviewDetailFragment\n }\n }\n ","\n"]);return tX=function(){return e},e}let tY=(0,O.J1)(tX(),tJ.A),tZ=e=>{let{productId:t}=e,{productReviews:n,loadMore:l,reviewsCount:r}=tU({productId:t}),{createProductReview:i}=(()=>{let[e]=(0,K.n)(tY);return{createProductReview:async t=>{let{productId:n,productReview:{title:a,rating:s,review:l}}=t;return e({variables:{productId:n,productReview:{title:a,rating:s,review:l}},refetchQueries:["ProductReviewByProduct","ProductReviewByUser"]})}}})(),{formatMessage:d}=(0,s.A)();return(0,a.jsxs)("div",{className:"sm:max-w-full",children:[(0,a.jsx)("div",{className:"text-slate-900 dark:text-slate-200",children:(0,a.jsxs)("div",{className:"mx-auto p-2 lg:grid lg:max-w-7xl lg:grid-cols-12 lg:gap-x-8",children:[(0,a.jsx)(tK,{productReviews:n}),(0,a.jsxs)("div",{className:"mt-16 lg:col-span-7 lg:col-start-6 lg:mt-0",children:[t&&(0,a.jsx)(tH,{onSubmit:async e=>{let{title:n,review:a,rating:s}=e;return await i({productId:t,productReview:{title:n,review:a,rating:10}})}}),(0,a.jsx)("h3",{className:"sr-only",children:d({id:"recent_reviews",defaultMessage:"Recent reviews"})}),(0,a.jsx)("div",{className:"flow-root",children:(0,a.jsx)("div",{className:"-my-3",children:n.map(e=>(0,a.jsx)(tB.A,{review:e},e._id))})})]})]})}),r>(null==n?void 0:n.length)?(0,a.jsx)(E.A,{text:d({id:"load-more-reviews",defaultMessage:"Load reviews"}),onClick:l}):null]})};var t0=n(85429);function t1(){let e=(0,L._)(["\n mutation CreateProductBundleItem(\n $productId: ID!\n $item: CreateProductBundleItemInput!\n ) {\n createProductBundleItem(productId: $productId, item: $item) {\n _id\n }\n }\n"]);return t1=function(){return e},e}let t2=(0,O.J1)(t1());var t5=n(83127);let t6=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(e=>{var t,n;let{_id:a,status:s,texts:l,media:r}=e;return{id:a,tag:s,...l,image:(null==r?void 0:r.length)?null==(n=r[0])||null==(t=n.file)?void 0:t.url:null}})},t4=e=>{let{productId:t,disabled:n=!1}=e,[l,r]=(0,w.useState)(""),{createProductBundleItem:i}=(()=>{let[e]=(0,K.n)(t2);return{createProductBundleItem:async t=>{let{productId:n,item:a}=t;return e({variables:{productId:n,item:a},refetchQueries:["ProductBundleItems"]})}}})(),{hasRole:d}=(0,N.A)(),{formatMessage:o}=(0,s.A)(),{products:u,loading:c}=(0,t5.A)({queryString:l,includeDrafts:!0,limit:50,sort:[{key:"created",value:tF.t4.Desc}]}),m=async e=>{let{productId:n,quantity:a}=e;return await i({item:{productId:n,quantity:a},productId:t}),{success:!0}},p=o({id:"bundle_item_added",defaultMessage:"Bundle product added successfully"}),x=(0,F.A)({disabled:n,submit:m,successMessage:p,onSubmitSuccess:()=>(x.formik.resetForm(),null),initialValues:{productId:"",quantity:1}});return(0,a.jsxs)(T.A,{form:x,children:[(0,a.jsx)(t0.A,{name:"productId",onFilter:r,queryString:l,label:o({id:"product",defaultMessage:"Product"}),data:t6(u),isLoading:c,className:"mt-1 w-full py-2 text-sm font-medium text-slate-500",required:!0}),(0,a.jsx)(q.A,{name:"quantity",type:"number",required:!0,label:o({id:"quantity",defaultMessage:"Quantity"})}),(0,a.jsx)(R.A,{hidden:!d("addProductBundleItem"),label:o({id:"submit",defaultMessage:"Submit"}),className:"mt-2"})]})};var t3=n(49666);function t8(){let e=(0,L._)(["\n query ProductBundleItems($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on BundleProduct {\n bundleItems {\n product {\n ...ProductBriefFragment\n }\n quantity\n }\n }\n }\n }\n ","\n"]);return t8=function(){return e},e}let t9=(0,O.J1)(t8(),t3.A),t7=function(){var e;let{productId:t=null,slug:n=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=(0,ey.id)(n),{data:s,loading:l,error:r}=(0,U.I)(t9,{skip:!t&&!a,variables:{productId:t||a}});return{bundleItems:(null==s||null==(e=s.product)?void 0:e.bundleItems)||[],loading:l,error:r}};function ne(){let e=(0,L._)(["\n mutation RemoveBundleItem($productId: ID!, $index: Int!) {\n removeBundleItem(productId: $productId, index: $index) {\n _id\n }\n }\n"]);return ne=function(){return e},e}let nt=(0,O.J1)(ne());var nn=n(64241),na=n(13484);let ns=e=>{var t,n,s,l,r,i,d;let{item:o,onDelete:u,index:c}=e,{product:m,quantity:p}=o;return(0,a.jsxs)("div",{className:"group flex w-full items-center justify-between border-b border-slate-200 dark:border-slate-700 hover:border-slate-300 dark:hover:border-slate-600 hover:bg-slate-50/80 dark:hover:bg-slate-700/50 transition-all duration-200 ease-in-out hover:shadow-sm last:border-none",children:[(0,a.jsxs)("div",{className:"flex w-full items-center space-x-6 py-4",children:[(null==(t=m.media)?void 0:t.length)?(0,a.jsx)("div",{className:"flex w-20 flex-col items-center",children:(0,a.jsx)("div",{className:"relative m-1 mr-2 mt-1 flex items-center justify-center rounded-full ",children:(0,a.jsx)(nn.A,{className:"mx-auto w-auto",src:null==(s=m.media[0])||null==(n=s.file)?void 0:n.url,width:160,height:100,alt:(null==m||null==(l=m.texts)?void 0:l.title)||(null==m||null==(r=m.texts)?void 0:r.subtitle)})})}):(0,a.jsx)(na.A,{className:"h-10 w-10"}),(0,a.jsxs)("div",{className:"shrink grow basis-1/2",children:[(0,a.jsx)("h3",{className:"text-lg text-slate-800 dark:text-slate-200",children:null==m||null==(i=m.texts)?void 0:i.title}),(0,a.jsx)("p",{className:"text-xs text-slate-600 dark:text-slate-200",children:null==m||null==(d=m.texts)?void 0:d.subtitle})]}),(0,a.jsx)("div",{className:"ml-auto",children:(0,a.jsx)(tu.A,{text:p,color:"slate",square:!0})})]}),(0,a.jsx)(tI.A,{onDelete:()=>{u(c)},showDelete:!0})]})},nl=e=>{let{productId:t}=e,{formatMessage:n}=(0,s.A)(),{setModal:r}=(0,eg.A)(),{bundleItems:d,loading:o}=t7({productId:t}),{removeBundleItem:u}=(()=>{let[e]=(0,K.n)(nt);return{removeBundleItem:async t=>{let{productId:n,index:a}=t;return e({variables:{productId:n,index:a},refetchQueries:["ProductBundleItems"]})}}})(),c=async e=>{await r((0,a.jsx)(ef.A,{onCancelClick:async()=>r(""),message:n({id:"delete_bundle_item_confirmation",defaultMessage:"This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this bundle item? "}),onOkClick:async()=>{r(""),await u({productId:t,index:e}),l.oR.success(n({id:"bundle_item_deleted",defaultMessage:"Bundle item deleted successfully"}))},okText:n({id:"delete_bundle_item",defaultMessage:"Delete item"})}))};return o?(0,a.jsx)(i.A,{}):d.length?(0,a.jsx)(a.Fragment,{children:d.map((e,t)=>(0,a.jsx)(ns,{index:t,item:e,onDelete:c},e.product._id))}):(0,a.jsx)(eM.A,{message:n({id:"bundle",defaultMessage:"Bundle product"})})},nr=e=>{let{productId:t,disabled:n=!1}=e;return(0,a.jsx)("div",{className:"mt-6 rounded-md",children:(0,a.jsxs)("div",{className:"lg:grid lg:grid-cols-9",children:[(0,a.jsx)("div",{className:"mb-5 lg:col-span-4 lg:pr-5",children:(0,a.jsx)(t4,{productId:t,disabled:n})}),(0,a.jsx)("div",{className:"col-span-5 ml-auto rounded-md bg-white dark:bg-slate-800 px-8 shadow-md dark:shadow-none lg:w-full",children:(0,a.jsx)("div",{className:"py-4",children:(0,a.jsx)(nl,{productId:t})})})]})})};var ni=n(18061),nd=n(73849),no=n(73425),nu=n(60101);function nc(){let e=(0,L._)(["\n fragment ProductAssignmentFragment on ProductVariationAssignment {\n _id\n vectors {\n _id\n option {\n _id\n value\n texts {\n _id\n title\n subtitle\n }\n }\n variation {\n _id\n key\n texts {\n _id\n locale\n title\n }\n }\n }\n product {\n _id\n texts {\n _id\n title\n slug\n subtitle\n }\n }\n }\n"]);return nc=function(){return e},e}let nm=(0,O.J1)(nc());function np(){let e=(0,L._)(["\n query ProductAssignments($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on ConfigurableProduct {\n texts {\n _id\n subtitle\n slug\n title\n }\n variations {\n _id\n key\n texts {\n _id\n title\n }\n options {\n _id\n value\n texts {\n _id\n title\n }\n }\n }\n assignments(includeInactive: true) {\n ...ProductAssignmentFragment\n }\n }\n }\n }\n ","\n"]);return np=function(){return e},e}let nx=(0,O.J1)(np(),nm),nf=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{data:a,loading:s,error:l}=(0,U.I)(nx,{skip:!e&&!n,variables:{productId:e||n}});return{product:null==a?void 0:a.product,loading:s,error:l}};var ng=n(75347);let nh=(e,t,n)=>{let a=e[n],s=[];return(null==a||a.values.filter(e=>e.length).forEach(e=>{let n={};n[a.key]=e,t.length>0?t.forEach(e=>{s.push({...e,...n})}):s.push(n)}),e.length>n+1)?nh(e,s,n+1):Array.from(new Set(s.map(e=>JSON.stringify(e)))).map(e=>JSON.parse(e))},nv=e=>{let{_id:t,texts:n}=e;return{value:t,label:null==n?void 0:n.title}};var nb=n(81773),nj=n(48463),ny=n(90744);function nw(){let e=(0,L._)(["\n mutation AddProductAssignment(\n $proxyId: ID!\n $productId: ID!\n $vectors: [ProductAssignmentVectorInput!]!\n ) {\n addProductAssignment(\n proxyId: $proxyId\n productId: $productId\n vectors: $vectors\n ) {\n _id\n }\n }\n"]);return nw=function(){return e},e}let n_=(0,O.J1)(nw()),nN=()=>{let[e]=(0,K.n)(n_);return{addProductAssignment:async t=>{let{productId:n,proxyId:a,vectors:s}=t;return e({variables:{productId:n,proxyId:a,vectors:s},refetchQueries:["ProductAssignments"]})}}};function nk(){let e=(0,L._)(["\n mutation RemoveProductAssignment(\n $proxyId: ID!\n $vectors: [ProductAssignmentVectorInput!]!\n ) {\n removeProductAssignment(proxyId: $proxyId, vectors: $vectors) {\n _id\n }\n }\n"]);return nk=function(){return e},e}let nI=(0,O.J1)(nk());var nA=n(48230),nP=n.n(nA),nM=n(27908),nC=n(86482);let n$=function(e){let{proxyProduct:t,vectors:n,onSuccess:a}=e,{selectedLocale:l}=(0,eu.A)(),{createProduct:r}=(0,nC.A)(),{addProductAssignment:i}=nN(),{formatMessage:d}=(0,s.A)();return async e=>{let{title:s,type:o}=e,u=[{title:s,slug:s.toLowerCase().replace(/\s+/g,"-"),locale:l}],{data:c}=await r({product:{type:o||no.W.SimpleProduct},texts:u}),m=null==c?void 0:c.createProduct,p=null==m?void 0:m._id;if(!p)throw Error(d({id:"product_creation_failed",defaultMessage:"Product creation failed"}));return await i({productId:p,proxyId:null==t?void 0:t._id,vectors:n}),null==a||a(m),{success:!0}}},nS=e=>{let{proxyProduct:t,vectors:n,onSuccess:l}=e,{formatMessage:r}=(0,s.A)(),i=n$({onSuccess:l,proxyProduct:t,vectors:n}),{hasRole:d}=(0,N.A)(),o=(0,w.useMemo)(()=>n.map(e=>{let{value:t}=e;return t}),[n]),u=(0,w.useMemo)(()=>{var e,n;let a=null!=(n=null==t||null==(e=t.texts)?void 0:e.title)?n:"";return"".concat(o.join("-")," ").concat(a).trim()},[o,t]),c=async e=>{let{title:t,type:n}=e;try{return await i({title:t,type:n}),{success:!0}}catch(e){return{success:!1,error:{message:null==e?void 0:e.message}}}},m=r({id:"product-scaffolded-success",defaultMessage:"Product scaffolded successfully"}),p=(0,F.A)({submit:c,successMessage:m,enableReinitialize:!0,initialValues:{title:u,type:no.W.SimpleProduct}});return(0,a.jsxs)(T.A,{className:"mt-3 rounded-md",form:p,children:[(0,a.jsxs)("div",{className:"p-5 pb-7 sm:max-w-full flex flex-col gap-3",children:[(0,a.jsx)(q.A,{name:"title",id:"title",label:r({id:"name",defaultMessage:"Name"}),required:!0,className:"block w-full max-w-full rounded-md border-slate-300 dark:border-slate-800 text-sm focus:ring-slate-800 sm:text-sm"}),(0,a.jsx)(D.A,{className:"mt-1 w-full",label:r({id:"type",defaultMessage:"Type"}),placeholder:r({id:"type",defaultMessage:"Type"}),required:!0,name:"type",options:Object.fromEntries(Object.entries(no.W).filter(e=>{let[,t]=e;return t!==no.W.ConfigurableProduct}))})]}),(0,a.jsx)("div",{className:"border-t border-t-slate-100 dark:border-t-slate-700 bg-slate-50 dark:bg-slate-900 p-5 text-right",children:(0,a.jsx)(R.A,{hidden:!d("addProduct"),label:r({id:"scaffold_product",defaultMessage:"Scaffold"})})})]})},nT=e=>{var t,n;let{columns:l,variationProduct:r,product:i,loading:d,disabled:o,proxyId:u,columnKeys:c}=e,{formatMessage:m}=(0,s.A)(),[p,x]=(0,w.useState)(""),{addProductAssignment:f}=nN(),{removeProductAssignment:g}=(()=>{let[e]=(0,K.n)(nI);return{removeProductAssignment:async t=>{let{proxyId:n,vectors:a}=t;return e({variables:{proxyId:n,vectors:a},refetchQueries:["ProductAssignments"]})}}})(),{hasRole:h}=(0,N.A)(),{setModal:v}=(0,eg.A)(),{products:b}=(0,t5.A)({queryString:p,limit:50,sort:[{key:"created",value:tF.t4.Desc}]}),j=(0,w.useMemo)(()=>l.map((e,t)=>({key:c[t],value:e})).filter(e=>{let{value:t}=e;return t}),[l,c]),y=(0,w.useCallback)(async e=>{let{value:t}=e;await f({proxyId:u,productId:t,vectors:j})},[j,f,u]),_=(0,w.useCallback)(async()=>{await v((0,a.jsx)(ef.A,{onCancelClick:async()=>v(""),message:m({id:"delete_product_assignment",defaultMessage:"This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this assignment? "}),onOkClick:async()=>{v(""),await g({proxyId:u,vectors:j})},okText:m({id:"delete_variation_assignment",defaultMessage:"Delete assignment"})}))},[u,j,m,v,g]),k=(0,w.useMemo)(()=>(0,ny.A)(200)(x),[]),I=!r&&(null==i||null==(t=i.variations)?void 0:t.length)!==(null==l?void 0:l.length),A=(0,w.useMemo)(()=>(null==b?void 0:b.map(nv).filter(e=>{let{value:t}=e;return t!==u}))||[],[b,u]),P=async()=>{await v((0,a.jsx)(nS,{proxyProduct:i,vectors:j,onSuccess:()=>{v(null)}}))};return(0,a.jsxs)(ng.A.Row,{children:[l.map((e,t)=>(0,a.jsx)(ng.A.Cell,{className:"font-medium",children:e},"".concat(e))),(0,a.jsx)(ng.A.Cell,{children:r?(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsx)(nP(),{href:"/products?slug=".concat((0,ey.Ay)(r)),children:(0,a.jsx)("span",{className:"text-green-700 dark:text-green-300 font-medium",children:null==r||null==(n=r.texts)?void 0:n.title})})}):I?(0,a.jsx)("div",{className:"mt-1 text-sm text-rose-600 italic",children:m({id:"assign_product_needs_variations",defaultMessage:"Please configure all variation options before assigning a product."})}):(0,a.jsx)("div",{className:"relative w-full",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"flex-1",children:(0,a.jsx)(nj.A,{name:"productId",placeholder:m({id:"search_product",defaultMessage:"Search product"}),isLoading:d,isDisabled:o,onChange:y,onInputChange:k,options:A,className:"mt-1 w-full py-2 text-sm font-medium text-slate-500"})}),h("addProduct")&&(0,a.jsx)(E.A,{onClick:P,children:(0,a.jsx)(nM.A,{className:"h-5 w-5"})})]})})}),(0,a.jsx)(ng.A.Cell,{children:r&&r._id&&(0,a.jsx)(nb.A,{onClick:_})})]})};var nV=n(91439);let nD=e=>{let{proxyId:t,disabled:n=!1}=e,{formatMessage:l}=(0,s.A)(),{product:r,loading:i}=nf({productId:t}),d=r&&(null==r?void 0:r.variations)||[],o=r&&r.assignments||[],u=(0,w.useMemo)(()=>d.filter(e=>{let{options:t}=e;return t.length}).map(e=>{let{key:t}=e;return t}),[d]),c=(0,w.useMemo)(()=>d.map(e=>{let{key:t,options:n}=e;return{values:null==n?void 0:n.map(e=>e.value),key:t}}),[d]),m=(0,w.useMemo)(()=>{let e=c.filter(e=>{let{values:t}=e;return null==t?void 0:t.length});return e.length>0?nh(e,[],0):[]},[c]),p=(0,w.useMemo)(()=>o.map(e=>{let t={};return u.forEach(n=>{var a,s;let l=e.vectors.find(e=>{var t;return(null==(t=e.variation)?void 0:t.key)===n});t[n]=null!=(s=null==l||null==(a=l.option)?void 0:a.value)?s:""}),t}),[o,u]),x=(0,w.useMemo)(()=>{let e=[...m,...p],t=new Set;return e.filter(e=>{let n=Object.values(e).join("::");return!t.has(n)&&(t.add(n),!0)})},[m,p]),f=(0,w.useMemo)(()=>o.map(e=>{let t={};return e.vectors.forEach(e=>{var n,a;(null==e||null==(n=e.variation)?void 0:n.key)&&(null==e||null==(a=e.option)?void 0:a.value)&&(t[e.variation.key]=e.option.value)}),{keys:t,product:e.product}}),[o]),g=(0,w.useMemo)(()=>x.map(e=>{let t=f.find(t=>{let{keys:n}=t;return Object.entries(n).every(t=>{let[n,a]=t;return e[n]===a})});return{_id:Object.values(e).join("::"),product:null==t?void 0:t.product,columns:Object.values(e),columnsText:Object.values(e)}}),[x,f]),h=(0,w.useMemo)(()=>d.length>0,[d]),v=(0,w.useMemo)(()=>d.some(e=>e.options&&e.options.length>0),[d]);return(0,a.jsxs)(k.A,{children:[(0,a.jsx)(nV.A,{title:l({id:"product_assignments_explanation_title",defaultMessage:"About Product Assignments"}),description:l({id:"product_assignments_explanation_text",defaultMessage:"Product assignments allow you to link specific products to each unique combination of variation options. For example, if you have a t-shirt with 'Size' and 'Color' variations, you can assign different product SKUs to each combination like 'Large + Red' or 'Small + Blue'. This is useful for managing inventory, pricing, and product details for each specific variant."})}),!h&&(0,a.jsxs)("div",{className:"text-center py-8",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-gray-100 dark:bg-gray-800 mb-4",children:(0,a.jsx)(nu.A,{className:"w-8 h-8 text-gray-400"})}),(0,a.jsx)("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-2",children:l({id:"no_variations_configured",defaultMessage:"No variations configured yet. Please add variations and their options in the Variations tab first."})})]}),h&&v&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(eo.A,{messageKey:"assignment_matrix_help",defaultMessage:"Each row represents a unique combination of your product variations. Assign a specific product to each combination to create a complete product catalog."})}),(0,a.jsxs)(ng.A,{children:[(0,a.jsxs)(ng.A.Row,{children:[u.map(e=>{var t,n;return(0,a.jsx)(ng.A.Cell,{className:"font-semibold bg-gray-50 dark:bg-gray-800",children:(null==(n=d.find(t=>t.key===e))||null==(t=n.texts)?void 0:t.title)||e},e)}),(0,a.jsx)(ng.A.Cell,{className:"font-semibold bg-gray-50 dark:bg-gray-800",children:l({id:"assigned_product_column_header",defaultMessage:"Assigned Product"})}),(0,a.jsx)(ng.A.Cell,{className:"font-semibold bg-gray-50 dark:bg-gray-800",children:l({id:"actions_column_header",defaultMessage:"Actions"})})]}),g.length>0&&g.map(e=>{let{_id:s,columns:l,product:d}=e;return(0,a.jsx)(nT,{columns:l,disabled:n,loading:i,product:r,variationProduct:d,columnKeys:u,proxyId:t},s)})]})]}),h&&!v&&(0,a.jsxs)("div",{className:"text-center py-8",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-yellow-100 dark:bg-yellow-900/30 mb-4",children:(0,a.jsx)(nu.A,{className:"w-8 h-8 text-yellow-600 dark:text-yellow-400"})}),(0,a.jsx)("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-2",children:l({id:"assign_product_needs_variations",defaultMessage:"Please configure all variation options before assigning a product."})}),(0,a.jsx)("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:l({id:"assignment_matrix_help",defaultMessage:"Each row represents a unique combination of your product variations. Assign a specific product to each combination to create a complete product catalog."})})]})]})};function nR(){let e=(0,L._)(["\n query ProductTokenization($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on TokenizedProduct {\n contractConfiguration {\n tokenId\n supply\n }\n contractStandard\n contractAddress\n }\n }\n }\n"]);return nR=function(){return e},e}let nq=(0,O.J1)(nR()),nE=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{data:a,loading:s,error:l}=(0,U.I)(nq,{skip:!e&&!t,variables:{productId:e||n}});return{product:null==a?void 0:a.product,loading:s,error:l}};function nF(){let e=(0,L._)(['\n query SmartContractStandards {\n smartContractStandards: __type(name: "SmartContractStandard") {\n options: enumValues {\n value: name\n label: name\n }\n }\n }\n']);return nF=function(){return e},e}let nJ=(0,O.J1)(nF());function nL(){let e=(0,L._)(["\n mutation UpdateProductTokenization(\n $productId: ID!\n $tokenization: UpdateProductTokenizationInput!\n ) {\n updateProductTokenization(\n productId: $productId\n tokenization: $tokenization\n ) {\n _id\n }\n }\n"]);return nL=function(){return e},e}let nO=(0,O.J1)(nL()),nU=e=>{let{productId:t,disabled:n=!1}=e,{formatMessage:l}=(0,s.A)(),{hasRole:r}=(0,N.A)(),{smartContractStandards:i}=(()=>{var e;let{data:t,loading:n,error:a}=(0,U.I)(nJ);return{smartContractStandards:(null==t||null==(e=t.smartContractStandards)?void 0:e.options)||[],loading:n,error:a}})(),{updateProductTokenization:d}=(()=>{let[e]=(0,K.n)(nO);return{updateProductTokenization:async t=>{let{productId:n,tokenization:{contractAddress:a,contractStandard:s,tokenId:l,supply:r}}=t;return e({variables:{productId:n,tokenization:{contractAddress:a,contractStandard:s,tokenId:l,supply:parseInt(r,10)}},refetchQueries:["Product","Products"]})}}})(),{product:o,loading:u}=nE({productId:t}),c=async e=>{let{contractAddress:n,contractStandard:a,tokenId:s,supply:l}=e;return await d({productId:t,tokenization:{contractAddress:n,contractStandard:a,tokenId:s||"",supply:l}}),{success:!0}},m=l({id:"token_updated",defaultMessage:"Token update successfully!"}),p=(0,F.A)({disabled:n,submit:c,successMessage:m,initialValues:{contractAddress:"",contractStandard:"",tokenId:"",supply:""}});return(0,w.useEffect)(()=>{var e,t;u||p.formik.setValues({contractAddress:(null==o?void 0:o.contractAddress)||"",contractStandard:(null==o?void 0:o.contractStandard)||"",tokenId:(null==o||null==(e=o.contractConfiguration)?void 0:e.tokenId)||"",supply:(null==o||null==(t=o.contractConfiguration)?void 0:t.supply)||""})},[u]),(0,a.jsx)(er.A,{documentationLabel:l({id:"texts",defaultMessage:"Texts"}),className:"mt-2 lg:mt-5",documentation:(0,a.jsx)(ee.A,{id:"tokenized_product_text_form_description",defaultMessage:"<b>Contract standards </b> <ol> <dt><b> ERC721 </b></dt> <dd> Buying multiple Products leads to multiple Tokens (make sure to set the tokenId to 0 to make it auto generate new id's) </dd> <dt> <b> ERC1155 </b></dt> <dd> Buying multiple Products leads to a new token with balance 3 of token with tokenId assigned </dd> <dt> <b> Contract address </b></dt> <dd> Address of a token on a given network </dd> </ol>",values:{ol:e=>(0,a.jsxs)("ol",{children:[e," "]}),dt:e=>(0,a.jsxs)("dt",{className:"bold",children:[e," "]}),dd:e=>(0,a.jsxs)("dd",{children:[e," "]}),b:e=>(0,a.jsxs)("b",{children:[e," "]})}}),children:(0,a.jsx)(k.A,{children:(0,a.jsxs)(T.A,{form:p,children:[(0,a.jsxs)("div",{className:"p-5 pb-7 sm:max-w-full flex flex-col gap-y-5",children:[(0,a.jsx)(D.A,{className:"w-full",label:l({id:"contract-standard",defaultMessage:"Contract standard"}),placeholder:l({id:"contract-standard",defaultMessage:"Contract standard"}),required:!0,name:"contractStandard",options:(0,I.A)(i,"label","value")}),(0,a.jsx)(q.A,{name:"contractAddress",id:"contractAddress",label:l({id:"contract-address-label",defaultMessage:"Contract Address"}),placeholder:l({id:"contract-address-label",defaultMessage:"Contract Address"}),required:!0,className:"block w-full max-w-full rounded-md border-slate-300 dark:border-slate-800 text-sm focus:ring-slate-800 sm:text-sm"}),(0,a.jsx)(q.A,{name:"supply",id:"supply",type:"number",label:l({id:"token-supply",defaultMessage:"Supply"}),placeholder:l({id:"token-supply",defaultMessage:"Supply"}),required:!0,className:"block w-full max-w-full rounded-md border-slate-300 dark:border-slate-800 text-sm focus:ring-slate-800 sm:text-sm"}),(0,a.jsx)(q.A,{name:"tokenId",id:"tokenId",label:l({id:"token-id-label",defaultMessage:"Token ID"}),placeholder:l({id:"token-id-label",defaultMessage:"Token ID"}),className:"block w-full max-w-full rounded-md border-slate-300 dark:border-slate-800 text-sm focus:ring-slate-800 sm:text-sm"})]}),(0,a.jsx)("div",{className:"space-y-6 border-t border-t-slate-100 dark:border-t-slate-700 bg-slate-50 dark:bg-slate-900 p-5 text-right",children:(0,a.jsx)(R.A,{hidden:!r("editProduct"),label:l({id:"update_token",defaultMessage:"Update token"})})})]})})})};var nB=n(27430),nQ=n(50272);let nz=e=>{let{id:t,selectedView:n="",disableAll:s=!1,...l}=e;return"texts"===n?(0,a.jsx)(y.A,{children:(0,a.jsx)(ec,{productId:t,disabled:s})}):"media"===n?(0,a.jsx)(nQ.A,{children:(0,a.jsx)(y.A,{children:(0,a.jsx)(eL,{productId:t})})}):"commerce"===n?(0,a.jsx)(Z,{productId:t,disabled:s}):"supply"===n?(0,a.jsx)(e4,{productId:t,disabled:s}):"warehousing"===n?(0,a.jsx)(tq,{productId:t,disabled:s}):"variations"===n?(0,a.jsx)(y.A,{children:(0,a.jsx)(t$,{productId:t,disabled:s})}):"bundled_products"===n?(0,a.jsx)(nr,{productId:t,disabled:s}):"subscriptions"===n?(0,a.jsx)(eX,{productId:t,disabled:s}):"reviews"===n?(0,a.jsx)(tZ,{productId:t}):"assignments"===n?(0,a.jsx)(nD,{proxyId:t,disabled:s}):"token"===n?(0,a.jsx)(nU,{productId:t,disabled:s}):"extended"===n?(0,a.jsx)(nB.A,{data:l}):(0,a.jsx)(y.A,{children:(0,a.jsx)(ec,{productId:t})})},nW=e=>{let{product:t,extendedData:n={}}=e,{formatMessage:l}=(0,s.A)(),{hasRole:r}=(0,N.A)(),{updateProduct:i}=(0,nd.A)(),{__typename:d}=t||{},o=[{id:"texts",title:l({id:"general_text",defaultMessage:"Text"}),Icon:(0,a.jsx)(u.A,{className:"h-5 w-5"})},{id:"media",title:l({id:"media",defaultMessage:"Media"}),Icon:(0,a.jsx)(c.A,{className:"h-5 w-5"})},d!==no.W.ConfigurableProduct&&d!==no.W.BundleProduct&&{id:"commerce",title:l({id:"commerce",defaultMessage:"Commerce"}),Icon:(0,a.jsx)(m.A,{className:"h-5 w-5"})},d===no.W.SimpleProduct&&{id:"supply",title:l({id:"supply",defaultMessage:"Supply"}),Icon:(0,a.jsx)(p.A,{className:"h-5 w-5"})},d===no.W.SimpleProduct&&{id:"warehousing",title:l({id:"warehousing",defaultMessage:"Warehousing"}),Icon:(0,a.jsx)(x.A,{className:"h-5 w-5"})},d===no.W.ConfigurableProduct&&{id:"variations",title:l({id:"variations",defaultMessage:"Variations"}),Icon:(0,a.jsx)(f.A,{className:"h-5 w-5"})},d===no.W.BundleProduct&&{id:"bundled_products",title:l({id:"bundled_items",defaultMessage:"Bundled items"}),Icon:(0,a.jsx)(g.A,{className:"h-5 w-5"})},d===no.W.PlanProduct&&{id:"subscriptions",title:l({id:"subscriptions",defaultMessage:"Subscriptions"}),Icon:(0,a.jsx)(h.A,{className:"h-5 w-5"})},d===no.W.ConfigurableProduct&&{id:"assignments",title:l({id:"assignments",defaultMessage:"Assignments"}),Icon:(0,a.jsx)(v.A,{className:"h-5 w-5"})},d===no.W.TokenizedProduct&&{id:"token",title:l({id:"token",defaultMessage:"Token"}),Icon:(0,a.jsx)(v.A,{className:"h-5 w-5"})},{id:"reviews",title:l({id:"reviews",defaultMessage:"Reviews"}),Icon:(0,a.jsx)(b.A,{className:"h-5 w-5"})},null!==n&&{id:"extended",title:l({id:"extended-fields",defaultMessage:"Extended"}),Icon:(0,a.jsx)(j.A,{className:"h-5 w-5"})}].filter(e=>e),y=async e=>{let{tags:n}=e;return await i({productId:null==t?void 0:t._id,product:{tags:n}}),!0};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mt-5 flex flex-wrap items-center justify-between gap-10",children:(0,a.jsx)(ni.A,{defaultValue:null==t?void 0:t.tags,onSubmit:y,enableEdit:r("editProduct")})}),(0,a.jsx)(tE.A,{tabItems:o,defaultTab:"texts",children:(0,a.jsx)(nz,{disableAll:(null==t?void 0:t.status)===tF.t_.Deleted,id:null==t?void 0:t._id,...n})})]})},nK=e=>{let{media:t=[],onEditMedia:n}=e;return(0,a.jsx)("div",{className:"my-5",children:(0,a.jsx)("div",{className:"flex gap-3 overflow-x-auto",children:t.map(e=>{var t,s,l,r;return(0,a.jsx)("div",{className:"relative flex-shrink-0 group",children:(0,a.jsx)("div",{className:"w-16 h-16 bg-slate-100 dark:bg-slate-800 rounded-lg overflow-hidden cursor-pointer border border-slate-200 dark:border-slate-700",onClick:()=>{var t;return t=e._id,void(n&&n(t))},children:(0,a.jsx)(nn.A,{src:null==e||null==(t=e.file)?void 0:t.url,alt:(null==(l=e.texts)||null==(s=l[0])?void 0:s.title)||(null==e||null==(r=e.file)?void 0:r.url),width:128,height:128,className:"w-full h-full object-cover"})})},e._id)})})})};function nG(){let e=(0,L._)(["\n query Product($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n ...ProductDetailFragment\n ","\n texts {\n _id\n title\n subtitle\n description\n }\n ... on SimpleProduct {\n texts {\n _id\n title\n subtitle\n description\n }\n proxies {\n __typename\n }\n }\n ... on ConfigurableProduct {\n texts {\n _id\n title\n subtitle\n description\n }\n }\n ... on PlanProduct {\n texts {\n _id\n title\n subtitle\n description\n }\n proxies {\n __typename\n }\n }\n ... on BundleProduct {\n texts {\n _id\n title\n subtitle\n description\n }\n proxies {\n __typename\n }\n }\n }\n }\n ","\n"]);return nG=function(){return e},e}let nH=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,O.J1)(nG(),e,G.A)},nX=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{customProperties:a,hydrateFragment:s}=(0,et.A)(),{data:l,loading:r,error:i}=(0,U.I)(nH(null==a?void 0:a.Product),{skip:!e&&!n,variables:{productId:e||n}}),d=s(null==a?void 0:a.Product,null==l?void 0:l.product);return{product:null==l?void 0:l.product,loading:r,error:i,extendedData:d}};var nY=n(32250);function nZ(){let e=(0,L._)(["\n mutation PublishProduct($productId: ID!) {\n publishProduct(productId: $productId) {\n ...ProductDetailFragment\n }\n }\n ","\n"]);return nZ=function(){return e},e}let n0=(0,O.J1)(nZ(),G.A);function n1(){let e=(0,L._)(["\n mutation UnpublishProduct($productId: ID!) {\n unpublishProduct(productId: $productId) {\n ...ProductDetailFragment\n }\n }\n ","\n"]);return n1=function(){return e},e}let n2=(0,O.J1)(n1(),G.A);var n5=n(37986),n6=n(57262),n4=n(64856),n3=n(89099),n8=n(88062),n9=n(86029);let n7=e=>{var t,n,u;let{slug:c}=e,{formatMessage:m}=(0,s.A)(),{formatDateTime:p}=(0,o.A)(),{hasRole:x}=(0,N.A)(),{publishProduct:f}=(()=>{let[e]=(0,K.n)(n0);return{publishProduct:async t=>{let{productId:n}=t;return e({variables:{productId:n},refetchQueries:["Product","ShopStatus"],awaitRefetchQueries:!0})}}})(),{unPublishProduct:g}=(()=>{let[e]=(0,K.n)(n2);return{unPublishProduct:async t=>{let{productId:n}=t;return e({variables:{productId:n},refetchQueries:["Product","ShopStatus"],awaitRefetchQueries:!0})}}})(),{removeProduct:h}=(0,n6.A)(),{updateProduct:v}=(0,nd.A)(),{setModal:b}=(0,eg.A)(),j=(0,n3.useRouter)(),{push:y}=(0,n3.useRouter)(),{product:_,loading:k,error:I,extendedData:A}=nX({slug:c}),P=(null==_?void 0:_.status)||"DRAFT",M=(0,w.useMemo)(()=>[{id:"published",title:m({id:"published",defaultMessage:"Published"}),description:m({id:"publish_product_description",defaultMessage:"Product will be searchable and is available for orders"}),current:"ACTIVE"===P,selectedTitle:m({id:"published",defaultMessage:"Published"}),onClick:async()=>{try{await f({productId:null==_?void 0:_._id}),l.oR.success(m({id:"product_published",defaultMessage:"Published successfully "}))}catch(t){console.error("Failed to publish product:",t);let e=(null==t?void 0:t.message)||"Unknown error";l.oR.error("".concat(m({id:"product_publish_error",defaultMessage:"Failed to publish product"}),": ").concat(e))}},bgColor:"green"},{id:"draft",title:m({id:"draft",defaultMessage:"Draft"}),description:m({id:"draft_product_description",defaultMessage:"Product will not be discoverable and can not be orderose"}),current:"DRAFT"===P,selectedTitle:m({id:"not_published",defaultMessage:"Not published"}),bgColor:"amber",disable:"ACTIVE"===P&&!x("unpublishProduct"),onClick:async()=>{if(x("unpublishProduct")||x("publishProduct"))try{await g({productId:null==_?void 0:_._id}),l.oR.success(m({id:"product_drafted",defaultMessage:"Drafted successfully "}))}catch(t){console.error("Failed to unpublish product:",t);let e=(null==t?void 0:t.message)||"Unknown error";l.oR.error("".concat(m({id:"product_unpublish_error",defaultMessage:"Failed to unpublish product"}),": ").concat(e))}}}],[_]);if(I)return console.error("Error loading product:",I),(0,a.jsx)("div",{className:"mt-5 max-w-full",children:(0,a.jsx)("div",{className:"text-center py-8",children:(0,a.jsx)("p",{className:"text-rose-600 dark:text-rose-400",children:m({id:"product_load_error",defaultMessage:"Failed to load product"})})})});let C=async e=>{e.target.value&&await v({productId:null==_?void 0:_._id,product:{sequence:parseInt(e.target.value,10)}})},$=async()=>{var e;if("proxies"in _&&(null==(e=_.proxies)?void 0:e.length))return void await b((0,a.jsx)(n9.A,{headerText:m({id:"product_delete_blocked_header",defaultMessage:"Remove links before deleting"}),message:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("p",{children:m({id:"product_delete_blocked_intro",defaultMessage:"This product is linked to the following product types:"})}),(0,a.jsx)("ul",{className:"list-disc list-inside text-sm text-slate-700 dark:text-slate-300",children:"proxies"in _&&_.proxies.map((e,t)=>{let{__typename:n}=e;return(0,a.jsx)("li",{children:n.replace("Product","")},t)})}),(0,a.jsx)("p",{children:m({id:"product_delete_blocked_action",defaultMessage:"Please unlink it before trying to delete it."})})]}),buttonText:m({id:"ok",defaultMessage:"Ok"}),onOkClick:()=>b(null)}));await b((0,a.jsx)(ef.A,{onCancelClick:()=>b(""),message:m({id:"delete_product_confirmation",defaultMessage:"This action might cause inconsistencies with other data that relates to it and it is nonreversible. Are you sure you want to delete this product?"}),onOkClick:async()=>{b("");try{await h({productId:null==_?void 0:_._id}),l.oR.success(m({id:"product_deleted_success",defaultMessage:"Deleted successfully"})),j.push("/products")}catch(e){await b((0,a.jsx)(ef.A,{onCancelClick:()=>b(""),headerText:m({id:"error",defaultMessage:"Error"}),message:e instanceof n4.A?e.message:e,icon:(0,a.jsx)("div",{className:"mx-auto flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-rose-100 dark:bg-rose-900/30 sm:mx-0 sm:h-10 sm:w-10",children:(0,a.jsx)(n8.A,{className:"h-6 w-6 text-rose-600 dark:text-rose-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"})}),okText:m({id:"ok",defaultMessage:"Ok"}),onOkClick:async()=>{b("")}}))}}}))};return _||k?k?(0,a.jsx)(i.A,{}):(0,a.jsxs)("div",{className:"mt-5 max-w-full",children:[(0,a.jsx)(r.A,{routeName:c,depth:3,currentPageTitle:null==_||null==(t=_.texts)?void 0:t.title}),"DELETED"===P&&(0,a.jsx)("div",{className:"mb-4 rounded-md border border-rose-300 bg-rose-50 p-4 text-sm text-rose-800 dark:border-rose-700 dark:bg-rose-900/30 dark:text-rose-300",children:m({id:"product_deleted_notice",defaultMessage:"This product has been deleted and is no longer active. Some actions may be restricted."})}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"items-center flex-wrap flex gap-5 min-w-full justify-between",children:[(0,a.jsx)(d.A,{headerText:(0,a.jsxs)(a.Fragment,{children:[(null==_||null==(n=_.texts)?void 0:n.title)||"Untitled Product","DELETED"===P&&(0,a.jsx)("span",{className:"ml-3 rounded bg-rose-100 px-2 py-1 text-xs font-semibold text-rose-800 dark:bg-rose-900/40 dark:text-rose-300",children:m({id:"deleted_status",defaultMessage:"Deleted"})})]}),title:"".concat((null==_||null==(u=_.texts)?void 0:u.title)||"Product"," (").concat(null==_?void 0:_._id,")")}),(0,a.jsxs)("div",{className:"publish-and-order flex flex-wrap gap-3",children:[P&&"DELETED"!==P&&(0,a.jsx)(nY.A,{options:M,type:m({id:"product",defaultMessage:"Product"})}),(0,a.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-md dark:border-slate-600 px-4 py-2 text-sm font-medium leading-5 shadow-xs bg-white dark:bg-slate-800 h-[38px]",children:[(0,a.jsx)("label",{htmlFor:"sequence-input",className:"text-slate-700 dark:text-slate-200 font-medium cursor-pointer",children:m({id:"sequence",defaultMessage:"Display Order"})}),(0,a.jsx)("input",{type:"number",id:"sequence-input",className:"text-center w-12 bg-transparent border border-slate-300 dark:border-slate-600 rounded focus:ring-2 focus:ring-slate-800 dark:focus:ring-slate-400 focus:border-transparent focus:outline-none text-sm font-semibold text-slate-900 dark:text-slate-300 px-2 py-1 transition-all",defaultValue:null==_?void 0:_.sequence,onBlur:C})]}),"DRAFT"===P&&x("removeProduct")&&(0,a.jsx)(n5.A,{onClick:$})]})]}),(0,a.jsxs)("div",{className:"mt-8 flex flex-wrap gap-3 gap-x-10 text-slate-600 dark:text-slate-400",children:[(0,a.jsxs)("div",{className:"flex flex-col items-baseline gap-0",children:[(0,a.jsx)("span",{className:"mr-2 text-xs text-slate-500 dark:text-slate-500",children:"ID:"}),(0,a.jsx)("span",{className:"text-sm font-mono",children:null==_?void 0:_._id})]}),(0,a.jsxs)("div",{className:"flex flex-col items-baseline gap-0",children:[(0,a.jsx)("span",{className:"text-xs text-slate-500 dark:text-slate-500",children:"Type:"}),(0,a.jsx)("p",{className:"text-sm font-mono",children:null==_?void 0:_.__typename})]}),(null==_?void 0:_.created)&&(0,a.jsxs)("div",{className:"flex flex-col items-baseline gap-0",children:[(0,a.jsxs)("span",{className:"text-xs text-slate-500 dark:text-slate-500",children:[m({id:"created",defaultMessage:"Created"}),":"]}),(0,a.jsx)("span",{className:"text-sm font-mono",children:p(_.created,{dateStyle:"medium",timeStyle:"short"})})]}),(null==_?void 0:_.updated)&&(0,a.jsxs)("div",{className:"flex flex-col items-baseline gap-0",children:[(0,a.jsxs)("span",{className:"text-xs text-slate-500 dark:text-slate-500",children:[m({id:"updated",defaultMessage:"Updated"}),":"]}),(0,a.jsx)("span",{className:"text-sm font-mono",children:p(_.updated,{dateStyle:"medium",timeStyle:"short"})})]}),(null==_?void 0:_.published)&&(0,a.jsxs)("div",{className:"flex flex-col items-baseline gap-0",children:[(0,a.jsxs)("span",{className:"text-xs text-slate-500 dark:text-slate-500",children:[m({id:"published",defaultMessage:"Published"}),":"]}),(0,a.jsx)("span",{className:"text-sm font-mono",children:p(_.published,{dateStyle:"medium",timeStyle:"short"})})]})]})]}),(0,a.jsx)(nK,{productId:null==_?void 0:_._id,media:(null==_?void 0:_.media)||[],onEditMedia:e=>{j.push({pathname:j.pathname,query:{...j.query,tab:"media"}},void 0,{shallow:!0})},canEdit:x("editProduct")}),(0,a.jsx)(nW,{product:_,extendedData:A})]}):(y("/404"),null)}},37182:(e,t,n)=>{n.d(t,{A:()=>l});var a=n(96427);function s(){let e=(0,a._)(["\n fragment CurrencyFragment on Currency {\n _id\n isoCode\n isActive\n contractAddress\n decimals\n }\n"]);return s=function(){return e},e}let l=(0,n(79350).J1)(s())},39799:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(96427),s=n(79350),l=n(53588),r=n(11542);function i(){let e=(0,a._)(["\n mutation UpdateProductTexts($productId: ID!, $texts: [ProductTextInput!]!) {\n updateProductTexts(productId: $productId, texts: $texts) {\n ...ProductTextsFragment\n }\n }\n ","\n"]);return i=function(){return e},e}let d=(0,s.J1)(i(),r.A),o=()=>{let[e]=(0,l.n)(d);return{updateProductTexts:async t=>{let{productId:n,texts:a}=t;return e({variables:{productId:n,texts:a},refetchQueries:["TranslatedProductTexts"]})}}}},48676:(e,t,n)=>{n.d(t,{A:()=>r});var a=n(37876);n(14232);var s=n(32606),l=n(77742);let r=e=>{let{messageKey:t,defaultMessage:n,values:r,className:i="",showIcon:d=!0}=e,{formatMessage:o}=(0,l.A)(),u=o({id:t,defaultMessage:n},r);return u?(0,a.jsxs)("div",{className:"flex items-start space-x-1 text-sm text-slate-600 dark:text-slate-400 ".concat(i),children:[d&&(0,a.jsx)(s.A,{className:"h-4 w-4 mt-0.5 flex-shrink-0"}),(0,a.jsx)("span",{children:u})]}):null}},50898:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(96427),s=n(79350),l=n(88296),r=n(37182);function i(){let e=(0,a._)(["\n query Currencies(\n $queryString: String\n $limit: Int\n $offset: Int\n $includeInactive: Boolean\n $sort: [SortOptionInput!]\n ) {\n currencies(\n queryString: $queryString\n limit: $limit\n offset: $offset\n includeInactive: $includeInactive\n sort: $sort\n ) {\n ...CurrencyFragment\n }\n currenciesCount(\n includeInactive: $includeInactive\n queryString: $queryString\n )\n }\n ","\n"]);return i=function(){return e},e}let d=(0,s.J1)(i(),r.A),o=function(){let{queryString:e="",limit:t=20,offset:n=0,includeInactive:a=!0,sort:s=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{data:r,loading:i,error:o,fetchMore:u}=(0,l.I)(d,{variables:{queryString:e,limit:t,offset:n,includeInactive:a,sort:s}}),c=(null==r?void 0:r.currencies)||[],m=null==r?void 0:r.currenciesCount,p=(null==c?void 0:c.length)<m;return{currencies:c,currenciesCount:m,hasMore:p,loading:i,error:o,loadMore:()=>{u({variables:{offset:null==c?void 0:c.length}})}}}},57262:(e,t,n)=>{n.d(t,{A:()=>d});var a=n(96427),s=n(79350),l=n(53588);function r(){let e=(0,a._)(["\n mutation RemoveProduct($productId: ID!) {\n removeProduct(productId: $productId) {\n _id\n }\n }\n"]);return r=function(){return e},e}let i=(0,s.J1)(r()),d=()=>{let[e]=(0,l.n)(i);return{removeProduct:async t=>{let{productId:n}=t;return e({variables:{productId:n},refetchQueries:["Products","ShopStatus"]})}}}},62519:(e,t,n)=>{n.d(t,{A:()=>u});var a=n(37876),s=n(15039),l=n.n(s),r=n(6304),i=n(37441),d=n(14232);let o=e=>{let{header:t,body:n,headerCSS:s="",bodyCSS:o="",itemContainerCSS:u="",itemindex:c=1,hideChevron:m=!1}=e,[p,x]=(0,d.useState)(!1);return(0,a.jsxs)("div",{className:l()("mt-3",u),"data-itemindex":c,children:[(0,a.jsxs)("button",{type:"button",onClick:()=>x(!p),className:l()("relative cursor-pointer border dark:border-slate-800 bg-white dark:bg-slate-900 text-slate-500 dark:text-slate-200 hover:bg-slate-50 dark:hover:bg-slate-700 w-full max-w-full overflow-hidden",s),children:[(0,a.jsx)("div",{className:"w-full",children:t}),!m&&(0,a.jsx)("span",{className:"px-2",children:p?(0,a.jsx)(r.A,{className:"h-5 w-5"}):(0,a.jsx)(i.A,{className:"h-5 w-5"})})]}),p?(0,a.jsx)("div",{className:l()("rounded-lg sm:p-4 xl:p-10 relative overflow-visible",o),children:n}):""]})},u=e=>{let{data:t,containerCSS:n="",headerCSS:s="",bodyCSS:r="",itemContainerCSS:i="",hideChevron:d=!1,...u}=e;return(0,a.jsx)("div",{className:l()("my-3",n),...u,children:t.map((e,t)=>{let{header:n,body:l}=e;return(0,a.jsx)(o,{itemindex:t,header:n,body:l,headerCSS:s,bodyCSS:r,itemContainerCSS:i,hideChevron:d},t)})})}},73425:(e,t,n)=>{n.d(t,{W:()=>a});let a={SimpleProduct:"SimpleProduct",BundleProduct:"BundleProduct",PlanProduct:"PlanProduct",ConfigurableProduct:"ConfigurableProduct",TokenizedProduct:"TokenizedProduct"}},73849:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(96427),s=n(79350),l=n(53588),r=n(98103);function i(){let e=(0,a._)(["\n mutation UpdateProduct($productId: ID!, $product: UpdateProductInput!) {\n updateProduct(productId: $productId, product: $product) {\n ...ProductDetailFragment\n }\n }\n ","\n"]);return i=function(){return e},e}let d=(0,s.J1)(i(),r.A),o=()=>{let[e]=(0,l.n)(d);return{updateProduct:async t=>{let{productId:n,product:{tags:a,sequence:s,meta:l}}=t;return e({variables:{productId:n,product:{tags:a,sequence:s,meta:l}}})}}}},86482:(e,t,n)=>{n.d(t,{A:()=>u});var a=n(96427),s=n(79350),l=n(53588),r=n(98103),i=n(11542);function d(){let e=(0,a._)(["\n mutation CreateProduct(\n $product: CreateProductInput!\n $texts: [ProductTextInput!]\n ) {\n createProduct(product: $product, texts: $texts) {\n ...ProductDetailFragment\n ... on SimpleProduct {\n texts {\n ...ProductTextsFragment\n }\n }\n ... on ConfigurableProduct {\n texts {\n ...ProductTextsFragment\n }\n }\n ... on BundleProduct {\n texts {\n ...ProductTextsFragment\n }\n }\n ... on TokenizedProduct {\n texts {\n ...ProductTextsFragment\n }\n }\n ... on PlanProduct {\n texts {\n ...ProductTextsFragment\n }\n }\n }\n }\n ","\n ","\n"]);return d=function(){return e},e}let o=(0,s.J1)(d(),r.A,i.A),u=()=>{let[e,{data:t,error:n,loading:a}]=(0,l.n)(o);return{createProduct:async t=>{let{product:{type:n,tags:a},texts:s}=t;return e({variables:{product:{type:n,tags:a},texts:s},refetchQueries:["Products","ShopStatus"]})},newProduct:null==t?void 0:t.createProduct,error:n,loading:a}}},91439:(e,t,n)=>{n.d(t,{A:()=>l});var a=n(37876),s=n(60101);let l=e=>{let{title:t=null,description:n}=e;return(0,a.jsx)("div",{className:"mb-6 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg",children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)(s.A,{className:"w-5 h-5 text-blue-600 dark:text-blue-400 mt-0.5 flex-shrink-0"}),(0,a.jsxs)("div",{children:[t&&(0,a.jsx)("h3",{className:"text-sm font-semibold text-blue-900 dark:text-blue-100 mb-2",children:t}),(0,a.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200 leading-relaxed",children:n})]})]})})}},98103:(e,t,n)=>{n.d(t,{A:()=>l});var a=n(96427);function s(){let e=(0,a._)(["\n fragment ProductDetailFragment on Product {\n _id\n sequence\n status\n created\n tags\n updated\n published\n\n media {\n _id\n tags\n file {\n _id\n url\n }\n }\n reviews {\n _id\n created\n author {\n _id\n username\n isGuest\n }\n rating\n title\n review\n voteCount\n ownVotes {\n type\n timestamp\n }\n }\n siblings {\n _id\n media {\n _id\n file {\n _id\n url\n }\n }\n }\n }\n"]);return s=function(){return e},e}let l=(0,n(79350).J1)(s())}}]);
|
|
1
|
+
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[213],{11542:(e,t,n)=>{n.d(t,{A:()=>l});var a=n(96427);function s(){let e=(0,a._)(["\n fragment ProductTextsFragment on ProductTexts {\n _id\n locale\n slug\n title\n subtitle\n description\n vendor\n brand\n labels\n }\n"]);return s=function(){return e},e}let l=(0,n(79350).J1)(s())},15421:(e,t,n)=>{n.d(t,{A:()=>a});let a=(e,t,n)=>Object.assign({},...(null==e?void 0:e.map(e=>({[e[n]]:e[t]})))||[])},20213:(e,t,n)=>{n.r(t),n.d(t,{default:()=>n7});var a=n(37876),s=n(77742),l=n(89848),r=n(48010),i=n(47340),d=n(36050),o=n(13204),u=n(57142),c=n(82214),m=n(90448),p=n(29966),x=n(21659),f=n(40792),g=n(66492),h=n(52282),v=n(85028),b=n(33404),j=n(99456),y=n(12259),w=n(14232),_=n(48627),N=n(30893),k=n(82579),I=n(15421),A=n(72836),P=n(50898),M=n(15039),C=n.n(M),$=n(23477);let S=e=>{let{disabled:t,labelClassName:n,containerClassName:s,inputClassName:l,...r}=e,i=(0,$.A)({...e,type:"checkbox"});return(0,a.jsxs)("div",{className:C()("",{"text-rose-600":!!i.error,checkbox:!0,disabled:i.disabled,required:i.required},s),children:[(0,a.jsx)("input",{checked:!!i.value,disabled:t,id:i.name,name:i.name,onChange:i.onChange,onBlur:i.onBlur,type:"checkbox",className:C()("h-4 w-4 rounded-xs border-slate-300 dark:border-slate-600 bg-white dark:!bg-slate-800 text-indigo-600 dark:text-slate-200 focus:ring-slate-800",l,e.className),...r}),(0,a.jsx)("label",{htmlFor:i.name,className:C()("text-sm text-slate-900 dark:text-slate-200",n,{"text-danger":!!i.error}),children:i.label})]})};var T=n(32202),V=n(30124),D=n(7604),R=n(1384),q=n(83023),E=n(17872),F=n(91590),J=n(98905),L=n(96427),O=n(79350),U=n(18885);function B(){let e=(0,L._)(["\n fragment ProductCatalogPriceFragment on ProductCatalogPrice {\n isTaxable\n isNetPrice\n country {\n _id\n isoCode\n name\n flagEmoji\n }\n currency {\n _id\n isoCode\n isActive\n }\n amount\n maxQuantity\n }\n"]);return B=function(){return e},e}let Q=(0,O.J1)(B());function z(){let e=(0,L._)(["\n query ProductCatalogPrices($productId: ID!) {\n productCatalogPrices(productId: $productId) {\n ...ProductCatalogPriceFragment\n }\n }\n ","\n"]);return z=function(){return e},e}let W=(0,O.J1)(z(),Q);var K=n(53588),G=n(98103);function H(){let e=(0,L._)(["\n mutation UpdateProductCommerce(\n $productId: ID!\n $commerce: UpdateProductCommerceInput!\n ) {\n updateProductCommerce(productId: $productId, commerce: $commerce) {\n ...ProductDetailFragment\n }\n }\n ","\n"]);return H=function(){return e},e}let X=(0,O.J1)(H(),G.A),Y=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[],t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[];return t.length?e.map(e=>{let n=t.find(t=>{let{isoCode:n}=t;return n.toLowerCase()===e.currency.isoCode.toLowerCase()});return{countryCode:e.country.isoCode,currencyCode:e.currency.isoCode,isTaxable:!!e.isTaxable,isNetPrice:!!e.isNetPrice,amount:((e,t)=>{if(t<0)return"0";if(0===t)return e.toString();let n=e.toString();if("0"===n)return"0."+"0".repeat(t);let a=n.startsWith("-"),s=a?n.slice(1):n;if(s.length<=t){let e=s.padStart(t,"0");return"".concat(a?"-":"","0.").concat(e)}let l=s.length-t,r=s.slice(0,l),i=s.slice(l);return"".concat(a?"-":"").concat(r,".").concat(i)})(e.amount,null==n?void 0:n.decimals),maxQuantity:e.maxQuantity}}):[]},Z=e=>{var t;let{productId:n,disabled:l=!1}=e,{formatMessage:r}=(0,s.A)(),{catalogPrices:i}=(e=>{let{productId:t}=e,{data:n,loading:a,error:s}=(0,U.I)(W,{skip:!t,variables:{productId:t}});return{catalogPrices:(null==n?void 0:n.productCatalogPrices)||[],loading:a,error:s}})({productId:n}),{hasRole:d}=(0,N.A)(),{updateProductCommerce:o}=(()=>{let[e]=(0,K.n)(X),{currencies:t}=(0,P.A)();return{updateProductCommerce:async n=>{let{productId:a,commerce:{pricing:s}}=n;return e({variables:{productId:a,commerce:{pricing:s.map(e=>{let n=t.find(t=>{let{isoCode:n}=t;return n===e.currencyCode}),a=((e,t)=>{if(!e||t<0)return 0;let n=e.trim();if(!/^-?\d*\.?\d*$/.test(n))return 0;let a=n.indexOf(".");if(-1===a)return Number(n)*10**t;let s=n.slice(0,a)||"0";return Number(s+n.slice(a+1).slice(0,t).padEnd(t,"0"))})(e.amount.toString(),n.decimals);return{...e,amount:a}})}},refetchQueries:["Products"]})}}})(),{countries:u}=(0,A.A)(),{currencies:c}=(0,P.A)(),m=null==u?void 0:u.find(e=>{let{isBase:t}=e;return t}),p=null==m?void 0:m.isoCode,x=null==m||null==(t=m.defaultCurrency)?void 0:t.isoCode,f=async e=>{let{pricing:t}=e;return await o({productId:n,commerce:{pricing:t}}),{success:!0}},g=r({id:"saved",defaultMessage:"Saved"}),h=Y(i,c),v=(0,F.A)({disabled:l,submit:f,successMessage:g,enableReinitialize:!0,initialValues:{pricing:[...(null==h?void 0:h.length)?h:[{maxQuantity:"",amount:null,isTaxable:!1,isNetPrice:!1,currencyCode:x,countryCode:p}]]}}),{values:b}=v.formik,{pricing:j}=b;return(0,a.jsx)("div",{children:(0,a.jsxs)("div",{className:"mt-5 md:col-span-3 lg:mt-0",children:[(0,a.jsx)(k.A,{children:(0,a.jsxs)(T.A,{className:"mt-3 rounded-md",form:v,children:[(0,a.jsxs)("div",{className:"relative max-w-full p-3 sm:px-5",children:[(0,a.jsx)("div",{className:"max-w-full justify-between align-baseline"}),(0,a.jsxs)("label",{className:"sr-only flex w-full font-sans text-sm text-slate-500 dark:text-slate-200 lg:not-sr-only",children:[(0,a.jsxs)("span",{className:"flex w-full",children:[(0,a.jsx)("span",{className:"w-full",children:r({id:"max_quantity",defaultMessage:"Max Quantity"})}),(0,a.jsx)("span",{className:"w-full lg:ml-5",children:r({id:"price",defaultMessage:"Price"})})]}),(0,a.jsxs)("span",{className:"flex w-full",children:[(0,a.jsx)("span",{className:"w-full lg:ml-8",children:r({id:"vat_suspect",defaultMessage:"Vat Suspect"})}),(0,a.jsx)("span",{className:"w-full lg:ml-12",children:r({id:"net_price",defaultMessage:"Net Price"})})]}),(0,a.jsxs)("span",{className:"mr-5 flex w-full",children:[(0,a.jsx)("span",{className:"ml-10 w-full",children:r({id:"country",defaultMessage:"Country"})}),(0,a.jsx)("span",{className:"w-full",children:r({id:"currency",defaultMessage:"Currency"})})]})]}),(0,a.jsx)(_.ED,{name:"pricing",children:e=>{let{push:t,remove:n}=e;return(0,a.jsxs)("div",{children:[b.pricing.map((e,t)=>(0,a.jsxs)("div",{className:"relative max-w-full border-b dark:border-slate-700 pt-1 pb-5 mb-3 align-baseline lg:flex",children:[(0,a.jsxs)("div",{className:"flex w-full gap-x-2",children:[(0,a.jsx)(q.A,{className:"w-full",validators:[(0,J.lw)(t,j),(0,J.IE)(j)],name:"pricing[".concat(t,"].maxQuantity"),id:"pricing[".concat(t,"].maxQuantity"),type:"number",min:0,hideLabel:!0,label:r({id:"max_quantity",defaultMessage:"Max Quantity"})}),(0,a.jsx)(q.A,{type:"number",className:"w-full",name:"pricing[".concat(t,"].amount"),id:"pricing[".concat(t,"].amount"),required:!0,hideLabel:!0,label:r({id:"price",defaultMessage:"Price "})})]}),(0,a.jsxs)("div",{className:"flex w-full gap-x-2 pt-3 pb-2",children:[(0,a.jsx)("div",{className:"w-full lg:ml-8 lg:items-center",children:(0,a.jsx)(S,{name:"pricing[".concat(t,"].isTaxable"),labelClassName:"lg:sr-only items-center ",label:r({id:"vat_suspect",defaultMessage:"Vat Suspect"}),className:"mr-2 h-4 w-4 rounded-sm border-slate-300 dark:border-slate-600 bg-white dark:!bg-slate-900 text-slate-950 focus:ring-slate-800 lg:items-center",type:"checkbox"})}),(0,a.jsx)("div",{className:"w-full lg:ml-8",children:(0,a.jsx)(S,{name:"pricing[".concat(t,"].isNetPrice"),labelClassName:"lg:sr-only items-center",label:r({id:"net_price",defaultMessage:"Net Price"}),hideLabel:!0,className:"mr-2 h-4 w-4 justify-between rounded-sm border-slate-300 dark:border-slate-600 bg-white dark:!bg-slate-900 text-slate-950 focus:ring-slate-800 lg:items-center",type:"checkbox"})})]}),(0,a.jsxs)("div",{className:"flex w-full gap-x-2 mt-1",children:[(0,a.jsx)(D.A,{defaultValue:p,className:"w-full lg:ml-4 lg:mr-4",label:r({id:"country",defaultMessage:"Country"}),name:"pricing[".concat(t,"].countryCode"),id:"pricing[".concat(t,"].countryCode"),required:!0,options:(0,I.A)(u,"isoCode","isoCode"),hideLabel:!0}),(0,a.jsx)(D.A,{defaultValue:x,className:"w-full lg:mr-8 ",label:r({id:"currency",defaultMessage:"Currency"}),name:"pricing[".concat(t,"].currencyCode"),id:"pricing[".concat(t,"].currencyCode"),required:!0,options:(0,I.A)(c,"isoCode","isoCode"),hideLabel:!0,placeholder:r({id:"country_currency",defaultMessage:"Currency"})})]}),(0,a.jsx)("div",{className:"absolute -top-2 right-0 mt-0 mr-0 shrink-0 pb-1 md:mr-0 lg:mt-6 lg:py-0 lg:px-0 ",children:(0,a.jsx)("button",{className:"items-center rounded-full bg-white dark:bg-slate-900 px-1 py-1 text-sm text-rose-500 dark:text-rose-400 hover:bg-rose-50 focus:outline-hidden focus:ring-0 focus:ring-rose-500 focus:ring-offset-2",type:"button",onClick:()=>n(t),children:(0,a.jsxs)("svg",{className:"h-4 w-4",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,a.jsx)("polyline",{points:"3 6 5 6 21 6"}),(0,a.jsx)("path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6m3 0V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2"}),(0,a.jsx)("line",{x1:"10",y1:"11",x2:"10",y2:"17"}),(0,a.jsx)("line",{x1:"14",y1:"11",x2:"14",y2:"17"})]})})})]},t)),(0,a.jsx)("div",{className:"mt-6",children:(0,a.jsx)(E.A,{variant:"tertiary",text:r({id:"add_price_row",defaultMessage:"Add Price Row"}),className:"w-full items-center justify-center",onClick:()=>t({maxQuantity:"",amount:null,isTaxable:!1,isNetPrice:!1,currencyCode:x,countryCode:p})})})]})}})]}),(0,a.jsx)(V.A,{displayFieldErrors:!0}),(0,a.jsx)("div",{className:"-mx-6 p-6 bg-slate-50 dark:bg-slate-900 text-right",children:(0,a.jsx)(R.A,{className:"mx-6",hidden:!d("editProductCommerce"),label:r({id:"save",defaultMessage:"Save"})})})]})}),(0,a.jsx)("p",{className:"mt-6 mb-10 text-sm text-slate-500 dark:text-slate-400",children:r({id:"product_commerce_info",defaultMessage:"One price list should have a max quantity field empty and no price should have the same max quantity along with currency and country specified"})})]})})};var ee=n(8733),et=n(35937),en=n(11542);function ea(){let e=(0,L._)(["\n query TranslatedProductTexts($productId: ID!) {\n translatedProductTexts(productId: $productId) {\n ...ProductTextsFragment\n ","\n }\n }\n ","\n"]);return ea=function(){return e},e}let es=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,O.J1)(ea(),e,en.A)};var el=n(39799),er=n(37364),ei=n(44655),ed=n(64640),eo=n(48676),eu=n(32982);let ec=e=>{let{productId:t,disabled:n=!1}=e,{selectedLocale:l}=(0,eu.A)(),{formatMessage:r}=(0,s.A)(),{hasRole:i}=(0,N.A)(),{translatedTexts:d}=(e=>{let{productId:t}=e,{customProperties:n}=(0,et.A)(),{data:a,loading:s,error:l}=(0,U.I)(es(null==n?void 0:n.ProductTexts),{skip:!t,variables:{productId:t}});return{translatedTexts:(null==a?void 0:a.translatedProductTexts)||[],loading:s,error:l}})({productId:t}),o=r({id:"saved",defaultMessage:"Saved"}),{updateProductTexts:u}=(0,el.A)(),c=async e=>{let{slug:n,title:a,subtitle:s,vendor:r,description:i,brand:d,labels:o}=e;return await u({productId:t,texts:[{locale:l,slug:n,title:a,subtitle:s,vendor:r,description:i,brand:d,labels:o}]}),{success:!0}},m=(0,F.A)({disabled:n,submit:c,successMessage:o,initialValues:{slug:"",title:"",subtitle:"",vendor:"",description:"",brand:"",labels:[]}});return(0,w.useEffect)(()=>{let e=null==d?void 0:d.find(e=>e.locale===l);m.formik.setValues({slug:"",title:"",subtitle:"",vendor:"",description:"",brand:"",labels:[],...e||{}})},[d,l]),(0,a.jsx)(er.A,{documentationLabel:r({id:"texts",defaultMessage:"Texts"}),className:"mt-2 lg:mt-5",documentation:(0,a.jsx)(ee.A,{id:"product_text_form_description",defaultMessage:"<ul> <li><strong>Slug:</strong> The unique part of your product URL (e.g., 'my-awesome-product'). Keep it short and descriptive.</li> <li><strong>Localization:</strong> Switch languages using the dropdown at the top left to translate content for different markets.</li> <li><strong>Description:</strong> Supports Markdown and HTML formatting. Use double backslash (\\\\\\\\) for line breaks.</li> <li><strong>Labels:</strong> Eye-catching badges that appear on your product (e.g., 'New Arrival', '50% Off', 'Limited Edition'). Perfect for promotions and highlighting special features. Each language can have unique labels.</li> <li><strong>Key Difference:</strong> Labels are customer-facing promotional badges, while Tags are internal keywords for organization and filtering.</li> </ul>",values:{ul:e=>(0,a.jsxs)("ul",{className:"space-y-2",children:[e," "]}),li:e=>(0,a.jsxs)("li",{className:"text-sm",children:[e," "]},Math.random()),strong:e=>(0,a.jsx)("strong",{className:"font-semibold text-slate-800 dark:text-slate-200",children:e})}}),children:(0,a.jsx)(k.A,{children:(0,a.jsxs)(T.A,{form:m,children:[(0,a.jsxs)("div",{className:"relative text-slate-500 dark:text-slate-200 px-4 py-5 sm:p-6",children:[(0,a.jsxs)("div",{className:"grid grid-cols-6 gap-6",children:[(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{name:"slug",required:!0,id:"slug",label:r({id:"slug",defaultMessage:"Slug"}),autoComplete:"on",className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{name:"title",required:!0,id:"title",label:r({id:"title",defaultMessage:"Title"}),autoComplete:"on",className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{name:"subtitle",id:"subtitle",label:r({id:"subtitle",defaultMessage:"Subtitle"}),autoComplete:"on",className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{name:"vendor",id:"vendor",label:r({id:"vendor",defaultMessage:"Vendor"}),autoComplete:"on",className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{name:"brand",id:"brand",label:r({id:"brand",defaultMessage:"Brand"}),autoComplete:"on",className:"text-sm"})}),(0,a.jsxs)("div",{className:"col-span-6 sm:col-span-3",children:[(0,a.jsx)(ed.A,{name:"labels",id:"labels",label:r({id:"labels",defaultMessage:"Labels"}),placeholder:r({id:"label",defaultMessage:"Label"}),buttonText:r({id:"add",defaultMessage:"Add"}),autoComplete:"on",className:"text-sm"}),(0,a.jsx)(eo.A,{messageKey:"product_labels_help",defaultMessage:"Add promotional badges like 'New Arrival', '50% Off', or 'Limited Edition' that customers will see on your product. Perfect for highlighting deals and special features.",className:"mt-3"})]})]}),(0,a.jsx)("div",{className:"col-span-6 mt-6 sm:col-span-3",children:(0,a.jsx)(ei.A,{name:"description",id:"description",label:r({id:"description",defaultMessage:"Description"})})})]}),(0,a.jsx)("div",{className:"border-t-slate-100 border-t dark:border-t-slate-700 bg-slate-50 dark:bg-slate-900 px-4 py-5 text-right sm:px-6",children:(0,a.jsx)(R.A,{hidden:!i("editProductTexts"),label:r({id:"save",defaultMessage:"Save"})})})]})})})};var em=n(14664),ep=n(54287),ex=n(4354),ef=n(9964),eg=n(73930),eh=n(31772),ev=n(70806);function eb(){let e=(0,L._)(["\n mutation PrepareProductMediaUpload($mediaName: String!, $productId: ID!) {\n prepareProductMediaUpload(mediaName: $mediaName, productId: $productId) {\n _id\n putURL\n expires\n }\n }\n"]);return eb=function(){return e},e}let ej=(0,O.J1)(eb());var ey=n(11979);function ew(){let e=(0,L._)(["\n fragment ProductMediaFragment on ProductMedia {\n _id\n tags\n file {\n _id\n name\n type\n size\n url\n }\n sortKey\n texts {\n _id\n locale\n title\n subtitle\n }\n }\n"]);return ew=function(){return e},e}let e_=(0,O.J1)(ew());function eN(){let e=(0,L._)(["\n query ProductMedia($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n media {\n ...ProductMediaFragment\n }\n }\n }\n ","\n"]);return eN=function(){return e},e}let ek=(0,O.J1)(eN(),e_),eI=function(){var e;let{productId:t=null,slug:n=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=(0,ey.id)(n),{data:s,loading:l,error:r}=(0,U.I)(ek,{skip:!t&&!a,variables:{productId:t||a}});return{productMedia:(null==s||null==(e=s.product)?void 0:e.media)||[],loading:l,error:r}};function eA(){let e=(0,L._)(["\n mutation RemoveProductMedia($productMediaId: ID!) {\n removeProductMedia(productMediaId: $productMediaId) {\n _id\n }\n }\n"]);return eA=function(){return e},e}let eP=(0,O.J1)(eA());var eM=n(85717),eC=n(68406);function e$(){let e=(0,L._)(["\n fragment ProductMediaTextsFragment on ProductMediaTexts {\n _id\n locale\n title\n subtitle\n }\n"]);return e$=function(){return e},e}let eS=(0,O.J1)(e$());function eT(){let e=(0,L._)(["\n query TranslatedProductMediaTexts($productMediaId: ID!) {\n translatedProductMediaTexts(productMediaId: $productMediaId) {\n ...ProductMediaTextsFragment\n }\n }\n ","\n"]);return eT=function(){return e},e}let eV=(0,O.J1)(eT(),eS);function eD(){let e=(0,L._)(["\n mutation UpdateProductMediaTexts(\n $productMediaId: ID!\n $texts: [ProductMediaTextInput!]!\n ) {\n updateProductMediaTexts(productMediaId: $productMediaId, texts: $texts) {\n ...ProductMediaTextsFragment\n }\n }\n ","\n"]);return eD=function(){return e},e}let eR=(0,O.J1)(eD(),eS),eq=e=>{let{media:t,onDelete:n,id:s}=e,{selectedLocale:l}=(0,eu.A)(),{updateProductMediaTexts:r}=(()=>{let[e]=(0,K.n)(eR);return{updateProductMediaTexts:async t=>{let{productMediaId:n,texts:a}=t;return e({variables:{productMediaId:n,texts:a},refetchQueries:["TranslatedProductMediaTexts"]})}}})(),[i,d]=(0,w.useState)(!1),{translatedMediaTexts:o}=(e=>{let{productMediaId:t}=e,{data:n,loading:a,error:s}=(0,U.I)(eV,{skip:!t,variables:{productMediaId:t}});return{translatedMediaTexts:(null==n?void 0:n.translatedProductMediaTexts)||[],loading:a,error:s}})({productMediaId:t._id}),u=(null==o?void 0:o.find(e=>e.locale===l))||{},c=async e=>{let{title:n,subtitle:a}=e;return await r({productMediaId:t._id,texts:[{title:n,locale:l,subtitle:a}]}),d(!1),!0};return(0,a.jsx)(eC.A,{id:s,media:t,mediaText:u,isEdit:i,onDelete:n,onEdit:d,onUpdate:c})},eE=e=>{let{medias:t,onDeleteMedia:n,items:l}=e,{formatMessage:r}=(0,s.A)();return(0,a.jsx)("div",{className:"rounded-md lg:col-span-6 px-6",children:(0,a.jsxs)("div",{className:"mx-auto overflow-hidden",children:[(0,a.jsx)("h2",{className:"sr-only",children:r({id:"product_media",defaultMessage:"Product Media"})}),(0,a.jsx)("div",{className:"flow-root",children:(0,a.jsx)(ep.gB,{items:l,strategy:ep._G,children:(0,a.jsx)("ul",{className:"flex flex-col gap-3 rounded-md transition-[background-color] ease-in-out delay-200 ",children:(null==t?void 0:t.length)?l.map(e=>{let s=Object.values(t).find(t=>t._id===e);return(0,a.jsx)(eq,{id:e,media:s,onDelete:n},s._id)}):(0,a.jsx)(eM.A,{message:r({id:"media",defaultMessage:"Media"})})})})})]})})};function eF(){let e=(0,L._)(["\n mutation ReOrderProductMedia($sortKeys: [ReorderProductMediaInput!]!) {\n reorderProductMedia(sortKeys: $sortKeys) {\n _id\n }\n }\n"]);return eF=function(){return e},e}let eJ=(0,O.J1)(eF()),eL=e=>{let{productId:t}=e,{productMedia:n}=eI({productId:t}),{setModal:r}=(0,eg.A)(),{formatMessage:i}=(0,s.A)(),{removeProductMedia:d}=(()=>{let[e]=(0,K.n)(eP);return{removeProductMedia:async t=>{let{productMediaId:n}=t;return e({variables:{productMediaId:n},refetchQueries:["ProductMedia"]})}}})(),{addProductMedia:o}=(()=>{let[e]=(0,K.n)(ej),{confirmMediaUpload:t}=(0,ev.A)({refetchQueries:["Product"]});return{addProductMedia:async n=>{let{productId:a,media:s}=n,{data:l}=await e({variables:{productId:a,mediaName:s.name}}),{prepareProductMediaUpload:r}=l;return await (0,eh.A)(s,r.putURL),t({mediaUploadTicketId:r._id,size:null==s?void 0:s.size,type:s.type})}}})(),{reOrderProductMedia:u}=(()=>{let[e]=(0,K.n)(eJ);return{reOrderProductMedia:async t=>{let{sortKeys:n}=t;return e({variables:{sortKeys:n},refetchQueries:["ProductMedia"]})}}})(),c=null==n?void 0:n.map(e=>e._id),m=async e=>{try{await o({productId:t,media:e}),l.oR.success(i({id:"product_media_upload",defaultMessage:"Media uploaded successfully"}))}catch(e){l.oR.error(i({id:"fail_upload",defaultMessage:"Media upload failed"}))}},p=async e=>{await r((0,a.jsx)(ef.A,{onCancelClick:async()=>r(""),message:i({id:"delete_product_media_confirmation",defaultMessage:"This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this media? "}),onOkClick:async()=>{r(""),await d({productMediaId:e}),l.oR.success(i({id:"product_media_deleted",defaultMessage:"Media deleted successfully"}))},okText:i({id:"delete_product_media",defaultMessage:"Delete media"})}))},x=async e=>{let{active:t,over:n}=e;if(t.id!==n.id){let e=c.indexOf(t.id),a=c.indexOf(n.id),s=(0,ep.be)(c,e,a).map((e,t)=>({productMediaId:e,sortKey:t}));try{await u({sortKeys:s}),l.oR.success(i({id:"link_reorder",defaultMessage:"Link reorder successfully"}))}catch(e){l.oR.error(i({id:"fail_reorder",defaultMessage:"Reordering failed, Try again!"}))}}else l.oR.info(i({id:"reorder_original",defaultMessage:"Reorder to original location"}))},f=(0,em.FR)((0,em.MS)(em.AN,{activationConstraint:{distance:5}}),(0,em.MS)(em.uN,{coordinateGetter:ep.JR}));return(0,a.jsxs)("div",{className:"mx-auto mt-5 space-y-5 lg:space-y-0 max-w-full py-6 lg:grid lg:grid-cols-12 lg:gap-4",children:[(0,a.jsx)("div",{className:"mx-auto w-full px-6 lg:col-span-6 lg:col-start-1",children:(0,a.jsx)(ex.A,{onlyDragAndDrop:!0,addMedia:m})}),(0,a.jsx)(em.Mp,{sensors:f,collisionDetection:em.fp,onDragEnd:x,children:(0,a.jsx)(eE,{medias:n,onDeleteMedia:p,items:c})})]})};function eO(){let e=(0,L._)(["\n fragment ProductPlanConfigurationFragment on ProductPlanConfiguration {\n usageCalculationType\n billingInterval\n trialInterval\n trialIntervalCount\n billingIntervalCount\n }\n"]);return eO=function(){return e},e}let eU=(0,O.J1)(eO());function eB(){let e=(0,L._)(["\n query ProductPlan($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on PlanProduct {\n plan {\n ...ProductPlanConfigurationFragment\n }\n }\n }\n }\n ","\n"]);return eB=function(){return e},e}let eQ=(0,O.J1)(eB(),eU),ez=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{data:a,loading:s,error:l}=(0,U.I)(eQ,{skip:!e&&!n,variables:{productId:e||n}}),r=null==a?void 0:a.product;return{plan:null==r?void 0:r.plan,loading:s,error:l}};function eW(){let e=(0,L._)(['\n query ProductPlanConfigurationOptions {\n usageCalculationTypes: __type(name: "ProductPlanUsageCalculationType") {\n options: enumValues {\n value: name\n label: description\n }\n }\n configurationIntervals: __type(name: "ProductPlanConfigurationInterval") {\n options: enumValues {\n value: name\n label: description\n }\n }\n }\n']);return eW=function(){return e},e}let eK=(0,O.J1)(eW());function eG(){let e=(0,L._)(["\n mutation UpdateProductPlan($productId: ID!, $plan: UpdateProductPlanInput!) {\n updateProductPlan(productId: $productId, plan: $plan) {\n _id\n }\n }\n"]);return eG=function(){return e},e}let eH=(0,O.J1)(eG()),eX=e=>{let{productId:t,disabled:n=!1}=e,{formatMessage:l}=(0,s.A)(),{configurationIntervals:r,usageCalculationTypes:i}=(()=>{var e,t;let{data:n,loading:a,error:s}=(0,U.I)(eK),l=(null==n||null==(e=n.usageCalculationTypes)?void 0:e.options)||[];return{configurationIntervals:(null==n||null==(t=n.configurationIntervals)?void 0:t.options)||[],usageCalculationTypes:l,loading:a,error:s}})(),{plan:d,loading:o}=ez({productId:t}),{hasRole:u}=(0,N.A)(),{updateProductPlan:c}=(()=>{let[e]=(0,K.n)(eH);return{updateProductPlan:async t=>{let{productId:n,plan:{usageCalculationType:a,billingInterval:s,billingIntervalCount:l=null,trialInterval:r=null,trialIntervalCount:i=null}}=t;return e({variables:{productId:n,plan:{usageCalculationType:a,billingInterval:s,billingIntervalCount:l,trialInterval:r,trialIntervalCount:i}},refetchQueries:["Products"]})}}})(),m=l({id:"enrollment_updated_successfully",defaultMessage:"Enrollment saved successfully"}),p=async e=>{let{trialInterval:n,trialIntervalCount:a,billingInterval:s,billingIntervalCount:l,usageCalculationType:r}=e;return await c({productId:t,plan:{billingInterval:s,usageCalculationType:r,billingIntervalCount:l,trialInterval:n,trialIntervalCount:a}}),{success:!0}},x=(0,F.A)({disabled:n,submit:p,successMessage:m,initialValues:{trialInterval:"",trialIntervalCount:"",billingInterval:"",billingIntervalCount:"",usageCalculationType:""},getSubmitErrorMessage:e=>{var t;return(null==e||null==(t=e.message)?void 0:t.includes("Status of the product does not allow this operation"))?l({id:"subscription_product_type_not_valid",defaultMessage:"Status of the product does not allow this operation"}):(null==e?void 0:e.message)||""}});return(0,w.useEffect)(()=>{d&&!o&&x.formik.setValues(d)},[d]),(0,a.jsx)(er.A,{documentationLabel:l({id:"subscription",defaultMessage:"Subscription"}),className:"mt-2 lg:mt-5",documentation:(0,a.jsx)(ee.A,{id:"product_subscription_form_description",defaultMessage:"<ul><li> Information that will be used to calculate price of a subscription based product </li> <li>The price specified in commerce section will be used when calculating fees on each interval. </li> <li>Price will not be included for the specified trial period </li> </ul>",values:{ul:e=>(0,a.jsxs)("ul",{className:"space-y-1",children:[e," "]}),li:e=>(0,a.jsx)("li",{children:e})}}),children:(0,a.jsx)(k.A,{children:(0,a.jsx)(T.A,{form:x,children:(0,a.jsxs)("div",{className:"relative max-w-full space-y-6 rounded-md sm:p-6",children:[(0,a.jsx)(D.A,{required:!0,className:"mt-2.5 w-full py-1.5 text-sm font-medium text-slate-500",label:l({id:"usage_calculation_type",defaultMessage:"Usage calculation type"}),placeholder:l({id:"usage_calculation_type",defaultMessage:"Usage calculation type"}),name:"usageCalculationType",options:(0,I.A)(i,"value","value")}),(0,a.jsxs)("div",{className:"w-full items-end justify-end sm:flex",children:[(0,a.jsx)(D.A,{className:"mt-2.5 w-full text-sm font-medium text-slate-500",required:!0,label:l({id:"billing_interval_unit",defaultMessage:"Billing interval unit"}),placeholder:l({id:"billing_interval_unit",defaultMessage:"Billing interval unit"}),name:"billingInterval",options:(0,I.A)(r,"value","value")}),(0,a.jsx)(q.A,{name:"billingIntervalCount",id:"billing_unit",type:"number",required:!0,label:l({id:"billing_unit",defaultMessage:"Billing Unit"}),placeholder:l({id:"billing_unit",defaultMessage:"Billing Unit"}),className:"mt-1 w-full text-sm font-medium text-slate-500 sm:ml-1"})]}),(0,a.jsxs)("div",{className:"max-w-full items-end justify-end sm:flex",children:[(0,a.jsx)(D.A,{className:"mt-2.5 w-full text-sm font-medium text-slate-500",label:l({id:"trial_interval_unit",defaultMessage:"Trial interval unit"}),placeholder:l({id:"trial_interval_unit",defaultMessage:"Trial interval unit"}),name:"trialInterval",options:(0,I.A)(r,"value","value")}),(0,a.jsx)(q.A,{type:"number",name:"trialIntervalCount",id:"trialIntervalCount ",label:l({id:"trial_unit",defaultMessage:"Trial Unit"}),placeholder:l({id:"trial_unit",defaultMessage:"Trial Unit"}),required:!0,className:"mt-1 w-full text-sm font-medium text-slate-500 sm:ml-1"})]}),(0,a.jsx)("div",{className:"-mx-6 -mb-6 mt-6 border-t-slate-100 border-t space-y-6 bg-slate-50 dark:bg-slate-500 text-right sm:p-6",children:(0,a.jsx)(R.A,{hidden:!u("addEnrollment"),label:l({id:"save",defaultMessage:"Save"})})})]})})})})};function eY(){let e=(0,L._)(["\n fragment ProductDimensionFragment on Dimensions {\n weight(unit: GRAM)\n length(unit: MILLIMETERS)\n width(unit: MILLIMETERS)\n height(unit: MILLIMETERS)\n }\n"]);return eY=function(){return e},e}let eZ=(0,O.J1)(eY());function e0(){let e=(0,L._)(["\n query ProductSupply($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on SimpleProduct {\n dimensions {\n ...ProductDimensionFragment\n }\n }\n }\n }\n ","\n"]);return e0=function(){return e},e}let e1=(0,O.J1)(e0(),eZ),e2=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{data:a,loading:s,error:l}=(0,U.I)(e1,{skip:!e&&!t,variables:{productId:e||n}}),r=null==a?void 0:a.product;return{dimensions:(null==r?void 0:r.dimensions)||{},loading:s,error:l}};function e5(){let e=(0,L._)(["\n mutation UpdateProductSupply(\n $productId: ID!\n $supply: UpdateProductSupplyInput!\n ) {\n updateProductSupply(productId: $productId, supply: $supply) {\n _id\n ... on SimpleProduct {\n dimensions {\n ...ProductDimensionFragment\n }\n }\n }\n }\n ","\n"]);return e5=function(){return e},e}let e6=(0,O.J1)(e5(),eZ),e4=e=>{let{productId:t,disabled:n=!1}=e,{formatMessage:l}=(0,s.A)(),r=l({id:"saved",defaultMessage:"Saved"}),{hasRole:i}=(0,N.A)(),{updateProductSupply:d}=(()=>{let[e]=(0,K.n)(e6);return{updateProductSupply:async t=>{let{productId:n,supply:{weightInGram:a=null,heightInMillimeters:s=null,lengthInMillimeters:l=null,widthInMillimeters:r=null}}=t;return e({variables:{productId:n,supply:{weightInGram:a||null,heightInMillimeters:s||null,lengthInMillimeters:l||null,widthInMillimeters:r||null}},refetchQueries:["Products"]})}}})(),{dimensions:o}=e2({productId:t}),u=async e=>{let{weight:n,length:a,width:s,height:l}=e;return await d({productId:t,supply:{weightInGram:n,lengthInMillimeters:a,heightInMillimeters:l,widthInMillimeters:s}}),{success:!0}},c=(0,F.A)({disabled:n,submit:u,getSubmitErrorMessage:e=>(e.message.includes("supply.weightInGram")&&e.message.includes("Expected type Int")?c.formik.setFieldError("weight","Invalid value, only integer is accepted"):e.message.includes("supply.heightInMillimeters")&&e.message.includes("Expected type Int")?c.formik.setFieldError("height","Invalid value, only integer is accepted"):e.message.includes("supply.lengthInMillimeters")&&e.message.includes("Expected type Int")&&c.formik.setFieldError("length","Invalid value, only integer is accepted"),null),successMessage:r,initialValues:{weight:"",length:"",width:"",height:""}});return(0,w.useEffect)(()=>{Object.keys(o).length&&c.formik.setValues(o)},[o]),(0,a.jsx)("div",{className:"mt-5 md:col-span-2 md:mt-0",children:(0,a.jsx)(k.A,{children:(0,a.jsxs)(T.A,{form:c,children:[(0,a.jsx)("div",{className:"relative px-4 py-5 sm:p-6",children:(0,a.jsxs)("div",{className:"grid grid-cols-6 gap-6",children:[(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{validators:[(0,J.L6)()],type:"number",name:"weight",id:"weight",label:l({id:"weight_gram",defaultMessage:"Weight (Gram)"}),className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{validators:[(0,J.L6)()],name:"length",id:"length",type:"number",label:l({id:"length_millimeter",defaultMessage:"Length (Millimeter)"}),className:"text-sm"})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{validators:[(0,J.L6)()],type:"number",name:"width",id:"width ",label:l({id:"width",defaultMessage:"Width (Millimeter)"}),className:"text-sm "})}),(0,a.jsx)("div",{className:"col-span-6 sm:col-span-3",children:(0,a.jsx)(q.A,{validators:[(0,J.L6)()],name:"height",type:"number",id:"height",label:l({id:"height",defaultMessage:"Height (Millimeter)"}),className:"text-sm "})})]})}),(0,a.jsx)("div",{className:"border-t-slate-100 border-t dark:border-t-slate-700 space-y-6 bg-slate-50 dark:bg-slate-900 text-right sm:p-6",children:(0,a.jsx)(R.A,{hidden:!i("editProductSupply"),label:l({id:"save",defaultMessage:"Save"}),full:!0})})]})})})};var e3=n(91459);function e8(){let e=(0,L._)(["\n mutation CreateProductVariation(\n $productId: ID!\n $variation: CreateProductVariationInput!\n $texts: [ProductVariationTextInput!]\n ) {\n createProductVariation(\n productId: $productId\n variation: $variation\n texts: $texts\n ) {\n _id\n }\n }\n"]);return e8=function(){return e},e}let e9=(0,O.J1)(e8());function e7(){let e=(0,L._)(["\n fragment ProductVariationFragment on ProductVariation {\n _id\n type\n key\n texts(forceLocale: $locale) {\n _id\n locale\n title\n subtitle\n }\n options {\n _id\n texts(forceLocale: $locale) {\n _id\n locale\n title\n subtitle\n }\n value\n }\n }\n"]);return e7=function(){return e},e}let te=(0,O.J1)(e7());function tt(){let e=(0,L._)(["\n query ProductVariations($productId: ID, $slug: String, $locale: Locale) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on ConfigurableProduct {\n variations {\n ...ProductVariationFragment\n }\n }\n }\n }\n ","\n"]);return tt=function(){return e},e}let tn=(0,O.J1)(tt(),te),ta=function(){let{productId:e=null,slug:t=null,locale:n=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=(0,ey.id)(t),{data:s,loading:l,error:r}=(0,U.I)(tn,{skip:!e&&!a,variables:{productId:e||a,locale:n}}),i=null==s?void 0:s.product;return{variations:null==i?void 0:i.variations,loading:l,error:r}};function ts(){let e=(0,L._)(['\n query ProductVariationType {\n variationTypes: __type(name: "ProductVariationType") {\n options: enumValues {\n value: name\n label: description\n }\n }\n }\n']);return ts=function(){return e},e}let tl=(0,O.J1)(ts()),tr=e=>{let{helpKey:t,helpText:n,helpValues:s,...l}=e;return(0,a.jsxs)("div",{className:"space-y-1",children:[(0,a.jsx)(q.A,{...l}),(t||n)&&(0,a.jsx)(eo.A,{messageKey:t||"".concat(l.name,"_help"),defaultMessage:n,values:s,className:"mt-1"})]})};var ti=n(62519);function td(){let e=(0,L._)(["\n mutation RemoveProductVariation($productVariationId: ID!) {\n removeProductVariation(productVariationId: $productVariationId) {\n _id\n }\n }\n"]);return td=function(){return e},e}let to=(0,O.J1)(td());var tu=n(16461);function tc(){let e=(0,L._)(["\n mutation UpdateProductVariationTexts(\n $productVariationId: ID!\n $productVariationOptionValue: String\n $texts: [ProductVariationTextInput!]!\n ) {\n updateProductVariationTexts(\n productVariationId: $productVariationId\n productVariationOptionValue: $productVariationOptionValue\n texts: $texts\n ) {\n _id\n }\n }\n"]);return tc=function(){return e},e}let tm=(0,O.J1)(tc()),tp=()=>{let[e]=(0,K.n)(tm);return{updateProductVariationTexts:async t=>{let{productVariationId:n,productVariationOptionValue:a,texts:s}=t;return e({variables:{productVariationId:n,productVariationOptionValue:a,texts:s},refetchQueries:["ProductVariations"]})}}},tx=e=>{var t,n,l,r,i;let{variation:d,onCancel:o,onSuccess:u}=e,{updateProductVariationTexts:c}=tp(),{formatMessage:m}=(0,s.A)(),{selectedLocale:p}=(0,eu.A)(),x=async e=>{let{title:t,subtitle:n}=e;return await c({productVariationId:d._id,texts:[{title:t,subtitle:n,locale:p}]}),u(),{success:!0}},f=(0,F.A)({submit:x,initialValues:{title:null!=(r=null==d||null==(t=d.texts)?void 0:t.title)?r:"",subtitle:null!=(i=null==d||null==(n=d.texts)?void 0:n.subtitle)?i:""}});return(0,a.jsx)(T.A,{form:f,className:"variation-update-form bg-white dark:bg-slate-800 px-4 py-3 border-b border-slate-200 dark:border-slate-700 w-full overflow-x-hidden overflow-y-visible relative hover:outline hover:outline-2 hover:outline-slate-400 dark:hover:outline-slate-500 transition-all","data-variationid":d._id,children:(0,a.jsxs)("div",{className:"flex items-center justify-between w-full gap-4",tabIndex:-1,children:[(0,a.jsxs)("div",{className:"flex items-center gap-4 flex-1 min-w-0 overflow-hidden flex-wrap",children:[(0,a.jsx)("div",{className:"flex-shrink-0 min-w-[180px]",children:(0,a.jsx)(q.A,{className:"mt-0 py-1",name:"title",required:!0,label:m({id:"title",defaultMessage:"Title"})})}),(null==d?void 0:d.type)&&(0,a.jsx)(tu.A,{text:d.type,color:"slate",className:"rounded-md uppercase text-xs font-medium flex-shrink-0"}),(0,a.jsx)("div",{className:"text-sm text-slate-500 dark:text-slate-400 truncate min-w-[200px]",children:(0,a.jsx)(q.A,{className:"mt-0 py-1",name:"subtitle",label:m({id:"subtitle",defaultMessage:"Subtitle"})})}),(null==d||null==(l=d.options)?void 0:l.length)>0&&(0,a.jsx)("div",{className:"flex items-center gap-2 flex-wrap",children:d.options.map((e,t)=>{var n;return(0,a.jsx)("span",{className:"inline-flex text-nowrap items-center px-2 py-0.5 rounded-lg text-xs font-medium bg-slate-100 dark:bg-slate-900 text-slate-800 dark:text-slate-200 border border-slate-200 dark:border-slate-800",children:(null==e||null==(n=e.texts)?void 0:n.title)||e.value},e.value||t)})}),(0,a.jsxs)("div",{className:"text-sm text-slate-400 dark:text-slate-500 font-mono flex-shrink-0",children:["(",null==d?void 0:d.key,")"]})]}),(0,a.jsxs)("div",{className:"flex space-x-2 flex-shrink-0",children:[(0,a.jsx)(E.A,{onClick:o,type:"button",variant:"secondary",size:"sm",text:m({id:"cancel",defaultMessage:"Cancel"})}),(0,a.jsx)(E.A,{onClick:()=>f.formik.submitForm(),type:"submit",variant:"primary",size:"sm",text:m({id:"save",defaultMessage:"Save"})})]})]})})};var tf=n(71308),tg=n(84638),th=n(43026),tv=n(18236);let tb=e=>{var t,n,l,r;let{type:i,variation:d,onEdit:o,onDelete:u}=e,[c,m]=(0,w.useState)(!1),{formatMessage:p}=(0,s.A)(),{buttonRef:x,menuRef:f,menuPosition:g}=((e,t)=>{let n=(0,w.useRef)(null),a=(0,w.useRef)(null),[s,l]=(0,w.useState)({top:0,left:0});return(0,w.useEffect)(()=>{let e=e=>{n.current&&!n.current.contains(e.target)&&t(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[t]),(0,w.useEffect)(()=>{if(e&&a.current){let e=a.current.getBoundingClientRect(),t=e.bottom+4,n=e.right-192;n<8&&(n=8),t+80>window.innerHeight-8&&(t=e.top-80-4),l({top:t,left:n})}},[e]),{buttonRef:a,menuRef:n,menuPosition:s}})(c,m);return(0,a.jsx)("div",{className:"variation-display bg-white dark:bg-slate-800 px-4 py-3 border-b border-slate-200 dark:border-slate-700 w-full overflow-x-hidden overflow-y-visible relative hover:outline hover:outline-2 hover:outline-slate-400 dark:hover:outline-slate-500 transition-all",children:(0,a.jsxs)("div",{className:"flex items-center justify-between w-full gap-4",tabIndex:-1,children:[(0,a.jsxs)("div",{className:"flex items-center gap-4 flex-1 min-w-0 overflow-hidden",children:[(0,a.jsx)("div",{className:"flex-shrink-0 text-lg font-semibold text-slate-900 dark:text-slate-200 truncate",children:null==d||null==(t=d.texts)?void 0:t.title}),i&&(0,a.jsx)(tu.A,{text:i,color:"slate",className:"rounded-md uppercase text-xs font-medium flex-shrink-0"}),(null==d||null==(n=d.texts)?void 0:n.subtitle)&&(0,a.jsx)("div",{className:"text-sm text-slate-500 dark:text-slate-400 truncate",children:null==d||null==(l=d.texts)?void 0:l.subtitle}),(null==d||null==(r=d.options)?void 0:r.length)>0&&(0,a.jsx)("div",{className:"flex items-center gap-2 flex-wrap",children:d.options.map((e,t)=>{var n;return(0,a.jsx)("span",{className:"inline-flex text-nowrap items-center px-2 py-0.5 rounded-lg text-xs font-medium bg-slate-100 dark:bg-slate-900 text-slate-800 dark:text-slate-200 border border-slate-200 dark:border-slate-800",children:(null==e||null==(n=e.texts)?void 0:n.title)||e.value},e.value||t)})}),(0,a.jsxs)("div",{className:"text-sm text-slate-400 dark:text-slate-500 font-mono flex-shrink-0",children:["(",null==d?void 0:d.key,")"]})]}),(0,a.jsxs)("div",{className:"relative flex-shrink-0",children:[(0,a.jsx)("button",{ref:x,type:"button",onClick:e=>{e.stopPropagation(),e.preventDefault(),m(e=>!e)},className:"flex items-center justify-center w-8 h-8 rounded-md hover:bg-slate-100 dark:hover:bg-slate-700 transition-colors",children:(0,a.jsx)(tf.A,{className:"w-5 h-5 text-slate-500 dark:text-slate-400"})}),c&&(0,a.jsx)(tg.A,{children:(0,a.jsx)("div",{ref:f,className:"fixed w-48 bg-white dark:bg-slate-800 rounded-md shadow-xl border border-slate-200 dark:border-slate-700 z-[9999]",style:{top:g.top,left:g.left,boxShadow:"0 10px 25px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05)"},children:(0,a.jsxs)("div",{className:"py-1",children:[(0,a.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),e.preventDefault(),o(),m(!1)},className:"flex items-center w-full px-4 py-2 text-sm text-slate-700 dark:text-slate-200 hover:bg-slate-100 dark:hover:bg-slate-700 transition-colors",children:[(0,a.jsx)(th.A,{className:"mr-3 h-5 w-5"}),p({id:"edit",defaultMessage:"Edit"})]}),(0,a.jsxs)("button",{type:"button",onClick:e=>{e.stopPropagation(),e.preventDefault(),u(d._id),m(!1)},className:"flex items-center w-full px-4 py-2 text-sm text-rose-600 dark:text-rose-400 hover:bg-rose-50 dark:hover:bg-rose-900/20 transition-colors",children:[(0,a.jsx)(tv.A,{className:"mr-3 h-5 w-5"}),p({id:"delete",defaultMessage:"Delete"})]})]})})})]})]})})},tj=e=>{let{type:t,variation:n,onDelete:s}=e,[l,r]=(0,w.useState)(!1);return l?(0,a.jsx)(tx,{variation:n,onCancel:()=>r(!1),onSuccess:()=>r(!1)}):(0,a.jsx)(tb,{type:t,variation:n,onEdit:()=>r(!0),onDelete:s})};function ty(){let e=(0,L._)(["\n mutation CreateProductVariationOption(\n $productVariationId: ID!\n $option: String!\n $texts: [ProductVariationTextInput!]\n ) {\n createProductVariationOption(\n productVariationId: $productVariationId\n option: $option\n texts: $texts\n ) {\n _id\n }\n }\n"]);return ty=function(){return e},e}let tw=(0,O.J1)(ty());function t_(){let e=(0,L._)(["\n mutation RemoveProductVariationOption(\n $productVariationId: ID!\n $productVariationOptionValue: String!\n ) {\n removeProductVariationOption(\n productVariationId: $productVariationId\n productVariationOptionValue: $productVariationOptionValue\n ) {\n _id\n }\n }\n"]);return t_=function(){return e},e}let tN=(0,O.J1)(t_()),tk=e=>{let{onSubmit:t}=e,{formatMessage:n}=(0,s.A)(),{hasRole:l}=(0,N.A)(),r=n({id:"variation_option_added",defaultMessage:"Variation option added successfully!"}),i=(0,F.A)({submit:t,successMessage:r,initialValues:{value:"",title:""}});return(0,a.jsxs)(T.A,{form:i,className:"variation-option-form relative overflow-visible",children:[(0,a.jsx)("div",{className:"mb-4 px-2 sm:px-4 pt-2",children:(0,a.jsx)("div",{className:"p-3 bg-slate-50 dark:bg-slate-900/20 rounded-lg border border-slate-200 dark:border-slate-800",children:(0,a.jsx)("p",{className:"text-sm text-slate-800 dark:text-slate-200",children:n({id:"variation_options_explanation",defaultMessage:'Add individual choices for this variation (e.g., "Red", "Blue", "Green" for a Color variation)'})})})}),(0,a.jsxs)("div",{className:"grid lg:grid-cols-2 gap-3 px-2 sm:px-4 sm:pb-4",children:[(0,a.jsx)("div",{className:"col-span-1",children:(0,a.jsx)(tr,{className:"mt-2 pt-1",name:"title",label:n({id:"title",defaultMessage:"Title"}),helpText:n({id:"variation_option_title_help",defaultMessage:'Display name customers see (e.g., "Red", "Large", "Cotton")'}),required:!0})}),(0,a.jsx)("div",{className:"col-span-1",children:(0,a.jsx)(tr,{className:"mt-2 pt-1",name:"value",label:n({id:"value",defaultMessage:"Value"}),helpText:n({id:"variation_option_value_help",defaultMessage:'Internal identifier (e.g., "red", "large", "cotton")'}),required:!0})})]}),(0,a.jsx)("div",{className:"text-right mt-2 px-6 pb-6",children:(0,a.jsx)(R.A,{className:"py-2.5",hidden:!l("addProductVariationOption"),label:n({id:"add_variation_option",defaultMessage:"Add option"})})})]})};var tI=n(80696);let tA=e=>{var t,n,l,r;let{option:i,onDelete:d,variationId:o}=e,{formatMessage:u}=(0,s.A)(),{selectedLocale:c}=(0,eu.A)(),[m,p]=(0,w.useState)(!1),x=u({id:"variation_option_updated",defaultMessage:"Variation option updated successfully!"}),{updateProductVariationTexts:f}=tp(),g=async e=>{let{title:t,subtitle:n}=e,a=await f({productVariationId:o,productVariationOptionValue:i.value,texts:[{title:t,subtitle:n,locale:c}]});return p(!1),{data:a,success:!0}},h=(0,F.A)({submit:g,successMessage:x,initialValues:{title:null==i||null==(t=i.texts)?void 0:t.title,subtitle:null==i||null==(n=i.texts)?void 0:n.subtitle}});return(0,a.jsx)(T.A,{form:h,className:"last:pb-2 variation-option-update-form relative overflow-visible",children:(0,a.jsx)("div",{className:"my-2 rounded-sm border dark:border-slate-700 mx-4 ",children:(0,a.jsx)("div",{className:"p-2 bg-white dark:bg-slate-900 dark:text-slate-200",children:(0,a.jsxs)("div",{className:"flex gap-2 w-full items-center justify-between",children:[(0,a.jsx)(tu.A,{text:null==i||null==(l=i.texts)?void 0:l.title,color:"slate",className:"rounded-md"}),(0,a.jsxs)("div",{className:"flex items-center gap-4 w-full",children:[(0,a.jsx)("p",{className:"truncate text-sm font-medium text-slate-900 dark:text-slate-400",children:m?(0,a.jsx)(q.A,{className:"mt-0",name:"title",required:!0,label:u({id:"title",defaultMessage:"Title"})}):null==i?void 0:i.value}),(0,a.jsx)("p",{className:"truncate text-sm text-slate-500",children:m?(0,a.jsx)(q.A,{className:"mt-0",name:"subtitle",label:u({id:"subtitle",defaultMessage:"Subtitle"})}):null==i||null==(r=i.texts)?void 0:r.subtitle})]}),(0,a.jsx)("div",{className:"flex items-center justify-end ml-auto",children:m?(0,a.jsxs)("div",{className:"flex space-x-2 py-2",children:[(0,a.jsx)("button",{onClick:()=>p(!m),"aria-label":u({id:"cancel",defaultMessage:"Cancel"}),type:"button",className:"inline-flex items-center justify-center font-medium shadow-sm focus:outline-hidden focus:ring-2 focus:ring-offset-2 transition-colors duration-200 disabled:cursor-not-allowed disabled:opacity-50 px-3 py-2 text-sm h-8 rounded-md border border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-800 text-slate-700 dark:text-slate-200 hover:bg-slate-50 dark:hover:bg-slate-700 focus:ring-slate-500",children:u({id:"cancel",defaultMessage:"Cancel"})}),(0,a.jsx)("button",{type:"submit","aria-label":u({id:"save",defaultMessage:"Save"}),className:"inline-flex items-center justify-center font-medium shadow-sm focus:outline-hidden focus:ring-2 focus:ring-offset-2 transition-colors duration-200 disabled:cursor-not-allowed disabled:opacity-50 px-3 py-2 text-sm h-8 rounded-md border border-slate-800 dark:border-slate-600 bg-slate-800 dark:bg-slate-600 text-white hover:bg-slate-900 dark:hover:bg-slate-500 focus:ring-slate-800 dark:focus:ring-slate-400",children:u({id:"save",defaultMessage:"Save"})})]}):(0,a.jsx)(tI.A,{onEdit:()=>{p(!0)},onDelete:()=>{d(i.value)},showEdit:!0,showDelete:!0})})]})})})})},tP=e=>{let{variationId:t,options:n}=e,{createProductVariationOption:r}=(()=>{let[e]=(0,K.n)(tw);return{createProductVariationOption:async t=>{let{productVariationId:n,option:a,texts:s}=t;return e({variables:{productVariationId:n,option:a,texts:s},refetchQueries:["ProductVariations","Product"]})}}})(),{formatMessage:i}=(0,s.A)(),{selectedLocale:d}=(0,eu.A)(),{setModal:o}=(0,eg.A)(),{removeProductVariationOption:u}=(()=>{let[e]=(0,K.n)(tN);return{removeProductVariationOption:async t=>{let{productVariationId:n,productVariationOptionValue:a}=t;return e({variables:{productVariationId:n,productVariationOptionValue:a},refetchQueries:["ProductVariations"]})}}})(),c=async e=>{await o((0,a.jsx)(ef.A,{message:i({id:"delete_variation_option_confirmation",defaultMessage:"This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this option? "}),onCancelClick:()=>o(""),onOkClick:async()=>{o(""),await u({productVariationId:t,productVariationOptionValue:e}),l.oR.success(i({id:"product_variation_option_deleted",defaultMessage:"Variation option deleted successfully"}))},okText:i({id:"delete_variation_option",defaultMessage:"Delete option"})}))},m=async e=>{let{value:n,title:a}=e;return await r({productVariationId:t,option:n,texts:[{title:a,locale:d}]}),{success:!0}};return(0,a.jsxs)("div",{className:"relative overflow-visible",children:[(0,a.jsx)(tk,{onSubmit:m}),n.length?n.map(e=>(0,a.jsx)(tA,{variationId:t,option:e,onDelete:c},e._id)):(0,a.jsx)(eM.A,{message:i({id:"option",defaultMessage:"Option"})})]})},tM=e=>{let{productVariationId:t,variation:n}=e,{formatMessage:r}=(0,s.A)(),{setModal:i}=(0,eg.A)(),{options:d}=n,{removeProductVariation:o}=(()=>{let[e]=(0,K.n)(to);return{removeProductVariation:async t=>{let{productVariationId:n}=t;return e({variables:{productVariationId:n},refetchQueries:["ProductVariations"]})}}})(),u=async()=>{await i((0,a.jsx)(ef.A,{onCancelClick:async()=>i(""),message:r({id:"delete_product_variation_confirmation",defaultMessage:"This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this variation? "}),onOkClick:async()=>{i(""),await o({productVariationId:t}),l.oR.success(r({id:"product_variation_deleted",defaultMessage:"Variation deleted successfully"}))},okText:r({id:"delete_product_variation",defaultMessage:"Delete variation"})}))},c=[{header:(0,a.jsx)(tj,{onDelete:u,variation:n,...n}),body:(0,a.jsx)(tP,{variationId:n._id,options:d},t)}];return(0,a.jsx)(ti.A,{"data-variationid":n._id,data:c,containerCSS:"w-full max-w-full !my-0 !border-0 !shadow-none relative",bodyCSS:"bg-slate-50 dark:bg-slate-950 !border-t-0 relative overflow-visible",itemContainerCSS:"!mt-0 !mb-0 !border-0",headerCSS:"w-full flex items-center justify-between !p-0 !bg-transparent !border-0",hideChevron:!0})},tC=e=>{let{onSubmit:t,disabled:n,formatMessage:s}=e,{variationTypes:l}=(()=>{var e;let{data:t,loading:n,error:a}=(0,U.I)(tl);return{variationTypes:(null==t||null==(e=t.variationTypes)?void 0:e.options)||[],loading:n,error:a}})(),{hasRole:r}=(0,N.A)(),i=s({id:"product_variation_added",defaultMessage:"Product variation added successfully"}),d=(0,F.A)({disabled:n,submit:t,successMessage:i,initialValues:{title:"",key:"",type:""}});return(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"mb-6",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-slate-900 dark:text-slate-100 mb-2",children:s({id:"product_variations_explanation_title",defaultMessage:"About Product Variations"})}),(0,a.jsx)("p",{className:"text-sm text-slate-600 dark:text-slate-400",children:s({id:"product_variations_explanation",defaultMessage:"Variations allow customers to choose different options for your product (like color, size, material). Each variation can have multiple options that customers can select from."})})]}),(0,a.jsxs)(T.A,{form:d,children:[(0,a.jsxs)("div",{className:"space-y-6",children:[(0,a.jsx)(tr,{name:"title",id:"title",label:s({id:"title",defaultMessage:"Title"}),helpText:s({id:"product_variation_title_help",defaultMessage:'The display name customers will see (e.g., "Color", "Size", "Material")'}),required:!0,autoComplete:"on",className:"w-full"}),(0,a.jsx)(tr,{name:"key",id:"key",label:s({id:"key",defaultMessage:"Key"}),helpText:s({id:"product_variation_key_help",defaultMessage:'Unique identifier used internally (e.g., "color", "size"). Use lowercase without spaces.'}),required:!0,autoComplete:"on",className:"w-full"}),(0,a.jsxs)("div",{children:[(0,a.jsx)(D.A,{required:!0,className:"w-full",label:s({id:"type",defaultMessage:"Type"}),placeholder:s({id:"type",defaultMessage:"Type"}),name:"type",options:(0,I.A)(l,"value","value")}),(0,a.jsx)(eo.A,{messageKey:"product_variation_type_help",defaultMessage:"COLOR: For predefined options like colors or sizes. TEXT: For free-form input like custom text or measurements.",className:"mt-1"})]})]}),(0,a.jsx)("div",{className:"flex justify-end mt-6 py-6 -mb-6 bg-slate-100 -mx-6 pe-5 border-t border-slate-200 dark:border-slate-700 bg-slate-50 dark:bg-slate-900",children:(0,a.jsx)(R.A,{hidden:!r("addProductVariation"),label:s({id:"add_variation",defaultMessage:"Add variation"})})})]})]})},t$=e=>{let{productId:t,disabled:n=!1}=e,{createProductVariation:l}=(()=>{let[e]=(0,K.n)(e9);return{createProductVariation:async t=>{let{productId:n,variation:{key:a,type:s},texts:l}=t;return e({variables:{productId:n,variation:{key:a,type:s},texts:l},refetchQueries:["ProductVariations"]})}}})(),{selectedLocale:r}=(0,eu.A)(),{formatMessage:d}=(0,s.A)(),{setModal:o}=(0,eg.A)(),{variations:u,loading:c}=ta({productId:t,locale:r}),m=async e=>{let{title:n,key:a,type:s}=e;return await l({productId:t,variation:{key:a,type:s},texts:[{title:n,locale:r}]}),o(""),{success:!0}};return c?(0,a.jsx)(i.A,{}):(0,a.jsxs)("div",{className:"mt-6 overflow-hidden rounded-md w-full max-w-full",children:[(0,a.jsx)("div",{className:"mb-6 flex justify-end items-center",children:(0,a.jsx)(E.A,{className:"m-1",onClick:()=>{o((0,a.jsx)(tC,{onSubmit:m,disabled:n,formatMessage:d}))},disabled:n,variant:"secondary",icon:(0,a.jsx)(e3.A,{className:"w-5 h-5"}),text:d({id:"add_variation",defaultMessage:"Add variation"})})}),(0,a.jsx)("div",{className:"flex flex-col border border-slate-200 dark:border-slate-700 rounded-md overflow-x-hidden overflow-y-visible w-full relative",children:(null==u?void 0:u.length)?null==u?void 0:u.map(e=>(0,a.jsx)(tM,{productVariationId:e._id,variation:e},e._id)):(0,a.jsx)(eM.A,{message:d({id:"variations",defaultMessage:"Variations"})})})]})};function tS(){let e=(0,L._)(["\n query ProductWarehousing($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on SimpleProduct {\n sku\n baseUnit\n }\n }\n }\n"]);return tS=function(){return e},e}let tT=(0,O.J1)(tS()),tV=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{data:a,loading:s,error:l}=(0,U.I)(tT,{skip:!e&&!n,variables:{productId:e||n}});return{product:(null==a?void 0:a.product)||{},loading:s,error:l}};function tD(){let e=(0,L._)(["\n mutation UpdateProductWarehousing(\n $productId: ID!\n $warehousing: UpdateProductWarehousingInput!\n ) {\n updateProductWarehousing(productId: $productId, warehousing: $warehousing) {\n _id\n ... on SimpleProduct {\n sku\n baseUnit\n }\n }\n }\n"]);return tD=function(){return e},e}let tR=(0,O.J1)(tD()),tq=e=>{let{productId:t,disabled:n=!1}=e,{formatMessage:l}=(0,s.A)(),{product:r}=tV({productId:t}),{hasRole:i}=(0,N.A)(),{updateProductWarehousing:d}=(()=>{let[e]=(0,K.n)(tR);return{updateProductWarehousing:async t=>{let{productId:n,warehousing:{sku:a=null,baseUnit:s=null}}=t;return e({variables:{productId:n,warehousing:{sku:a,baseUnit:s}},refetchQueries:["Products"]})}}})(),o=l({id:"saved",defaultMessage:"Saved"}),u=async e=>{let{sku:n,baseUnit:a}=e;return{data:await d({productId:t,warehousing:{baseUnit:a,sku:n}}),success:!0}},c=(0,F.A)({disabled:n,submit:u,successMessage:o,initialValues:{sku:"",baseUnit:""}});return(0,w.useEffect)(()=>{Object.keys(r).length&&c.formik.setValues({...r})},[r]),(0,a.jsx)("div",{className:"mt-5 md:mt-0",children:(0,a.jsx)(k.A,{children:(0,a.jsxs)(T.A,{className:"rounded",form:c,children:[(0,a.jsx)("div",{className:"relative px-4 pb-5 sm:p-6",children:(0,a.jsxs)("div",{className:"w-full justify-between align-baseline lg:flex gap-6",children:[(0,a.jsx)(q.A,{name:"sku",id:"sku",label:l({id:"sku",defaultMessage:"SKU"}),className:"mb-4 text-sm"}),(0,a.jsx)(q.A,{name:"baseUnit",id:"baseUnit",label:l({id:"baseUnit",defaultMessage:"Base Unit"}),className:"text-sm"})]})}),(0,a.jsx)("div",{className:"border-t-slate-100 border-t dark:border-t-slate-700 space-y-6 bg-slate-50 dark:bg-slate-900 text-right sm:p-6",children:(0,a.jsx)(R.A,{hidden:!i("editProductWarehousing"),label:l({id:"save",defaultMessage:"Save"})})})]})})})};var tE=n(32613),tF=n(37795),tJ=n(15972);function tL(){let e=(0,L._)(["\n query ProductReviewByProduct(\n $productId: ID\n $slug: String\n $limit: Int\n $offset: Int\n $sort: [SortOptionInput!]\n ) {\n product(productId: $productId, slug: $slug) {\n _id\n reviews(limit: $limit, offset: $offset, sort: $sort) {\n ...ProductReviewDetailFragment\n }\n reviewsCount\n }\n }\n ","\n"]);return tL=function(){return e},e}let tO=(0,O.J1)(tL(),tJ.A),tU=function(){let{productId:e=null,slug:t=null,limit:n=10,offset:a=0,sort:s=[{key:"created",value:tF.t4.Desc}]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{data:l,loading:r,error:i,fetchMore:d}=(0,U.I)(tO,{skip:!e,variables:{productId:e,slug:t,limit:n,offset:a,sort:s}}),o=null==l?void 0:l.product,u=(null==o?void 0:o.reviews)||[];return{productReviews:u,loading:r,error:i,reviewsCount:(null==o?void 0:o.reviewsCount)||0,loadMore:()=>{d({variables:{offset:null==u?void 0:u.length}})}}};var tB=n(90182),tQ=n(58817),tz=n(13708),tW=n(2112);let tK=e=>{let{productReviews:t}=e,{formatMessage:n}=(0,s.A)(),l=t.reduce((e,t)=>e+t.upVote,0),r=t.reduce((e,t)=>e+t.downVote,0),i=l?l/(l+r)*100:0,d=i?100-i:0;return(0,a.jsxs)("div",{className:"lg:col-span-4",children:[(0,a.jsx)("h2",{className:"text-2xl",children:n({id:"customer_reviews",defaultMessage:"Customer Reviews"})}),(0,a.jsxs)("div",{className:"mt-3 flex items-center",children:[(0,a.jsx)("div",{children:(0,a.jsx)("div",{title:"".concat(i),className:"flex items-center",children:[0,1,2,3,4].map(e=>{let t=i>=20*e;return(0,a.jsx)(tW.A,{className:"\n ".concat(t?"text-amber-400":"text-slate-300 dark:text-slate-600","\n h-5 w-5 shrink-0\n "),"aria-hidden":"true"},e)})})}),(0,a.jsx)("div",{className:"ml-2 text-sm",children:(0,a.jsx)(ee.A,{id:"review_summary",defaultMessage:"<div> Based on <cta> {total} </cta> reviews</div>",values:{div:e=>(0,a.jsx)("div",{children:e}),cta:e=>(0,a.jsx)("b",{className:"font-semibold",children:e}),total:t.length}})})]}),(0,a.jsxs)("div",{className:"mt-6",children:[(0,a.jsx)("h3",{className:"sr-only",children:n({id:"review_data",defaultMessage:"Review data"})}),(0,a.jsxs)("dl",{className:"space-y-3",children:[(0,a.jsxs)("div",{className:"flex items-center text-sm",children:[(0,a.jsxs)("dt",{className:"flex flex-1 items-center",children:[(0,a.jsx)("p",{className:"font-medium",children:l}),(0,a.jsxs)("div",{"aria-hidden":"true",className:"ml-2 flex flex-1 items-center",children:[(0,a.jsx)(tQ.A,{className:"\n ".concat(l>0?"text-emerald-500":"text-slate-500","\n h-5 w-5 shrink-0"),"aria-hidden":"true"}),(0,a.jsxs)("div",{className:"relative ml-3 flex-1",children:[(0,a.jsx)("div",{className:"h-3 rounded-full border border-slate-300 dark:border-slate-800 bg-slate-50 dark:bg-slate-900"}),l>0?(0,a.jsx)("div",{className:"absolute inset-y-0 rounded-full border border-emerald-500 bg-emerald-500",style:{width:"calc(".concat(i,"%)")}}):null]})]})]}),(0,a.jsxs)("dd",{className:"ml-3 w-10 text-right text-sm tabular-nums",children:[Math.round(i),"%"]})]}),(0,a.jsxs)("div",{className:"flex items-center text-sm",children:[(0,a.jsxs)("dt",{className:"flex flex-1 items-center",children:[(0,a.jsxs)("p",{className:"font-medium",children:[r,(0,a.jsx)("span",{className:"sr-only",children:n({id:"star_reviews",defaultMessage:"Star reviews"})})]}),(0,a.jsxs)("div",{"aria-hidden":"true",className:"ml-2 flex flex-1 items-center",children:[(0,a.jsx)(tz.A,{className:"\n ".concat(r>0?"text-rose-500":"text-slate-500","\n h-5 w-5 shrink-0\n "),"aria-hidden":"true"}),(0,a.jsxs)("div",{className:"relative ml-3 flex-1",children:[(0,a.jsx)("div",{className:"h-3 rounded-full border border-slate-300 dark:border-slate-800 bg-slate-50 dark:bg-slate-900"}),r>0?(0,a.jsx)("div",{className:"absolute inset-y-0 rounded-full border border-rose-500 bg-rose-500",style:{width:"calc(".concat(d,"%)")}}):null]})]})]}),(0,a.jsxs)("dd",{className:"ml-3 w-10 text-right text-sm tabular-nums",children:[Math.round(d),"%"]})]})]})]})]})};var tG=n(60834);let tH=e=>{let{onSubmit:t,onSubmitSuccess:n=null,defaultValue:l={},isEdit:r=!1}=e,{formatMessage:i}=(0,s.A)(),{hasRole:d}=(0,N.A)(),o=i({id:"product_review_added",defaultMessage:"Review added successfully!"}),u=i({id:"product_review_updated",defaultMessage:"Review updated successfully!"}),c=(0,F.A)({submit:t,onSubmitSuccess:n,successMessage:r?u:o,initialValues:{title:"",review:"",rating:1,...l}});return(0,a.jsxs)("div",{className:"bg-white dark:bg-slate-800 rounded-md shadow-sm overflow-hidden p-6 mb-6",children:[(0,a.jsx)("h3",{className:"text-lg font-semibold text-slate-900 dark:text-slate-100 mb-4",children:i({id:"write_review",defaultMessage:"Write a Review"})}),(0,a.jsxs)(T.A,{form:c,children:[(0,a.jsxs)("div",{className:"space-y-4",children:[(0,a.jsx)(q.A,{name:"title",id:"title",label:i({id:"title",defaultMessage:"Title"}),autoComplete:"off",required:!0}),(0,a.jsx)(tG.A,{rows:4,name:"review",id:"review",label:i({id:"review",defaultMessage:"Review"}),placeholder:i({id:"review_placeholder",defaultMessage:"Share your thoughts about this product..."})})]}),(0,a.jsx)("div",{className:"mt-6 flex justify-end",children:(0,a.jsx)(R.A,{hidden:!d("reviewProduct"),label:i(r?{id:"update_review",defaultMessage:"Update Review"}:{id:"add_review",defaultMessage:"Add Review"}),className:"px-6 py-2"})})]})]})};function tX(){let e=(0,L._)(["\n mutation CreateProductReview(\n $productId: ID!\n $productReview: ProductReviewInput!\n ) {\n createProductReview(productId: $productId, productReview: $productReview) {\n ...ProductReviewDetailFragment\n }\n }\n ","\n"]);return tX=function(){return e},e}let tY=(0,O.J1)(tX(),tJ.A),tZ=e=>{let{productId:t}=e,{productReviews:n,loadMore:l,reviewsCount:r}=tU({productId:t}),{createProductReview:i}=(()=>{let[e]=(0,K.n)(tY);return{createProductReview:async t=>{let{productId:n,productReview:{title:a,rating:s,review:l}}=t;return e({variables:{productId:n,productReview:{title:a,rating:s,review:l}},refetchQueries:["ProductReviewByProduct","ProductReviewByUser"]})}}})(),{formatMessage:d}=(0,s.A)();return(0,a.jsxs)("div",{className:"sm:max-w-full",children:[(0,a.jsx)("div",{className:"text-slate-900 dark:text-slate-200",children:(0,a.jsxs)("div",{className:"mx-auto p-2 lg:grid lg:max-w-7xl lg:grid-cols-12 lg:gap-x-8",children:[(0,a.jsx)(tK,{productReviews:n}),(0,a.jsxs)("div",{className:"mt-16 lg:col-span-7 lg:col-start-6 lg:mt-0",children:[t&&(0,a.jsx)(tH,{onSubmit:async e=>{let{title:n,review:a,rating:s}=e;return await i({productId:t,productReview:{title:n,review:a,rating:10}})}}),(0,a.jsx)("h3",{className:"sr-only",children:d({id:"recent_reviews",defaultMessage:"Recent reviews"})}),(0,a.jsx)("div",{className:"flow-root",children:(0,a.jsx)("div",{className:"-my-3",children:n.map(e=>(0,a.jsx)(tB.A,{review:e},e._id))})})]})]})}),r>(null==n?void 0:n.length)?(0,a.jsx)(E.A,{text:d({id:"load-more-reviews",defaultMessage:"Load reviews"}),onClick:l}):null]})};var t0=n(85429);function t1(){let e=(0,L._)(["\n mutation CreateProductBundleItem(\n $productId: ID!\n $item: CreateProductBundleItemInput!\n ) {\n createProductBundleItem(productId: $productId, item: $item) {\n _id\n }\n }\n"]);return t1=function(){return e},e}let t2=(0,O.J1)(t1());var t5=n(83127);let t6=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:[];return e.map(e=>{var t,n;let{_id:a,status:s,texts:l,media:r}=e;return{id:a,tag:s,...l,image:(null==r?void 0:r.length)?null==(n=r[0])||null==(t=n.file)?void 0:t.url:null}})},t4=e=>{let{productId:t,disabled:n=!1}=e,[l,r]=(0,w.useState)(""),{createProductBundleItem:i}=(()=>{let[e]=(0,K.n)(t2);return{createProductBundleItem:async t=>{let{productId:n,item:a}=t;return e({variables:{productId:n,item:a},refetchQueries:["ProductBundleItems"]})}}})(),{hasRole:d}=(0,N.A)(),{formatMessage:o}=(0,s.A)(),{products:u,loading:c}=(0,t5.A)({queryString:l,includeDrafts:!0,limit:50,sort:[{key:"created",value:tF.t4.Desc}]}),m=async e=>{let{productId:n,quantity:a}=e;return await i({item:{productId:n,quantity:a},productId:t}),{success:!0}},p=o({id:"bundle_item_added",defaultMessage:"Bundle product added successfully"}),x=(0,F.A)({disabled:n,submit:m,successMessage:p,onSubmitSuccess:()=>(x.formik.resetForm(),null),initialValues:{productId:"",quantity:1}});return(0,a.jsxs)(T.A,{form:x,children:[(0,a.jsx)(t0.A,{name:"productId",onFilter:r,queryString:l,label:o({id:"product",defaultMessage:"Product"}),data:t6(u),isLoading:c,className:"mt-1 w-full py-2 text-sm font-medium text-slate-500",required:!0}),(0,a.jsx)(q.A,{name:"quantity",type:"number",required:!0,label:o({id:"quantity",defaultMessage:"Quantity"})}),(0,a.jsx)(R.A,{hidden:!d("addProductBundleItem"),label:o({id:"submit",defaultMessage:"Submit"}),className:"mt-2"})]})};var t3=n(49666);function t8(){let e=(0,L._)(["\n query ProductBundleItems($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on BundleProduct {\n bundleItems {\n product {\n ...ProductBriefFragment\n }\n quantity\n }\n }\n }\n }\n ","\n"]);return t8=function(){return e},e}let t9=(0,O.J1)(t8(),t3.A),t7=function(){var e;let{productId:t=null,slug:n=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},a=(0,ey.id)(n),{data:s,loading:l,error:r}=(0,U.I)(t9,{skip:!t&&!a,variables:{productId:t||a}});return{bundleItems:(null==s||null==(e=s.product)?void 0:e.bundleItems)||[],loading:l,error:r}};function ne(){let e=(0,L._)(["\n mutation RemoveBundleItem($productId: ID!, $index: Int!) {\n removeBundleItem(productId: $productId, index: $index) {\n _id\n }\n }\n"]);return ne=function(){return e},e}let nt=(0,O.J1)(ne());var nn=n(64241),na=n(13484);let ns=e=>{var t,n,s,l,r,i,d;let{item:o,onDelete:u,index:c}=e,{product:m,quantity:p}=o;return(0,a.jsxs)("div",{className:"group flex w-full items-center justify-between border-b border-slate-200 dark:border-slate-700 hover:border-slate-300 dark:hover:border-slate-600 hover:bg-slate-50/80 dark:hover:bg-slate-700/50 transition-all duration-200 ease-in-out hover:shadow-sm last:border-none",children:[(0,a.jsxs)("div",{className:"flex w-full items-center space-x-6 py-4",children:[(null==(t=m.media)?void 0:t.length)?(0,a.jsx)("div",{className:"flex w-20 flex-col items-center",children:(0,a.jsx)("div",{className:"relative m-1 mr-2 mt-1 flex items-center justify-center rounded-full ",children:(0,a.jsx)(nn.A,{className:"mx-auto w-auto",src:null==(s=m.media[0])||null==(n=s.file)?void 0:n.url,width:160,height:100,alt:(null==m||null==(l=m.texts)?void 0:l.title)||(null==m||null==(r=m.texts)?void 0:r.subtitle)})})}):(0,a.jsx)(na.A,{className:"h-10 w-10"}),(0,a.jsxs)("div",{className:"shrink grow basis-1/2",children:[(0,a.jsx)("h3",{className:"text-lg text-slate-800 dark:text-slate-200",children:null==m||null==(i=m.texts)?void 0:i.title}),(0,a.jsx)("p",{className:"text-xs text-slate-600 dark:text-slate-200",children:null==m||null==(d=m.texts)?void 0:d.subtitle})]}),(0,a.jsx)("div",{className:"ml-auto",children:(0,a.jsx)(tu.A,{text:p,color:"slate",square:!0})})]}),(0,a.jsx)(tI.A,{onDelete:()=>{u(c)},showDelete:!0})]})},nl=e=>{let{productId:t}=e,{formatMessage:n}=(0,s.A)(),{setModal:r}=(0,eg.A)(),{bundleItems:d,loading:o}=t7({productId:t}),{removeBundleItem:u}=(()=>{let[e]=(0,K.n)(nt);return{removeBundleItem:async t=>{let{productId:n,index:a}=t;return e({variables:{productId:n,index:a},refetchQueries:["ProductBundleItems"]})}}})(),c=async e=>{await r((0,a.jsx)(ef.A,{onCancelClick:async()=>r(""),message:n({id:"delete_bundle_item_confirmation",defaultMessage:"This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this bundle item? "}),onOkClick:async()=>{r(""),await u({productId:t,index:e}),l.oR.success(n({id:"bundle_item_deleted",defaultMessage:"Bundle item deleted successfully"}))},okText:n({id:"delete_bundle_item",defaultMessage:"Delete item"})}))};return o?(0,a.jsx)(i.A,{}):d.length?(0,a.jsx)(a.Fragment,{children:d.map((e,t)=>(0,a.jsx)(ns,{index:t,item:e,onDelete:c},e.product._id))}):(0,a.jsx)(eM.A,{message:n({id:"bundle",defaultMessage:"Bundle product"})})},nr=e=>{let{productId:t,disabled:n=!1}=e;return(0,a.jsx)("div",{className:"mt-6 rounded-md",children:(0,a.jsxs)("div",{className:"lg:grid lg:grid-cols-9",children:[(0,a.jsx)("div",{className:"mb-5 lg:col-span-4 lg:pr-5",children:(0,a.jsx)(t4,{productId:t,disabled:n})}),(0,a.jsx)("div",{className:"col-span-5 ml-auto rounded-md bg-white dark:bg-slate-800 px-8 shadow-md dark:shadow-none lg:w-full",children:(0,a.jsx)("div",{className:"py-4",children:(0,a.jsx)(nl,{productId:t})})})]})})};var ni=n(18061),nd=n(73849),no=n(73425),nu=n(60101);function nc(){let e=(0,L._)(["\n fragment ProductAssignmentFragment on ProductVariationAssignment {\n _id\n vectors {\n _id\n option {\n _id\n value\n texts {\n _id\n title\n subtitle\n }\n }\n variation {\n _id\n key\n texts {\n _id\n locale\n title\n }\n }\n }\n product {\n _id\n texts {\n _id\n title\n slug\n subtitle\n }\n }\n }\n"]);return nc=function(){return e},e}let nm=(0,O.J1)(nc());function np(){let e=(0,L._)(["\n query ProductAssignments($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on ConfigurableProduct {\n texts {\n _id\n subtitle\n slug\n title\n }\n variations {\n _id\n key\n texts {\n _id\n title\n }\n options {\n _id\n value\n texts {\n _id\n title\n }\n }\n }\n assignments(includeInactive: true) {\n ...ProductAssignmentFragment\n }\n }\n }\n }\n ","\n"]);return np=function(){return e},e}let nx=(0,O.J1)(np(),nm),nf=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{data:a,loading:s,error:l}=(0,U.I)(nx,{skip:!e&&!n,variables:{productId:e||n}});return{product:null==a?void 0:a.product,loading:s,error:l}};var ng=n(75347);let nh=(e,t,n)=>{let a=e[n],s=[];return(null==a||a.values.filter(e=>e.length).forEach(e=>{let n={};n[a.key]=e,t.length>0?t.forEach(e=>{s.push({...e,...n})}):s.push(n)}),e.length>n+1)?nh(e,s,n+1):Array.from(new Set(s.map(e=>JSON.stringify(e)))).map(e=>JSON.parse(e))},nv=e=>{let{_id:t,texts:n}=e;return{value:t,label:null==n?void 0:n.title}};var nb=n(81773),nj=n(48463),ny=n(90744);function nw(){let e=(0,L._)(["\n mutation AddProductAssignment(\n $proxyId: ID!\n $productId: ID!\n $vectors: [ProductAssignmentVectorInput!]!\n ) {\n addProductAssignment(\n proxyId: $proxyId\n productId: $productId\n vectors: $vectors\n ) {\n _id\n }\n }\n"]);return nw=function(){return e},e}let n_=(0,O.J1)(nw()),nN=()=>{let[e]=(0,K.n)(n_);return{addProductAssignment:async t=>{let{productId:n,proxyId:a,vectors:s}=t;return e({variables:{productId:n,proxyId:a,vectors:s},refetchQueries:["ProductAssignments"]})}}};function nk(){let e=(0,L._)(["\n mutation RemoveProductAssignment(\n $proxyId: ID!\n $vectors: [ProductAssignmentVectorInput!]!\n ) {\n removeProductAssignment(proxyId: $proxyId, vectors: $vectors) {\n _id\n }\n }\n"]);return nk=function(){return e},e}let nI=(0,O.J1)(nk());var nA=n(48230),nP=n.n(nA),nM=n(27908),nC=n(86482);let n$=function(e){let{proxyProduct:t,vectors:n,onSuccess:a}=e,{selectedLocale:l}=(0,eu.A)(),{createProduct:r}=(0,nC.A)(),{addProductAssignment:i}=nN(),{formatMessage:d}=(0,s.A)();return async e=>{let{title:s,type:o}=e,u=[{title:s,slug:s.toLowerCase().replace(/\s+/g,"-"),locale:l}],{data:c}=await r({product:{type:o||no.W.SimpleProduct},texts:u}),m=null==c?void 0:c.createProduct,p=null==m?void 0:m._id;if(!p)throw Error(d({id:"product_creation_failed",defaultMessage:"Product creation failed"}));return await i({productId:p,proxyId:null==t?void 0:t._id,vectors:n}),null==a||a(m),{success:!0}}},nS=e=>{let{proxyProduct:t,vectors:n,onSuccess:l}=e,{formatMessage:r}=(0,s.A)(),i=n$({onSuccess:l,proxyProduct:t,vectors:n}),{hasRole:d}=(0,N.A)(),o=(0,w.useMemo)(()=>n.map(e=>{let{value:t}=e;return t}),[n]),u=(0,w.useMemo)(()=>{var e,n;let a=null!=(n=null==t||null==(e=t.texts)?void 0:e.title)?n:"";return"".concat(o.join("-")," ").concat(a).trim()},[o,t]),c=async e=>{let{title:t,type:n}=e;try{return await i({title:t,type:n}),{success:!0}}catch(e){return{success:!1,error:{message:null==e?void 0:e.message}}}},m=r({id:"product-scaffolded-success",defaultMessage:"Product scaffolded successfully"}),p=(0,F.A)({submit:c,successMessage:m,enableReinitialize:!0,initialValues:{title:u,type:no.W.SimpleProduct}});return(0,a.jsxs)(T.A,{className:"mt-3 rounded-md",form:p,children:[(0,a.jsxs)("div",{className:"p-5 pb-7 sm:max-w-full flex flex-col gap-3",children:[(0,a.jsx)(q.A,{name:"title",id:"title",label:r({id:"name",defaultMessage:"Name"}),required:!0,className:"block w-full max-w-full rounded-md border-slate-300 dark:border-slate-800 text-sm focus:ring-slate-800 sm:text-sm"}),(0,a.jsx)(D.A,{className:"mt-1 w-full",label:r({id:"type",defaultMessage:"Type"}),placeholder:r({id:"type",defaultMessage:"Type"}),required:!0,name:"type",options:Object.fromEntries(Object.entries(no.W).filter(e=>{let[,t]=e;return t!==no.W.ConfigurableProduct}))})]}),(0,a.jsx)("div",{className:"border-t border-t-slate-100 dark:border-t-slate-700 bg-slate-50 dark:bg-slate-900 p-5 text-right",children:(0,a.jsx)(R.A,{hidden:!d("addProduct"),label:r({id:"scaffold_product",defaultMessage:"Scaffold"})})})]})},nT=e=>{var t,n;let{columns:l,variationProduct:r,product:i,loading:d,disabled:o,proxyId:u,columnKeys:c}=e,{formatMessage:m}=(0,s.A)(),[p,x]=(0,w.useState)(""),{addProductAssignment:f}=nN(),{removeProductAssignment:g}=(()=>{let[e]=(0,K.n)(nI);return{removeProductAssignment:async t=>{let{proxyId:n,vectors:a}=t;return e({variables:{proxyId:n,vectors:a},refetchQueries:["ProductAssignments"]})}}})(),{hasRole:h}=(0,N.A)(),{setModal:v}=(0,eg.A)(),{products:b}=(0,t5.A)({queryString:p,limit:50,sort:[{key:"created",value:tF.t4.Desc}]}),j=(0,w.useMemo)(()=>l.map((e,t)=>({key:c[t],value:e})).filter(e=>{let{value:t}=e;return t}),[l,c]),y=(0,w.useCallback)(async e=>{let{value:t}=e;await f({proxyId:u,productId:t,vectors:j})},[j,f,u]),_=(0,w.useCallback)(async()=>{await v((0,a.jsx)(ef.A,{onCancelClick:async()=>v(""),message:m({id:"delete_product_assignment",defaultMessage:"This action might cause inconsistencies with other data that relates to it. Are you sure you want to delete this assignment? "}),onOkClick:async()=>{v(""),await g({proxyId:u,vectors:j})},okText:m({id:"delete_variation_assignment",defaultMessage:"Delete assignment"})}))},[u,j,m,v,g]),k=(0,w.useMemo)(()=>(0,ny.A)(200)(x),[]),I=!r&&(null==i||null==(t=i.variations)?void 0:t.length)!==(null==l?void 0:l.length),A=(0,w.useMemo)(()=>(null==b?void 0:b.map(nv).filter(e=>{let{value:t}=e;return t!==u}))||[],[b,u]),P=async()=>{await v((0,a.jsx)(nS,{proxyProduct:i,vectors:j,onSuccess:()=>{v(null)}}))};return(0,a.jsxs)(ng.A.Row,{children:[l.map((e,t)=>(0,a.jsx)(ng.A.Cell,{className:"font-medium",children:e},"".concat(e))),(0,a.jsx)(ng.A.Cell,{children:r?(0,a.jsx)("div",{className:"flex items-center",children:(0,a.jsx)(nP(),{href:"/products?slug=".concat((0,ey.Ay)(r)),children:(0,a.jsx)("span",{className:"text-green-700 dark:text-green-300 font-medium",children:null==r||null==(n=r.texts)?void 0:n.title})})}):I?(0,a.jsx)("div",{className:"mt-1 text-sm text-rose-600 italic",children:m({id:"assign_product_needs_variations",defaultMessage:"Please configure all variation options before assigning a product."})}):(0,a.jsx)("div",{className:"relative w-full",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("div",{className:"flex-1",children:(0,a.jsx)(nj.A,{name:"productId",placeholder:m({id:"search_product",defaultMessage:"Search product"}),isLoading:d,isDisabled:o,onChange:y,onInputChange:k,options:A,className:"mt-1 w-full py-2 text-sm font-medium text-slate-500"})}),h("addProduct")&&(0,a.jsx)(E.A,{onClick:P,children:(0,a.jsx)(nM.A,{className:"h-5 w-5"})})]})})}),(0,a.jsx)(ng.A.Cell,{children:r&&r._id&&(0,a.jsx)(nb.A,{onClick:_})})]})};var nV=n(91439);let nD=e=>{let{proxyId:t,disabled:n=!1}=e,{formatMessage:l}=(0,s.A)(),{product:r,loading:i}=nf({productId:t}),d=r&&(null==r?void 0:r.variations)||[],o=r&&r.assignments||[],u=(0,w.useMemo)(()=>d.filter(e=>{let{options:t}=e;return t.length}).map(e=>{let{key:t}=e;return t}),[d]),c=(0,w.useMemo)(()=>d.map(e=>{let{key:t,options:n}=e;return{values:null==n?void 0:n.map(e=>e.value),key:t}}),[d]),m=(0,w.useMemo)(()=>{let e=c.filter(e=>{let{values:t}=e;return null==t?void 0:t.length});return e.length>0?nh(e,[],0):[]},[c]),p=(0,w.useMemo)(()=>o.map(e=>{let t={};return u.forEach(n=>{var a,s;let l=e.vectors.find(e=>{var t;return(null==(t=e.variation)?void 0:t.key)===n});t[n]=null!=(s=null==l||null==(a=l.option)?void 0:a.value)?s:""}),t}),[o,u]),x=(0,w.useMemo)(()=>{let e=[...m,...p],t=new Set;return e.filter(e=>{let n=Object.values(e).join("::");return!t.has(n)&&(t.add(n),!0)})},[m,p]),f=(0,w.useMemo)(()=>o.map(e=>{let t={};return e.vectors.forEach(e=>{var n,a;(null==e||null==(n=e.variation)?void 0:n.key)&&(null==e||null==(a=e.option)?void 0:a.value)&&(t[e.variation.key]=e.option.value)}),{keys:t,product:e.product}}),[o]),g=(0,w.useMemo)(()=>x.map(e=>{let t=f.find(t=>{let{keys:n}=t;return Object.entries(n).every(t=>{let[n,a]=t;return e[n]===a})});return{_id:Object.values(e).join("::"),product:null==t?void 0:t.product,columns:Object.values(e),columnsText:Object.values(e)}}),[x,f]),h=(0,w.useMemo)(()=>d.length>0,[d]),v=(0,w.useMemo)(()=>d.some(e=>e.options&&e.options.length>0),[d]);return(0,a.jsxs)(k.A,{children:[(0,a.jsx)(nV.A,{title:l({id:"product_assignments_explanation_title",defaultMessage:"About Product Assignments"}),description:l({id:"product_assignments_explanation_text",defaultMessage:"Product assignments allow you to link specific products to each unique combination of variation options. For example, if you have a t-shirt with 'Size' and 'Color' variations, you can assign different product SKUs to each combination like 'Large + Red' or 'Small + Blue'. This is useful for managing inventory, pricing, and product details for each specific variant."})}),!h&&(0,a.jsxs)("div",{className:"text-center py-8",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-gray-100 dark:bg-gray-800 mb-4",children:(0,a.jsx)(nu.A,{className:"w-8 h-8 text-gray-400"})}),(0,a.jsx)("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-2",children:l({id:"no_variations_configured",defaultMessage:"No variations configured yet. Please add variations and their options in the Variations tab first."})})]}),h&&v&&(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mb-4",children:(0,a.jsx)(eo.A,{messageKey:"assignment_matrix_help",defaultMessage:"Each row represents a unique combination of your product variations. Assign a specific product to each combination to create a complete product catalog."})}),(0,a.jsxs)(ng.A,{children:[(0,a.jsxs)(ng.A.Row,{children:[u.map(e=>{var t,n;return(0,a.jsx)(ng.A.Cell,{className:"font-semibold bg-gray-50 dark:bg-gray-800",children:(null==(n=d.find(t=>t.key===e))||null==(t=n.texts)?void 0:t.title)||e},e)}),(0,a.jsx)(ng.A.Cell,{className:"font-semibold bg-gray-50 dark:bg-gray-800",children:l({id:"assigned_product_column_header",defaultMessage:"Assigned Product"})}),(0,a.jsx)(ng.A.Cell,{className:"font-semibold bg-gray-50 dark:bg-gray-800",children:l({id:"actions_column_header",defaultMessage:"Actions"})})]}),g.length>0&&g.map(e=>{let{_id:s,columns:l,product:d}=e;return(0,a.jsx)(nT,{columns:l,disabled:n,loading:i,product:r,variationProduct:d,columnKeys:u,proxyId:t},s)})]})]}),h&&!v&&(0,a.jsxs)("div",{className:"text-center py-8",children:[(0,a.jsx)("div",{className:"inline-flex items-center justify-center w-16 h-16 rounded-full bg-yellow-100 dark:bg-yellow-900/30 mb-4",children:(0,a.jsx)(nu.A,{className:"w-8 h-8 text-yellow-600 dark:text-yellow-400"})}),(0,a.jsx)("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-2",children:l({id:"assign_product_needs_variations",defaultMessage:"Please configure all variation options before assigning a product."})}),(0,a.jsx)("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:l({id:"assignment_matrix_help",defaultMessage:"Each row represents a unique combination of your product variations. Assign a specific product to each combination to create a complete product catalog."})})]})]})};function nR(){let e=(0,L._)(["\n query ProductTokenization($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n _id\n ... on TokenizedProduct {\n contractConfiguration {\n tokenId\n supply\n }\n contractStandard\n contractAddress\n }\n }\n }\n"]);return nR=function(){return e},e}let nq=(0,O.J1)(nR()),nE=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{data:a,loading:s,error:l}=(0,U.I)(nq,{skip:!e&&!t,variables:{productId:e||n}});return{product:null==a?void 0:a.product,loading:s,error:l}};function nF(){let e=(0,L._)(['\n query SmartContractStandards {\n smartContractStandards: __type(name: "SmartContractStandard") {\n options: enumValues {\n value: name\n label: name\n }\n }\n }\n']);return nF=function(){return e},e}let nJ=(0,O.J1)(nF());function nL(){let e=(0,L._)(["\n mutation UpdateProductTokenization(\n $productId: ID!\n $tokenization: UpdateProductTokenizationInput!\n ) {\n updateProductTokenization(\n productId: $productId\n tokenization: $tokenization\n ) {\n _id\n }\n }\n"]);return nL=function(){return e},e}let nO=(0,O.J1)(nL()),nU=e=>{let{productId:t,disabled:n=!1}=e,{formatMessage:l}=(0,s.A)(),{hasRole:r}=(0,N.A)(),{smartContractStandards:i}=(()=>{var e;let{data:t,loading:n,error:a}=(0,U.I)(nJ);return{smartContractStandards:(null==t||null==(e=t.smartContractStandards)?void 0:e.options)||[],loading:n,error:a}})(),{updateProductTokenization:d}=(()=>{let[e]=(0,K.n)(nO);return{updateProductTokenization:async t=>{let{productId:n,tokenization:{contractAddress:a,contractStandard:s,tokenId:l,supply:r}}=t;return e({variables:{productId:n,tokenization:{contractAddress:a,contractStandard:s,tokenId:l,supply:parseInt(r,10)}},refetchQueries:["Product","Products"]})}}})(),{product:o,loading:u}=nE({productId:t}),c=async e=>{let{contractAddress:n,contractStandard:a,tokenId:s,supply:l}=e;return await d({productId:t,tokenization:{contractAddress:n,contractStandard:a,tokenId:s||"",supply:l}}),{success:!0}},m=l({id:"token_updated",defaultMessage:"Token update successfully!"}),p=(0,F.A)({disabled:n,submit:c,successMessage:m,initialValues:{contractAddress:"",contractStandard:"",tokenId:"",supply:""}});return(0,w.useEffect)(()=>{var e,t;u||p.formik.setValues({contractAddress:(null==o?void 0:o.contractAddress)||"",contractStandard:(null==o?void 0:o.contractStandard)||"",tokenId:(null==o||null==(e=o.contractConfiguration)?void 0:e.tokenId)||"",supply:(null==o||null==(t=o.contractConfiguration)?void 0:t.supply)||""})},[u]),(0,a.jsx)(er.A,{documentationLabel:l({id:"texts",defaultMessage:"Texts"}),className:"mt-2 lg:mt-5",documentation:(0,a.jsx)(ee.A,{id:"tokenized_product_text_form_description",defaultMessage:"<b>Contract standards </b> <ol> <dt><b> ERC721 </b></dt> <dd> Buying multiple Products leads to multiple Tokens (make sure to set the tokenId to 0 to make it auto generate new id's) </dd> <dt> <b> ERC1155 </b></dt> <dd> Buying multiple Products leads to a new token with balance 3 of token with tokenId assigned </dd> <dt> <b> Contract address </b></dt> <dd> Address of a token on a given network </dd> </ol>",values:{ol:e=>(0,a.jsxs)("ol",{children:[e," "]}),dt:e=>(0,a.jsxs)("dt",{className:"bold",children:[e," "]}),dd:e=>(0,a.jsxs)("dd",{children:[e," "]}),b:e=>(0,a.jsxs)("b",{children:[e," "]})}}),children:(0,a.jsx)(k.A,{children:(0,a.jsxs)(T.A,{form:p,children:[(0,a.jsxs)("div",{className:"p-5 pb-7 sm:max-w-full flex flex-col gap-y-5",children:[(0,a.jsx)(D.A,{className:"w-full",label:l({id:"contract-standard",defaultMessage:"Contract standard"}),placeholder:l({id:"contract-standard",defaultMessage:"Contract standard"}),required:!0,name:"contractStandard",options:(0,I.A)(i,"label","value")}),(0,a.jsx)(q.A,{name:"contractAddress",id:"contractAddress",label:l({id:"contract-address-label",defaultMessage:"Contract Address"}),placeholder:l({id:"contract-address-label",defaultMessage:"Contract Address"}),required:!0,className:"block w-full max-w-full rounded-md border-slate-300 dark:border-slate-800 text-sm focus:ring-slate-800 sm:text-sm"}),(0,a.jsx)(q.A,{name:"supply",id:"supply",type:"number",label:l({id:"token-supply",defaultMessage:"Supply"}),placeholder:l({id:"token-supply",defaultMessage:"Supply"}),required:!0,className:"block w-full max-w-full rounded-md border-slate-300 dark:border-slate-800 text-sm focus:ring-slate-800 sm:text-sm"}),(0,a.jsx)(q.A,{name:"tokenId",id:"tokenId",label:l({id:"token-id-label",defaultMessage:"Token ID"}),placeholder:l({id:"token-id-label",defaultMessage:"Token ID"}),className:"block w-full max-w-full rounded-md border-slate-300 dark:border-slate-800 text-sm focus:ring-slate-800 sm:text-sm"})]}),(0,a.jsx)("div",{className:"space-y-6 border-t border-t-slate-100 dark:border-t-slate-700 bg-slate-50 dark:bg-slate-900 p-5 text-right",children:(0,a.jsx)(R.A,{hidden:!r("editProduct"),label:l({id:"update_token",defaultMessage:"Update token"})})})]})})})};var nB=n(27430),nQ=n(50272);let nz=e=>{let{id:t,selectedView:n="",disableAll:s=!1,...l}=e;return"texts"===n?(0,a.jsx)(y.A,{children:(0,a.jsx)(ec,{productId:t,disabled:s})}):"media"===n?(0,a.jsx)(nQ.A,{children:(0,a.jsx)(y.A,{children:(0,a.jsx)(eL,{productId:t})})}):"commerce"===n?(0,a.jsx)(Z,{productId:t,disabled:s}):"supply"===n?(0,a.jsx)(e4,{productId:t,disabled:s}):"warehousing"===n?(0,a.jsx)(tq,{productId:t,disabled:s}):"variations"===n?(0,a.jsx)(y.A,{children:(0,a.jsx)(t$,{productId:t,disabled:s})}):"bundled_products"===n?(0,a.jsx)(nr,{productId:t,disabled:s}):"subscriptions"===n?(0,a.jsx)(eX,{productId:t,disabled:s}):"reviews"===n?(0,a.jsx)(tZ,{productId:t}):"assignments"===n?(0,a.jsx)(nD,{proxyId:t,disabled:s}):"token"===n?(0,a.jsx)(nU,{productId:t,disabled:s}):"extended"===n?(0,a.jsx)(nB.A,{data:l}):(0,a.jsx)(y.A,{children:(0,a.jsx)(ec,{productId:t})})},nW=e=>{let{product:t,extendedData:n={}}=e,{formatMessage:l}=(0,s.A)(),{hasRole:r}=(0,N.A)(),{updateProduct:i}=(0,nd.A)(),{__typename:d}=t||{},o=[{id:"texts",title:l({id:"general_text",defaultMessage:"Text"}),Icon:(0,a.jsx)(u.A,{className:"h-5 w-5"})},{id:"media",title:l({id:"media",defaultMessage:"Media"}),Icon:(0,a.jsx)(c.A,{className:"h-5 w-5"})},d!==no.W.ConfigurableProduct&&d!==no.W.BundleProduct&&{id:"commerce",title:l({id:"commerce",defaultMessage:"Commerce"}),Icon:(0,a.jsx)(m.A,{className:"h-5 w-5"})},d===no.W.SimpleProduct&&{id:"supply",title:l({id:"supply",defaultMessage:"Supply"}),Icon:(0,a.jsx)(p.A,{className:"h-5 w-5"})},d===no.W.SimpleProduct&&{id:"warehousing",title:l({id:"warehousing",defaultMessage:"Warehousing"}),Icon:(0,a.jsx)(x.A,{className:"h-5 w-5"})},d===no.W.ConfigurableProduct&&{id:"variations",title:l({id:"variations",defaultMessage:"Variations"}),Icon:(0,a.jsx)(f.A,{className:"h-5 w-5"})},d===no.W.BundleProduct&&{id:"bundled_products",title:l({id:"bundled_items",defaultMessage:"Bundled items"}),Icon:(0,a.jsx)(g.A,{className:"h-5 w-5"})},d===no.W.PlanProduct&&{id:"subscriptions",title:l({id:"subscriptions",defaultMessage:"Subscriptions"}),Icon:(0,a.jsx)(h.A,{className:"h-5 w-5"})},d===no.W.ConfigurableProduct&&{id:"assignments",title:l({id:"assignments",defaultMessage:"Assignments"}),Icon:(0,a.jsx)(v.A,{className:"h-5 w-5"})},d===no.W.TokenizedProduct&&{id:"token",title:l({id:"token",defaultMessage:"Token"}),Icon:(0,a.jsx)(v.A,{className:"h-5 w-5"})},{id:"reviews",title:l({id:"reviews",defaultMessage:"Reviews"}),Icon:(0,a.jsx)(b.A,{className:"h-5 w-5"})},null!==n&&{id:"extended",title:l({id:"extended-fields",defaultMessage:"Extended"}),Icon:(0,a.jsx)(j.A,{className:"h-5 w-5"})}].filter(e=>e),y=async e=>{let{tags:n}=e;return await i({productId:null==t?void 0:t._id,product:{tags:n}}),!0};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)("div",{className:"mt-5 flex flex-wrap items-center justify-between gap-10",children:(0,a.jsx)(ni.A,{defaultValue:null==t?void 0:t.tags,onSubmit:y,enableEdit:r("editProduct")})}),(0,a.jsx)(tE.A,{tabItems:o,defaultTab:"texts",children:(0,a.jsx)(nz,{disableAll:(null==t?void 0:t.status)===tF.t_.Deleted,id:null==t?void 0:t._id,...n})})]})},nK=e=>{let{media:t=[],onEditMedia:n}=e;return(0,a.jsx)("div",{className:"my-5",children:(0,a.jsx)("div",{className:"flex gap-3 overflow-x-auto",children:t.map(e=>{var t,s,l,r;return(0,a.jsx)("div",{className:"relative flex-shrink-0 group",children:(0,a.jsx)("div",{className:"w-16 h-16 bg-slate-100 dark:bg-slate-800 rounded-lg overflow-hidden cursor-pointer border border-slate-200 dark:border-slate-700",onClick:()=>{var t;return t=e._id,void(n&&n(t))},children:(0,a.jsx)(nn.A,{src:null==e||null==(t=e.file)?void 0:t.url,alt:(null==(l=e.texts)||null==(s=l[0])?void 0:s.title)||(null==e||null==(r=e.file)?void 0:r.url),width:128,height:128,className:"w-full h-full object-cover"})})},e._id)})})})};function nG(){let e=(0,L._)(["\n query Product($productId: ID, $slug: String) {\n product(productId: $productId, slug: $slug) {\n ...ProductDetailFragment\n ","\n texts {\n _id\n title\n subtitle\n description\n }\n ... on SimpleProduct {\n texts {\n _id\n title\n subtitle\n description\n }\n proxies {\n __typename\n }\n }\n ... on ConfigurableProduct {\n texts {\n _id\n title\n subtitle\n description\n }\n }\n ... on PlanProduct {\n texts {\n _id\n title\n subtitle\n description\n }\n proxies {\n __typename\n }\n }\n ... on BundleProduct {\n texts {\n _id\n title\n subtitle\n description\n }\n proxies {\n __typename\n }\n }\n }\n }\n ","\n"]);return nG=function(){return e},e}let nH=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"";return(0,O.J1)(nG(),e,G.A)},nX=function(){let{productId:e=null,slug:t=null}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},n=(0,ey.id)(t),{customProperties:a,hydrateFragment:s}=(0,et.A)(),{data:l,loading:r,error:i}=(0,U.I)(nH(null==a?void 0:a.Product),{skip:!e&&!n,variables:{productId:e||n}}),d=s(null==a?void 0:a.Product,null==l?void 0:l.product);return{product:null==l?void 0:l.product,loading:r,error:i,extendedData:d}};var nY=n(32250);function nZ(){let e=(0,L._)(["\n mutation PublishProduct($productId: ID!) {\n publishProduct(productId: $productId) {\n ...ProductDetailFragment\n }\n }\n ","\n"]);return nZ=function(){return e},e}let n0=(0,O.J1)(nZ(),G.A);function n1(){let e=(0,L._)(["\n mutation UnpublishProduct($productId: ID!) {\n unpublishProduct(productId: $productId) {\n ...ProductDetailFragment\n }\n }\n ","\n"]);return n1=function(){return e},e}let n2=(0,O.J1)(n1(),G.A);var n5=n(37986),n6=n(57262),n4=n(64856),n3=n(89099),n8=n(88062),n9=n(86029);let n7=e=>{var t,n,u;let{slug:c}=e,{formatMessage:m}=(0,s.A)(),{formatDateTime:p}=(0,o.A)(),{hasRole:x}=(0,N.A)(),{publishProduct:f}=(()=>{let[e]=(0,K.n)(n0);return{publishProduct:async t=>{let{productId:n}=t;return e({variables:{productId:n},refetchQueries:["Product","ShopStatus"],awaitRefetchQueries:!0})}}})(),{unPublishProduct:g}=(()=>{let[e]=(0,K.n)(n2);return{unPublishProduct:async t=>{let{productId:n}=t;return e({variables:{productId:n},refetchQueries:["Product","ShopStatus"],awaitRefetchQueries:!0})}}})(),{removeProduct:h}=(0,n6.A)(),{updateProduct:v}=(0,nd.A)(),{setModal:b}=(0,eg.A)(),j=(0,n3.useRouter)(),{push:y}=(0,n3.useRouter)(),{product:_,loading:k,error:I,extendedData:A}=nX({slug:c}),P=(null==_?void 0:_.status)||"DRAFT",M=(0,w.useMemo)(()=>[{id:"published",title:m({id:"published",defaultMessage:"Published"}),description:m({id:"publish_product_description",defaultMessage:"Product will be searchable and is available for orders"}),current:"ACTIVE"===P,selectedTitle:m({id:"published",defaultMessage:"Published"}),onClick:async()=>{try{await f({productId:null==_?void 0:_._id}),l.oR.success(m({id:"product_published",defaultMessage:"Published successfully "}))}catch(t){console.error("Failed to publish product:",t);let e=(null==t?void 0:t.message)||"Unknown error";l.oR.error("".concat(m({id:"product_publish_error",defaultMessage:"Failed to publish product"}),": ").concat(e))}},bgColor:"green"},{id:"draft",title:m({id:"draft",defaultMessage:"Draft"}),description:m({id:"draft_product_description",defaultMessage:"Product will not be discoverable and can not be orderose"}),current:"DRAFT"===P,selectedTitle:m({id:"not_published",defaultMessage:"Not published"}),bgColor:"amber",disable:"ACTIVE"===P&&!x("unpublishProduct"),onClick:async()=>{if(x("unpublishProduct")||x("publishProduct"))try{await g({productId:null==_?void 0:_._id}),l.oR.success(m({id:"product_drafted",defaultMessage:"Drafted successfully "}))}catch(t){console.error("Failed to unpublish product:",t);let e=(null==t?void 0:t.message)||"Unknown error";l.oR.error("".concat(m({id:"product_unpublish_error",defaultMessage:"Failed to unpublish product"}),": ").concat(e))}}}],[_]);if(I)return console.error("Error loading product:",I),(0,a.jsx)("div",{className:"mt-5 max-w-full",children:(0,a.jsx)("div",{className:"text-center py-8",children:(0,a.jsx)("p",{className:"text-rose-600 dark:text-rose-400",children:m({id:"product_load_error",defaultMessage:"Failed to load product"})})})});let C=async e=>{e.target.value&&await v({productId:null==_?void 0:_._id,product:{sequence:parseInt(e.target.value,10)}})},$=async()=>{var e;if("proxies"in _&&(null==(e=_.proxies)?void 0:e.length))return void await b((0,a.jsx)(n9.A,{headerText:m({id:"product_delete_blocked_header",defaultMessage:"Remove links before deleting"}),message:(0,a.jsxs)("div",{className:"space-y-2",children:[(0,a.jsx)("p",{children:m({id:"product_delete_blocked_intro",defaultMessage:"This product is linked to the following product types:"})}),(0,a.jsx)("ul",{className:"list-disc list-inside text-sm text-slate-700 dark:text-slate-300",children:"proxies"in _&&_.proxies.map((e,t)=>{let{__typename:n}=e;return(0,a.jsx)("li",{children:n.replace("Product","")},t)})}),(0,a.jsx)("p",{children:m({id:"product_delete_blocked_action",defaultMessage:"Please unlink it before trying to delete it."})})]}),buttonText:m({id:"ok",defaultMessage:"Ok"}),onOkClick:()=>b(null)}));await b((0,a.jsx)(ef.A,{onCancelClick:()=>b(""),message:m({id:"delete_product_confirmation",defaultMessage:"This action might cause inconsistencies with other data that relates to it and it is nonreversible. Are you sure you want to delete this product?"}),onOkClick:async()=>{b("");try{await h({productId:null==_?void 0:_._id}),l.oR.success(m({id:"product_deleted_success",defaultMessage:"Deleted successfully"})),j.push("/products")}catch(e){await b((0,a.jsx)(ef.A,{onCancelClick:()=>b(""),headerText:m({id:"error",defaultMessage:"Error"}),message:e instanceof n4.A?e.message:e,icon:(0,a.jsx)("div",{className:"mx-auto flex h-12 w-12 shrink-0 items-center justify-center rounded-full bg-rose-100 dark:bg-rose-900/30 sm:mx-0 sm:h-10 sm:w-10",children:(0,a.jsx)(n8.A,{className:"h-6 w-6 text-rose-600 dark:text-rose-400",xmlns:"http://www.w3.org/2000/svg",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round",strokeWidth:"2"})}),okText:m({id:"ok",defaultMessage:"Ok"}),onOkClick:async()=>{b("")}}))}}}))};return _||k?k?(0,a.jsx)(i.A,{}):(0,a.jsxs)("div",{className:"mt-5 max-w-full",children:[(0,a.jsx)(r.A,{routeName:c,depth:3,currentPageTitle:null==_||null==(t=_.texts)?void 0:t.title}),"DELETED"===P&&(0,a.jsx)("div",{className:"mb-4 rounded-md border border-rose-300 bg-rose-50 p-4 text-sm text-rose-800 dark:border-rose-700 dark:bg-rose-900/30 dark:text-rose-300",children:m({id:"product_deleted_notice",defaultMessage:"This product has been deleted and is no longer active. Some actions may be restricted."})}),(0,a.jsxs)("div",{children:[(0,a.jsxs)("div",{className:"items-center flex-wrap flex gap-5 min-w-full justify-between",children:[(0,a.jsx)(d.A,{headerText:(0,a.jsxs)(a.Fragment,{children:[(null==_||null==(n=_.texts)?void 0:n.title)||"Untitled Product","DELETED"===P&&(0,a.jsx)("span",{className:"ml-3 rounded bg-rose-100 px-2 py-1 text-xs font-semibold text-rose-800 dark:bg-rose-900/40 dark:text-rose-300",children:m({id:"deleted_status",defaultMessage:"Deleted"})})]}),title:"".concat((null==_||null==(u=_.texts)?void 0:u.title)||"Product"," (").concat(null==_?void 0:_._id,")")}),(0,a.jsxs)("div",{className:"publish-and-order flex flex-wrap gap-3",children:[P&&"DELETED"!==P&&(0,a.jsx)(nY.A,{options:M,type:m({id:"product",defaultMessage:"Product"})}),(0,a.jsxs)("div",{className:"inline-flex items-center gap-2 rounded-md dark:border-slate-600 px-4 py-2 text-sm font-medium leading-5 shadow-xs bg-white dark:bg-slate-800 h-[38px]",children:[(0,a.jsx)("label",{htmlFor:"sequence-input",className:"text-slate-700 dark:text-slate-200 font-medium cursor-pointer",children:m({id:"sequence",defaultMessage:"Display Order"})}),(0,a.jsx)("input",{type:"number",id:"sequence-input",className:"text-center w-12 bg-transparent border border-slate-300 dark:border-slate-600 rounded focus:ring-2 focus:ring-slate-800 dark:focus:ring-slate-400 focus:border-transparent focus:outline-none text-sm font-semibold text-slate-900 dark:text-slate-300 px-2 py-1 transition-all",defaultValue:null==_?void 0:_.sequence,onBlur:C})]}),"DRAFT"===P&&x("removeProduct")&&(0,a.jsx)(n5.A,{onClick:$})]})]}),(0,a.jsxs)("div",{className:"mt-8 flex flex-wrap gap-3 gap-x-10 text-slate-600 dark:text-slate-400",children:[(0,a.jsxs)("div",{className:"flex flex-col items-baseline gap-0",children:[(0,a.jsx)("span",{className:"mr-2 text-xs text-slate-500 dark:text-slate-500",children:"ID:"}),(0,a.jsx)("span",{className:"text-sm font-mono",children:null==_?void 0:_._id})]}),(0,a.jsxs)("div",{className:"flex flex-col items-baseline gap-0",children:[(0,a.jsx)("span",{className:"text-xs text-slate-500 dark:text-slate-500",children:"Type:"}),(0,a.jsx)("p",{className:"text-sm font-mono",children:null==_?void 0:_.__typename})]}),(null==_?void 0:_.created)&&(0,a.jsxs)("div",{className:"flex flex-col items-baseline gap-0",children:[(0,a.jsxs)("span",{className:"text-xs text-slate-500 dark:text-slate-500",children:[m({id:"created",defaultMessage:"Created"}),":"]}),(0,a.jsx)("span",{className:"text-sm font-mono",children:p(_.created,{dateStyle:"medium",timeStyle:"short"})})]}),(null==_?void 0:_.updated)&&(0,a.jsxs)("div",{className:"flex flex-col items-baseline gap-0",children:[(0,a.jsxs)("span",{className:"text-xs text-slate-500 dark:text-slate-500",children:[m({id:"updated",defaultMessage:"Updated"}),":"]}),(0,a.jsx)("span",{className:"text-sm font-mono",children:p(_.updated,{dateStyle:"medium",timeStyle:"short"})})]}),(null==_?void 0:_.published)&&(0,a.jsxs)("div",{className:"flex flex-col items-baseline gap-0",children:[(0,a.jsxs)("span",{className:"text-xs text-slate-500 dark:text-slate-500",children:[m({id:"published",defaultMessage:"Published"}),":"]}),(0,a.jsx)("span",{className:"text-sm font-mono",children:p(_.published,{dateStyle:"medium",timeStyle:"short"})})]})]})]}),(0,a.jsx)(nK,{productId:null==_?void 0:_._id,media:(null==_?void 0:_.media)||[],onEditMedia:e=>{j.push({pathname:j.pathname,query:{...j.query,tab:"media"}},void 0,{shallow:!0})},canEdit:x("editProduct")}),(0,a.jsx)(nW,{product:_,extendedData:A})]}):(y("/404"),null)}},37182:(e,t,n)=>{n.d(t,{A:()=>l});var a=n(96427);function s(){let e=(0,a._)(["\n fragment CurrencyFragment on Currency {\n _id\n isoCode\n isActive\n contractAddress\n decimals\n }\n"]);return s=function(){return e},e}let l=(0,n(79350).J1)(s())},39799:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(96427),s=n(79350),l=n(53588),r=n(11542);function i(){let e=(0,a._)(["\n mutation UpdateProductTexts($productId: ID!, $texts: [ProductTextInput!]!) {\n updateProductTexts(productId: $productId, texts: $texts) {\n ...ProductTextsFragment\n }\n }\n ","\n"]);return i=function(){return e},e}let d=(0,s.J1)(i(),r.A),o=()=>{let[e]=(0,l.n)(d);return{updateProductTexts:async t=>{let{productId:n,texts:a}=t;return e({variables:{productId:n,texts:a},refetchQueries:["TranslatedProductTexts"]})}}}},48676:(e,t,n)=>{n.d(t,{A:()=>r});var a=n(37876);n(14232);var s=n(32606),l=n(77742);let r=e=>{let{messageKey:t,defaultMessage:n,values:r,className:i="",showIcon:d=!0}=e,{formatMessage:o}=(0,l.A)(),u=o({id:t,defaultMessage:n},r);return u?(0,a.jsxs)("div",{className:"flex items-start space-x-1 text-sm text-slate-600 dark:text-slate-400 ".concat(i),children:[d&&(0,a.jsx)(s.A,{className:"h-4 w-4 mt-0.5 flex-shrink-0"}),(0,a.jsx)("span",{children:u})]}):null}},50898:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(96427),s=n(79350),l=n(18885),r=n(37182);function i(){let e=(0,a._)(["\n query Currencies(\n $queryString: String\n $limit: Int\n $offset: Int\n $includeInactive: Boolean\n $sort: [SortOptionInput!]\n ) {\n currencies(\n queryString: $queryString\n limit: $limit\n offset: $offset\n includeInactive: $includeInactive\n sort: $sort\n ) {\n ...CurrencyFragment\n }\n currenciesCount(\n includeInactive: $includeInactive\n queryString: $queryString\n )\n }\n ","\n"]);return i=function(){return e},e}let d=(0,s.J1)(i(),r.A),o=function(){let{queryString:e="",limit:t=20,offset:n=0,includeInactive:a=!0,sort:s=[]}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{data:r,loading:i,error:o,fetchMore:u}=(0,l.I)(d,{variables:{queryString:e,limit:t,offset:n,includeInactive:a,sort:s}}),c=(null==r?void 0:r.currencies)||[],m=null==r?void 0:r.currenciesCount,p=(null==c?void 0:c.length)<m;return{currencies:c,currenciesCount:m,hasMore:p,loading:i,error:o,loadMore:()=>{u({variables:{offset:null==c?void 0:c.length}})}}}},57262:(e,t,n)=>{n.d(t,{A:()=>d});var a=n(96427),s=n(79350),l=n(53588);function r(){let e=(0,a._)(["\n mutation RemoveProduct($productId: ID!) {\n removeProduct(productId: $productId) {\n _id\n }\n }\n"]);return r=function(){return e},e}let i=(0,s.J1)(r()),d=()=>{let[e]=(0,l.n)(i);return{removeProduct:async t=>{let{productId:n}=t;return e({variables:{productId:n},refetchQueries:["Products","ShopStatus"]})}}}},62519:(e,t,n)=>{n.d(t,{A:()=>u});var a=n(37876),s=n(15039),l=n.n(s),r=n(6304),i=n(37441),d=n(14232);let o=e=>{let{header:t,body:n,headerCSS:s="",bodyCSS:o="",itemContainerCSS:u="",itemindex:c=1,hideChevron:m=!1}=e,[p,x]=(0,d.useState)(!1);return(0,a.jsxs)("div",{className:l()("mt-3",u),"data-itemindex":c,children:[(0,a.jsxs)("button",{type:"button",onClick:()=>x(!p),className:l()("relative cursor-pointer border dark:border-slate-800 bg-white dark:bg-slate-900 text-slate-500 dark:text-slate-200 hover:bg-slate-50 dark:hover:bg-slate-700 w-full max-w-full overflow-hidden",s),children:[(0,a.jsx)("div",{className:"w-full",children:t}),!m&&(0,a.jsx)("span",{className:"px-2",children:p?(0,a.jsx)(r.A,{className:"h-5 w-5"}):(0,a.jsx)(i.A,{className:"h-5 w-5"})})]}),p?(0,a.jsx)("div",{className:l()("rounded-lg sm:p-4 xl:p-10 relative overflow-visible",o),children:n}):""]})},u=e=>{let{data:t,containerCSS:n="",headerCSS:s="",bodyCSS:r="",itemContainerCSS:i="",hideChevron:d=!1,...u}=e;return(0,a.jsx)("div",{className:l()("my-3",n),...u,children:t.map((e,t)=>{let{header:n,body:l}=e;return(0,a.jsx)(o,{itemindex:t,header:n,body:l,headerCSS:s,bodyCSS:r,itemContainerCSS:i,hideChevron:d},t)})})}},73425:(e,t,n)=>{n.d(t,{W:()=>a});let a={SimpleProduct:"SimpleProduct",BundleProduct:"BundleProduct",PlanProduct:"PlanProduct",ConfigurableProduct:"ConfigurableProduct",TokenizedProduct:"TokenizedProduct"}},73849:(e,t,n)=>{n.d(t,{A:()=>o});var a=n(96427),s=n(79350),l=n(53588),r=n(98103);function i(){let e=(0,a._)(["\n mutation UpdateProduct($productId: ID!, $product: UpdateProductInput!) {\n updateProduct(productId: $productId, product: $product) {\n ...ProductDetailFragment\n }\n }\n ","\n"]);return i=function(){return e},e}let d=(0,s.J1)(i(),r.A),o=()=>{let[e]=(0,l.n)(d);return{updateProduct:async t=>{let{productId:n,product:{tags:a,sequence:s,meta:l}}=t;return e({variables:{productId:n,product:{tags:a,sequence:s,meta:l}}})}}}},86482:(e,t,n)=>{n.d(t,{A:()=>u});var a=n(96427),s=n(79350),l=n(53588),r=n(98103),i=n(11542);function d(){let e=(0,a._)(["\n mutation CreateProduct(\n $product: CreateProductInput!\n $texts: [ProductTextInput!]\n ) {\n createProduct(product: $product, texts: $texts) {\n ...ProductDetailFragment\n ... on SimpleProduct {\n texts {\n ...ProductTextsFragment\n }\n }\n ... on ConfigurableProduct {\n texts {\n ...ProductTextsFragment\n }\n }\n ... on BundleProduct {\n texts {\n ...ProductTextsFragment\n }\n }\n ... on TokenizedProduct {\n texts {\n ...ProductTextsFragment\n }\n }\n ... on PlanProduct {\n texts {\n ...ProductTextsFragment\n }\n }\n }\n }\n ","\n ","\n"]);return d=function(){return e},e}let o=(0,s.J1)(d(),r.A,i.A),u=()=>{let[e,{data:t,error:n,loading:a}]=(0,l.n)(o);return{createProduct:async t=>{let{product:{type:n,tags:a},texts:s}=t;return e({variables:{product:{type:n,tags:a},texts:s},refetchQueries:["Products","ShopStatus"]})},newProduct:null==t?void 0:t.createProduct,error:n,loading:a}}},91439:(e,t,n)=>{n.d(t,{A:()=>l});var a=n(37876),s=n(60101);let l=e=>{let{title:t=null,description:n}=e;return(0,a.jsx)("div",{className:"mb-6 p-4 bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800 rounded-lg",children:(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)(s.A,{className:"w-5 h-5 text-blue-600 dark:text-blue-400 mt-0.5 flex-shrink-0"}),(0,a.jsxs)("div",{children:[t&&(0,a.jsx)("h3",{className:"text-sm font-semibold text-blue-900 dark:text-blue-100 mb-2",children:t}),(0,a.jsx)("p",{className:"text-sm text-blue-800 dark:text-blue-200 leading-relaxed",children:n})]})]})})}},98103:(e,t,n)=>{n.d(t,{A:()=>l});var a=n(96427);function s(){let e=(0,a._)(["\n fragment ProductDetailFragment on Product {\n _id\n sequence\n status\n created\n tags\n updated\n published\n\n media {\n _id\n tags\n file {\n _id\n url\n }\n }\n reviews {\n _id\n created\n author {\n _id\n username\n isGuest\n }\n rating\n title\n review\n voteCount\n ownVotes {\n type\n timestamp\n }\n }\n siblings {\n _id\n media {\n _id\n file {\n _id\n url\n }\n }\n }\n }\n"]);return s=function(){return e},e}let l=(0,n(79350).J1)(s())}}]);
|