JezK
Edit File: sc-order-confirmation-line-items_2.entry.js.map
{"file":"sc-order-confirmation-line-items.sc-order-confirmation-totals.entry.js","mappings":"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","names":[],"sources":["src/components/controllers/confirmation/order-confirmation-line-items/sc-order-confirmation-line-items.scss?tag=sc-order-confirmation-line-items&encapsulation=shadow","src/components/controllers/confirmation/order-confirmation-line-items/sc-order-confirmation-line-items.tsx","src/components/controllers/confirmation/order-confirmation-totals/sc-order-confirmation-totals.css?tag=sc-order-confirmation-totals&encapsulation=shadow","src/components/controllers/confirmation/order-confirmation-totals/sc-order-confirmation-totals.tsx"],"sourcesContent":[":host {\n display: block;\n}\n.line-items {\n display: grid;\n gap: var(--sc-spacing-small);\n}\n.line-item {\n display: grid;\n gap: var(--sc-spacing-small);\n}\n.fee__description {\n opacity: 0.75;\n}\n","import { Component, h, Prop } from '@stencil/core';\nimport { __ } from '@wordpress/i18n';\nimport { openWormhole } from 'stencil-wormhole';\nimport { Checkout, LineItem, Product } from '../../../../types';\nimport { groupBundleLineItems } from '../../../../functions/line-items';\n\n@Component({\n tag: 'sc-order-confirmation-line-items',\n styleUrl: 'sc-order-confirmation-line-items.scss',\n shadow: true,\n})\nexport class ScOrderConfirmationLineItems {\n @Prop() order: Checkout;\n @Prop() loading: boolean;\n\n render() {\n if (!!this.loading) {\n return (\n <sc-line-item>\n <sc-skeleton style={{ 'width': '50px', 'height': '50px', '--border-radius': '0' }} slot=\"image\"></sc-skeleton>\n <sc-skeleton slot=\"title\" style={{ width: '120px', display: 'inline-block' }}></sc-skeleton>\n <sc-skeleton slot=\"description\" style={{ width: '60px', display: 'inline-block' }}></sc-skeleton>\n <sc-skeleton style={{ width: '120px', display: 'inline-block' }} slot=\"price\"></sc-skeleton>\n <sc-skeleton style={{ width: '60px', display: 'inline-block' }} slot=\"price-description\"></sc-skeleton>\n </sc-line-item>\n );\n }\n\n const items = (this.order?.line_items?.data || []) as LineItem[];\n const { regular, bundleParents, componentsByParent } = groupBundleLineItems(items);\n const orderedItems = [...bundleParents, ...regular];\n\n return (\n <div class={{ 'confirmation-summary': true }}>\n <div class=\"line-items\" part=\"line-items\">\n {orderedItems.map(item => {\n const product = item?.price?.product as Product;\n const isBundle = !!product?.bundle;\n return (\n <div class=\"line-item\" key={item.id}>\n <sc-product-line-item\n image={product?.line_item_image}\n name={product?.name}\n price={item?.price?.name}\n variant={item?.variant_display_options}\n editable={false}\n removable={false}\n quantity={item.quantity}\n fees={item?.fees?.data}\n note={item?.display_note}\n amount={item.ad_hoc_display_amount ? item.ad_hoc_display_amount : item.subtotal_display_amount}\n scratch={!item.ad_hoc_display_amount && item?.scratch_display_amount}\n trial={item?.price?.trial_text}\n interval={`${item?.price?.short_interval_text} ${item?.price?.short_interval_count_text}`}\n purchasableStatus={item?.purchasable_status_display}\n sku={item?.sku}\n bundleComponents={isBundle ? componentsByParent[item.id] || [] : []}\n ></sc-product-line-item>\n </div>\n );\n })}\n </div>\n </div>\n );\n }\n}\n\nopenWormhole(ScOrderConfirmationLineItems, ['order', 'busy', 'loading', 'empty'], false);\n",":host {\n display: block;\n}\n","import { getHumanDiscount } from '../../../../functions/price';\nimport { Checkout, ShippingChoice, ShippingMethod } from '../../../../types';\nimport { Component, h, Prop, Fragment } from '@stencil/core';\nimport { __ } from '@wordpress/i18n';\nimport { openWormhole } from 'stencil-wormhole';\nimport { formatTaxDisplay } from '../../../../functions/tax';\n\n@Component({\n tag: 'sc-order-confirmation-totals',\n styleUrl: 'sc-order-confirmation-totals.css',\n shadow: true,\n})\nexport class ScOrderConfirmationTotals {\n @Prop() order: Checkout;\n\n renderDiscountLine() {\n if (!this.order?.discount?.promotion?.code) {\n return null;\n }\n\n let humanDiscount = '';\n\n if (this.order?.discount?.coupon) {\n humanDiscount = getHumanDiscount(this.order?.discount?.coupon);\n }\n\n return (\n <sc-line-item style={{ marginTop: 'var(--sc-spacing-small)' }}>\n <span slot=\"description\">\n {__('Discount', 'surecart')}\n <br />\n {this.order?.discount?.promotion?.code && (\n <sc-tag type=\"success\" size=\"small\">\n {this.order?.discount?.promotion?.code}\n </sc-tag>\n )}\n </span>\n {humanDiscount && (\n <span class=\"coupon-human-discount\" slot=\"price-description\">\n ({humanDiscount})\n </span>\n )}\n <span slot=\"price\">{this.order?.discounts_display_amount}</span>\n </sc-line-item>\n );\n }\n\n renderCheckoutFees(checkout: Checkout) {\n if (!checkout?.checkout_fees?.data?.length) {\n return null;\n }\n\n return (\n <Fragment>\n {checkout?.checkout_fees?.data?.map(fee => (\n <sc-line-item key={fee?.id}>\n <span slot=\"description\">{fee?.description}</span>\n <span slot=\"price\">{fee?.display_amount}</span>\n </sc-line-item>\n ))}\n </Fragment>\n );\n }\n\n renderShippingFees(checkout: Checkout) {\n if (!checkout?.shipping_fees?.data?.length) {\n return null;\n }\n\n return (\n <Fragment>\n {checkout?.shipping_fees?.data?.map(fee => (\n <sc-line-item key={fee?.id}>\n <span slot=\"description\">{fee?.description}</span>\n <span slot=\"price\">{fee?.display_amount}</span>\n </sc-line-item>\n ))}\n </Fragment>\n );\n }\n\n render() {\n const shippingMethod = (this.order?.selected_shipping_choice as ShippingChoice)?.shipping_method as ShippingMethod;\n const shippingMethodName = shippingMethod?.name;\n return (\n <div class={{ 'line-item-totals': true }}>\n {this.order?.subtotal_amount !== this.order?.total_amount && (\n <Fragment>\n <sc-line-item>\n <span slot=\"description\">{__('Subtotal', 'surecart')}</span>\n <span\n slot=\"price\"\n style={{\n 'font-weight': 'var(--sc-font-weight-semibold)',\n 'color': 'var(--sc-color-gray-800)',\n }}\n >\n {this.order?.subtotal_display_amount}\n </span>\n </sc-line-item>\n {this.renderCheckoutFees(this.order)}\n </Fragment>\n )}\n\n {!!this.order?.trial_amount && (\n <sc-line-item>\n <span slot=\"description\">{__('Trial', 'surecart')}</span>\n <span\n slot=\"price\"\n style={{\n 'font-weight': 'var(--sc-font-weight-semibold)',\n 'color': 'var(--sc-color-gray-800)',\n }}\n >\n {this.order?.trial_display_amount}\n </span>\n </sc-line-item>\n )}\n\n {!!this.order?.discounts && (\n <sc-line-item>\n <span slot=\"description\">{__('Discounts', 'surecart')}</span>\n <span\n slot=\"price\"\n style={{\n 'font-weight': 'var(--sc-font-weight-semibold)',\n 'color': 'var(--sc-color-gray-800)',\n }}\n >\n {this.order?.discounts_display}\n </span>\n </sc-line-item>\n )}\n\n {!!this.order?.discount?.promotion?.code && (\n <sc-line-item>\n <span slot=\"description\">\n {__('Discount', 'surecart')}\n <br />\n <sc-tag type=\"success\">\n {__('Coupon:', 'surecart')} {this.order?.discount?.promotion?.code}\n </sc-tag>\n </span>\n\n <span\n slot=\"price\"\n style={{\n 'font-weight': 'var(--sc-font-weight-semibold)',\n 'color': 'var(--sc-color-gray-800)',\n }}\n >\n {this.order?.discounts_display_amount}\n </span>\n </sc-line-item>\n )}\n\n {!!this.order?.shipping_amount && (\n <Fragment>\n <sc-line-item>\n <span slot=\"description\">{`${__('Shipping', 'surecart')} ${shippingMethodName ? `(${shippingMethodName})` : ''}`}</span>\n <span\n slot=\"price\"\n style={{\n 'font-weight': 'var(--sc-font-weight-semibold)',\n 'color': 'var(--sc-color-gray-800)',\n }}\n >\n {this.order?.shipping_display_amount}\n </span>\n </sc-line-item>\n {this.renderShippingFees(this.order)}\n </Fragment>\n )}\n\n {!!this.order?.tax_amount && (\n <sc-line-item>\n <span slot=\"description\">{`${formatTaxDisplay(this.order?.tax_label, this.order?.tax_status === 'estimated')} (${this.order?.tax_percent}%)`}</span>\n <span slot=\"price\">{this.order?.tax_display_amount}</span>\n {!!this.order?.tax_inclusive_amount && <span slot=\"price-description\">{`(${__('included', 'surecart')})`}</span>}\n </sc-line-item>\n )}\n\n <sc-divider style={{ '--spacing': 'var(--sc-spacing-x-small)' }}></sc-divider>\n\n <sc-line-item\n style={{\n 'width': '100%',\n '--price-size': 'var(--sc-font-size-x-large)',\n }}\n >\n <span slot=\"title\">{__('Total', 'surecart')}</span>\n <span slot=\"price\">{this.order?.total_display_amount}</span>\n <span slot=\"currency\">{this.order?.currency}</span>\n </sc-line-item>\n\n {!!this.order?.proration_amount && (\n <sc-line-item>\n <span slot=\"description\">{__('Proration', 'surecart')}</span>\n <span\n slot=\"price\"\n style={{\n 'font-weight': 'var(--sc-font-weight-semibold)',\n 'color': 'var(--sc-color-gray-800)',\n }}\n >\n {this.order?.proration_display_amount}\n </span>\n </sc-line-item>\n )}\n\n {!!this.order?.applied_balance_amount && (\n <sc-line-item>\n <span slot=\"description\">{__('Applied Balance', 'surecart')}</span>\n <span\n style={{\n 'font-weight': 'var(--sc-font-weight-semibold)',\n 'color': 'var(--sc-color-gray-800)',\n }}\n slot=\"price\"\n >\n {this.order?.applied_balance_display_amount}\n </span>\n </sc-line-item>\n )}\n\n {!!this.order?.credited_balance_amount && (\n <sc-line-item>\n <span slot=\"description\">{__('Credited Balance', 'surecart')}</span>\n <span\n slot=\"price\"\n style={{\n 'font-weight': 'var(--sc-font-weight-semibold)',\n 'color': 'var(--sc-color-gray-800)',\n }}\n >\n {this.order?.credited_balance_display_amount}\n </span>\n </sc-line-item>\n )}\n\n {this.order?.amount_due !== this.order?.total_amount && (\n <sc-line-item\n style={{\n 'width': '100%',\n '--price-size': 'var(--sc-font-size-x-large)',\n }}\n >\n <span slot=\"title\">{__('Amount Due', 'surecart')}</span>\n <span slot=\"price\">{this.order?.amount_due_display_amount}</span>\n <span slot=\"currency\">{this.order?.currency}</span>\n </sc-line-item>\n )}\n <sc-divider style={{ '--spacing': 'var(--sc-spacing-x-small)' }}></sc-divider>\n\n {!!this.order?.paid_amount && (\n <sc-line-item\n style={{\n 'width': '100%',\n '--price-size': 'var(--sc-font-size-x-large)',\n }}\n >\n <span slot=\"title\">{__('Paid', 'surecart')}</span>\n <span slot=\"price\">{this.order?.paid_display_amount}</span>\n <span slot=\"currency\">{this.order?.currency}</span>\n </sc-line-item>\n )}\n {!!this.order?.refunded_amount && (\n <Fragment>\n <sc-line-item\n style={{\n 'width': '100%',\n '--price-size': 'var(--sc-font-size-x-large)',\n }}\n >\n <span slot=\"description\">{__('Refunded', 'surecart')}</span>\n <span slot=\"price\">{this.order?.refunded_display_amount}</span>\n </sc-line-item>\n <sc-line-item\n style={{\n 'width': '100%',\n '--price-size': 'var(--sc-font-size-x-large)',\n }}\n >\n <span slot=\"title\">{__('Net Payment', 'surecart')}</span>\n <span slot=\"price\">{this.order?.net_paid_display_amount}</span>\n </sc-line-item>\n </Fragment>\n )}\n {this.order?.tax_reverse_charged_amount > 0 && (\n <sc-line-item>\n <span slot=\"description\">{__('*Tax to be paid on reverse charge basis', 'surecart')}</span>\n </sc-line-item>\n )}\n </div>\n );\n }\n}\n\nopenWormhole(ScOrderConfirmationTotals, ['order', 'busy', 'loading', 'empty'], false);\n"],"version":3}