1import{u as y,j as V,f as n,w as i,e as a,m as o,t as f,M as k,l as s,b as S,q as g,g as U}from"./index-CKUd8UCd.js";import{_ as q}from"./Card-BnrNCwOO.js";import{_ as w}from"./DataTable-CjmVxOsk.js";import{_ as C}from"./EmptyState-x4Rif5zL.js";import{_ as N}from"./StepUpActionModal-CP0Hf9NP.js";import{_ as c}from"./Button-B_QCuksn.js";import{_ as l}from"./TextInput-CehQGeg1.js";import"./Pagination-CrmCgan6.js";import"./ConfirmModal-C94f297I.js";import"./DialogModal-CmPFmEai.js";import"./DangerButton-Do0kbx7S.js";import"./PrimaryButton-DX4rX4oN.js";import"./SecondaryButton-D7ZbEw7n.js";import"./useAdminStepUp-pSI5Hzlj.js";import"./useReconfirm-D5POzTMM.js";import"./index-DetH0VCB.js";import"./passkeys-BQIvBaZd-Daiw_sq1.js";import"./InputError-CAicAfDY.js";import"./StepUpReasonField-DEbvKz-T.js";const $={class:"space-y-4"},B=["onClick"],X={__name:"ProductVariantsSection",props:{variants:{type:Array,default:()=>[]},variantsStoreUrl:{type:String,required:!0},syncStripeUrl:{type:String,required:!0}},setup(m){const d=m,x=[{key:"variant_name_de",label:"Name",cellClass:"font-medium text-atlas-text"},{key:"sku",label:"SKU",cellClass:"font-mono text-xs text-atlas-text-muted"},{key:"quantity_on_hand",label:"Bestand",cellClass:"font-mono text-xs text-atlas-text-muted"},{key:"quantity_reserved",label:"Reserviert",cellClass:"font-mono text-xs text-atlas-text-muted"}],r=y({sku:"",variant_name_de:"",variant_name_en:"",price_cents:"",weight_grams:""});function v(){r.post(d.variantsStoreUrl,{preserveScroll:!0,onSuccess:()=>r.reset()})}function _(){S.post(d.syncStripeUrl,{},{preserveScroll:!0})}const u=g(null);function b(p){u.value.ask({title:"Variante löschen",message:"Sind Sie sicher, dass Sie diese Variante löschen möchten?",confirmText:"Löschen",danger:!0,method:"delete",url:p.destroy_url})}return(p,e)=>(U(),V("div",null,[n(q,{rounded:"lg"},{header:i(()=>[e[5]||(e[5]=a("h2",{class:"text-base font-semibold text-da-text"},"Varianten",-1)),n(c,{type:"button",onClick:_,variant:"secondary",class:"ml-auto"},{default:i(()=>[...e[4]||(e[4]=[o(" Mit Stripe synchronisieren ",-1)])]),_:1})]),default:i(()=>[a("div",$,[n(w,{columns:x,rows:m.variants},{"cell-quantity_on_hand":i(({row:t})=>[o(f(t.quantity_on_hand??"-"),1)]),"cell-quantity_reserved":i(({row:t})=>[o(f(t.quantity_reserved??0),1)]),"row-actions":i(({row:t})=>[a("button",{type:"button",class:"px-3 border border-atlas-border rounded-atlas-sm text-atlas-text-muted hover:text-atlas-error hover:border-atlas-error transition-colors inline-flex min-h-11 items-center justify-center whitespace-nowrap text-sm font-medium",onClick:h=>b(t)}," Löschen ",8,B)]),empty:i(()=>[n(C,{size:"sm",title:"Noch keine Varianten."})]),_:1},8,["rows"]),a("form",{class:"grid grid-cols-2 sm:grid-cols-5 gap-3 items-end",onSubmit:k(v,["prevent"])},[a("div",null,[e[6]||(e[6]=a("label",{for:"variant-sku",class:"block text-sm font-medium text-da-text mb-2"},"SKU",-1)),n(l,{id:"variant-sku",modelValue:s(r).sku,"onUpdate:modelValue":e[0]||(e[0]=t=>s(r).sku=t),type:"text"},null,8,["modelValue"])]),a("div",null,[e[7]||(e[7]=a("label",{for:"variant-name-de",class:"block text-sm font-medium text-da-text mb-2"},"Name (DE)",-1)),n(l,{id:"variant-name-de",modelValue:s(r).variant_name_de,"onUpdate:modelValue":e[1]||(e[1]=t=>s(r).variant_name_de=t),type:"text"},null,8,["modelValue"])]),a("div",null,[e[8]||(e[8]=a("label",{for:"variant-name-en",class:"block text-sm font-medium text-da-text mb-2"},"Name (EN)",-1)),n(l,{id:"variant-name-en",modelValue:s(r).variant_name_en,"onUpdate:modelValue":e[2]||(e[2]=t=>s(r).variant_name_en=t),type:"text"},null,8,["modelValue"])]),a("div",null,[e[9]||(e[9]=a("label",{for:"variant-price-cents",class:"block text-sm font-medium text-da-text mb-2"},"Preis (Cent)",-1)),n(l,{id:"variant-price-cents",modelValue:s(r).price_cents,"onUpdate:modelValue":e[3]||(e[3]=t=>s(r).price_cents=t),modelModifiers:{number:!0},type:"number",min:"0",placeholder:"Basispreis"},null,8,["modelValue"])]),n(c,{type:"submit",disabled:s(r).processing},{default:i(()=>[...e[10]||(e[10]=[o(" Variante hinzufügen ",-1)])]),_:1},8,["disabled"])],32)])]),_:1}),n(N,{ref_key:"stepUp",ref:u},null,512)]))}};export{X as default};
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.