@atomic-solutions/woocommerce-react 0.2.6 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as react from 'react';
2
2
  import react__default from 'react';
3
3
  import { WooCommerceClient } from '@atomic-solutions/woocommerce-api-client';
4
- export { Address, BillingAddress, Cart, CartHeadersAdapter, CartItem, Checkout, Product, ProductCategory, ProductImage, ProductParams, StoreApiOrder, addressSchema, checkoutSchema } from '@atomic-solutions/woocommerce-api-client';
4
+ export { Address, BillingAddress, Cart, CartHeadersAdapter, CartItem, Checkout, OrderStatus, Product, ProductCategory, ProductImage, ProductParams, StoreApiOrder, addressSchema, checkoutSchema } from '@atomic-solutions/woocommerce-api-client';
5
5
  import { Q as QueryKeys, W as WooCommerceEventHandler, S as StoreLocale, a as StoreValidationResult, R as RateLimitConfig, b as WooCommerceEventType } from './types-_8YqnkO-.cjs';
6
6
  export { C as CartCouponAppliedEvent, c as CartCouponRemovedEvent, d as CartCustomerUpdatedEvent, e as CartItemAddedEvent, f as CartItemRemovedEvent, g as CartItemUpdatedEvent, h as CartShippingSelectedEvent, i as CheckoutProcessedEvent, D as DEFAULT_STORE_CONFIG, O as OrderFetchedEvent, j as StoreConfig, k as StoreContextValue, l as StoreFeatures, m as StoreGuardrails, n as StoreTheme, o as WooCommerceEvent, p as createQueryKeys } from './types-_8YqnkO-.cjs';
7
7
  export { WooCommerceStoreContext, WooCommerceStoreProvider, WooCommerceStoreProviderProps } from './provider/index.cjs';
8
- export { A as AppliedCoupon, C as CartTotals, I as ImageSize, P as PLACEHOLDER_IMAGE_URL, a as PaymentMethod, b as ProcessedCartItem, c as ProcessedCategory, d as ProcessedProduct, e as ProcessedProductDetails, f as ProductCartState, g as ProductCategoryTreeNode, S as ShippingRate, U as UseCartViewOptions, h as UseCartViewReturn, i as UseProductViewOptions, j as UseProductViewReturn, k as UseProductsFeedOptions, l as UseProductsFeedReturn, m as getAllImageUrls, n as getImageUrl, o as getImageUrlOrPlaceholder, p as getPrimaryImage, q as getSizedImageUrl, r as preloadImage, s as preloadImages, u as useAddToCart, t as useApplyCoupon, v as useCart, w as useCartView, x as useCheckout, y as useInfiniteProducts, z as useOrder, B as useProcessCheckout, D as useProduct, E as useProductCategories, F as useProductCategoryTree, G as useProductView, H as useProducts, J as useProductsFeed, K as useRemoveCoupon, L as useRemoveFromCart, M as useSelectShippingRate, N as useStore, O as useStoreFeatures, Q as useStoreLocale, R as useStoreTheme, T as useUpdateCartItem, V as useUpdateCustomer, W as useWooCommerceClient, X as useWooCommerceQueryKeys } from './index-CaNfLsEj.cjs';
8
+ export { A as AppliedCoupon, C as CartTotals, I as ImageSize, P as PLACEHOLDER_IMAGE_URL, a as PaymentMethod, b as ProcessedCartItem, c as ProcessedCategory, d as ProcessedOrderDetails, e as ProcessedOrderLineItem, f as ProcessedProduct, g as ProcessedProductDetails, h as ProductCartState, i as ProductCategoryTreeNode, S as ShippingRate, U as UseCartViewOptions, j as UseCartViewReturn, k as UseOrderViewOptions, l as UseOrderViewReturn, m as UseProductViewOptions, n as UseProductViewReturn, o as UseProductsFeedOptions, p as UseProductsFeedReturn, q as getAllImageUrls, r as getImageUrl, s as getImageUrlOrPlaceholder, t as getOrderStatusLabel, u as getPrimaryImage, v as getSizedImageUrl, w as preloadImage, x as preloadImages, y as useAddToCart, z as useApplyCoupon, B as useCart, D as useCartView, E as useCheckout, F as useInfiniteProducts, G as useOrder, H as useOrderView, J as useProcessCheckout, K as useProduct, L as useProductCategories, M as useProductCategoryTree, N as useProductView, O as useProducts, Q as useProductsFeed, R as useRemoveCoupon, T as useRemoveFromCart, V as useSelectShippingRate, W as useStore, X as useStoreFeatures, Y as useStoreLocale, Z as useStoreTheme, _ as useUpdateCartItem, $ as useUpdateCustomer, a0 as useWooCommerceClient, a1 as useWooCommerceQueryKeys } from './index-DdY_1X-C.cjs';
9
9
  import 'react/jsx-runtime';
