{ "name": "woocommerce/product-button", "version": "1.0.0", "title": "Add to Cart Button", "description": "Display a call to action button which either adds the product to the cart, or links to the product page.", "category": "woocommerce-product-elements", "keywords": [ "WooCommerce" ], "usesContext": [ "query", "queryId", "postId" ], "textdomain": "woocommerce", "attributes": { "productId": { "type": "number", "default": 0 }, "textAlign": { "type": "string", "default": "" }, "width": { "type": "number" }, "isDescendentOfSingleProductBlock": { "type": "boolean", "default": false }, "isDescendentOfQueryLoop": { "type": "boolean", "default": false } }, "supports": { "align": [ "wide", "full" ], "color": { "background": false, "link": true }, "interactivity": true, "html": false, "typography": { "fontSize": true, "lineHeight": true } }, "ancestor": [ "woocommerce/all-products", "woocommerce/single-product", "core/post-template", "woocommerce/product-template" ], "styles": [ { "name": "fill", "label": "Fill", "isDefault": true }, { "name": "outline", "label": "Outline" } ], "viewScript": [ "wc-product-button-interactivity-frontend" ], "apiVersion": 3, "$schema": "https://schemas.wp.org/trunk/block.json" }'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); const index = require('./index-f1e4d53b.js'); const fetch = require('./fetch-2dba325c.js'); const addQueryArgs = require('./add-query-args-17c551b6.js'); const scSubscriptionPaymentCss = ":host{display:block;position:relative}.subscription-payment{display:grid;gap:0.5em}"; const ScSubscriptionPayment = class { constructor(hostRef) { index.registerInstance(this, hostRef); this.subscriptionId = undefined; this.backUrl = undefined; this.successUrl = undefined; this.subscription = undefined; this.paymentMethods = []; this.customerIds = []; this.manualPaymentMethods = undefined; this.loading = undefined; this.busy = undefined; this.error = undefined; } componentWillLoad() { this.fetchItems(); } async fetchItems() { try { this.loading = true; await Promise.all([this.fetchSubscription(), this.fetchPaymentMethods()]); } catch (e) { console.error(e); this.error = (e === null || e === void 0 ? void 0 : e.message) || wp.i18n.__('Something went wrong', 'surecart'); } finally { this.loading = false; } } async fetchSubscription() { if (!this.subscriptionId) return; this.subscription = (await fetch.apiFetch({ path: addQueryArgs.addQueryArgs(`/surecart/v1/subscriptions/${this.subscriptionId}`, { expand: ['price', 'price.product', 'current_period', 'product'], }), })); } async fetchPaymentMethods() { var _a, _b; this.paymentMethods = (await fetch.apiFetch({ path: addQueryArgs.addQueryArgs(`/surecart/v1/payment_methods`, { expand: ['card', 'customer', 'billing_agreement', 'paypal_account', 'payment_instrument', 'bank_account'], customer_ids: this.customerIds, reusable: true, ...(((_a = this.subscription) === null || _a === void 0 ? void 0 : _a.live_mode) !== null ? { live_mode: this.subscription.live_mode } : {}), }), })); this.manualPaymentMethods = (await fetch.apiFetch({ path: addQueryArgs.addQueryArgs(`surecart/v1/manual_payment_methods`, { customer_ids: this.customerIds, reusable: true, live_mode: (_b = this.subscription) === null || _b === void 0 ? void 0 : _b.live_mode, }), })); } async handleSubmit(e) { var _a; const { payment_method } = await e.target.getFormJson(); const isManualPaymentMethod = (this.manualPaymentMethods || []).some(method => method.id === payment_method); try { this.error = ''; this.busy = true; await fetch.apiFetch({ path: `/surecart/v1/subscriptions/${(_a = this.subscription) === null || _a === void 0 ? void 0 : _a.id}`, method: 'PATCH', data: { ...(!isManualPaymentMethod ? { payment_method, manual_payment: false } : { manual_payment_method: payment_method, manual_payment: true }), }, }); if (this.successUrl) { window.location.assign(this.successUrl); } else { this.busy = false; } } catch (e) { this.error = (e === null || e === void 0 ? void 0 : e.message) || wp.i18n.__('Something went wrong', 'surecart'); this.busy = false; } } renderLoading() { return (index.h(index.Fragment, null, index.h("sc-choice", { name: "loading", disabled: true }, index.h("sc-skeleton", { style: { width: '60px', display: 'inline-block' } }), index.h("sc-skeleton", { style: { width: '80px', display: 'inline-block' }, slot: "price" }), index.h("sc-skeleton", { style: { width: '120px', display: 'inline-block' }, slot: "description" })), index.h("sc-button", { type: "primary", full: true, submit: true, loading: true, busy: true }), !!this.backUrl && index.h("sc-button", { href: this.backUrl, full: true, loading: true, busy: true }))); } renderContent() { var _a, _b, _c, _d, _e, _f, _g, _h; if (this.loading) { return this.renderLoading(); } const modeMethods = this.paymentMethods.filter(method => { var _a; return (method === null || method === void 0 ? void 0 : method.live_mode) === ((_a = this.subscription) === null || _a === void 0 ? void 0 : _a.live_mode); }); const hasNoPaymentMethods = (!((_a = this.paymentMethods) === null || _a === void 0 ? void 0 : _a.length) && !((_b = this.manualPaymentMethods) === null || _b === void 0 ? void 0 : _b.length)) || (((_c = this.paymentMethods) === null || _c === void 0 ? void 0 : _c.length) && !(modeMethods === null || modeMethods === void 0 ? void 0 : modeMethods.length)); const currentPaymentMethodId = ((_d = this.subscription) === null || _d === void 0 ? void 0 : _d.manual_payment) ? (_e = this.subscription) === null || _e === void 0 ? void 0 : _e.manual_payment_method : ((_g = (_f = this.subscription) === null || _f === void 0 ? void 0 : _f.payment_method) === null || _g === void 0 ? void 0 : _g.id) || ((_h = this.subscription) === null || _h === void 0 ? void 0 : _h.payment_method); if (hasNoPaymentMethods) { return (index.h(index.Fragment, null, index.h("sc-empty", { icon: "credit-card" }, wp.i18n.__('You have no saved payment methods.', 'surecart')), !!this.backUrl && (index.h("sc-button", { href: this.backUrl, full: true }, wp.i18n.__('Go Back', 'surecart'))))); } return (index.h(index.Fragment, null, index.h("sc-choices", null, index.h("div", null, (this.paymentMethods || []).map(method => { var _a; if ((method === null || method === void 0 ? void 0 : method.live_mode) !== ((_a = this === null || this === void 0 ? void 0 : this.subscription) === null || _a === void 0 ? void 0 : _a.live_mode)) return null; return (index.h("sc-choice", { checked: currentPaymentMethodId === (method === null || method === void 0 ? void 0 : method.id), name: "payment_method", value: method === null || method === void 0 ? void 0 : method.id }, index.h("sc-payment-method", { paymentMethod: method, full: true }))); }), (this.manualPaymentMethods || []).map(method => { return (index.h("sc-choice", { checked: currentPaymentMethodId === (method === null || method === void 0 ? void 0 : method.id), name: "payment_method", value: method === null || method === void 0 ? void 0 : method.id }, index.h("sc-manual-payment-method", { paymentMethod: method, showDescription: true }))); }))), index.h("sc-button", { type: "primary", full: true, submit: true, loading: this.loading || this.busy, disabled: this.loading || this.busy }, wp.i18n.__('Update', 'surecart')), !!this.backUrl && (index.h("sc-button", { href: this.backUrl, full: true, loading: this.loading || this.busy, disabled: this.loading || this.busy }, wp.i18n.__('Go Back', 'surecart'))))); } render() { return (index.h("sc-dashboard-module", { heading: wp.i18n.__('Select a payment method', 'surecart'), class: "subscription-payment", error: this.error }, index.h("sc-form", { onScFormSubmit: e => this.handleSubmit(e) }, index.h("sc-card", null, this.renderContent())), this.busy && index.h("sc-block-ui", null))); } }; ScSubscriptionPayment.style = scSubscriptionPaymentCss; exports.sc_subscription_payment = ScSubscriptionPayment; //# sourceMappingURL=sc-subscription-payment.cjs.entry.js.map Maersk keeps 2025 outlook unchanged; Q1 profits beat forecast – Decisive Shipping Services LLC – Dubai

