@commercengine/checkout 0.3.0 → 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/vue.d.mts +8 -8
- package/dist/vue.d.mts.map +1 -1
- package/dist/vue.mjs.map +1 -1
- package/package.json +3 -3
package/dist/vue.d.mts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { a as destroyCheckout, c as subscribeToCheckout, i as checkoutStore, n as CheckoutState, o as getCheckout, r as CheckoutStore, s as initCheckout, t as CheckoutActions } from "./store.mjs";
|
|
2
2
|
import { AddToCartItem, AuthLoginData, AuthLogoutData, AuthMode, AuthTokensUpdatedData, CartData, Channel, CheckoutConfig, CheckoutEventType, CheckoutFeatures, DrawerDirection, DrawerDirectionConfig, Environment, ErrorData, LoginMethod, OrderData, QuickBuyConfig, SessionMode, UserInfo, UserInfo as UserInfo$1 } from "@commercengine/js";
|
|
3
|
-
import {
|
|
3
|
+
import { Ref } from "vue";
|
|
4
4
|
|
|
5
5
|
//#region src/vue.d.ts
|
|
6
6
|
/**
|
|
@@ -8,19 +8,19 @@ import { DeepReadonly, Ref } from "vue";
|
|
|
8
8
|
*/
|
|
9
9
|
interface UseCheckoutReturn {
|
|
10
10
|
/** Whether checkout is ready to use (reactive) */
|
|
11
|
-
isReady:
|
|
11
|
+
isReady: Readonly<Ref<boolean>>;
|
|
12
12
|
/** Whether checkout overlay is currently open (reactive) */
|
|
13
|
-
isOpen:
|
|
13
|
+
isOpen: Readonly<Ref<boolean>>;
|
|
14
14
|
/** Number of items in cart (reactive) */
|
|
15
|
-
cartCount:
|
|
15
|
+
cartCount: Readonly<Ref<number>>;
|
|
16
16
|
/** Cart subtotal amount (reactive) */
|
|
17
|
-
cartTotal:
|
|
17
|
+
cartTotal: Readonly<Ref<number>>;
|
|
18
18
|
/** Cart currency code (reactive) */
|
|
19
|
-
cartCurrency:
|
|
19
|
+
cartCurrency: Readonly<Ref<string>>;
|
|
20
20
|
/** Whether user is logged in (reactive) */
|
|
21
|
-
isLoggedIn:
|
|
21
|
+
isLoggedIn: Readonly<Ref<boolean>>;
|
|
22
22
|
/** Current user info (reactive, null if not logged in) */
|
|
23
|
-
user:
|
|
23
|
+
user: Readonly<Ref<UserInfo$1 | null>>;
|
|
24
24
|
/** Open the cart drawer */
|
|
25
25
|
openCart: () => void;
|
|
26
26
|
/** Open the checkout drawer directly */
|
package/dist/vue.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue.d.mts","names":[],"sources":["../src/vue.ts"],"mappings":";;;;;;;;UA8EiB,iBAAA;EAYf;EAVA,OAAA,EAAS,
|
|
1
|
+
{"version":3,"file":"vue.d.mts","names":[],"sources":["../src/vue.ts"],"mappings":";;;;;;;;UA8EiB,iBAAA;EAYf;EAVA,OAAA,EAAS,QAAA,CAAS,GAAA;EAUG;EARrB,MAAA,EAAQ,QAAA,CAAS,GAAA;EAUX;EARN,SAAA,EAAW,QAAA,CAAS,GAAA;EAQD;EANnB,SAAA,EAAW,QAAA,CAAS,GAAA;EAUpB;EARA,YAAA,EAAc,QAAA,CAAS,GAAA;EAYvB;EAVA,UAAA,EAAY,QAAA,CAAS,GAAA;EAUU;EAR/B,IAAA,EAAM,QAAA,CAAS,GAAA,CAAI,UAAA;EAUnB;EARA,QAAA;EAQoC;EANpC,YAAA;EAMyD;EAJzD,KAAA;EAkCyB;EAhCzB,SAAA,GAAY,SAAA,UAAmB,SAAA,iBAA0B,QAAA;EAgC5B;EA9B7B,YAAA,GAAe,WAAA,UAAqB,YAAA;AAAA;;;;;;;;;;;;;;;;;;;;;;;;iBA8BtB,WAAA,CAAA,GAAe,iBAAA"}
|
package/dist/vue.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"vue.mjs","names":[],"sources":["../src/vue.ts"],"sourcesContent":["/**\n * Commerce Engine Checkout - Vue Binding\n *\n * Vue composable for checkout integration with automatic reactivity.\n *\n * @example\n * ```vue\n * <script setup>\n * import { useCheckout, initCheckout } from \"@commercengine/checkout/vue\";\n * import { onMounted, onUnmounted } from \"vue\";\n *\n * // Initialize once at app root (App.vue or plugin)\n * onMounted(() => {\n * initCheckout({\n * storeId: \"store_xxx\",\n * apiKey: \"ak_xxx\",\n * });\n * });\n *\n * // Use anywhere\n * const { cartCount, openCart, isReady } = useCheckout();\n * </script>\n *\n * <template>\n * <button @click=\"openCart\" :disabled=\"!isReady\">\n * Cart ({{ cartCount }})\n * </button>\n * </template>\n * ```\n *\n * @packageDocumentation\n */\n\nimport type { UserInfo } from \"@commercengine/js\";\nimport {
|
|
1
|
+
{"version":3,"file":"vue.mjs","names":[],"sources":["../src/vue.ts"],"sourcesContent":["/**\n * Commerce Engine Checkout - Vue Binding\n *\n * Vue composable for checkout integration with automatic reactivity.\n *\n * @example\n * ```vue\n * <script setup>\n * import { useCheckout, initCheckout } from \"@commercengine/checkout/vue\";\n * import { onMounted, onUnmounted } from \"vue\";\n *\n * // Initialize once at app root (App.vue or plugin)\n * onMounted(() => {\n * initCheckout({\n * storeId: \"store_xxx\",\n * apiKey: \"ak_xxx\",\n * });\n * });\n *\n * // Use anywhere\n * const { cartCount, openCart, isReady } = useCheckout();\n * </script>\n *\n * <template>\n * <button @click=\"openCart\" :disabled=\"!isReady\">\n * Cart ({{ cartCount }})\n * </button>\n * </template>\n * ```\n *\n * @packageDocumentation\n */\n\nimport type { UserInfo } from \"@commercengine/js\";\nimport { onUnmounted, type Ref, readonly, ref } from \"vue\";\nimport { checkoutStore } from \"./store\";\n\n// Re-export types from @commercengine/js\nexport type {\n AddToCartItem,\n AuthLoginData,\n AuthLogoutData,\n AuthMode,\n AuthTokensUpdatedData,\n CartData,\n Channel,\n CheckoutConfig,\n CheckoutEventType,\n CheckoutFeatures,\n DrawerDirection,\n DrawerDirectionConfig,\n Environment,\n ErrorData,\n LoginMethod,\n OrderData,\n QuickBuyConfig,\n SessionMode,\n UserInfo,\n} from \"@commercengine/js\";\n// Re-export everything from vanilla for convenience\nexport {\n type CheckoutActions,\n type CheckoutState,\n type CheckoutStore,\n checkoutStore,\n destroyCheckout,\n getCheckout,\n initCheckout,\n subscribeToCheckout,\n} from \"./store\";\n\n// =============================================================================\n// TYPES\n// =============================================================================\n\n/**\n * Return type from useCheckout composable\n */\nexport interface UseCheckoutReturn {\n /** Whether checkout is ready to use (reactive) */\n isReady: Readonly<Ref<boolean>>;\n /** Whether checkout overlay is currently open (reactive) */\n isOpen: Readonly<Ref<boolean>>;\n /** Number of items in cart (reactive) */\n cartCount: Readonly<Ref<number>>;\n /** Cart subtotal amount (reactive) */\n cartTotal: Readonly<Ref<number>>;\n /** Cart currency code (reactive) */\n cartCurrency: Readonly<Ref<string>>;\n /** Whether user is logged in (reactive) */\n isLoggedIn: Readonly<Ref<boolean>>;\n /** Current user info (reactive, null if not logged in) */\n user: Readonly<Ref<UserInfo | null>>;\n /** Open the cart drawer */\n openCart: () => void;\n /** Open the checkout drawer directly */\n openCheckout: () => void;\n /** Close the checkout overlay */\n close: () => void;\n /** Add item to cart */\n addToCart: (productId: string, variantId: string | null, quantity?: number) => void;\n /** Update authentication tokens */\n updateTokens: (accessToken: string, refreshToken?: string) => void;\n}\n\n// =============================================================================\n// COMPOSABLE\n// =============================================================================\n\n/**\n * Vue composable for checkout integration\n *\n * Provides reactive access to checkout state and methods.\n * No provider required - works anywhere in your component tree.\n *\n * @returns Checkout state (reactive refs) and methods\n *\n * @example Basic usage\n * ```vue\n * <script setup>\n * import { useCheckout } from \"@commercengine/checkout/vue\";\n *\n * const { cartCount, openCart, isReady } = useCheckout();\n * </script>\n *\n * <template>\n * <button @click=\"openCart\" :disabled=\"!isReady\">\n * Cart ({{ cartCount }})\n * </button>\n * </template>\n * ```\n */\nexport function useCheckout(): UseCheckoutReturn {\n // Create reactive refs for state\n const initialState = checkoutStore.getState();\n\n const isReady = ref(initialState.isReady);\n const isOpen = ref(initialState.isOpen);\n const cartCount = ref(initialState.cartCount);\n const cartTotal = ref(initialState.cartTotal);\n const cartCurrency = ref(initialState.cartCurrency);\n const isLoggedIn = ref(initialState.isLoggedIn);\n const user = ref(initialState.user);\n\n // Subscribe to store changes and update refs\n const unsubscribe = checkoutStore.subscribe((state) => {\n isReady.value = state.isReady;\n isOpen.value = state.isOpen;\n cartCount.value = state.cartCount;\n cartTotal.value = state.cartTotal;\n cartCurrency.value = state.cartCurrency;\n isLoggedIn.value = state.isLoggedIn;\n user.value = state.user;\n });\n\n // Cleanup subscription on unmount\n onUnmounted(() => {\n unsubscribe();\n });\n\n return {\n // Reactive state (readonly to prevent direct mutation)\n isReady: readonly(isReady),\n isOpen: readonly(isOpen),\n cartCount: readonly(cartCount),\n cartTotal: readonly(cartTotal),\n cartCurrency: readonly(cartCurrency),\n isLoggedIn: readonly(isLoggedIn),\n user: readonly(user),\n // Actions\n openCart: () => checkoutStore.getState().openCart(),\n openCheckout: () => checkoutStore.getState().openCheckout(),\n close: () => checkoutStore.getState().close(),\n addToCart: (productId, variantId, quantity) =>\n checkoutStore.getState().addToCart(productId, variantId, quantity),\n updateTokens: (accessToken, refreshToken) =>\n checkoutStore.getState().updateTokens(accessToken, refreshToken),\n };\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAoIA,SAAgB,cAAiC;CAE/C,MAAM,eAAe,cAAc,UAAU;CAE7C,MAAM,UAAU,IAAI,aAAa,QAAQ;CACzC,MAAM,SAAS,IAAI,aAAa,OAAO;CACvC,MAAM,YAAY,IAAI,aAAa,UAAU;CAC7C,MAAM,YAAY,IAAI,aAAa,UAAU;CAC7C,MAAM,eAAe,IAAI,aAAa,aAAa;CACnD,MAAM,aAAa,IAAI,aAAa,WAAW;CAC/C,MAAM,OAAO,IAAI,aAAa,KAAK;CAGnC,MAAM,cAAc,cAAc,WAAW,UAAU;AACrD,UAAQ,QAAQ,MAAM;AACtB,SAAO,QAAQ,MAAM;AACrB,YAAU,QAAQ,MAAM;AACxB,YAAU,QAAQ,MAAM;AACxB,eAAa,QAAQ,MAAM;AAC3B,aAAW,QAAQ,MAAM;AACzB,OAAK,QAAQ,MAAM;GACnB;AAGF,mBAAkB;AAChB,eAAa;GACb;AAEF,QAAO;EAEL,SAAS,SAAS,QAAQ;EAC1B,QAAQ,SAAS,OAAO;EACxB,WAAW,SAAS,UAAU;EAC9B,WAAW,SAAS,UAAU;EAC9B,cAAc,SAAS,aAAa;EACpC,YAAY,SAAS,WAAW;EAChC,MAAM,SAAS,KAAK;EAEpB,gBAAgB,cAAc,UAAU,CAAC,UAAU;EACnD,oBAAoB,cAAc,UAAU,CAAC,cAAc;EAC3D,aAAa,cAAc,UAAU,CAAC,OAAO;EAC7C,YAAY,WAAW,WAAW,aAChC,cAAc,UAAU,CAAC,UAAU,WAAW,WAAW,SAAS;EACpE,eAAe,aAAa,iBAC1B,cAAc,UAAU,CAAC,aAAa,aAAa,aAAa;EACnE"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@commercengine/checkout",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Universal checkout SDK for Commerce Engine - works with React, Vue, Svelte, Solid, and vanilla JS",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"module": "dist/index.mjs",
|
|
@@ -35,7 +35,7 @@
|
|
|
35
35
|
],
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"zustand": "^5.0.11",
|
|
38
|
-
"@commercengine/js": "0.5.
|
|
38
|
+
"@commercengine/js": "0.5.1"
|
|
39
39
|
},
|
|
40
40
|
"peerDependencies": {
|
|
41
41
|
"react": ">=18.0.0",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
}
|
|
59
59
|
},
|
|
60
60
|
"devDependencies": {
|
|
61
|
-
"tsdown": "
|
|
61
|
+
"tsdown": "0.21.0-beta.2",
|
|
62
62
|
"typescript": "^5.9.3"
|
|
63
63
|
},
|
|
64
64
|
"keywords": [
|