10
10
  import '@tanstack/react-query';
11
11
 
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  import * as react from 'react';
2
2
  import react__default from 'react';
3
3
  import { WooCommerceClient } from '@atomic-solutions/woocommerce-api-client';
4
- export { Address, BillingAddress, Cart, CartHeadersAdapter, CartItem, Checkout, Product, ProductCategory, ProductImage, ProductParams, StoreApiOrder, addressSchema, checkoutSchema } from '@atomic-solutions/woocommerce-api-client';
4
+ export { Address, BillingAddress, Cart, CartHeadersAdapter, CartItem, Checkout, OrderStatus, Product, ProductCategory, ProductImage, ProductParams, StoreApiOrder, addressSchema, checkoutSchema } from '@atomic-solutions/woocommerce-api-client';
5
5
  import { Q as QueryKeys, W as WooCommerceEventHandler, S as StoreLocale, a as StoreValidationResult, R as RateLimitConfig, b as WooCommerceEventType } from './types-_8YqnkO-.js';
6
6
  export { C as CartCouponAppliedEvent, c as CartCouponRemovedEvent, d as CartCustomerUpdatedEvent, e as CartItemAddedEvent, f as CartItemRemovedEvent, g as CartItemUpdatedEvent, h as CartShippingSelectedEvent, i as CheckoutProcessedEvent, D as DEFAULT_STORE_CONFIG, O as OrderFetchedEvent, j as StoreConfig, k as StoreContextValue, l as StoreFeatures, m as StoreGuardrails, n as StoreTheme, o as WooCommerceEvent, p as createQueryKeys } from './types-_8YqnkO-.js';
7
7
  export { WooCommerceStoreContext, WooCommerceStoreProvider, WooCommerceStoreProviderProps } from './provider/index.js';