Decisive Shipping Services LLC – Dubai

Call us : +971 50 3363075

Email us : info@decisive-shipping.com

Opening time : 9am to 6pm (Sun-Thu)

Welcome to Decisive Shipping Services LLC

Maersk keeps 2025 outlook unchanged; Q1 profits beat forecast

Maersk keeps 2025 outlook unchanged; Q1 profits beat forecast

[ad_1]



Maritime Activity Reports, Inc.










Posted to Maritime Reporter




on
May 8, 2025







Shipping group A.P. Moller-Maersk reported a first-quarter operating income that was above expectations on Thursday and maintained its profit forecast for the full year.

In a press release, CEO Vincent Clerc stated that “we delivered strong results in comparison to the same quarter of last year. This was driven by the momentum in our operations efficiency and the global economy being in good shape in the first three month.”

He said that “global supply chains are again in the spotlight due to the escalating trade tensions and the increasing uncertainty.”

Maersk’s EBITDA grew 70% on an annual basis to $2.71 Billion in the first quarter of this year. Analysts in a LSEG survey had expected $2.57 Billion.

The company expects EBITDA to be between $6 billion and $ 9 billion this year. (Reporting and editing by Terje Solsvik, Jacob GronholtPedersen)

(source: Reuters)








Tags:

Marine Logistics


Marine Freight


Marine Services


North America


Europe


Western Europe

[ad_2]

Source link

Leave a Comment

Your email address will not be published. Required fields are marked *

REQUEST A QUICK QUOTE