1import{p as e,H as d,R as O,C as L}from"./operations-kkTV5WbO.js";import{i as m,D as C,C as b,Q as j,d as y,L as I}from"./FontFaceDeclarations-X5iqCFk9.js";import{f as h}from"./formatCurrency-T9SQkSOQ.js";import{C as c,F as T,L as g,s as N}from"./application-_wdrrVmG.js";import"./sorting-7OiQdfkW.js";const f=l=>{const{value:t,options:n,onChange:s}=l;if(n.find(a=>a.id===t)==null)throw new Error("Missing selected option");return e.jsx("div",{className:"order-font-license-option",children:e.jsx("div",{className:"font-license-quantity",children:e.jsx("div",{className:"cart-select-wrapper",children:e.jsx("select",{value:t,onChange:a=>{s(parseInt(a.currentTarget.value))},"aria-label":"Select license quantity",children:n.map(a=>e.jsx("option",{value:a.id,children:a.description},a.id))})})})})};f.displayName="Cart.LicenseOptionSelect";const E=d` 2 mutation DestroyFontLicenseMutation($input: DestroyFontLicenseInput!) { 3 destroyFontLicense(input: $input) { 4 order { 5 id 6 subtotal 7 } 8 } 9 } 10`,_=l=>{const{licenseId:t}=l;return e.jsx(m,{mutation:E,update:(n,{data:s})=>{try{if(s==null||s.destroyFontLicense==null||s.destroyFontLicense.order==null)return;const i=n.readQuery({query:c});if(i==null||i.currentOrder==null)return;n.writeQuery({query:c,data:{__typename:"Query",currentOrder:{...i.currentOrder,...s.destroyFontLicense.order,fontLicenses:(i.currentOrder.fontLicenses||[]).filter(a=>a.id!==t)}}})}catch{}},children:(n,{loading:s})=>e.jsx("button",{className:"remove-button",disabled:s,onClick:()=>n({variables:{input:{licenseId:t}}}),children:"Ã"})})},S=l=>{const{value:t,onChange:n}=l;return e.jsx("div",{className:"order-font-license-type",children:e.jsx("div",{className:"font-license-type",children:e.jsx("div",{className:"cart-select-wrapper",children:e.jsxs("select",{value:t,onChange:s=>{n(s.currentTarget.value)},"aria-label":"Select license type",children:[e.jsx("option",{value:"desktop",children:"Desktop"}),e.jsx("option",{value:"web",children:"Web"}),e.jsx("option",{value:"mobile",children:"Mobile App"})]})})})})},w=d` 11 mutation UpdateFontLicenseMutation($input: UpdateFontLicenseInput!) { 12 updateFontLicense(input: $input) { 13 order { 14 id 15 subtotal 16 total 17 18 fontLicenses { 19 ...FontLicenseAttributes 20 } 21 } 22 } 23 } 24 25 ${T} 26`,x=class x extends O.PureComponent{constructor(){super(...arguments),this.state={expanded:!1,licenseType:this.props.license.option.kind,licenseOptionId:this.props.license.option.id}}render(){const{license:t,licenseOptions:n}=this.props,{expanded:s,licenseType:i,licenseOptionId:a}=this.state;return e.jsx(m,{mutation:w,children:o=>e.jsxs("div",{className:L("order-font-license","is-editable",{"is-expanded":s}),children:[e.jsxs("div",{className:"order-font-license-attributes",children:[e.jsxs("div",{className:"order-font-license-details",children:[e.jsx("div",{className:"order-font-license-name",children:t.family.name}),e.jsxs("div",{className:"order-font-license-styles",children:[t.faces.length," Styles"]})]}),e.jsx(S,{value:i,onChange:r=>{const u=n.find(({kind:v})=>v===r);if(u==null)throw new Error("Invalid license option selected");this.setState({licenseType:r,licenseOptionId:u.id}),o({variables:{input:{licenseId:t.id,licenseOptionId:u.id}}})}}),e.jsx(f,{licenseType:i,value:a,options:n.filter(r=>r.kind===i),onChange:r=>{this.setState({licenseOptionId:r}),o({variables:{input:{licenseId:t.id,licenseOptionId:r}}})}}),e.jsx("div",{className:"order-font-license-price",children:h(t.total)})]}),e.jsx("button",{className:"expand-button",onClick:()=>{this.setState(r=>({...r,expanded:!r.expanded}))},"aria-label":"Expand line item"}),e.jsx(_,{licenseId:t.id}),s&&e.jsx("div",{className:"order-font-license-faces",children:t.faces.map(r=>e.jsx("div",{className:"order-font-license-face",children:r.description},r.id))})]})})}};x.displayName="Cart.LicenseItem";let p=x;const F=d` 27 mutation UpdateLineItemMutation($input: UpdateLineItemInput!) { 28 updateLineItem(input: $input) { 29 order { 30 id 31 subtotal 32 33 lineItems { 34 ...LineItemAttributes 35 } 36 } 37 38 errors 39 } 40 } 41 42 ${g} 43`,U=l=>{const{lineItem:t}=l;return e.jsx(m,{mutation:F,update:(n,{data:s})=>{try{if(s==null||s.updateLineItem==null||s.updateLineItem.order==null)return;const i=n.readQuery({query:c});if(i==null||i.currentOrder==null)return;n.writeQuery({query:c,data:{__typename:"Query",currentOrder:{...i.currentOrder,...s.updateLineItem.order}}})}catch{}},children:n=>e.jsxs("div",{className:"ProductItem",children:[e.jsx("div",{className:"ProductItem-imageWrapper",children:t.product.images[0]!=null&&e.jsx("img",{className:"ProductItem-imageWrapper-image",src:t.product.images[0].url.small})}),e.jsx("div",{className:"ProductItem-name",children:t.product.name}),e.jsxs("div",{className:"ProductItem-quantity",children:["Quantity: ",t.quantity]}),e.jsxs("div",{className:"ProductItem-subtotal",children:[h(t.total),e.jsx("button",{className:"ProductItem-subtotal-delete",onClick:()=>n({variables:{input:{lineItemId:t.id,quantity:0}}}),children:"Ã"})]})]})})},q=d` 44 query LicenseOptionsQuery { 45 licenseOptions { 46 id 47 kind 48 multiplier 49 description 50 suffix 51 } 52 } 53`,A=()=>e.jsx(C,{title:"Cart",children:e.jsx(b,{children:e.jsx(j,{query:c,children:({data:l,loading:t})=>{if(t)return e.jsx(y,{});if(l==null||l.currentOrder==null||l.currentOrder.fontLicenses.length===0&&l.currentOrder.lineItems.length===0)return e.jsxs(e.Fragment,{children:[e.jsx("h1",{className:"heading-1",children:"Cart"}),e.jsx("p",{children:"Your cart is empty!"}),e.jsx(I,{to:"/",children:"Continue Shopping"})]});const{currentOrder:n}=l;return e.jsx(j,{query:q,children:({loading:s,data:i})=>{if(s)return e.jsx(y,{});if(i==null)throw new Error("Missing license options.");const a=N(n.fontLicenses,"id"),o=N(n.lineItems,"id");return e.jsxs(e.Fragment,{children:[e.jsx("h1",{className:"heading-1",children:"Cart"}),e.jsxs("div",{className:"order-items",children:[a.map(r=>e.jsx(p,{license:r,licenseOptions:i.licenseOptions},r.id)),o.map(r=>e.jsx(U,{lineItem:r},r.id))]}),e.jsx("div",{className:"order-totals-summary",children:e.jsxs("div",{className:"order-totals-summary-row order-totals-summary-row--total",children:[e.jsx("div",{className:"order-totals-summary-row-label",children:"Total"}),e.jsx("div",{className:"order-totals-summary-row-price",children:h(n.subtotal)})]})}),e.jsx(I,{className:"checkout-button",to:"/checkout/registration",children:"Checkout"})]})}})}})})});export{A as default}; 54//# sourceMappingURL=index-Bt8hPENz.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.