8
- export { A as AppliedCoupon, C as CartTotals, I as ImageSize, P as PLACEHOLDER_IMAGE_URL, a as PaymentMethod, b as ProcessedCartItem, c as ProcessedCategory, d as ProcessedProduct, e as ProcessedProductDetails, f as ProductCartState, g as ProductCategoryTreeNode, S as ShippingRate, U as UseCartViewOptions, h as UseCartViewReturn, i as UseProductViewOptions, j as UseProductViewReturn, k as UseProductsFeedOptions, l as UseProductsFeedReturn, m as getAllImageUrls, n as getImageUrl, o as getImageUrlOrPlaceholder, p as getPrimaryImage, q as getSizedImageUrl, r as preloadImage, s as preloadImages, u as useAddToCart, t as useApplyCoupon, v as useCart, w as useCartView, x as useCheckout, y as useInfiniteProducts, z as useOrder, B as useProcessCheckout, D as useProduct, E as useProductCategories, F as useProductCategoryTree, G as useProductView, H as useProducts, J as useProductsFeed, K as useRemoveCoupon, L as useRemoveFromCart, M as useSelectShippingRate, N as useStore, O as useStoreFeatures, Q as useStoreLocale, R as useStoreTheme, T as useUpdateCartItem, V as useUpdateCustomer, W as useWooCommerceClient, X as useWooCommerceQueryKeys } from './index-BWIYt7TO.js';
8
+ export { A as AppliedCoupon, C as CartTotals, I as ImageSize, P as PLACEHOLDER_IMAGE_URL, a as PaymentMethod, b as ProcessedCartItem, c as ProcessedCategory, d as ProcessedOrderDetails, e as ProcessedOrderLineItem, f as ProcessedProduct, g as ProcessedProductDetails, h as ProductCartState, i as ProductCategoryTreeNode, S as ShippingRate, U as UseCartViewOptions, j as UseCartViewReturn, k as UseOrderViewOptions, l as UseOrderViewReturn, m as UseProductViewOptions, n as UseProductViewReturn, o as UseProductsFeedOptions, p as UseProductsFeedReturn, q as getAllImageUrls, r as getImageUrl, s as getImageUrlOrPlaceholder, t as getOrderStatusLabel, u as getPrimaryImage, v as getSizedImageUrl, w as preloadImage, x as preloadImages, y as useAddToCart, z as useApplyCoupon, B as useCart, D as useCartView, E as useCheckout, F as useInfiniteProducts, G as useOrder, H as useOrderView, J as useProcessCheckout, K as useProduct, L as useProductCategories, M as useProductCategoryTree, N as useProductView, O as useProducts, Q as useProductsFeed, R as useRemoveCoupon, T as useRemoveFromCart, V as useSelectShippingRate, W as useStore, X as useStoreFeatures, Y as useStoreLocale, Z as useStoreTheme, _ as useUpdateCartItem, $ as useUpdateCustomer, a0 as useWooCommerceClient, a1 as useWooCommerceQueryKeys } from './index-unbfwba0.js';
9
9
  import 'react/jsx-runtime';
10
10
  import '@tanstack/react-query';
11
11
 
package/dist/index.js CHANGED
@@ -1645,6 +1645,54 @@ function useCartView(options = {}) {
1645
1645
  isBusy
1646
1646
  };
1647
1647
  }
1648
+ var ORDER_STATUS_LABELS = {
1649
+ pending: "Pending Payment",
1650
+ processing: "Processing",
1651
+ "on-hold": "On Hold",
1652
+ completed: "Completed",
1653
+ cancelled: "Cancelled",
1654
+ refunded: "Refunded",
1655
+ failed: "Failed"
1656
+ };
1657
+ function getOrderStatusLabel(status) {
1658
+ return ORDER_STATUS_LABELS[status] ?? status.replace(/[_-]/g, " ").replace(/\b\w/g, (c) => c.toUpperCase());
1659
+ }
1660
+ function useOrderView(input, options = {}) {
1661
+ const storeContext = useContext(WooCommerceStoreContext);
1662
+ const storeConfig = storeContext?.config;
1663
+ const localeTag = options.localeTag ?? storeConfig?.locale?.localeTag ?? DEFAULT_STORE_CONFIG.locale.localeTag;
1664
+ const { data: rawOrder, isLoading, error } = useOrder(input);
1665
+ const order = useMemo(() => {
1666
+ if (!rawOrder) return void 0;
1667
+ const currencyCode = rawOrder.totals.currency_code ?? "USD";
1668
+ const lineItems = rawOrder.items.map((item) => ({
1669
+ id: item.id,
1670
+ name: item.name,
1671
+ quantity: item.quantity,
1672
+ price: formatStoreApiPriceIntl(item.prices.price, currencyCode, localeTag),
1673
+ total: formatStoreApiPriceIntl(item.totals.line_total, currencyCode, localeTag),
1674
+ imageUrl: item.images?.[0]?.src
1675
+ }));
1676
+ const status = rawOrder.status;
1677
+ return {
1678
+ id: rawOrder.id,
1679
+ number: String(rawOrder.id),
1680
+ status,
1681
+ statusLabel: getOrderStatusLabel(status),
1682
+ total: formatStoreApiPriceIntl(rawOrder.totals.total_price, currencyCode, localeTag),
1683
+ itemCount: lineItems.reduce((sum, item) => sum + item.quantity, 0),
1684
+ lineItems,
1685
+ needsPayment: rawOrder.needs_payment,
1686
+ paymentMethod: rawOrder.payment_method ?? "",
1687
+ raw: rawOrder
1688
+ };
1689
+ }, [rawOrder, localeTag]);
1690
+ return {
1691
+ order,
1692
+ isLoading,
1693
+ error
1694
+ };
1695
+ }
1648
1696
 
