PageSourceSearch

https://dashboard.majoo.id/assets/7331.d77e3560d78f3dea35d1.js

js majoo.id collected 2026-10-01 13:02:25 UTC 40,971 bytes, 1 lines download raw bytes

1"use strict";(self.webpackChunkmyklopos=self.webpackChunkmyklopos||[]).push([[7331],{95426(t,e,a){a.d(e,{HM:()=>l,Wu:()=>d,J2:()=>i,Ap:()=>r,zI:()=>c,uz:()=>u,bf:()=>s});var o=a(955);const n="v1/sales-quotation",i=t=>(t=>(0,o.Z)(n,t,"get",{serviceDomainType:"svc-transaction",authType:"bearer"}))(t),r=(t,e)=>((t,e={})=>(0,o.Z)(`${n}/${t}`,e,"get",{serviceDomainType:"svc-transaction",authType:"bearer"}))(t,e),s=(t,e)=>((t,e)=>(0,o.Z)(`${n}/${e}/void`,t,"patch",{serviceDomainType:"svc-transaction",authType:"bearer"}))(t,e),l=t=>(t=>(0,o.Z)(n,t,"post",{serviceDomainType:"svc-transaction",authType:"bearer"}))(t),u=(t,e)=>((t,e)=>(0,o.Z)(`${n}/${t}`,e,"put",{serviceDomainType:"svc-transaction",authType:"bearer"}))(t,e),c=(t,e,a)=>((t,e,{queryString:a})=>(0,o.Z)(`${n}/${t}/email`,e,"post",{serviceDomainType:"svc-transaction",authType:"bearer",queryString:a}))(t,e,a),d=t=>(t=>(0,o.Z)(`${n}/${t}`,void 0,"delete",{serviceDomainType:"svc-transaction",authType:"bearer"}))(t)},9866(t,e,a){a.d(e,{A:()=>i});var o=a(96540),n=a(79933);const i=({children:t,padding:e="26px 24px",id:a=""})=>o.createElement(n.A,{id:a,css:{backgroundColor:"#fff",width:"100%",margin:"auto","@sm":{padding:24},"@md":{padding:e},boxShadow:"0px 1px 4px rgba(0, 0, 0, 0.04)",borderRadius:8}},t)},50026(t,e,a){a.d(e,{Z:()=>n,r:()=>i});var o=a(42207);const n=(t,e,a)=>{const n={status:!1,multiple:1,discountType:a.min_criteria,type:a.type,value:0,id:null};return a.min_criteria===o.Ke.PAYMENT?e>=a.min_criteria_value&&(n.status=!0,(!0===a.multiple||parseInt(a.multiple,10))&&(n.multiple=parseInt(e/a.min_criteria_value,10)),n.value=a.value*n.multiple,n.id=a.id):a.min_criteria===o.Ke.QUANTITY&&t>=a.min_criteria_value&&(n.status=!0,(!0===a.multiple||parseInt(a.multiple,10))&&(n.multiple=parseInt(t/a.min_criteria_value,10)),n.value=a.value*n.multiple,n.id=a.id),n},i=(t=[],e=[],a=[])=>{const o={transaction:JSON.parse(JSON.stringify(t)),perProduct:JSON.parse(JSON.stringify(e)),manual:JSON.parse(JSON.stringify(a))};let n=[];o.transaction.length>0&&(n=[...o.transaction]);for(let t=0;t<o.perProduct.length;t++){const e=n.find(e=>e.product_id===o.perProduct[t].product_id);e?e.qty+=o.perProduct[t].qty:n.push(o.perProduct[t])}for(let t=0;t<o.manual.length;t++){const e=n.find(e=>e.product_id===o.manual[t].product_id);e?e.qty+=o.manual[t].qty:n.push(o.manual[t])}return n}},2814(t,e,a){a.d(e,{A:()=>d});var o=a(96540),n=a(5556),i=a.n(n),r=a(70474),s=a(83109),l=a(11437),u=a(563);const c=({products:t,isTaxPerProduct:e,LANG_DATA:a})=>{const n=t.map((t,n)=>{const{product:i,note:c,extra:d,variants:p}=t,m=p||i.variants||[],_=(0,u.J9)(t),y=_.length>0?_:(0,u.J9)(i);return o.createElement(o.Fragment,{key:i.id},o.createElement("tr",{style:(0,r.b)().tr},o.createElement("td",{style:(0,r.b)().td},n+1),o.createElement("td",{style:{...(0,r.b)().td,maxWidth:160}},i.name,o.createElement("div",null,m.length>0&&o.createElement("span",{style:(0,r.b)().darkColor},m.join(", "))),o.createElement("div",{style:{marginTop:"2px"}},d?(d||[]).map(t=>o.createElement("span",{key:t.id,style:(0,r.b)().darkColor},`+ ${t.name||t.addon_name} (${t.quantity||t.qty}) - ${(0,s.Gl)({value:t.price})}`,o.createElement("br",null))):null),y.length>0&&o.createElement("div",{style:{marginTop:"2px"}},y.map(t=>o.createElement("div",{key:t,style:l.hp},t)))),o.createElement("td",{style:(0,r.b)().td},t.quantity_conversion),o.createElement("td",{style:(0,r.b)().td},i.unit_name),o.createElement("td",{style:{...(0,r.b)().td}},t.is_bonus_product?"":(0,s.Gl)({value:i.price,decimal:!0})),o.createElement("td",{style:{...(0,r.b)().td}},o.createElement("div",null,t.is_bonus_product?"":`${t.disc}%`),t.manualDisc&&o.createElement("div",{style:{marginTop:5}},`${t.manualDisc.percentage}%`)),o.createElement("td",{style:{...(0,r.b)().td}},o.createElement("div",null,t.is_bonus_product?"":(0,s.Gl)({value:t.nominalDisc,decimal:!0})),t.manualDisc&&o.createElement("div",{style:{marginTop:5}},(0,s.Gl)({value:t.manualDisc.nominal,decimal:!0}))),e&&o.createElement("td",{style:{...(0,r.b)().td}},t.is_bonus_product?"":t.tax?t.tax.name:"-"),o.createElement("td",{style:{...(0,r.b)().td}},t.is_bonus_product?a.DOTMATRIX.PRODUCT_BONUS:(0,s.Gl)({value:t.total||t.total_price,decimal:!0}))),c?o.createElement("tr",{style:{...(0,r.b)().tr,...(0,r.b)().note}},o.createElement("td",{colSpan:100,style:{padding:"2px 10px"}},o.createElement("span",{style:{fontWeight:700}},a.DOTMATRIX.NOTE.NOTE)," ",c)):null)});return o.createElement("table",{style:(0,r.b)().table},o.createElement("thead",null,o.createElement("tr",null,o.createElement("th",{style:(0,r.b)().th},"No."),o.createElement("th",{style:(0,r.b)().th},a.DOTMATRIX.COLUMN.PRODUCT),o.createElement("th",{style:(0,r.b)().th},a.DOTMATRIX.COLUMN.QTY),o.createElement("th",{style:(0,r.b)().th},a.DOTMATRIX.COLUMN.UNIT),o.createElement("th",{style:{...(0,r.b)().th}},a.DOTMATRIX.COLUMN.PRICE),o.createElement("th",{style:{...(0,r.b)().th}},`${a.DOTMATRIX.COLUMN.DISCOUNT} %`),o.createElement("th",{style:{...(0,r.b)().th}},`${a.DOTMATRIX.COLUMN.DISCOUNT} Rp`),e&&o.createElement("th",{style:{...(0,r.b)().th}},a.DOTMATRIX.COLUMN.TAX),o.createElement("th",{style:{...(0,r.b)().th}},"Total"))),o.createElement("tbody",null,n))};c.propTypes={products:i().arrayOf(i().shape({})).isRequired,isTaxPerProduct:i().bool.isRequired,LANG_DATA:i().shape({}).isRequired};const d=c},22013(t,e,a){a.d(e,{A:()=>y});var o=a(96540),n=a(5556),i=a.n(n),r=a(70474),s=a(563),l=a(55453),u=a(83109),c=a(14383),d=a(9137),p=a(98728),m=a(86597);const _=({data:t,calculatedData:e,isTaxPerProduct:a,LANG_DATA:n})=>{const{discountProduct:i}=t,{discountTransaction:_,discountPromo:y,tax:b,taxPerProduct:h,serviceCharge:v}=e,T=!a&&String(v.type)===l.Mk.SERVICE_CHARGE_TAXED,g=(0,s.SP)(T,b.type).map(e=>(e=>{switch(e){case"Discount":return o.createElement(c.A,{styles:(0,r.O)(),discountTransaction:{..._,totalProductDiscount:i},promos:y,vouchers:t.promoVouchers,points:t.promoPoints,LANG_DATA:n});case"Tax":return a?o.createElement(d.A,{styles:(0,r.O)(),taxPerProduct:h}):o.createElement(p.A,{styles:(0,r.O)(),tax:b});case"ServiceCharge":return o.createElement(m.A,{styles:(0,r.O)(),serviceCharge:v})}})(e)),P=(t.additional_costs||[]).map((t,e)=>o.createElement("tr",{key:e},o.createElement("td",null,t.name),o.createElement("td",{style:(0,r.O)().summaryAmount},(0,u.Gl)({value:t.cost,decimal:!0}))));return o.createElement("div",null,o.createElement("table",{style:{...(0,r.O)().table,textAlign:"right",lineHeight:"1.85em"}}
1,o.createElement("tbody",null,o.createElement("tr",null,o.createElement("td",null,`Subtotal ${t.products.length} ${n.DOTMATRIX.SUMMARY.PRODUCT}`),o.createElement("td",{style:(0,r.O)().summaryAmount},(0,u.Gl)({value:t.sub_total,decimal:!0}))),g,t.shipment_cost>0?o.createElement("tr",null,o.createElement("td",null,n.DOTMATRIX.SUMMARY.DELIVERY_FEE),o.createElement("td",{style:(0,r.O)().summaryAmount},(0,u.Gl)({value:t.shipment_cost,decimal:!0}))):null,P,t.down_payment?o.createElement("tr",null,o.createElement("td",null,n.DOTMATRIX.SUMMARY.DOWN_PAYMENT),o.createElement("td",{style:(0,r.O)().summaryAmount},(0,u.Gl)({value:t.down_payment,decimal:!0}))):null)),o.createElement("table",{style:(0,r.O)().table},o.createElement("tbody",null,o.createElement("tr",null,o.createElement("td",{style:{borderTop:"1px solid #121212"}}),o.createElement("td",{style:(0,r.O)().grandTotal},n.DOTMATRIX.SUMMARY.TOTAL),o.createElement("td",{style:{...(0,r.O)().grandTotal,borderRight:"1px solid #121212",borderLeft:"0px",textAlign:"right"}},(0,u.Gl)({value:t.grand_total-(t.down_payment||0),decimal:!0}))))))};_.propTypes={data:i().shape({promoVouchers:i().arrayOf(i().shape({})),promoPoints:i().arrayOf(i().shape({})),products:i().arrayOf(i().shape({})),sub_total:i().number,grand_total:i().number,unpaid:i().number,additional_costs:i().arrayOf(i().shape({})),shipment_cost:i().number,order_references:i().shape({sales_order:i().shape({down_payment:i().number})})}).isRequired,calculatedData:i().shape({discountTransaction:i().arrayOf(i().shape({})),discountPromo:i().arrayOf(i().shape({})),tax:i().arrayOf(i().shape({})),taxPerProduct:i().arrayOf(i().shape({})),serviceCharge:i().arrayOf(i().shape({}))}).isRequired,isTaxPerProduct:i().bool.isRequired,LANG_DATA:i().shape({}).isRequired};const y=_},72645(t,e,a){a.d(e,{$8:()=>i,Zu:()=>o,_o:()=>n,zG:()=>r});const o={VOID:0,DRAFT:2,UNPROCESSED:100,FINISHED:700},n={EDIT:"edit",DETAIL:"detail",VOID:"void",CREATE_SO:"so",SEND_EMAIL:"email",EXPORT:"export",PAYMENT:"payment",PRINT_DOT_MATRIX:"print-dot-matrix"},i={INFO:"sq-info-section",PRODUCT_PAYMENT:"sq-product-payment-section"},r={PREVIEW:"Preview",DETAIL:"Detail"}},12427(t,e,a){a.d(e,{$W:()=>h,D_:()=>y,dH:()=>E,ls:()=>f});var o=a(95093),n=a.n(o),i=a(50290),r=a(21344),s=a(55453),l=a(563),u=a(77421),c=a(85528),d=a(72645),p=a(89692),m=a(50026);const _=t=>n()(t).format("YYYY-MM-DD HH:mm:ss"),y=(t,e="",a)=>{const o=t=>{let o=null;switch(e){case s.$R.POPUP_PRODUCT:{const e=t.qty?t.qty:1,a=(0,c.jq)(t.addon||[]);o={...t,id:String(Math.random()),product_id:t.id,sku:t.sku,name:t.name,qty:e,price:t.item_harga_jual,price_modal:t.item_harga_modal,disc:0,discNominal:0,nominal_disc:0,discType:"percent",total:+e*+t.item_harga_jual+a,note:t.description||"",units:{selected:t.satuan_id,options:t.unit_options},unit_no:t.satuan_id,is_recipe:t.is_recipe,unit_name:t.satuan,unit_conversion:t.unit_conversion,use_cogs:!!t.is_cogs,use_recipe:!!t.is_recipe,tax_detail:t.tax_detail,tax_name:t.tax_detail&&t.tax_detail.length>0?t.tax_detail[0].name:"-",total_product_tax:t.total_product_tax,product:{name:t.name,variants:t.variants||[]},stock:{last:t.stock?t.stock.last:void 0,alert:t.stock?t.stock.alert:void 0},recipes:t.recipes,addon:t.addon,disabled:!1,seeMore:!1};break}case s.$R.BONUS_PRODUCT:o={id:String(Math.random()),product_id:t.id,sku:t.sku,name:t.name,qty:"1",price:t.selling_price,price_modal:t.average_price,disc:0,discNominal:0,discType:"percent",total:0,note:t.description||"",units:{selected:{name:t.units[0].name,no:t.units[0].no},options:(t.units||[]).map(t=>({value:t.no,name:t.name,sellingPrice:parseFloat(t.selling_price)}))},unit_no:t.units[0].no,is_recipe:t.is_recipe,unit_name:t.units[0].name,unit_conversion:parseInt(t.units[0].conversion,10),use_cogs:!!t.use_cogs,use_recipe:!!t.has_recipe,tax_detail:t.outlet_tax,tax_name:t.outlet_tax&&t.outlet_tax.length>0?t.outlet_tax[0].name:"-",product:{name:t.name,variants:t.variants||[]},stock:{last:t.stock?t.stock.last:void 0,alert:t.stock?t.stock.alert:void 0},recipes:t.recipes,addon:[],disabled:!0,seeMore:!1};break;default:o={id:String(Math.random()),product_id:t.product.id,unit_conversion:t.product.unit_conversion,sku:t.product.sku,name:t.product.name,difference:t.difference,qty:t.quantity_conversion,unit_name:t.product.unit_name,price:t.product.price,price_modal:t.product.capital_price,disc:t.promo.disc,discNominal:t.promo.discNominal,nominal_disc:t.promo.discNominal,discType:t.promo.discType,total:t.total+t.nominalManualDisc,note:t.note,units:{selected:t.is_bonus_product?{name:t.product.unit_name,no:t.product.unit_id}:t.product.unit_id,options:t.unit_options},unit_no:t.product.unit_id,tax_detail:t.tax?[{name:t.tax.name,reffno:t.tax.id,percentage:t.tax.percentage}]:[],tax_name:t.tax?t.tax.name:"-",total_product_tax:t.tax?t.tax.total:0,product:{name:t.product.name,variants:t.product.variants||[]},is_recipe:!!t.has_recipe,...a===d.Zu.DRAFT&&{stock:{last:t.product.item_last_stock,alert:t.product.item_stock_alert},...!!t.has_recipe&&{recipes:(t.recipes||[]).map(t=>({...t,stock:t.item_last_stock,stock_alert:t.item_stock_alert}))}},addon:t.addon,disabled:!!t.disabled,seeMore:!1,is_bonus_product:!!t.is_bonus_product,...t.is_bonus_product&&{promo:t.promo},promo_id:t.promo_id,promo_manual_id:t.promo_manual_id,nominalManualDisc:t.nominalManualDisc}}return o};return Array.isArray(t)?t.map(t=>o(t)):o(t)},b=(t,e)=>{const a={discValue:0,discNominal:0,discType:s.b.FIXED};if(t.is_active_now&&t.is_active)if(t.bonus_type===s.b.PERCENT)a.discValue=t.bonus_type_value,a.discType=s.b.PERCENT;else if(t.bonus_type===s.b.NOMINAL){const o=t.is_multiple?Math.floor(parseFloat(e)/parseFloat(t.minimal_criteria_value)):1;a.discNominal=parseFloat(t.bonus_type_value)*o,a.discValue=parseFloat(t.bonus_type_value)*o,a.discType=s.b.FIXED}return a},h=(t=null,e={})=>{const{serviceCharge:a,serviceChargeType:o,outletId:n,promoAvailable:i,outletName:r,taxType:u,taxBaseType:_,taxValue:h}=e;let v=n,T=(0,l._y)(null,null,null,!0),g=(0,l.HO)(),P=new Date,f=new Date,E=0,O=u,D=_,A=h,N=[],I=[],R=[],M=0,x=0,C=s.b.FIXED,S=a,q=o,F=d.Zu.DRAFT,U=[],k=[],w=[],L=[],Y=[],$=!1;if(t){v=t.outlet_id;const e=[],a=[],o=[],n=[],r=t.products.filter(t=>(t.promos||[]).length&&(t.promos||[]).some(t=>t.promo.benefits_type===s.Ai.PRODUCT));if(t.tax&&(O=t.tax.type,D=t.tax.base_type,A=t.tax.percentage),t.service_charge&&(S=t.service_charge.percentage,q=t.service_charge.type),(i.basic||[]).length>0&&i.basic[0].is_active&&i.basic[0].is_active_now){const e=b(i.basic[0],t.sub_total);({discType:C,discValue:M,discNominal:x}=e),R.push(i.basic[0]),$=!0}for(let e=0;e<(t.promos||[]).length;e++){const a=(0,l.R3)(i,t.promos[e]);if(a&&a.status){if(!R.some(t=>t.id===a.id))if(a.promo_type===s.x2.INVOICE&&(a.is_basic||a.is_auto)){const e=b(a,t.sub_total);({discType:C,discValue:M,discNominal:x}=e),R.push(a),$=!0}else a.promo_type!==s.x2.INVOICE||a.is_auto||L.push(a)}else if(""===t.promos[e].promo.id)if(t.promos[e].promo.benefits_type===s.Ai.PERCENT)C=s.b.PERCENT,M=t.promos[e].default_value;else if(t.promos[e].promo.benefits_type===s.Ai.FIXED){const a=String(O)===s.Zt.PRICE_INCLUDES_TAX?t.promos[e].value*(1+A/100):t.promos[e].value;C=s.b.FIXED,M=a,x=a}}for(let u=0;u<(t.products||[]).length;u++){let d,_=null,y=0;const b=t.products[u].units&&t.products[u].units.length>0?t.products[u].units.map(t=>({...t,name:t.name,value:t.unit_no,sellingPrice:t.selling_price,averagePrice:t.average_price||0})):[{name:t.products[u].product.unit_name,value:t.products[u].product.unit_id}],h=t.products[u].extra&&t.products[u].extra.length>0?t.products[u].extra.map(t=>({id:t.id,name:t.name,qty:t.quantity,price:t.price,detail_id:t.extra_detail_id})):[];let v={disc:0,discNominal:0,discType:"fixed"};const T=(t.products[u].promos||[]).filter(t=>t.promo.benefits_type!==s.Ai.PRODUCT),g=(t.products[u].promos||[]).filter(t=>t.promo.benefits_type===s.Ai.PRODUCT);let P=!1;for(let e=0;e<T.length;e++){const a=(0,l.R3)(i,T[e]);if(a&&parseInt(a.promo_is_active,10)&&a.is_active_now)if(parseInt(a.promo_is_auto,10)){P=!0;const e={...a,item:a.list_promo_item.map(t=>
1t.id_item)},o=(0,m.Z)(t.products[u].quantity,t.products[u].total,e);o.status&&(Y.find(t=>String(t.id)!==e.id)&&Y.push(e),d=a.id,v=o.type===s.b.PERCENT?{discType:s.b.PERCENT,discNominal:parseFloat(o.value)/100*(t.products[u].product.price*t.products[u].quantity+(0,c.jq)(t.products[u].extra||[])),disc:o.value}:{discType:s.b.FIXED,discNominal:o.value,disc:0})}else parseInt(a.promo_is_auto,10)||L.some(t=>t.id===a.id)||(_=T[e].promo.id,y=T[e].value,L.push({...a,item:a.list_promo_item.map(t=>t.id_item)}));else""===T[e].promo.id&&(d=null,T[e].promo.benefits_type===s.Ai.PERCENT?v={discType:s.b.PERCENT,discNominal:T[e].value,disc:T[e].default_value}:T[e].promo.benefits_type===s.Ai.FIXED&&(v={discType:s.b.FIXED,discNominal:T[e].value,disc:0}))}if(g.length>0){const e=(0,l.R3)(i,g[0]);if(e&&e.status)if(e.is_auto)e.promo_type===s.x2.INVOICE?a.push({...t.products[u],addon:h,promo:e,satuan_id:t.products[u].product.unit_no,unit_options:b,quantity:t.products[u].quantity,disabled:!0,is_bonus_product:!0}):e.promo_type!==s.x2.PRODUCT&&o.push({...t.products[u],addon:h,promo:e,satuan_id:t.products[u].product.unit_no,unit_options:b,quantity:t.products[u].quantity,disabled:!0,is_bonus_product:!0});else if(!e.is_auto&&(n.push({...t.products[u],addon:h,promo:e,satuan_id:t.products[u].product.unit_no,unit_options:b,quantity:t.products[u].quantity,disabled:!0,is_bonus_product:!0}),!L.some(t=>t.id===e.id))){const t=Object.assign({},e);if(parseInt(e.bonus_type_item_sold,10)&&!parseInt(e.bonus_type_item_one,10)||parseInt(e.bonus_type_item_sold,10)?Object.assign(t,{list_bonus_item:e.list_promo_item.map(t=>({...t,id:t.id_item,name:t.item_name})),item:e.list_promo_item.map(t=>t.id_item)}):Object.assign(t,{item:(e.list_promo_item||[]).map(t=>t.id_item)}),parseInt(e.bonus_type_item_one,10)||parseInt(e.bonus_type_item_one_free,10)&&parseInt(e.bonus_type_item_sold,10)&&!parseInt(e.bonus_type_item_one,10)||[p.rT.FREE_ONE,p.rT.PICK_ONE,p.rT.COMBINATION]){const a=r.map(t=>t.product.id);Object.assign(t,{bonus_type_item_list:(e.list_promo_item||e.bonus_type_item_list||[]).filter(t=>a.includes(parseInt(t.id_item||t.majoo_product_id,10))).map(t=>{let e;return p.rT.COMBINATION&&({qty:e}=r.find(e=>e.product.id===parseInt(t.id_item||t.majoo_product_id,10))),{...t,qty:e}})})}L.push(t)}}else e.push({...t.products[u],promo_id:d,addon:h,promo:v,satuan_id:t.products[u].product.unit_no,unit_options:b,quantity:t.products[u].quantity,disabled:P,promo_manual_id:_,nominalManualDisc:y})}I=y(e),a.length>0&&(U=y(a)),o.length>0&&(k=y(o)),n.length>0&&(w=y(n));const u=t.customer_address;let d={...u,checked:!!t.shipment_detail.address};t.shipment_detail&&!t.shipment_detail.use_customer_address&&(d={...t.shipment_detail,checked:!1}),T=(0,l._y)(u,d),P=(0,l.f)(t.date,!0),t.due_date_period?g=(0,l.HO)(t.due_date,!0,t.due_date_period,!0):(E=1,f=(0,l.f)(t.due_date,!0)),t.additional_costs&&(N=t.additional_costs.map(t=>({name:t.name,nominal:t.cost})))}return{id:t?BigInt(t.id):"",customerId:t?t.customer.id:"",customerName:t?t.customer.name:"",orderNo:t?t.sales_quote_no:"",address:T,outletId:v,outletName:t?t.branch_name:r,transactionDate:P,transactionDueDate:g,products:I,note:t&&t.note?t.note:"",terms_conditions:t&&t.terms_conditions?t.terms_conditions:"",discValue:M,discType:C,discNominal:x,nominal_disc:x,taxBaseType:D,taxType:O,taxValue:A,shippingCost:t?parseFloat(t.shipment_cost):0,otherCosts:N,serviceCharge:S,serviceChargeType:q,transactionDueDateType:E,transactionDateManual:f,status:t?t.status:F,promoSelected:R,promoAvailable:i,bonusProductTransaction:U,bonusProductPerProduct:k,bonusProductManual:w,promoManual:L,promoProduct:Y,isPromoEventActive:$,signatures:t&&t.signatures&&t.signatures.length>0?t.signatures:[{city:"",date:"",source:"",name:""}]}},v=(t=[])=>t.map(t=>({note:"",quantity:t.qty,quantity_conversion:t.qty,total:t.total,product_id:t.product_id,name:t.name,price:t.price,unit_id:t.unit_no,unit_name:t.unit_name,unit_conversion:t.unit_conversion,promos:[{promo_id:t.promo.id,product_id:t.product_id,product_name:t.name,value:t.total,default_value:0,name:t.promo.name,benefits_type:3,category_id:1,type:"invoice"===t.promo.promo_type?1:2}],...t.addon&&{extra:(t.addon||[]).map(e=>({id:e.id,name:e.name,extra_detail_id:parseInt(e.detail_id,10),quantity:t.qty,quantity_material:t.qty,price:0}))}})),T=(t,e)=>{let a=1;return(!0===t.multiple||parseInt(t.multiple,10))&&(a=t.minimal_criteria===p.Ke.QUANTITY?parseInt(e.qty,10)/parseInt(t.minimal_criteria_value,10):parseFloat(e.total)/parseFloat(t.minimal_criteria_value)),Math.floor(a)*parseFloat(t.bonus_type_value)},g=(t,e)=>{if(e&&String(e.type)===s.Zt.PRICE_INCLUDES_TAX){return t/(1+e.percentage/100)}return t},P=(t,e)=>{const{products:a,taxBaseType:o,outletId:n,promoProduct:i,bonusProductTransaction:r=[],bonusProductPerProduct:l=[],bonusProductManual:u=[],promoManual:d}
1=t,{nominalDisc:p,totalPriceBeforeDiscount:m,nominalManualDisc:_,totalPriceAfterDiscount:y}=e;return{products:[...a.filter(t=>t.id&&t.qty).map(e=>{let a=0,r=0,l=null;const u=String(o)===s.LK.TAX_PER_PRODUCT&&String(t.taxType)!==s.Zt.NO_TAX;u&&e.tax_detail&&e.tax_detail.length>0&&(r=(0,c.M_)(t.taxType,{...e,total:parseFloat(e.total)-parseFloat(e.nominalManualDisc||0)},p+_,m,y),a=r/parseFloat(e.qty,10));const b=(e.tax_detail||[]).find(t=>{const e=Number.isInteger(n)?JSON.stringify(n):n;return(Number.isInteger(t.outlet_id)?JSON.stringify(t.outlet_id):t.outlet_id)===e});u&&(e.tax_detail||[]).length>0&&(b?l={id:b.reffno,name:b.name,percentage:b.percentage,nominal:a,total:r}:e.tax_detail[0].outlet_id||(l={id:e.tax_detail[0].reffno,name:e.tax_detail[0].name,percentage:e.tax_detail[0].percentage,nominal:a,total:r}));let h=0;const v=(e.addon||[]).map(t=>(h+=t.qty*t.price,{id:t.id,name:t.name,extra_detail_id:parseInt(t.detail_id,10),quantity:t.qty,quantity_material:t.qty,price:t.price})),g=[],P=(i||[]).find(t=>String(t.id)===String(e.promo_id));var f;return P&&P.bonus_type!==s.Ib.PRODUCT?P.item.includes(e.product_id)&&g.push({product_id:e.product_id,product_name:e.name,default_value:parseFloat(P.bonus_type===s.b.PERCENT?P.bonus_type_value:0,10),value:parseFloat(P.bonus_type===s.b.NOMINAL?T(P,e):(f=e.disc,parseFloat(e.qty)*(e.price+h)*f/100),10),promo_id:P.id,name:P.name,benefits_type:P.bonus_type===s.b.PERCENT?1:2,type:2,category_id:1}):e.nominal_disc>0&&g.push({product_id:e.product_id,product_name:e.name,default_value:parseFloat(e.discType===s.b.PERCENT?parseFloat(e.disc):0,10),value:parseFloat(e.nominal_disc),promo_id:null,name:"Promo Transaksi",benefits_type:e.discType===s.b.PERCENT?1:2,type:1,category_id:1}),d&&d[0]&&d[0].promo_type===s.x2.PRODUCT&&d[0].bonus_type!==s.Ib.PRODUCT&&d[0].item.includes(e.product_id)&&g.push({product_id:e.product_id,product_name:e.name,default_value:parseFloat(d[0].bonus_type===s.b.PERCENT?d[0].bonus_type_value:0,10),value:parseFloat(d[0].bonus_type===s.b.NOMINAL?T(d[0],e):e.nominalManualDisc||0,10),promo_id:d[0].id,name:d[0].name,benefits_type:d[0].bonus_type===s.b.PERCENT?1:2,type:2,category_id:1}),{product_id:e.product_id,name:e.name,quantity:parseFloat(e.qty),quantity_conversion:parseFloat(e.qty),unit_conversion:e.unit_conversion,unit_name:e.unit_name,unit_id:e.unit_no,price:parseFloat(e.price),total:parseFloat(e.total)-parseFloat(e.nominalManualDisc||0),note:e.note,...e.product&&e.product.variants&&{variants:e.product.variants||[]},...g&&{promos:g},...l&&{tax:l},...v&&{extra:v}}}),...v(r),...v(l),...v(u)]}},f=(t,e)=>{const{taxType:a,taxBaseType:o,taxValue:i,orderNo:r,customerId:u,customerName:p,address:m,outletId:y,transactionDate:b,transactionDueDate:h,note:v,discType:T,shippingCost:f,otherCosts:E,serviceCharge:O,serviceChargeType:D,status:A,promoSelected:N,transactionDueDateType:I,transactionDateManual:R,promoManual:M,terms_conditions:x,signatures:C}=t,{taxAmount:S,grandTotal:q,discData:F,serviceChargeNominal:U,totalPriceBeforeDiscount:k,totalPriceAfterDiscount:w,subtotalWithoutDisc:L,taxBase:Y,nominalDisc:$,nominalManualDisc:B,subtotal:X,priceIncludesTax:V}=(0,c.Fz)(t);let j=E.filter(t=>parseFloat(t.nominal)>0);j=j.map(t=>({name:t.name,cost:parseFloat(t.nominal,10)}));const G={...m[s.Ky.CUSTOMER],email:"-"===m[s.Ky.CUSTOMER].email?"":m[s.Ky.SHIPMENT].email,use_customer_address:1};delete G.checked;const J=_(b);let K=_(I?R:h[s.oq.DATE]);n()(J,"YYYY-MM-DD HH:mm:ss").isSame(n()(K,"YYYY-MM-DD HH:mm:ss"),"days")&&(K=J);let Z=d.Zu.DRAFT;("draft"!==e&&A===d.Zu.DRAFT||"draft"!==e&&A===d.Zu.UNPROCESSED)&&(Z=d.Zu.UNPROCESSED);const H={id:u,name:p},W=parseFloat(U)>0&&{type:parseInt(D,10),percentage:parseFloat(O),nominal:parseFloat(U)},z=parseInt(o,10)>0&&parseInt(a,10)>0&&{type:parseInt(a,10),base_type:parseInt(o,10),base:Y,percentage:parseFloat(i),nominal:String(a)===s.Zt.NO_TAX?0:S};let Q=[];const tt=(N||[]).filter(t=>"invoice"===t.promo_type);0===tt.length&&parseFloat(F.nominal)>0?Q.push({product_id:0,product_name:"",default_value:parseFloat(T===s.b.PERCENT?F.percent:0,10),value:parseFloat(F.nominal),promo_id:null,name:"Promo Transaksi",benefits_type:T===s.b.PERCENT?1:2,type:1,category_id:1}):tt.length>0&&(Q=tt.map(t=>({product_id:0,product_name:"",default_value:parseFloat(t.bonus_type===s.b.PERCENT?t.bonus_type_value:0,10),value:parseFloat(t.bonus_type===s.b.NOMINAL?g(t.bonus_type_value,z):$,10),promo_id:t.id,name:t.name,benefits_type:t.bonus_type===s.b.PERCENT?1:2,type:1,category_id:1})));let et=!1;M&&M[0]&&M[0].promo_type===s.x2.INVOICE&&M[0].bonus_type!==s.Ib.PRODUCT&&(et=!0,Q.push({product_id:0,product_name:"",default_value:parseFloat(M[0].bonus_type===s.b.PERCENT?M[0].bonus_type_value:0,10),value:B,promo_id:M[0].id,name:M[0].name,benefits_type:M[0].bonus_type===s.b.PERCENT?1:2,type:1,category_id:1}));const at={nominalDisc:parseFloat(F.nominal,10),totalPriceBeforeDiscount:k,totalPriceAfterDiscount:w,nominalManualDisc:et?B:0};return{...P(t,at),customer:H,customer_address:{address:m[s.Ky.CUSTOMER].address,email:"-"===m[s.Ky.CUSTOMER].email?"":m[s.Ky.CUSTOMER].email,phone:"-"===m[s.Ky.CUSTOMER].phone?"":m[s.Ky.CUSTOMER].phone},date:J,due_date:K,due_date_period:I?0:Number(h[s.oq.OPTION]),grand_total:q,note:v,terms_conditions:x,sales_quote_no:r,outlet_id:p
1arseInt(y,10),shipment_cost:parseFloat(f||0,10),shipment_detail:G,status:Z,sub_total:V?X:L,...z&&{tax:z},...j.length>0&&{additional_costs:j},...Q&&{promos:Q,promo_total:parseFloat(F.nominal)},...W&&{service_charge:W},rounding_total:0,signatures:(0,l.ES)(C)}},E=async({id:t,name:e,lang:a},o,n,s,l)=>{const c={lang:a},d=`${i.nA}v1/sales-quotation/${t}/document?${new URLSearchParams(c)}`,p=r.A.get(),m=(0,u.g7)();o(),fetch(d,{headers:{Authorization:`Bearer ${p}`,"Accept-Language":m}}).then(t=>t.blob()).then(t=>{const a=window.URL.createObjectURL(t),o=document.createElement("a");o.href=a,o.download=e,o.click(),l()}).catch(t=>{n(t),s()}).finally(()=>s())}},96985(t,e,a){a.d(e,{A:()=>m});var o=a(96540),n=a(5556),i=a.n(n),r=a(93223),s=a(64563),l=a(9621);var u=a(35145),c=a(82046),d=a(32498);const p=(0,o.forwardRef)((t,e)=>{const{title:a,description:n,handleSubmit:i,values:p,handleCancel:m}=t,_=(0,d.K)(),y=(0,c.U)("(max-width: 1024px)")&&!_.includes("landscape"),{open:b,setOpen:h,handleSubmit:v}=(t=>{const{handleConfirmation:e}=t,[a,n]=(0,o.useState)(!1);return{open:a,setOpen:n,handleSubmit:t=>e(t)}})({handleConfirmation:i}),{LANG_DATA:T}=(0,u.U)();return(0,o.useImperativeHandle)(e,()=>({openModal(){h(!0)},closeModal(){h(!1)}})),o.createElement(r.Ay,{layer:"$modal",modal:!0,open:b,onOpenChange:()=>h(!1),isMobile:y,width:y?"100%":"448px"},o.createElement(r.K2,null,a),o.createElement(r.Vn,null,o.createElement(s.A,null,n)),o.createElement(r.B4,{css:{display:"flex",gap:"$compact"}},o.createElement(l.$n,{onClick:()=>v(p),buttonType:"secondary",size:"md"},T.DETAIL.POPUPCLOSE.CONTINUE),o.createElement(l.$n,{onClick:()=>m(),buttonType:"primary",size:"md"},T.FORM.DRAFT)))});p.propTypes={title:i().string.isRequired,description:i().string,handleSubmit:i().func,values:i().shape({}),handleCancel:i().func},p.defaultProps={description:"",handleSubmit:()=>{},values:{},handleCancel:()=>{}};const m=p},41211(t,e,a){a.d(e,{A:()=>L});var o=a(96540),n=a(18570),i=a(79933),r=a(52893),s=a(71075),l=a(2923),u=a(9621),c=a(90071),d=a(7077),p=a(1351),m=a(18351),_=a(33156),y=a(5556),b=a.n(y),h=a(32389),v=a(68154),T=a(95093),g=a.n(T),P=a(93271),f=a(59939),E=a(83109),O=a(50290),D=a(82553),A=a(42207),N=a(55453),I=a(89692),R=a(42128);let M=!1;const x=t=>{const{addToast:e,t:a,form:n,subtotal:i,handleChange:r,hideProgress:s,reformatProducts:l,LANG_DATA:u,handleChangeRecalculate:c,setPromoModalOpen:d}=t,[p,m]=(0,o.useState)([...n.promoAvailable.basic]),[_,y]=(0,o.useState)([]),[b,h]=(0,o.useState)(n.promoManual),[v,T]=(0,o.useState)({...n.promoAvailable.transaction}),[x,C]=(0,o.useState)({...n.promoAvailable.perProduct}),[{isAutoRecalculate:S,isManualRecalculate:q},F]=(0,R.K)({isAutoRecalculate:!1,isManualRecalculate:!1}),U=(t=!0)=>{y([]),r(!1,"isPromoEventActive"),r(0,"discValue"),r("fixed","discType"),r([],"bonusProductTransaction"),r([],"bonusProductPerProduct"),M=!0,t&&(r([],"bonusProductManual"),r([],"promoManual"),h([]))},k=async(t,o)=>{let i=!1,r=[],s=[],u=[];r=(n.bonusProductTransaction||[]).find(e=>e.product_id===t.id),r||(s=(n.bonusProductPerProduct||[]).find(e=>e.product_id===t.id)),s||(u=(n.bonusProductManual||[]).find(e=>e.product_id===t.id));const c=(n.products||[]).find(e=>String(e.product_id)===String(t.id));try{let e=null;return r?e={...r}:s?e={...s}:u?e={...u}:(i=!0,({data:e}=await f.getProductDetailV14(t.id,{id_outlet:n.outletId}))),{...i?{...l({...e,variants:t.variants},N.$R.BONUS_PRODUCT)}:{...e,id:String(Math.random())},is_bonus_product:!0,total:parseFloat(e.selling_price||e.price)*parseInt(t.qty,10),qty:t.qty,promo:o,addon:c?.addon||e?.addon||[],...c?.add_ons&&{add_ons:c.add_ons},originAddon:(e?.add_ons||[]).map(t=>({...t,detail:t.details.map(t=>({...t,selling_price:0,item_name:t.name}))}))}}catch(n){return e({title:a("toast.error",{ns:"translation"}),description:(0,E.WL)(n),variant:"failed",position:"top-right"}),{...t,id:String(Math.random),product_id:t.id,product:{variants:t.variants||[]},addon:[],is_bonus_product:!0,total:0,qty:t.qty,promo:o,units:{options:[],selected:{name:""}}}}};return(0,o.useEffect)(()=>{(async()=>{try{if(String(n.promoAvailable.outletId)!==String(n.outletId)){const{data:t}=await P.uE({outlet_id:n.outletId});if(t.channels.includes("invoice")&&t.is_active&&(0,D.Bq)(t.active_day)){const e=(0,D.MH)(t,u);m(t=>[...t,e])}}}catch(t){e({title:a("toast.error",{ns:"translation"}),description:(0,E.WL)(t),variant:"failed",position:"top-right"})}})(),(async()=>{try{const t={start_date:g()(n.transactionDate).format("YYYY-MM-DD"),end_date:g()(n.transactionDate).format("YYYY-MM-DD"),is_mobile:O.Fr.matches?1:0,promo_type:"invoice",outlet_id:n.outletId,per_page:100},e={auto:[],manual:[]};if(n.id&&String(n.promoAvailable.outletId)===String(n.outletId))e.auto=[...n.promoAvailable.transaction.auto],e.manual=[...n.promoAvailable.transaction.manual];else{const{data:a}=await P.oK(t);for(let t=0;t<a.length;t++)1===a[t].status&&a[t].channels.includes("invoice")&&a[t].is_active&&(0,D.Bq)(a[t].active_day,n.transactionDate)&&(a[t].is_auto?e.auto.push({...(0,D.MH)(a[t],u,n.transactionDate)}):e.manual.push({...(0,D.MH)(a[t],u,n.transactionDate)}))}T(e)}catch(t){e({title:a("toast.error",{ns:"translation"}),description:(0,E.WL)(t),variant:"failed",position:"top-right"})}})(),(async()=>{try{const t={start_date:g()(n.transactionDate).format("YYYY-MM-DD"),end_date:g()(n.transactionDate).format("YYYY-MM-DD"),id_outlet:n.outletId},e={auto:[],manual:[]};if(n.id&&String(n.promoAvailable.outletId)===String(n.outletId))e.auto=[...n.promoAvailable.perProduct.auto],e.manual=[...n.promoAvailable.perProduct.manual];else{const{data:a}=await P.jX(t);for(let t=0;t<a.length;t++)1===a[t].active_status&&a[t].channels.includes("invoice")&&parseInt(a[t].promo_is_active,10)&&(0,D.Bq)(String(a[t].active_day).split(",").map(Number),n.transactionDate)&&(parseInt(a[t].promo_is_auto,10)?e.auto.push({...(0,D.sI)(a[t],u,n.transactionDate)}):e.manual.push({...(0,D.sI)(a[t],u,n.transactionDate)}))}C(e)}catch(t){e({title:a("toast.error",{ns:"translation"}),description:(0,E.WL)(t),variant:"failed",position:"top-right"})}})()},[]),(0,o.useEffect)(()=>{0===n.products.length&&U()},[JSON.stringify(n.products)]),(0,o.useEffect)(()=>{v&&x&&(async()=>
1{if(!q){if(F({isManualRecalculate:!0}),b.length>0){let t=i;const o=Object.assign({},{...b[0]});let{limitFreeProduct:l,isCombination:u,totalBonusItem:c}=o;const d=o.bonus_product_rule_value===I.rT.FREE_ONE||o.bonus_type_item_one_free&&o.bonus_type_item_sold&&!o.bonus_type_item_one;let p=[];if(o.bonus_type===A.PP.PRODUCT){if(o.promo_type===N.x2.INVOICE){if(o.minimal_criteria===A.Ke.QUANTITY){const e=o.minimal_criteria_product.map(t=>t.majoo_product_id);t=n.products.filter(t=>e.includes(t.product_id)).reduce((t,e)=>t+Number(e.qty),0)}if(t<parseFloat(o.minimal_criteria_value))h([]),r([],"bonusProductManual"),r([],"promoManual");else{let e=(0,D.d$)(o,t);if(o.bonus_type_item_sold||o.bonus_product_rule===I.NV.SOLD_PRODUCT){const t=n.products.map(t=>t.product_id);e=e.filter(e=>t.includes(e.id)),o.bonus_type_item_list=o.bonus_type_item_list.filter(e=>t.includes(e.majoo_product_id))}e.length>0&&(p=await Promise.all(e.map(t=>k(t,o))));const a=(0,D.XP)(o,t);u&&(l=a),p=(p||[]).map(t=>({...t,...!u&&{qty:a},is_free_product:d})),c=p.reduce((t,e)=>t+e.qty,0),r(p,"bonusProductManual"),s()}}else if(o.promo_type===N.x2.PRODUCT){const{multiple:t}=(0,D.qC)(o,n.products);if(t){if(t){let t=[];parseInt(o.bonus_type_item_sold,10)&&!parseInt(o.bonus_type_item_one,10)?(t=(0,D.ss)(o,n.products),t.length>0&&(p=t)):(t=(0,D.qC)(o,n.products).list,t.length>0&&(p=await Promise.all(t.map(t=>k(t,o))))),p.length>0&&r(p,"bonusProductManual"),s()}}else h([]),r([],"bonusProductManual"),r([],"promoManual")}l===o.limitFreeProduct&&c===o.totalBonusItem||(o.limitFreeProduct=l,o.totalBonusItem=c,h([o]),r([o],"promoManual")),d&&JSON.stringify((0,D.r5)(n.bonusProductManual))!==JSON.stringify((0,D.r5)(p))&&(n.bonusProductManual.length&&!p.length&&(e({title:a("translation:toast.error"),description:a("form.promoSection.toast.errorApplyPromo",{ns:"Penjualan/Invoice/invoiceV2"}),variant:"failed"}),h([])),setTimeout(()=>{r(n.products.map(t=>{const e=(p.length?p:n.bonusProductManual).find(e=>e.product_id===t.product_id);let a=t.qty;return e&&(a=p.length?t.qty-e.qty:t.qty+e.qty),{...t,qty:a,...t.addon.length>0&&{addon:t.addon.map(t=>({...t,qty:a}))}}}),"products")},800))}else if(o.bonus_type!==A.PP.PRODUCT)if(o.promo_type===N.x2.INVOICE){if(o.minimal_criteria===A.Ke.QUANTITY){const e=o.minimal_criteria_product.map(t=>t.majoo_product_id);t=n.products.filter(t=>e.includes(t.product_id)).reduce((t,e)=>t+Number(e.qty),0)}t<parseFloat(o.minimal_criteria_value)&&(h([]),r([],"promoManual"))}else if(o.promo_type===N.x2.PRODUCT){const{multiple:t}=(0,D.qC)(o,n.products);t||(h([]),r([],"promoManual"))}}F({isManualRecalculate:!1})}})()},[i,JSON.stringify(v),JSON.stringify(x),b,JSON.stringify(n.products.map(t=>({product_id:t.product_id})))]),(0,o.useEffect)(()=>{p&&v&&x&&(async()=>{if(S)return;F({isAutoRecalculate:!0});let t="",e=[],a=0,o=[];const s=((0,D.dh)({auto:p},i,!0)||[])[0];switch(s&&(t=s.bonus_type),t){case A.PP.PERCENT:r(s.bonus_type_value,"discValue"),s.bonus_type_value_maximal_flag&&s.bonus_type_value_maximal&&(r(1===Number(s.bonus_type_value_maximal_flag),"hasMaxDisc"),r(Number(s.bonus_type_value_maximal),"maxDisc")),r("percent","discType"),r(!0,"isPromoEventActive");break;case A.PP.NOMINAL:a=(0,D.hH)(s,i),r(a,"discValue"),r("fixed","discType"),r(!0,"isPromoEventActive")}const l=(0,D.dh)(v,i,!0,n.products)||[];let u=[],c=0,d="";for(const s of l){t=s.bonus_type;let p=i;if(s.minimal_criteria===A.Ke.QUANTITY){const t=s.minimal_criteria_product.map(t=>t.majoo_product_id);p=n.products.filter(e=>t.includes(e.product_id)).reduce((t,e)=>t+Number(e.qty),0)}switch(t){case A.PP.PRODUCT:o=(0,D.d$)(s,p),o.length>0&&(e=await Promise.all(o.map(t=>k(t,s))),u=[...u,...e]);break;case A.PP.PERCENT:if(l.length>1){let t=i*Number(s.bonus_type_value)/100;s.bonus_type_value_maximal_flag&&s.bonus_type_value_maximal&&1===Number(s.bonus_type_value_maximal_flag)&&(t=Math.min(t,Number(s.bonus_type_value_maximal))),c+=t,d="fixed"}else c+=Number(s.bonus_type_value),d="percent",s.bonus_type_value_maximal_flag&&s.bonus_type_value_maximal&&(r(1===Number(s.bonus_type_value_maximal_flag),"hasMaxDisc"),r(Number(s.bonus_type_value_maximal),"maxDisc"));break;case A.PP.NOMINAL:a=(0,D.hH)(s,p),c+=a,d="fixed"}}c>0&&(r(c,"discValue"),r(d,"discType"),r(!0,"isPromoEventActive")),u.length>0?(r(u,"bonusProductTransaction"),r(!0,"isPromoEventActive")):0===l.length&&r([],"bonusProductTransaction"),t="",e=[];const m=(0,D.dh)(x,i),_=[],b=[];let h=[];
1(m||[]).forEach(e=>{switch(e&&(t=e.bonus_type),t){case A.PP.PRODUCT:o=(0,D.qC)(e,n.products).list,o.length>0&&(h=[...h,...o],b.push({...e,type:"product",value:parseFloat(e.bonus_type_value),multiple:!!parseInt(e.multiple,10),min_criteria:e.min_criteria,min_criteria_value:parseFloat(e.min_criteria_value),item:e.list_promo_item.map(t=>t.id_item)}));break;case A.PP.PERCENT:_.push({...e,type:"percent",value:parseFloat(e.bonus_type_value),multiple:!!parseInt(e.multiple,10),min_criteria:e.min_criteria,min_criteria_value:parseFloat(e.min_criteria_value),item:e.list_promo_item.map(t=>t.id_item)});break;case A.PP.NOMINAL:_.push({...e,type:"nominal",value:parseFloat(e.bonus_type_value),multiple:!!parseInt(e.multiple,10),min_criteria:e.min_criteria,min_criteria_value:parseFloat(e.min_criteria_value),item:e.list_promo_item.map(t=>t.id_item)})}});let T=[];if(b.length>0)for(const t of b)e=await Promise.all(h.map(e=>k(e,t))),T=[...T,...e];T.length>0?r(T,"bonusProductPerProduct"):r([],"bonusProductPerProduct"),_.length>0&&r(_,"promoProduct");let g=[];if(s||l.length>0||m){s&&g.push(s),l.length>0&&(g=[...g,...l],M=!1);const t=(0,D.OJ)(_,n.products);if(m&&t.length>0){const e=m.filter(e=>t.some(t=>t.id===e.id));g=[...g,...e]}b.length>0&&(g=[...g,...b]),y(g),r(g,"promoSelected")}else M||U(!1);F({isAutoRecalculate:!1})})()},[i,JSON.stringify(p),JSON.stringify(v),JSON.stringify(x),JSON.stringify(n.products.map(t=>({product_id:t.product_id,qty:t.qty,total:t.total})))]),{promoActiveSelected:[..._,...b],promoBasic:p,listPromoTransaction:v,listPromoPerProduct:x,handleSetPromoManualSelected:async(t,e)=>{c(!0),d(!1),"remove"===e?(t.bonus_type===A.PP.PRODUCT&&((t.bonus_product_rule_value===I.rT.FREE_ONE||t.bonus_type_item_one_free&&t.bonus_type_item_sold&&!t.bonus_type_item_one)&&r(n.products.map(t=>{const e=n.bonusProductManual.find(e=>e.product_id===t.product_id&&e.is_free_product);let a=t.qty;return e&&(a=t.qty+e.qty),{...t,qty:a,...t.addon.length>0&&{addon:t.addon.map(t=>({...t,qty:a}))}}}),"products"),r([],"bonusProductManual")),h([]),r([],"promoManual")):"add"===e&&(h([t]),r([t],"promoManual"))}}};var C=a(85528),S=a(9866),q=a(36627);const F={border:"1px solid #36D4B1",padding:"18px 16px !important","& > p":{fontWeight:400,fontSize:"14px"}};var U=a(35145);function k(){return k=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var a=arguments[e];for(var o in a)({}).hasOwnProperty.call(a,o)&&(t[o]=a[o])}return t},k.apply(null,arguments)}const w=t=>{const{isMobile:e,form:a,settingRefund:y,isRefund:b,showLoadingRecalculate:T}=t,{t:g}=(0,h.Bd)(["translation"]),{LANG_DATA:P}=(0,U.U)(),{addToast:f}=(0,o.useContext)(n.A),[E,O]=(0,o.useState)(!1),N=Number(y.is_shipment_fee_back),I=(a.refunds||[]).some(t=>t.returned_shipping_fee),R={...a,isRefund:b,isOtherServiceFeeBack:N,isReturnedShippingFee:I,t:g},{subtotal:M}=(0,C.Fz)(R),{bonusProductTransaction:w,bonusProductPerProduct:L,bonusProductManual:Y}=a,{promoActiveSelected:$,promoBasic:B,listPromoTransaction:X,listPromoPerProduct:V,handleSetPromoManualSelected:j}=x({...t,addToast:f,t:g,subtotal:M,LANG_DATA:P,setPromoModalOpen:O}),G=(0,o.useRef)(),J=a.products.length>0,K=(0,o.useMemo)(()=>$.some(t=>t.isCombination&&t.totalBonusItem!==t.limitFreeProduct),[$]);return o.createElement(i.A,{css:{display:T?"none":void 0}},o.createElement(S.A,null,o.createElement(r.A,{direction:"row",justify:"between",align:"center",gap:3},o.createElement(r.A,{direction:"column",gap:3},o.createElement(s.A,{as:"h4",heading:"pageTitle",color:"primary"},"Promo"),0===a.products.length?o.createElement(l.A,null,P.FORM.PROMO.DESCRIPTION1):0===$.length?o.createElement(l.A,null,P.FORM.PROMO.DESCRIPTION2):null),o.createElement(u.$n,{buttonType:"secondary",type:"button",leftIcon:o.createElement(_.PromotionFilled,{color:"currentColor"}),disabled:0===a.products.length,onClick:()=>O(!0)},J&&$.length>0?`${$.length} ${P.FORM.PROMO.EDIT}`:P.FORM.PROMO.ADD)),J&&$.length>0&&o.createElement(c.A,{responsive:"input",css:(0,q.m)(e).formGroup},o.createElement(i.A,{css:{width:"100%"}},o.createElement(r.A,{gap:4},$.map((t,a)=>a<3&&o.createElement(i.A,k({key:t.id,css:{width:"$full","@md":{width:"calc((100% / 3) - $spacing-04)"}}},t.isCombination&&t.totalBonusItem!==t.limitFreeProduct&&{onClick:()=>(t=>{G&&G.current.adjustBonusProduct(t)})(t)}),o.createElement(d.Zp,{color:"dark",label:o.createElement(r.A,{justify:"between",align:"center"},o.createElement(r.A,{gap:2,css:{marginBottom:"8px !important"}},o.createElement(l.A,{as:"p",color:"primary",css:(0,q.m)(e).cardPromoTitle},t.name),o.createElement(l.A,{as:"p",color:"primary",css:(0,q.m)(e).cardPromoDescription},t.description)),!t.is_auto&&o.createElement(p.A,{type:"button",onClick:e=>{e.preventDefault(),j(t,"remove")}},o.createElement(_.CloseFilled,null))),description:t.bonus_type!==A.PP.PRODUCT?(0,D.Kx)(t,!0,[],void 0,P).replace(", ",""):(0,D.Bi)(t,{bonusProductTransaction:w,bonusProductPerProduct:L,bonusProductManual:Y},P),css:e?{width:"100%"}:{...F,flex:"0 0 calc(100% / 3 - 8px)",...t.isCombination&&t.totalBonusItem!==t.limitFreeProduct&&{borderColor:"$iconRed",cursor:"pointer"}}})))))),K&&o.createElement(m.A,{error:!0,css:{marginTop:"$cozy"}},"Sesuaikan Bonus Product")),o.createElement(v.A,k({},t,{open:E,setOpen:O,ref:G,t:g,listPromoActive:$,basicPromo:B,listPromoManual:[...X.manual,...V.manual],subtotal:M,listProduct:a.products,hideDescription:!0,show
1Footer:!1,submitPromo:j,form:{customerPoint:0},calculationState:R})))};w.propTypes={form:b().shape({}).isRequired,isRefund:b().bool,settingRefund:b().shape({is_shipment_fee_back:b().string}),isMobile:b().bool},w.defaultProps={isRefund:!1,settingRefund:{is_shipment_fee_back:"1"},isMobile:!1};const L=w}}]);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.