@mframework/layer-commerce 0.0.7 → 0.0.8
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/app/components/catalog/product/ProductAccordion/ProductAccordion.vue +41 -0
- package/app/components/catalog/product/ProductAccordion/__tests__/ProductAccordion.spec.ts +15 -0
- package/app/components/catalog/product/ProductAccordion/types.ts +5 -0
- package/app/components/catalog/product/ProductProperties/ProductProperties.vue +52 -0
- package/app/components/catalog/product/ProductProperties/__tests__/ProductProperties.spec.ts +15 -0
- package/app/components/catalog/product/ProductProperties/types.ts +5 -0
- package/app/components/catalog/product/ProductSlider/ProductSlider.vue +28 -0
- package/app/components/catalog/product/ProductSlider/__tests__/ProductSlider.spec.ts +14 -0
- package/app/components/catalog/product/ProductSlider/types.ts +7 -0
- package/app/components/catalog/product/RecommendedProducts/RecommendedProducts.vue +12 -0
- package/app/components/catalog/product/RecommendedProducts/types.ts +5 -0
- package/app/components/catalog/product/RenderContentProductSlider/RenderContentProductSlider.vue +11 -0
- package/app/components/catalog/product/add-attribute.vue +54 -0
- package/app/components/catalog/product/add-product-type.vue +54 -0
- package/app/components/catalog/product/add-product.vue +53 -0
- package/app/components/catalog/product/add-showcase.vue +52 -0
- package/app/components/catalog/product/add-station.vue +54 -0
- package/app/components/catalog/product/bestsellers.vue +69 -0
- package/app/components/catalog/product/bidding.vue +93 -0
- package/app/components/catalog/product/colorOptions.vue +58 -0
- package/app/components/catalog/product/deals.vue +61 -0
- package/app/components/catalog/product/exclusives.vue +58 -0
- package/app/components/catalog/product/featuredproducts.vue +69 -0
- package/app/components/catalog/product/giftCard.vue +63 -0
- package/app/components/catalog/product/latestproducts.vue +58 -0
- package/app/components/catalog/product/productCard.vue +71 -0
- package/app/components/catalog/product/productCompare.vue +60 -0
- package/app/components/catalog/product/productCompareTable.vue +441 -0
- package/app/components/catalog/product/productDetails.vue +120 -0
- package/app/components/catalog/product/productFaqs.vue +17 -0
- package/app/components/catalog/product/productGallery.vue +16 -0
- package/app/components/catalog/product/productQty.vue +54 -0
- package/app/components/catalog/product/productReviews.vue +56 -0
- package/app/components/catalog/product/productSpecs.vue +116 -0
- package/app/components/catalog/product/radiostation.vue +36 -0
- package/app/components/catalog/product/recentlyviewed.vue +43 -0
- package/app/components/catalog/product/relatedbrands.vue +54 -0
- package/app/components/catalog/product/relatedproducts.vue +58 -0
- package/app/components/catalog/product/relatedstations.vue +40 -0
- package/app/components/catalog/product/shippingOptions.vue +41 -0
- package/app/components/catalog/product/sizeOptions.vue +47 -0
- package/app/components/catalog/product/update-attribute-set.vue +209 -0
- package/app/components/catalog/product/update-attribute.vue +118 -0
- package/app/components/catalog/product/update-product.vue +372 -0
- package/app/components/catalog/product/update-showcase.vue +153 -0
- package/app/components/catalog/shops/relatedstores.vue +52 -0
- package/app/components/catalog/shops/restaurant.vue +66 -0
- package/app/components/catalog/shops/stores.vue +44 -0
- package/app/components/catalog/vendor/README.md +3 -0
- package/app/components/catalog/vendor/blocks/biggestcustomers.vue +33 -0
- package/app/components/catalog/vendor/blocks/lowestselling.vue +33 -0
- package/app/components/catalog/vendor/blocks/topcategories.vue +33 -0
- package/app/components/catalog/vendor/blocks/topproducts.vue +27 -0
- package/app/components/catalog/vendor/pages/attributes.vue +43 -0
- package/app/components/catalog/vendor/pages/commissions.vue +43 -0
- package/app/components/catalog/vendor/pages/crm.vue +67 -0
- package/app/components/catalog/vendor/pages/dashboard.vue +46 -0
- package/app/components/catalog/vendor/pages/emails.vue +43 -0
- package/app/components/catalog/vendor/pages/enquiries.vue +43 -0
- package/app/components/catalog/vendor/pages/invoices.vue +43 -0
- package/app/components/catalog/vendor/pages/orders.vue +68 -0
- package/app/components/catalog/vendor/pages/products.vue +55 -0
- package/app/components/catalog/vendor/pages/reviews.vue +48 -0
- package/app/components/catalog/vendor/pages/shipments.vue +43 -0
- package/app/components/catalog/vendor/pages/stores.vue +43 -0
- package/app/components/content/blocks/breadcrumbs.vue +0 -0
- package/app/components/content/blocks/currencySwitcher.vue +0 -0
- package/app/components/content/blocks/languageSwitcher.vue +0 -0
- package/app/components/content/blocks/videoproduct.vue +9 -0
- package/app/components/content/pages/checkout.vue +118 -0
- package/app/components/content/pages/meeoviGlobal.vue +68 -0
- package/app/components/content/pages/pickup-locations.vue +238 -0
- package/app/components/content/pages/showcases.vue +90 -0
- package/app/components/content/pages/success.vue +60 -0
- package/app/components/marketing/add-brand.vue +54 -0
- package/app/components/marketing/add-incentive.vue +54 -0
- package/app/components/marketing/promotions/giftcards.vue +127 -0
- package/app/components/marketing/promotions/subscriptions.vue +134 -0
- package/app/components/marketing/update-incentive.vue +326 -0
- package/app/components/menus/lowernav.vue +78 -0
- package/app/components/partials/LocaleSelector.vue +24 -0
- package/app/components/partials/ShoppingCart.vue +128 -0
- package/app/components/partials/StripePayment.vue +149 -0
- package/app/components/partials/addToCartBtn.vue +40 -0
- package/app/components/partials/cartItem.vue +124 -0
- package/app/components/partials/checkoutButton.vue +44 -0
- package/app/components/partials/compareBtn.vue +68 -0
- package/app/components/partials/ratings.vue +13 -0
- package/app/components/partials/store/CurrencySelector.vue +133 -0
- package/app/components/partials/store/StoreSwitcher.vue +13 -0
- package/app/components/related/brandCard.vue +41 -0
- package/app/components/related/incentiveCard.vue +44 -0
- package/app/components/related/invoiceCard.vue +43 -0
- package/app/components/related/orderCard.vue +43 -0
- package/app/components/related/relatedproducts.vue +17 -0
- package/app/components/sales/CartPageContent/CartPageContent.vue +43 -0
- package/app/components/sales/CheckoutAddress/CheckoutAddress.vue +50 -0
- package/app/components/sales/CheckoutAddress/__tests__/CheckoutAddress.spec.ts +16 -0
- package/app/components/sales/CheckoutAddress/types.ts +16 -0
- package/app/components/sales/CheckoutPayment/CheckoutPayment.vue +65 -0
- package/app/components/sales/CheckoutPayment/__tests__/CheckoutPayment.spec.ts +14 -0
- package/app/components/sales/CheckoutPayment/types.ts +12 -0
- package/app/components/sales/OrderSummary/OrderSummary.vue +57 -0
- package/app/components/sales/OrderSummary/__tests__/ContactInformation.spec.ts +52 -0
- package/app/components/sales/OrderSummary/types.ts +5 -0
- package/app/components/sales/incentives.vue +247 -0
- package/app/components/sales/invoices.vue +107 -0
- package/app/components/sales/orders.vue +378 -0
- package/app/components/sales/shipments.vue +65 -0
- package/app/components/sales/transactions.vue +109 -0
- package/app/components/shop/add-shop.vue +54 -0
- package/app/components/shop/cart/cartItem.vue +182 -0
- package/app/components/shop/cart/checkout.vue +415 -0
- package/app/components/shop/checkout/StripeCardElement.vue +206 -0
- package/app/components/shop/checkout/StripeCheckout.vue +49 -0
- package/app/components/shop/checkout/addressBilling.vue +263 -0
- package/app/components/shop/checkout/addressShipping.vue +175 -0
- package/app/components/shop/checkout/cart/ProductItem.vue +56 -0
- package/app/components/shop/checkout/cart/PromotionItem.vue +53 -0
- package/app/stores/cart.ts +1 -1
- package/app/types/Direction.type.ts +1 -1
- package/app/types/Global.type.ts +6 -6
- package/app/types/Layout.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/Cart.query.ts +1 -1
- package/app/{normalizers → types/normalizers}/Cart.type.ts +2 -2
- package/app/{normalizers → types/normalizers}/Checkout.query.ts +2 -2
- package/app/{normalizers → types/normalizers}/Config.query.ts +1 -1
- package/app/{normalizers → types/normalizers}/Config.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/ContactForm.query.ts +2 -2
- package/app/{normalizers → types/normalizers}/CreditMemo.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/GiftCard.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/Invoice.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/MyAccount.query.ts +1 -1
- package/app/{normalizers → types/normalizers}/MyAccount.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/NewsletterSubscription.query.ts +1 -1
- package/app/{normalizers → types/normalizers}/Order.query.ts +1 -1
- package/app/{normalizers → types/normalizers}/Order.type.ts +2 -2
- package/app/{normalizers → types/normalizers}/Payment.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/ProductCompare.query.ts +1 -1
- package/app/{normalizers → types/normalizers}/ProductCompare.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/ProductList.query.ts +2 -2
- package/app/{normalizers → types/normalizers}/ProductList.type.ts +2 -2
- package/app/{normalizers → types/normalizers}/Return.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/Review.query.ts +1 -1
- package/app/{normalizers → types/normalizers}/Review.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/StoreInPickUp.query.ts +1 -1
- package/app/{normalizers → types/normalizers}/Subscription.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/Transaction.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/UrlRewrites.query.ts +1 -1
- package/app/{normalizers → types/normalizers}/UrlRewrites.type.ts +1 -1
- package/app/{normalizers → types/normalizers}/Wishlist.query.ts +4 -4
- package/app/{normalizers → types/normalizers}/Wishlist.type.ts +1 -1
- package/app/utils/Address/Address.type.ts +1 -1
- package/app/utils/Address/index.ts +5 -5
- package/app/utils/Cart/Cart.ts +1 -1
- package/app/utils/Currency/Currency.ts +1 -1
- package/app/utils/History/History.type.ts +1 -1
- package/app/utils/Menu/Menu.ts +1 -1
- package/app/utils/Menu/Menu.type.ts +2 -2
- package/app/utils/Orders/Orders.ts +1 -1
- package/app/utils/Preload/CategoryPreload.ts +2 -2
- package/app/utils/Preload/ProductPreload.ts +1 -1
- package/app/utils/Preload/index.ts +1 -1
- package/app/utils/Price/Price.ts +1 -1
- package/app/utils/Product/Extract.ts +1 -1
- package/app/utils/Product/Product.ts +1 -1
- package/app/utils/Product/Product.type.ts +1 -1
- package/app/utils/Product/Transform.ts +1 -1
- package/app/utils/Wishlist/Wishlist.ts +1 -1
- package/app/utils/client.ts +19 -19
- package/package.json +1 -2
- package/tsconfig.json +2 -2
- package/app/cart/useCart.ts +0 -1
- /package/app/{components → composables}/ChevronIcon/ChevronIcon.config.ts +0 -0
- /package/app/{components → composables}/DateSelect/DateSelect.config.ts +0 -0
- /package/app/{components → composables}/Field/Field.config.ts +0 -0
- /package/app/{components → composables}/FieldDate/FieldDate.config.ts +0 -0
- /package/app/{components → composables}/Form/Form.type.ts +0 -0
- /package/app/{components → composables}/Product/Product.config.ts +0 -0
- /package/app/{components → composables}/Product/Stock.config.ts +0 -0
- /package/app/{components → composables}/ProductCustomizableOption/ProductCustomizableOption.config.ts +0 -0
- /package/app/{components → composables}/ProductGallery/ProductGallery.config.ts +0 -0
- /package/app/{components → composables}/ProductReviews/ProductReviews.config.ts +0 -0
- /package/app/{normalizers → types/normalizers}/Category.query.ts +0 -0
- /package/app/{normalizers → types/normalizers}/Category.type.ts +0 -0
- /package/app/{normalizers → types/normalizers}/CheckEmail.query.ts +0 -0
- /package/app/{normalizers → types/normalizers}/Checkout.type.ts +0 -0
- /package/app/{normalizers → types/normalizers}/CmsBlock.query.ts +0 -0
- /package/app/{normalizers → types/normalizers}/CmsBlock.type.ts +0 -0
- /package/app/{normalizers → types/normalizers}/CmsPage.query.ts +0 -0
- /package/app/{normalizers → types/normalizers}/CmsPage.type.ts +0 -0
- /package/app/{normalizers → types/normalizers}/Menu.query.ts +0 -0
- /package/app/{normalizers → types/normalizers}/Menu.type.ts +0 -0
- /package/app/{normalizers → types/normalizers}/ProductAlerts.query.ts +0 -0
- /package/app/{normalizers → types/normalizers}/Region.query.ts +0 -0
- /package/app/{normalizers → types/normalizers}/Region.type.ts +0 -0
- /package/app/{normalizers → types/normalizers}/Slider.query.ts +0 -0
- /package/app/{normalizers → types/normalizers}/Slider.type.ts +0 -0
- /package/app/{normalizers → types/normalizers}/StoreInPickUp.type.ts +0 -0
- /package/app/{routes → types/routes}/CategoryPage/CategoryPage.config.ts +0 -0
- /package/app/{routes → types/routes}/CategoryPage/CategoryPage.type.ts +0 -0
- /package/app/{routes → types/routes}/Checkout/Checkout.config.ts +0 -0
- /package/app/{routes → types/routes}/Checkout/Checkout.type.ts +0 -0
- /package/app/{routes → types/routes}/MyAccount/MyAccount.config.ts +0 -0
- /package/app/{routes → types/routes}/SearchPage/SearchPage.config.ts +0 -0
- /package/app/{routes → types/routes}/UrlRewrites/UrlRewrites.config.ts +0 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { ref, computed, watch } from 'vue';
|
|
3
|
+
import { useVendureMutation } from '../../../composables/useVendureMutation';
|
|
4
|
+
import adjustOrderLineMutation from '#graphql/app/commerce/mutations/adjustOrderLine.gql';
|
|
5
|
+
import removeOrderLineMutation from '#graphql/app/commerce/mutations/removeOrderLine.gql';
|
|
6
|
+
|
|
7
|
+
const props = defineProps({
|
|
8
|
+
cartItem: { type: Object, required: true },
|
|
9
|
+
maxQty: { type: Number, default: 100 },
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
const { mutate: adjustOrderLine } = useVendureMutation(adjustOrderLineMutation);
|
|
13
|
+
const { mutate: removeOrderLine } = useVendureMutation(removeOrderLineMutation);
|
|
14
|
+
|
|
15
|
+
const quantity = ref(props.cartItem.quantity);
|
|
16
|
+
const isRemovable = computed(() => true);
|
|
17
|
+
const itemTotalPrice = computed(() => props.cartItem.linePriceWithTax);
|
|
18
|
+
|
|
19
|
+
const updateQuantity = async (qty: number) => {
|
|
20
|
+
if (qty !== props.cartItem.quantity) {
|
|
21
|
+
await adjustOrderLine({ orderLineId: props.cartItem.id, quantity: qty });
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const removeCartItem = async () => {
|
|
26
|
+
await removeOrderLine({ orderLineId: props.cartItem.id });
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
watch(quantity, (val) => {
|
|
30
|
+
updateQuantity(val);
|
|
31
|
+
});
|
|
32
|
+
</script>
|
|
33
|
+
|
|
34
|
+
<template>
|
|
35
|
+
<div v-if="cartItem.productVariant" class="mr-4 h-24 w-24 shrink-0 overflow-hidden rounded-md border border-secondary-200">
|
|
36
|
+
<img :src="cartItem.productVariant.featuredAsset?.preview" :alt="cartItem.productVariant.name" class="h-full w-full object-cover object-center" />
|
|
37
|
+
</div>
|
|
38
|
+
<div class="flex flex-1 flex-col text-left">
|
|
39
|
+
<div>
|
|
40
|
+
<div class="flex flex-col lg:flex-row justify-between text-base font-medium text-secondary-900">
|
|
41
|
+
<h3 class="text-base cursor-pointer pr-2">
|
|
42
|
+
{{ cartItem.productVariant.name }}
|
|
43
|
+
</h3>
|
|
44
|
+
<span v-if="itemTotalPrice">{{ itemTotalPrice }}</span>
|
|
45
|
+
</div>
|
|
46
|
+
</div>
|
|
47
|
+
<div v-if="cartItem.productVariant.stockOnHand" class="flex flex-1 items-end justify-between text-sm">
|
|
48
|
+
<input v-model="quantity" type="number" :min="1" :max="maxQty" name="quantity" aria-label="Cart item quantity" class="w-18 mt-1 inline-block py-2 px-3 border border-secondary-300 bg-white rounded-md shadow-sm" />
|
|
49
|
+
<div class="flex">
|
|
50
|
+
<button v-if="isRemovable" type="button" class="font-medium text-dark bg-transparent" @click="removeCartItem">
|
|
51
|
+
Remove
|
|
52
|
+
</button>
|
|
53
|
+
</div>
|
|
54
|
+
</div>
|
|
55
|
+
</div>
|
|
56
|
+
</template>
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { ref, computed } from 'vue';
|
|
3
|
+
import { useVendureMutation } from '../../../composables/useVendureMutation';
|
|
4
|
+
import adjustOrderLineMutation from '#graphql/app/commerce/mutations/adjustOrderLine.gql';
|
|
5
|
+
import removeOrderLineMutation from '#graphql/app/commerce/mutations/removeOrderLine.gql';
|
|
6
|
+
|
|
7
|
+
const props = defineProps({
|
|
8
|
+
cartItem: { type: Object, required: true },
|
|
9
|
+
maxQty: { type: Number, default: 100 },
|
|
10
|
+
});
|
|
11
|
+
|
|
12
|
+
const { mutate: adjustOrderLine } = useVendureMutation(adjustOrderLineMutation);
|
|
13
|
+
const { mutate: removeOrderLine } = useVendureMutation(removeOrderLineMutation);
|
|
14
|
+
|
|
15
|
+
const quantity = ref(props.cartItem.quantity);
|
|
16
|
+
const isRemovable = computed(() => true); // Vendure: all lines can be removed
|
|
17
|
+
const itemTotalPrice = computed(() => props.cartItem.linePriceWithTax);
|
|
18
|
+
|
|
19
|
+
const updateQuantity = async (qty: number) => {
|
|
20
|
+
if (qty !== props.cartItem.quantity) {
|
|
21
|
+
await adjustOrderLine({ orderLineId: props.cartItem.id, quantity: qty });
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
const removeItem = async () => {
|
|
26
|
+
await removeOrderLine({ orderLineId: props.cartItem.id });
|
|
27
|
+
};
|
|
28
|
+
</script>
|
|
29
|
+
<template>
|
|
30
|
+
<div class="mr-4 w-24 shrink-0 overflow-hidden">
|
|
31
|
+
<div class="w-26 i-carbon-tag text-3xl"></div>
|
|
32
|
+
</div>
|
|
33
|
+
<div class="flex flex-1 flex-col">
|
|
34
|
+
<div>
|
|
35
|
+
<div class="flex flex-col lg:flex-row justify-between text-base font-medium text-secondary-900">
|
|
36
|
+
<h3 class="text-base" data-testid="cart-promotion-name">
|
|
37
|
+
{{ cartItem.productVariant.name }}
|
|
38
|
+
<span class="bg-green-100 text-green-800 text-xs font-medium mr-2 px-2.5 py-0.5 rounded-full dark:bg-green-900 dark:text-green-300">
|
|
39
|
+
Promotion
|
|
40
|
+
</span>
|
|
41
|
+
</h3>
|
|
42
|
+
<span v-if="itemTotalPrice">{{ itemTotalPrice }}</span>
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
<div class="flex flex-1 items-end justify-end text-sm">
|
|
46
|
+
<div class="flex">
|
|
47
|
+
<button v-if="isRemovable" type="button" class="font-medium text-dark bg-transparent" @click="removeItem">
|
|
48
|
+
Remove
|
|
49
|
+
</button>
|
|
50
|
+
</div>
|
|
51
|
+
</div>
|
|
52
|
+
</div>
|
|
53
|
+
</template>
|
package/app/stores/cart.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ref, computed, readonly } from 'vue'
|
|
2
2
|
import type { Cart as DomainCart } from '../types/domain'
|
|
3
|
-
import { useCart } from '../cart/useCart'
|
|
4
3
|
import { defineStore } from 'pinia'
|
|
4
|
+
import { useCart } from '~/composables/useCart'
|
|
5
5
|
|
|
6
6
|
export const useCartStore = defineStore('cart', () => {
|
|
7
7
|
const cart = ref<DomainCart | null>(null)
|
|
@@ -14,7 +14,7 @@ import PropTypes from 'prop-types';
|
|
|
14
14
|
import {
|
|
15
15
|
Directions,
|
|
16
16
|
} from 'Component/ChevronIcon/ChevronIcon.config';
|
|
17
|
-
import { SortDirections } from '
|
|
17
|
+
import { SortDirections } from './routes/CategoryPage/CategoryPage.config';
|
|
18
18
|
|
|
19
19
|
// Support for comtabilitiy
|
|
20
20
|
|
package/app/types/Global.type.ts
CHANGED
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
|
|
12
|
+
// removed redux dependency: do not import `StoreEnhancer` here
|
|
13
13
|
|
|
14
|
-
import { CmsPageFields } from '
|
|
15
|
-
import { Slider } from '
|
|
16
|
-
import { CategoryDisplayMode } from '
|
|
14
|
+
import { CmsPageFields } from './normalizers/CmsPage.type';
|
|
15
|
+
import { Slider } from './normalizers/Slider.type';
|
|
16
|
+
import { CategoryDisplayMode } from './routes/CategoryPage/CategoryPage.config';
|
|
17
17
|
|
|
18
18
|
import { Mix } from './Common.type';
|
|
19
19
|
|
|
@@ -22,7 +22,7 @@ declare global {
|
|
|
22
22
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
23
23
|
'__REACT_DEVTOOLS_GLOBAL_HOOK__'?: Record<string, unknown>;
|
|
24
24
|
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
25
|
-
'__REDUX_DEVTOOLS_EXTENSION__'?: (options: any) =>
|
|
25
|
+
'__REDUX_DEVTOOLS_EXTENSION__'?: (options: any) => any;
|
|
26
26
|
storeRegexText: string;
|
|
27
27
|
actionName: {
|
|
28
28
|
type?: string;
|
|
@@ -86,7 +86,7 @@ declare global {
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
interface Navigator {
|
|
89
|
-
userAgentData
|
|
89
|
+
userAgentData?: NavigatorUAData;
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
interface NavigatorUABrandVersion {
|
package/app/types/Layout.type.ts
CHANGED
|
@@ -17,7 +17,7 @@ import ProductListQuery from './ProductList.query';
|
|
|
17
17
|
import { CheckoutStepUrl } from '../routes/Checkout/Checkout.config';
|
|
18
18
|
import {
|
|
19
19
|
GQLCartItemInput, GQLCurrencyEnum, GQLUpdateCartItemsInput,
|
|
20
|
-
} from '../
|
|
20
|
+
} from '../Graphql.type';
|
|
21
21
|
|
|
22
22
|
import {
|
|
23
23
|
AppliedTax,
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @link https://github.com/scandipwa/scandipwa
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { GQLCurrencyEnum, GQLProductStockItem } from '../
|
|
12
|
+
import { GQLCurrencyEnum, GQLProductStockItem } from '../Graphql.type';
|
|
13
13
|
|
|
14
14
|
import {
|
|
15
15
|
AttributeWithValue,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
ProductStockItem,
|
|
22
22
|
} from './ProductList.type';
|
|
23
23
|
|
|
24
|
-
import { Cart as DomainCart, CartItem as DomainCartItem, Product as DomainProduct } from '../
|
|
24
|
+
import { Cart as DomainCart, CartItem as DomainCartItem, Product as DomainProduct } from '../domain';
|
|
25
25
|
|
|
26
26
|
export interface UserErrors {
|
|
27
27
|
message: string;
|
|
@@ -16,8 +16,8 @@ import {
|
|
|
16
16
|
GQLSaveAddressInformation,
|
|
17
17
|
GQLSSetBillingAddressOnCartInput,
|
|
18
18
|
GQLSSetPaymentMethodOnCartInput,
|
|
19
|
-
} from '../
|
|
20
|
-
import { isSignedIn } from '
|
|
19
|
+
} from '../Graphql.type';
|
|
20
|
+
import { isSignedIn } from '../../utils/Auth/IsSignedIn';
|
|
21
21
|
|
|
22
22
|
import {
|
|
23
23
|
PaymentDetails,
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
import { Field } from '@tilework/opus';
|
|
13
13
|
|
|
14
|
-
import { GQLCheckoutAgreementMode, GQLCurrencyEnum } from '../
|
|
14
|
+
import { GQLCheckoutAgreementMode, GQLCurrencyEnum } from '../Graphql.type';
|
|
15
15
|
|
|
16
16
|
export interface PriceTaxDisplay {
|
|
17
17
|
product_price_display_type: string;
|
|
@@ -11,8 +11,8 @@
|
|
|
11
11
|
|
|
12
12
|
import { Field, Mutation, Query } from '@tilework/opus';
|
|
13
13
|
|
|
14
|
-
import { NetworkError } from '../
|
|
15
|
-
import { GQLContactForm } from '../
|
|
14
|
+
import { NetworkError } from '../Common.type';
|
|
15
|
+
import { GQLContactForm } from '../Graphql.type';
|
|
16
16
|
|
|
17
17
|
/** @namespace ../../normalizers/ContactForm/Query */
|
|
18
18
|
export class ContactFormQuery {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { normalizeOrder } from './Order.type';
|
|
2
|
-
import type { Order as DomainOrder } from '../
|
|
2
|
+
import type { Order as DomainOrder } from '../domain';
|
|
3
3
|
|
|
4
4
|
// Map credit memo (refund) shapes into a predictable structure. Keep a
|
|
5
5
|
// permissive fallback to `normalizeOrder` for unfamiliar shapes.
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { normalizeOrder } from './Order.type';
|
|
2
|
-
import type { Order as DomainOrder } from '../
|
|
2
|
+
import type { Order as DomainOrder } from '../domain';
|
|
3
3
|
|
|
4
4
|
// Provide a richer invoice normalizer that maps common invoice fields into
|
|
5
5
|
// a predictable shape consumers expect. We still fall back to `normalizeOrder`
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
import { Field, Mutation, Query } from '@tilework/opus';
|
|
13
13
|
|
|
14
|
-
import { GQLCustomerAddressInput, GQLCustomerUpdateInput } from '../
|
|
14
|
+
import { GQLCustomerAddressInput, GQLCustomerUpdateInput } from '../Graphql.type';
|
|
15
15
|
|
|
16
16
|
import {
|
|
17
17
|
ChangeCustomerPasswordOptions,
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
|
|
12
12
|
import { Field } from '@tilework/opus';
|
|
13
13
|
|
|
14
|
-
import { GQLCountryCodeEnum, GQLCustomerInput } from '../
|
|
14
|
+
import { GQLCountryCodeEnum, GQLCustomerInput } from '../Graphql.type';
|
|
15
15
|
|
|
16
16
|
export interface CustomerAddressRegion {
|
|
17
17
|
region_code: string;
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* @link https://github.com/scandipwa/scandipwa
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { GQLCurrencyEnum } from '../
|
|
13
|
-
import { Order as DomainOrder, CartItem as DomainCartItem, Product as DomainProduct } from '../
|
|
12
|
+
import { GQLCurrencyEnum } from '../Graphql.type';
|
|
13
|
+
import { Order as DomainOrder, CartItem as DomainCartItem, Product as DomainProduct } from '../domain';
|
|
14
14
|
|
|
15
15
|
export interface CustomerDownloadableProduct {
|
|
16
16
|
order_id: string;
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
normalizeCompareList,
|
|
30
30
|
} from './ProductCompare.type';
|
|
31
31
|
import { CustomizableProductFragmentOptions } from './ProductList.type';
|
|
32
|
-
import { Product as DomainProduct } from '../
|
|
32
|
+
import { Product as DomainProduct } from '../domain';
|
|
33
33
|
|
|
34
34
|
/** @namespace ../../normalizers/ProductCompare/Query */
|
|
35
35
|
export class ProductCompareQuery extends ProductListQuery {
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
ComplexTextValue,
|
|
14
14
|
GroupedProductItem,
|
|
15
15
|
} from './ProductList.type';
|
|
16
|
-
import { Product as DomainProduct } from '../
|
|
16
|
+
import { Product as DomainProduct } from '../domain';
|
|
17
17
|
|
|
18
18
|
// Normalize a comparable product into a domain-friendly product + compare metadata
|
|
19
19
|
export function normalizeComparableProduct(raw: any): ComparableProduct {
|
|
@@ -19,8 +19,8 @@ import {
|
|
|
19
19
|
GQLPriceTypeEnum,
|
|
20
20
|
GQLProductStockStatus,
|
|
21
21
|
GQLShipBundleItemsEnum,
|
|
22
|
-
} from '../
|
|
23
|
-
import BrowserDatabase from '
|
|
22
|
+
} from '../Graphql.type';
|
|
23
|
+
import BrowserDatabase from '../../utils/BrowserDatabase';
|
|
24
24
|
|
|
25
25
|
import {
|
|
26
26
|
Aggregation,
|
|
@@ -19,9 +19,9 @@ import {
|
|
|
19
19
|
GQLPriceTypeEnum,
|
|
20
20
|
GQLProductStockStatus,
|
|
21
21
|
GQLShipBundleItemsEnum,
|
|
22
|
-
} from '../
|
|
22
|
+
} from '../Graphql.type';
|
|
23
23
|
|
|
24
|
-
import { Product as DomainProduct } from '../
|
|
24
|
+
import { Product as DomainProduct } from '../domain';
|
|
25
25
|
|
|
26
26
|
export interface ProductStockItem {
|
|
27
27
|
in_stock: boolean;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { normalizeOrder } from './Order.type';
|
|
2
|
-
import type { Order as DomainOrder } from '../
|
|
2
|
+
import type { Order as DomainOrder } from '../domain';
|
|
3
3
|
|
|
4
4
|
// Normalize return objects (customer returns / RMA) into a stable shape.
|
|
5
5
|
// Returns frequently contain returned items and refund-related totals.
|
|
@@ -26,7 +26,7 @@ export interface CreateProductReviewOutput {
|
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
|
|
29
|
-
import type { Review as DomainReview } from '../
|
|
29
|
+
import type { Review as DomainReview } from '../domain';
|
|
30
30
|
|
|
31
31
|
export function normalizeReview(raw: any): DomainReview {
|
|
32
32
|
if (!raw) return raw;
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
import { Field, Query } from '@tilework/opus';
|
|
12
12
|
|
|
13
13
|
import { CategoryDisplayMode } from '../routes/CategoryPage/CategoryPage.config';
|
|
14
|
-
import { GQLUrlRewriteEntityTypeEnum } from '../
|
|
14
|
+
import { GQLUrlRewriteEntityTypeEnum } from '../Graphql.type';
|
|
15
15
|
|
|
16
16
|
import {
|
|
17
17
|
UrlRewritesOutput,
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
12
|
import { CategoryDisplayMode } from '../routes/CategoryPage/CategoryPage.config';
|
|
13
|
-
import { GQLUrlRewriteEntityTypeEnum } from '../
|
|
13
|
+
import { GQLUrlRewriteEntityTypeEnum } from '../Graphql.type';
|
|
14
14
|
|
|
15
15
|
export interface UrlRewritesOutput {
|
|
16
16
|
sku: string;
|
|
@@ -17,11 +17,11 @@ import {
|
|
|
17
17
|
GQLShareWishlistInput,
|
|
18
18
|
GQLWishlistItemInput,
|
|
19
19
|
GQLWishlistItemUpdateInput,
|
|
20
|
-
} from '../
|
|
21
|
-
import { isSignedIn } from '
|
|
22
|
-
import { getCartId } from '
|
|
20
|
+
} from '../Graphql.type';
|
|
21
|
+
import { isSignedIn } from '../../utils/Auth/IsSignedIn';
|
|
22
|
+
import { getCartId } from '../../utils/Cart';
|
|
23
23
|
|
|
24
|
-
import { Product as DomainProduct } from '../
|
|
24
|
+
import { Product as DomainProduct } from '../domain';
|
|
25
25
|
import {
|
|
26
26
|
ItemOption,
|
|
27
27
|
Wishlist,
|
|
@@ -9,11 +9,11 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { CustomerAddress } from '../../normalizers/MyAccount.type';
|
|
13
|
-
import { OrderAddress } from '../../normalizers/Order.type';
|
|
14
|
-
import { Country, Region } from '../../normalizers/Region.type';
|
|
15
|
-
import { Store } from '../../normalizers/StoreInPickUp.type';
|
|
16
|
-
import { CheckoutAddress } from '../../routes/Checkout/Checkout.type';
|
|
12
|
+
import { CustomerAddress } from '../../types/normalizers/MyAccount.type';
|
|
13
|
+
import { OrderAddress } from '../../types/normalizers/Order.type';
|
|
14
|
+
import { Country, Region } from '../../types/normalizers/Region.type';
|
|
15
|
+
import { Store } from '../../types/normalizers/StoreInPickUp.type';
|
|
16
|
+
import { CheckoutAddress } from '../../types/routes/Checkout/Checkout.type';
|
|
17
17
|
import { GQLCountryCodeEnum, GQLCustomerAddressInput } from '../../types/Graphql.type';
|
|
18
18
|
import { getStoreState } from '../../utils/Store';
|
|
19
19
|
|
package/app/utils/Cart/Cart.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { ShippingMethod } from '../../normalizers/Checkout.type';
|
|
12
|
+
import { ShippingMethod } from '../../types/normalizers/Checkout.type';
|
|
13
13
|
import { IndexedCartItem } from '../../stores/Cart/Cart.type';
|
|
14
14
|
import { RootState } from '../../utils/Store/Store.type';
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { Currencies, CurrencyData } from '../../normalizers/Config.type';
|
|
12
|
+
import { Currencies, CurrencyData } from '../../types/normalizers/Config.type';
|
|
13
13
|
import BrowserDatabase from '../../utils/BrowserDatabase';
|
|
14
14
|
import { getStoreState } from '../../utils/Store';
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { CategoryDisplayMode } from '../../routes/CategoryPage/CategoryPage.config';
|
|
12
|
+
import { CategoryDisplayMode } from '../../types/routes/CategoryPage/CategoryPage.config';
|
|
13
13
|
import { IndexedProduct } from '../../utils/Product/Product.type';
|
|
14
14
|
|
|
15
15
|
export interface HistoryState {
|
package/app/utils/Menu/Menu.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { MenuItem } from '../../normalizers/Menu.type';
|
|
12
|
+
import { MenuItem } from '../../types/normalizers/Menu.type';
|
|
13
13
|
import { getUrlPathname } from '../../utils/Url';
|
|
14
14
|
|
|
15
15
|
import { FormattedMenuItem, MenuLocation } from './Menu.type';
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { MenuItem } from '../../normalizers/Menu.type';
|
|
13
|
-
import { CategoryDisplayMode } from '../../routes/CategoryPage/CategoryPage.config';
|
|
12
|
+
import { MenuItem } from '../../types/normalizers/Menu.type';
|
|
13
|
+
import { CategoryDisplayMode } from '../../types/routes/CategoryPage/CategoryPage.config';
|
|
14
14
|
import { Merge } from '../../types/Common.type';
|
|
15
15
|
|
|
16
16
|
export interface MenuLocation {
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
import {
|
|
14
14
|
InvoiceItem, OrderItem, OrderItemProduct, RefundItem, ShipmentItemInterface,
|
|
15
|
-
} from '../../normalizers/Order.type';
|
|
15
|
+
} from '../../types/normalizers/Order.type';
|
|
16
16
|
import { decodeBase64 } from '../../utils/Base64';
|
|
17
17
|
|
|
18
18
|
import { OrderItemQtyArray } from './Orders.type';
|
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { ProductListOptions } from '../../normalizers/ProductList.type';
|
|
13
|
-
import { SortDirections } from '../../routes/CategoryPage/CategoryPage.config';
|
|
12
|
+
import { ProductListOptions } from '../../types/normalizers/ProductList.type';
|
|
13
|
+
import { SortDirections } from '../../types/routes/CategoryPage/CategoryPage.config';
|
|
14
14
|
import ProductListDispatcher from '../../stores/ProductList/ProductList.dispatcher';
|
|
15
15
|
import history from '../../utils/History';
|
|
16
16
|
import getStore from '../../utils/Store';
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { ProductListOptions } from '../../normalizers/ProductList.type';
|
|
12
|
+
import { ProductListOptions } from '../../types/normalizers/ProductList.type';
|
|
13
13
|
import ProductDispatcher from '../../stores/Product/Product.dispatcher';
|
|
14
14
|
import getStore from '../../utils/Store';
|
|
15
15
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { UrlRewritePageType } from '../../routes/UrlRewrites/UrlRewrites.config';
|
|
12
|
+
import { UrlRewritePageType } from '../../types/routes/UrlRewrites/UrlRewrites.config';
|
|
13
13
|
// Reducers removed — migration to Pinia stores; keep Preload minimal
|
|
14
14
|
import BrowserDatabase from '../../utils/BrowserDatabase';
|
|
15
15
|
import { isMobile } from '../../utils/Mobile';
|
package/app/utils/Price/Price.ts
CHANGED
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
* @link https://github.com/meeovi/mframework
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
-
import { TierPrice } from '../../normalizers/ProductList.type';
|
|
12
|
+
import { TierPrice } from '../../types/normalizers/ProductList.type';
|
|
13
13
|
import { GQLCurrencyEnum } from '../../types/Graphql.type';
|
|
14
14
|
|
|
15
15
|
import { CurrencyMap, HUNDRED_PERCENT } from './Price.config';
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
GroupedProductItem,
|
|
19
19
|
Money,
|
|
20
20
|
PriceRange,
|
|
21
|
-
} from '../../normalizers/ProductList.type';
|
|
21
|
+
} from '../../types/normalizers/ProductList.type';
|
|
22
22
|
import { GQLCurrencyEnum, GQLProductStockStatus } from '../../types/Graphql.type';
|
|
23
23
|
import { decodeBase64 } from '../../utils/Base64';
|
|
24
24
|
import { FieldValue } from '../../utils/Form/Form.type';
|