1649
1697
  // src/events/composeHandlers.ts
1650
1698
  function composeHandlers(...handlers) {
@@ -1713,6 +1761,6 @@ function createAnalyticsHandler(provider) {
1713
1761
  };
1714
1762
  }
1715
1763
 
1716
- export { DEFAULT_STORE_CONFIG, PLACEHOLDER_IMAGE_URL, RateLimiter, WooCommerceContext, WooCommerceProvider, WooCommerceStoreContext, WooCommerceStoreProvider, calculateDiscount, composeHandlers, configureGlobalRateLimiter, createAnalyticsHandler, createQueryKeys, formatDiscountBadge, formatPrice, formatPriceRange, formatStoreApiPrice, formatStoreApiPriceIntl, getAllImageUrls, getBaseUrl, getCurrencySymbol, getGlobalRateLimiter, getImageUrl, getImageUrlOrPlaceholder, getMaxAddToCartQuantity, getPrimaryImage, getSizedImageUrl, getStockSeverity, getStockStatusText, isLowStock, isPurchasable, isValidStoreUrlFormat, normalizeStoreUrl, parseWooCommercePrice, preloadImage, preloadImages, resetGlobalRateLimiter, useAddToCart, useApplyCoupon, useCart, useCartView, useCheckout, useInfiniteProducts, useOrder, useProcessCheckout, useProduct, useProductCategories, useProductCategoryTree, useProductView, useProducts, useProductsFeed, useRemoveCoupon, useRemoveFromCart, useSelectShippingRate, useStore, useStoreFeatures, useStoreLocale, useStoreTheme, useUpdateCartItem, useUpdateCustomer, useWooCommerceClient, useWooCommerceQueryKeys, validateWooCommerceStore };
1764
+ export { DEFAULT_STORE_CONFIG, PLACEHOLDER_IMAGE_URL, RateLimiter, WooCommerceContext, WooCommerceProvider, WooCommerceStoreContext, WooCommerceStoreProvider, calculateDiscount, composeHandlers, configureGlobalRateLimiter, createAnalyticsHandler, createQueryKeys, formatDiscountBadge, formatPrice, formatPriceRange, formatStoreApiPrice, formatStoreApiPriceIntl, getAllImageUrls, getBaseUrl, getCurrencySymbol, getGlobalRateLimiter, getImageUrl, getImageUrlOrPlaceholder, getMaxAddToCartQuantity, getOrderStatusLabel, getPrimaryImage, getSizedImageUrl, getStockSeverity, getStockStatusText, isLowStock, isPurchasable, isValidStoreUrlFormat, normalizeStoreUrl, parseWooCommercePrice, preloadImage, preloadImages, resetGlobalRateLimiter, useAddToCart, useApplyCoupon, useCart, useCartView, useCheckout, useInfiniteProducts, useOrder, useOrderView, useProcessCheckout, useProduct, useProductCategories, useProductCategoryTree, useProductView, useProducts, useProductsFeed, useRemoveCoupon, useRemoveFromCart, useSelectShippingRate, useStore, useStoreFeatures, useStoreLocale, useStoreTheme, useUpdateCartItem, useUpdateCustomer, useWooCommerceClient, useWooCommerceQueryKeys, validateWooCommerceStore };
1717
1765
  //# sourceMappingURL=index.js.map
1718
1766
  //# sourceMappingURL=index.js.map