hasting-swatchcart-module 1.0.30 → 1.0.32
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/assets/index.css +1 -0
- package/dist/cdn/lib/components/SwatchesModule.d.ts +11 -0
- package/dist/cdn/lib/main.d.ts +9 -0
- package/dist/cdn/lib/store/LibraryProvider.d.ts +4 -0
- package/dist/cdn/lib/store/rootReducer.d.ts +11 -0
- package/dist/cdn/lib/store/store.d.ts +25 -0
- package/dist/cdn/lib/store/withStore.d.ts +2 -0
- package/dist/cdn/lib/vite-env.d.ts +1 -0
- package/dist/cdn/main.css +1 -0
- package/dist/cdn/main.js +31596 -0
- package/dist/cdn/src/app/App.d.ts +2 -0
- package/dist/cdn/src/app/assets/svg/ArrowIconSVG.d.ts +3 -0
- package/dist/cdn/src/app/assets/svg/CheckMarkIconSVG.d.ts +3 -0
- package/dist/cdn/src/app/assets/svg/ChevronSVGIcon.d.ts +3 -0
- package/dist/cdn/src/app/assets/svg/CloseIconSVG.d.ts +3 -0
- package/dist/cdn/src/app/assets/svg/DarkWhiteIconSVG.d.ts +1 -0
- package/dist/cdn/src/app/assets/svg/MinusIconSVG.d.ts +3 -0
- package/dist/cdn/src/app/assets/svg/PlusIconSVG.d.ts +3 -0
- package/dist/cdn/src/app/assets/svg/SearchIconSVG.d.ts +3 -0
- package/dist/cdn/src/app/assets/svg/TrashIconSVG.d.ts +3 -0
- package/dist/cdn/src/app/assets/svg/WhiteWhiteIconSVG.d.ts +1 -0
- package/dist/cdn/src/app/main.d.ts +0 -0
- package/dist/cdn/src/app/providers/StoreProvider.d.ts +6 -0
- package/dist/cdn/src/app/store/rootReducer.d.ts +11 -0
- package/dist/cdn/src/app/store/store.d.ts +24 -0
- package/dist/cdn/src/features/Cart/lib/CartCervices.d.ts +5 -0
- package/dist/cdn/src/features/Cart/model/cartSlice.d.ts +3 -0
- package/dist/cdn/src/features/Cart/model/selectors.d.ts +223 -0
- package/dist/cdn/src/features/Cart/model/types.d.ts +7 -0
- package/dist/cdn/src/features/Cart/ui/CartHeader/CartHeader.d.ts +7 -0
- package/dist/cdn/src/features/Cart/ui/CartList/CartList.d.ts +1 -0
- package/dist/cdn/src/features/Cart/ui/CartListItem/CartListItem.d.ts +10 -0
- package/dist/cdn/src/features/Cart/ui/CartWrapper/CartWrapper.d.ts +9 -0
- package/dist/cdn/src/features/Cart/ui/Counter/Counter.d.ts +9 -0
- package/dist/cdn/src/features/DataAdapter/lib/DataAdapterServices.d.ts +14 -0
- package/dist/cdn/src/features/DataAdapter/utils/types.d.ts +11 -0
- package/dist/cdn/src/features/MultiProduct/lib/MultiProductCartServices.d.ts +13 -0
- package/dist/cdn/src/features/MultiProduct/model/API/api.d.ts +4 -0
- package/dist/cdn/src/features/MultiProduct/model/API/routes.d.ts +4 -0
- package/dist/cdn/src/features/MultiProduct/model/multiProductCartSlice.d.ts +9 -0
- package/dist/cdn/src/features/MultiProduct/model/selectors.d.ts +38 -0
- package/dist/cdn/src/features/MultiProduct/model/thunk.d.ts +11 -0
- package/dist/cdn/src/features/MultiProduct/model/types.d.ts +63 -0
- package/dist/cdn/src/features/MultiProduct/ui/CartSelectedProductList/CartSelectedProductList.d.ts +1 -0
- package/dist/cdn/src/features/MultiProduct/ui/FiltersSelectedProductItem/FiltersSelectedProductItem.d.ts +1 -0
- package/dist/cdn/src/features/MultiProduct/ui/MaterialMultiProductList/MaterialMultiProductList.d.ts +42 -0
- package/dist/cdn/src/features/MultiProduct/ui/MultiProductCartHeader/MultiProductCartHeader.d.ts +5 -0
- package/dist/cdn/src/features/MultiProduct/ui/MultiProductItemCart/MultiProductItemCart.d.ts +5 -0
- package/dist/cdn/src/features/MultiProduct/ui/MultiProductWrapper/MultiProductWrapper.d.ts +6 -0
- package/dist/cdn/src/features/MultiProduct/ui/ProductList/ProductList.d.ts +1 -0
- package/dist/cdn/src/features/MultiProduct/ui/ProductListItem/ProductListItem.d.ts +6 -0
- package/dist/cdn/src/features/MultiProduct/ui/SelectedProductItem/SelectedProductItem.d.ts +1 -0
- package/dist/cdn/src/features/MultiProduct/ui/SwatchContentContainer/SwatchContentContainer.d.ts +15 -0
- package/dist/cdn/src/features/MultiProduct/ui/SwatchListItem/SwatchListItem.d.ts +41 -0
- package/dist/cdn/src/features/MultiProduct/ui/SwatchesMultiProductList/SwatchesMultiProductList.d.ts +29 -0
- package/dist/cdn/src/features/MultiProduct/utils/constants.d.ts +6 -0
- package/dist/cdn/src/features/MultiProduct/utils/randomList.d.ts +2 -0
- package/dist/cdn/src/features/SwatchModule/SwatchModule/ui/SwatchModule.d.ts +2 -0
- package/dist/cdn/src/features/swatches/lib/AttributeHelper.d.ts +7 -0
- package/dist/cdn/src/features/swatches/lib/SwatchesServices.d.ts +11 -0
- package/dist/cdn/src/features/swatches/model/selectors.d.ts +10 -0
- package/dist/cdn/src/features/swatches/model/swatchesSlice.d.ts +54 -0
- package/dist/cdn/src/features/swatches/model/thunks.d.ts +12 -0
- package/dist/cdn/src/features/swatches/model/types.d.ts +148 -0
- package/dist/cdn/src/features/swatches/ui/Filters/ColorsFilter.d.ts +1 -0
- package/dist/cdn/src/features/swatches/ui/Filters/LooksFilter.d.ts +1 -0
- package/dist/cdn/src/features/swatches/ui/Filters/MaterialsFilter.d.ts +1 -0
- package/dist/cdn/src/features/swatches/ui/Filters/index.d.ts +1 -0
- package/dist/cdn/src/features/swatches/ui/HexGridZoom/HexGridZoom.d.ts +3 -0
- package/dist/cdn/src/features/swatches/ui/ImageGridZoom/ImageGridZoom.d.ts +3 -0
- package/dist/cdn/src/features/swatches/ui/MaterialSingleProductList/MaterialSingleProductList.d.ts +7 -0
- package/dist/cdn/src/features/swatches/ui/ProductElement/index.d.ts +6 -0
- package/dist/cdn/src/features/swatches/ui/SwatchWrapper/SwatchWrapper.d.ts +8 -0
- package/dist/cdn/src/features/swatches/ui/Swatches.d.ts +2 -0
- package/dist/cdn/src/features/swatches/ui/SwatchesList/SwatchesList.d.ts +7 -0
- package/dist/cdn/src/features/swatches/ui/SwatchesListWrapper/SwatchesListWrapper.d.ts +1 -0
- package/dist/cdn/src/features/swatches/utils/constants.d.ts +3 -0
- package/dist/cdn/src/features/swatches/utils/types.d.ts +22 -0
- package/dist/cdn/src/shared/constants/constants.d.ts +1 -0
- package/dist/cdn/src/shared/constants/props.d.ts +1058 -0
- package/dist/cdn/src/shared/constants/select.d.ts +4 -0
- package/dist/cdn/src/shared/constants/selectedMaterials.d.ts +1 -0
- package/dist/cdn/src/shared/types/activeTab.d.ts +5 -0
- package/dist/cdn/src/shared/types/fetchData.d.ts +41 -0
- package/dist/cdn/src/shared/types/svg.d.ts +3 -0
- package/dist/cdn/src/shared/ui/CartPrice/CartPrice.d.ts +7 -0
- package/dist/cdn/src/shared/ui/Checkbox/Checkbox.d.ts +4 -0
- package/dist/cdn/src/shared/ui/CustomButton/CustomButton.d.ts +6 -0
- package/dist/cdn/src/shared/ui/CustomModal/CustomModal.d.ts +11 -0
- package/dist/cdn/src/shared/ui/CustomSidebar/CustomSidebar.d.ts +8 -0
- package/dist/cdn/src/shared/ui/Dialog/Dialog.d.ts +19 -0
- package/dist/cdn/src/shared/ui/Hint/Hint.d.ts +60 -0
- package/dist/cdn/src/shared/ui/Label/Label.d.ts +7 -0
- package/dist/cdn/src/shared/ui/Loader/Loader.d.ts +10 -0
- package/dist/cdn/src/shared/ui/Markdown/MDWithAccordion.d.ts +10 -0
- package/dist/cdn/src/shared/ui/MaterialItem/MaterialItem.d.ts +8 -0
- package/dist/cdn/src/shared/ui/MaterialListItem/MaterialListItem.d.ts +7 -0
- package/dist/cdn/src/shared/ui/MultiSelect/MultiSelect.d.ts +20 -0
- package/dist/cdn/src/shared/ui/PopoverTooltip/InfoIcon.d.ts +1 -0
- package/dist/cdn/src/shared/ui/PopoverTooltip/PopoverTooltip.d.ts +11 -0
- package/dist/cdn/src/shared/ui/SingleSelect/SingleSelect.d.ts +18 -0
- package/dist/cdn/src/shared/ui/Slider/Slider.d.ts +11 -0
- package/dist/cdn/src/shared/ui/SwatchLimitModal/SwatchLimitModal.d.ts +6 -0
- package/dist/cdn/src/shared/ui/popover.d.ts +9 -0
- package/dist/cdn/src/shared/utils/cn.d.ts +2 -0
- package/dist/cdn/src/shared/utils/uniqueList.d.ts +1 -0
- package/dist/components/SwatchesModule.d.ts +11 -0
- package/dist/main.cjs +150 -0
- package/dist/main.cjs.map +1 -0
- package/dist/main.d.ts +9 -0
- package/dist/main.js +24420 -0
- package/dist/main.js.map +1 -0
- package/dist/store/LibraryProvider.d.ts +4 -0
- package/dist/store/rootReducer.d.ts +11 -0
- package/dist/store/store.d.ts +25 -0
- package/dist/store/withStore.d.ts +2 -0
- package/package.json +1 -1
- package/dist/assets/index-BxOF0-6c.js +0 -156
- package/dist/assets/index-WOZaSyBx.css +0 -1
- package/dist/index.html +0 -14
- /package/dist/{vite.svg → cdn/vite.svg} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const DarkWhiteIconSVG: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const WhiteWhiteIconSVG: () => import("react/jsx-runtime").JSX.Element;
|
|
File without changes
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
declare const rootReducer: import('redux').Reducer<{
|
|
2
|
+
swatches: import('../../features/swatches/model/types').ISwatchesSlice;
|
|
3
|
+
cart: import('../../features/Cart/model/types').CartState;
|
|
4
|
+
multiProductCart: import('../../features/MultiProduct/model/types').IMultiProductState;
|
|
5
|
+
}, import('redux').UnknownAction, Partial<{
|
|
6
|
+
swatches: import('../../features/swatches/model/types').ISwatchesSlice | undefined;
|
|
7
|
+
cart: import('../../features/Cart/model/types').CartState | undefined;
|
|
8
|
+
multiProductCart: import('../../features/MultiProduct/model/types').IMultiProductState | undefined;
|
|
9
|
+
}>>;
|
|
10
|
+
export type RootState = ReturnType<typeof rootReducer>;
|
|
11
|
+
export default rootReducer;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
export declare const store: import('@reduxjs/toolkit').EnhancedStore<{
|
|
2
|
+
swatches: import('../../features/swatches/model/types').ISwatchesSlice;
|
|
3
|
+
cart: import('../../features/Cart/model/types').CartState;
|
|
4
|
+
multiProductCart: import('../../features/MultiProduct/model/types').IMultiProductState;
|
|
5
|
+
}, import('redux').UnknownAction, import('@reduxjs/toolkit').Tuple<[import('redux').StoreEnhancer<{
|
|
6
|
+
dispatch: import('redux-thunk').ThunkDispatch<{
|
|
7
|
+
swatches: import('../../features/swatches/model/types').ISwatchesSlice;
|
|
8
|
+
cart: import('../../features/Cart/model/types').CartState;
|
|
9
|
+
multiProductCart: import('../../features/MultiProduct/model/types').IMultiProductState;
|
|
10
|
+
}, undefined, import('redux').UnknownAction>;
|
|
11
|
+
}>, import('redux').StoreEnhancer]>>;
|
|
12
|
+
export type RootState = ReturnType<typeof store.getState>;
|
|
13
|
+
export type AppDispatch = typeof store.dispatch;
|
|
14
|
+
export declare const useAppDispatch: import('react-redux').UseDispatch<import('redux-thunk').ThunkDispatch<{
|
|
15
|
+
swatches: import('../../features/swatches/model/types').ISwatchesSlice;
|
|
16
|
+
cart: import('../../features/Cart/model/types').CartState;
|
|
17
|
+
multiProductCart: import('../../features/MultiProduct/model/types').IMultiProductState;
|
|
18
|
+
}, undefined, import('redux').UnknownAction> & import('redux').Dispatch<import('redux').UnknownAction>>;
|
|
19
|
+
export declare const useAppSelector: import('react-redux').UseSelector<{
|
|
20
|
+
swatches: import('../../features/swatches/model/types').ISwatchesSlice;
|
|
21
|
+
cart: import('../../features/Cart/model/types').CartState;
|
|
22
|
+
multiProductCart: import('../../features/MultiProduct/model/types').IMultiProductState;
|
|
23
|
+
}>;
|
|
24
|
+
export default store;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { CartState, ICartItem } from './types';
|
|
2
|
+
export declare const setCartItems: import('@reduxjs/toolkit').ActionCreatorWithPayload<ICartItem[], "cart/setCartItems">, clear: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"cart/clear">;
|
|
3
|
+
export declare const cartReducer: import('redux').Reducer<CartState>;
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { RootState } from '../../../app/store/rootReducer';
|
|
2
|
+
export declare const getCartItems: (state: RootState) => import('./types').ICartItem[];
|
|
3
|
+
export declare const getCartTotalCount: ((state: {
|
|
4
|
+
swatches: import('../../swatches/model/types').ISwatchesSlice;
|
|
5
|
+
cart: import('./types').CartState;
|
|
6
|
+
multiProductCart: import('../../MultiProduct/model/types').IMultiProductState;
|
|
7
|
+
}) => number) & {
|
|
8
|
+
clearCache: () => void;
|
|
9
|
+
resultsCount: () => number;
|
|
10
|
+
resetResultsCount: () => void;
|
|
11
|
+
} & {
|
|
12
|
+
resultFunc: (resultFuncArgs_0: import('./types').ICartItem[]) => number;
|
|
13
|
+
memoizedResultFunc: ((resultFuncArgs_0: import('./types').ICartItem[]) => number) & {
|
|
14
|
+
clearCache: () => void;
|
|
15
|
+
resultsCount: () => number;
|
|
16
|
+
resetResultsCount: () => void;
|
|
17
|
+
};
|
|
18
|
+
lastResult: () => number;
|
|
19
|
+
dependencies: [(state: RootState) => import('./types').ICartItem[]];
|
|
20
|
+
recomputations: () => number;
|
|
21
|
+
resetRecomputations: () => void;
|
|
22
|
+
dependencyRecomputations: () => number;
|
|
23
|
+
resetDependencyRecomputations: () => void;
|
|
24
|
+
} & {
|
|
25
|
+
argsMemoize: typeof import('reselect').weakMapMemoize;
|
|
26
|
+
memoize: typeof import('reselect').weakMapMemoize;
|
|
27
|
+
};
|
|
28
|
+
export declare const getCartFreeSlots: ((state: {
|
|
29
|
+
swatches: import('../../swatches/model/types').ISwatchesSlice;
|
|
30
|
+
cart: import('./types').CartState;
|
|
31
|
+
multiProductCart: import('../../MultiProduct/model/types').IMultiProductState;
|
|
32
|
+
}) => number) & {
|
|
33
|
+
clearCache: () => void;
|
|
34
|
+
resultsCount: () => number;
|
|
35
|
+
resetResultsCount: () => void;
|
|
36
|
+
} & {
|
|
37
|
+
resultFunc: (resultFuncArgs_0: number) => number;
|
|
38
|
+
memoizedResultFunc: ((resultFuncArgs_0: number) => number) & {
|
|
39
|
+
clearCache: () => void;
|
|
40
|
+
resultsCount: () => number;
|
|
41
|
+
resetResultsCount: () => void;
|
|
42
|
+
};
|
|
43
|
+
lastResult: () => number;
|
|
44
|
+
dependencies: [((state: {
|
|
45
|
+
swatches: import('../../swatches/model/types').ISwatchesSlice;
|
|
46
|
+
cart: import('./types').CartState;
|
|
47
|
+
multiProductCart: import('../../MultiProduct/model/types').IMultiProductState;
|
|
48
|
+
}) => number) & {
|
|
49
|
+
clearCache: () => void;
|
|
50
|
+
resultsCount: () => number;
|
|
51
|
+
resetResultsCount: () => void;
|
|
52
|
+
} & {
|
|
53
|
+
resultFunc: (resultFuncArgs_0: import('./types').ICartItem[]) => number;
|
|
54
|
+
memoizedResultFunc: ((resultFuncArgs_0: import('./types').ICartItem[]) => number) & {
|
|
55
|
+
clearCache: () => void;
|
|
56
|
+
resultsCount: () => number;
|
|
57
|
+
resetResultsCount: () => void;
|
|
58
|
+
};
|
|
59
|
+
lastResult: () => number;
|
|
60
|
+
dependencies: [(state: RootState) => import('./types').ICartItem[]];
|
|
61
|
+
recomputations: () => number;
|
|
62
|
+
resetRecomputations: () => void;
|
|
63
|
+
dependencyRecomputations: () => number;
|
|
64
|
+
resetDependencyRecomputations: () => void;
|
|
65
|
+
} & {
|
|
66
|
+
argsMemoize: typeof import('reselect').weakMapMemoize;
|
|
67
|
+
memoize: typeof import('reselect').weakMapMemoize;
|
|
68
|
+
}];
|
|
69
|
+
recomputations: () => number;
|
|
70
|
+
resetRecomputations: () => void;
|
|
71
|
+
dependencyRecomputations: () => number;
|
|
72
|
+
resetDependencyRecomputations: () => void;
|
|
73
|
+
} & {
|
|
74
|
+
argsMemoize: typeof import('reselect').weakMapMemoize;
|
|
75
|
+
memoize: typeof import('reselect').weakMapMemoize;
|
|
76
|
+
};
|
|
77
|
+
export declare const getCartCanIncrement: ((state: {
|
|
78
|
+
swatches: import('../../swatches/model/types').ISwatchesSlice;
|
|
79
|
+
cart: import('./types').CartState;
|
|
80
|
+
multiProductCart: import('../../MultiProduct/model/types').IMultiProductState;
|
|
81
|
+
}) => boolean) & {
|
|
82
|
+
clearCache: () => void;
|
|
83
|
+
resultsCount: () => number;
|
|
84
|
+
resetResultsCount: () => void;
|
|
85
|
+
} & {
|
|
86
|
+
resultFunc: (resultFuncArgs_0: number) => boolean;
|
|
87
|
+
memoizedResultFunc: ((resultFuncArgs_0: number) => boolean) & {
|
|
88
|
+
clearCache: () => void;
|
|
89
|
+
resultsCount: () => number;
|
|
90
|
+
resetResultsCount: () => void;
|
|
91
|
+
};
|
|
92
|
+
lastResult: () => boolean;
|
|
93
|
+
dependencies: [((state: {
|
|
94
|
+
swatches: import('../../swatches/model/types').ISwatchesSlice;
|
|
95
|
+
cart: import('./types').CartState;
|
|
96
|
+
multiProductCart: import('../../MultiProduct/model/types').IMultiProductState;
|
|
97
|
+
}) => number) & {
|
|
98
|
+
clearCache: () => void;
|
|
99
|
+
resultsCount: () => number;
|
|
100
|
+
resetResultsCount: () => void;
|
|
101
|
+
} & {
|
|
102
|
+
resultFunc: (resultFuncArgs_0: number) => number;
|
|
103
|
+
memoizedResultFunc: ((resultFuncArgs_0: number) => number) & {
|
|
104
|
+
clearCache: () => void;
|
|
105
|
+
resultsCount: () => number;
|
|
106
|
+
resetResultsCount: () => void;
|
|
107
|
+
};
|
|
108
|
+
lastResult: () => number;
|
|
109
|
+
dependencies: [((state: {
|
|
110
|
+
swatches: import('../../swatches/model/types').ISwatchesSlice;
|
|
111
|
+
cart: import('./types').CartState;
|
|
112
|
+
multiProductCart: import('../../MultiProduct/model/types').IMultiProductState;
|
|
113
|
+
}) => number) & {
|
|
114
|
+
clearCache: () => void;
|
|
115
|
+
resultsCount: () => number;
|
|
116
|
+
resetResultsCount: () => void;
|
|
117
|
+
} & {
|
|
118
|
+
resultFunc: (resultFuncArgs_0: import('./types').ICartItem[]) => number;
|
|
119
|
+
memoizedResultFunc: ((resultFuncArgs_0: import('./types').ICartItem[]) => number) & {
|
|
120
|
+
clearCache: () => void;
|
|
121
|
+
resultsCount: () => number;
|
|
122
|
+
resetResultsCount: () => void;
|
|
123
|
+
};
|
|
124
|
+
lastResult: () => number;
|
|
125
|
+
dependencies: [(state: RootState) => import('./types').ICartItem[]];
|
|
126
|
+
recomputations: () => number;
|
|
127
|
+
resetRecomputations: () => void;
|
|
128
|
+
dependencyRecomputations: () => number;
|
|
129
|
+
resetDependencyRecomputations: () => void;
|
|
130
|
+
} & {
|
|
131
|
+
argsMemoize: typeof import('reselect').weakMapMemoize;
|
|
132
|
+
memoize: typeof import('reselect').weakMapMemoize;
|
|
133
|
+
}];
|
|
134
|
+
recomputations: () => number;
|
|
135
|
+
resetRecomputations: () => void;
|
|
136
|
+
dependencyRecomputations: () => number;
|
|
137
|
+
resetDependencyRecomputations: () => void;
|
|
138
|
+
} & {
|
|
139
|
+
argsMemoize: typeof import('reselect').weakMapMemoize;
|
|
140
|
+
memoize: typeof import('reselect').weakMapMemoize;
|
|
141
|
+
}];
|
|
142
|
+
recomputations: () => number;
|
|
143
|
+
resetRecomputations: () => void;
|
|
144
|
+
dependencyRecomputations: () => number;
|
|
145
|
+
resetDependencyRecomputations: () => void;
|
|
146
|
+
} & {
|
|
147
|
+
argsMemoize: typeof import('reselect').weakMapMemoize;
|
|
148
|
+
memoize: typeof import('reselect').weakMapMemoize;
|
|
149
|
+
};
|
|
150
|
+
export declare const getCartItemById: (assetId: string) => ((state: {
|
|
151
|
+
swatches: import('../../swatches/model/types').ISwatchesSlice;
|
|
152
|
+
cart: import('./types').CartState;
|
|
153
|
+
multiProductCart: import('../../MultiProduct/model/types').IMultiProductState;
|
|
154
|
+
}) => import('./types').ICartItem | undefined) & {
|
|
155
|
+
clearCache: () => void;
|
|
156
|
+
resultsCount: () => number;
|
|
157
|
+
resetResultsCount: () => void;
|
|
158
|
+
} & {
|
|
159
|
+
resultFunc: (resultFuncArgs_0: import('./types').ICartItem[]) => import('./types').ICartItem | undefined;
|
|
160
|
+
memoizedResultFunc: ((resultFuncArgs_0: import('./types').ICartItem[]) => import('./types').ICartItem | undefined) & {
|
|
161
|
+
clearCache: () => void;
|
|
162
|
+
resultsCount: () => number;
|
|
163
|
+
resetResultsCount: () => void;
|
|
164
|
+
};
|
|
165
|
+
lastResult: () => import('./types').ICartItem | undefined;
|
|
166
|
+
dependencies: [(state: RootState) => import('./types').ICartItem[]];
|
|
167
|
+
recomputations: () => number;
|
|
168
|
+
resetRecomputations: () => void;
|
|
169
|
+
dependencyRecomputations: () => number;
|
|
170
|
+
resetDependencyRecomputations: () => void;
|
|
171
|
+
} & {
|
|
172
|
+
argsMemoize: typeof import('reselect').weakMapMemoize;
|
|
173
|
+
memoize: typeof import('reselect').weakMapMemoize;
|
|
174
|
+
};
|
|
175
|
+
export declare const getCartItemCountById: (id: string) => ((state: {
|
|
176
|
+
swatches: import('../../swatches/model/types').ISwatchesSlice;
|
|
177
|
+
cart: import('./types').CartState;
|
|
178
|
+
multiProductCart: import('../../MultiProduct/model/types').IMultiProductState;
|
|
179
|
+
}) => number) & {
|
|
180
|
+
clearCache: () => void;
|
|
181
|
+
resultsCount: () => number;
|
|
182
|
+
resetResultsCount: () => void;
|
|
183
|
+
} & {
|
|
184
|
+
resultFunc: (resultFuncArgs_0: import('./types').ICartItem | undefined) => number;
|
|
185
|
+
memoizedResultFunc: ((resultFuncArgs_0: import('./types').ICartItem | undefined) => number) & {
|
|
186
|
+
clearCache: () => void;
|
|
187
|
+
resultsCount: () => number;
|
|
188
|
+
resetResultsCount: () => void;
|
|
189
|
+
};
|
|
190
|
+
lastResult: () => number;
|
|
191
|
+
dependencies: [((state: {
|
|
192
|
+
swatches: import('../../swatches/model/types').ISwatchesSlice;
|
|
193
|
+
cart: import('./types').CartState;
|
|
194
|
+
multiProductCart: import('../../MultiProduct/model/types').IMultiProductState;
|
|
195
|
+
}) => import('./types').ICartItem | undefined) & {
|
|
196
|
+
clearCache: () => void;
|
|
197
|
+
resultsCount: () => number;
|
|
198
|
+
resetResultsCount: () => void;
|
|
199
|
+
} & {
|
|
200
|
+
resultFunc: (resultFuncArgs_0: import('./types').ICartItem[]) => import('./types').ICartItem | undefined;
|
|
201
|
+
memoizedResultFunc: ((resultFuncArgs_0: import('./types').ICartItem[]) => import('./types').ICartItem | undefined) & {
|
|
202
|
+
clearCache: () => void;
|
|
203
|
+
resultsCount: () => number;
|
|
204
|
+
resetResultsCount: () => void;
|
|
205
|
+
};
|
|
206
|
+
lastResult: () => import('./types').ICartItem | undefined;
|
|
207
|
+
dependencies: [(state: RootState) => import('./types').ICartItem[]];
|
|
208
|
+
recomputations: () => number;
|
|
209
|
+
resetRecomputations: () => void;
|
|
210
|
+
dependencyRecomputations: () => number;
|
|
211
|
+
resetDependencyRecomputations: () => void;
|
|
212
|
+
} & {
|
|
213
|
+
argsMemoize: typeof import('reselect').weakMapMemoize;
|
|
214
|
+
memoize: typeof import('reselect').weakMapMemoize;
|
|
215
|
+
}];
|
|
216
|
+
recomputations: () => number;
|
|
217
|
+
resetRecomputations: () => void;
|
|
218
|
+
dependencyRecomputations: () => number;
|
|
219
|
+
resetDependencyRecomputations: () => void;
|
|
220
|
+
} & {
|
|
221
|
+
argsMemoize: typeof import('reselect').weakMapMemoize;
|
|
222
|
+
memoize: typeof import('reselect').weakMapMemoize;
|
|
223
|
+
};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { EActiveTab } from '../../../../shared/types/activeTab';
|
|
2
|
+
interface ICartHeaderProps {
|
|
3
|
+
onSetActiveTab?: (arg: EActiveTab) => void;
|
|
4
|
+
onToggleSidebar: () => void;
|
|
5
|
+
}
|
|
6
|
+
export declare const CartHeader: ({ onSetActiveTab, onToggleSidebar, }: ICartHeaderProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CartList: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ICartItem } from '../../model/types';
|
|
2
|
+
interface ICartListItemProps {
|
|
3
|
+
item: ICartItem;
|
|
4
|
+
canInc: boolean;
|
|
5
|
+
onDelete: () => void;
|
|
6
|
+
onIncrement: () => void;
|
|
7
|
+
onDecrement: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare const CartListItem: ({ item, canInc, onDelete, onIncrement, onDecrement, }: ICartListItemProps) => import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { EActiveTab } from '../../../../shared/types/activeTab';
|
|
2
|
+
interface ICartWrapperProps {
|
|
3
|
+
isOpen: boolean;
|
|
4
|
+
onSetActiveTab: (activeTab: EActiveTab) => void;
|
|
5
|
+
onToggleSidebar: () => void;
|
|
6
|
+
onSendData: (data: any[]) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const CartWrapper: ({ isOpen, onToggleSidebar, onSetActiveTab, onSendData, }: ICartWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface ICounterProps {
|
|
2
|
+
value: number;
|
|
3
|
+
canIncrement: boolean;
|
|
4
|
+
onIncrement: () => void;
|
|
5
|
+
onDecrement: () => void;
|
|
6
|
+
onDelete: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare const Counter: ({ value, canIncrement, onIncrement, onDecrement, onDelete, }: ICounterProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { IFetchProductData } from '../../../shared/types/fetchData';
|
|
2
|
+
import { IAttributeAsset, ISection } from '../../swatches/model/types';
|
|
3
|
+
import { EDataInputType, IMapUIData } from '../utils/types';
|
|
4
|
+
export declare class DataAdapterServices {
|
|
5
|
+
static getTransformedData({ dataType, data, }: {
|
|
6
|
+
dataType: EDataInputType;
|
|
7
|
+
data: IFetchProductData | any;
|
|
8
|
+
}): any;
|
|
9
|
+
static getGroupingValue(attributes: any[]): any;
|
|
10
|
+
static getAllMaterialValuesKeys(attributes: ISection[]): string[] | undefined;
|
|
11
|
+
static getAllMaterialOptions(attributes: IAttributeAsset[]): IMapUIData | undefined;
|
|
12
|
+
static getMapUIData(data: IAttributeAsset[]): IMapUIData | undefined;
|
|
13
|
+
static getTransformedFetchProductData(data: IFetchProductData): any;
|
|
14
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { AttributeValue } from '../../swatches/model/types';
|
|
2
|
+
export declare const EDataInputType: {
|
|
3
|
+
readonly UI: "UI";
|
|
4
|
+
readonly FETCH_DATA_PRODUCT: "FETCH_DATA_PRODUCT";
|
|
5
|
+
readonly FETCH_DATA_ALL: "FETCH_DATA_ALL";
|
|
6
|
+
};
|
|
7
|
+
export type EDataInputType = (typeof EDataInputType)[keyof typeof EDataInputType];
|
|
8
|
+
export interface IMapUIData {
|
|
9
|
+
allMaterialValues: AttributeValue[];
|
|
10
|
+
productElementOptions: any[];
|
|
11
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { AttributeValue } from '../../swatches/model/types';
|
|
2
|
+
import { ICartItem, IProductListItem, ISliderItem } from '../model/types';
|
|
3
|
+
export declare class MultiProductCartService {
|
|
4
|
+
static getCartTotalCount({ cartItems }: {
|
|
5
|
+
cartItems: ICartItem[];
|
|
6
|
+
}): number;
|
|
7
|
+
static getUniqueCategories(productList: IProductListItem[]): ISliderItem[];
|
|
8
|
+
static getCartPreparedOption(selectedMaterials: AttributeValue[], cartData: {
|
|
9
|
+
productId: number;
|
|
10
|
+
name: string;
|
|
11
|
+
items: ICartItem[];
|
|
12
|
+
}[]): ICartItem[];
|
|
13
|
+
}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { IFetchProductData } from '../../../../shared/types/fetchData';
|
|
2
|
+
import { IGetProductParameters, IProductListResponse } from '../types';
|
|
3
|
+
export declare const getProductListAPI: () => Promise<IProductListResponse>;
|
|
4
|
+
export declare const getSelectedProductAPI: ({ assetId, }: IGetProductParameters) => Promise<IFetchProductData>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IMultiProductState, IMultiCartProductItem, IProductCart } from './types';
|
|
2
|
+
type Key = {
|
|
3
|
+
assetId: string;
|
|
4
|
+
label: string;
|
|
5
|
+
parentName: string;
|
|
6
|
+
};
|
|
7
|
+
export declare const setCartForProduct: import('@reduxjs/toolkit').ActionCreatorWithPayload<IProductCart, "multiProduct/setCartForProduct">, setMultiCartItems: import('@reduxjs/toolkit').ActionCreatorWithPayload<IMultiCartProductItem, "multiProduct/setMultiCartItems">, incrementMultiProductItem: import('@reduxjs/toolkit').ActionCreatorWithPayload<Key, "multiProduct/incrementMultiProductItem">, decrementMultiProductItem: import('@reduxjs/toolkit').ActionCreatorWithPayload<Key, "multiProduct/decrementMultiProductItem">, removeMultiProductItem: import('@reduxjs/toolkit').ActionCreatorWithPayload<Key, "multiProduct/removeMultiProductItem">, clear: import('@reduxjs/toolkit').ActionCreatorWithoutPayload<"multiProduct/clear">, setActiveMultiCartProduct: import('@reduxjs/toolkit').ActionCreatorWithPayload<IProductCart, "multiProduct/setActiveMultiCartProduct">;
|
|
8
|
+
export declare const multiProductCartReducer: import('redux').Reducer<IMultiProductState>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { RootState } from '../../../app/store/rootReducer';
|
|
2
|
+
import { ICartItem, IProductCart } from './types';
|
|
3
|
+
export declare const getMultiCartItems: (state: RootState) => IProductCart[];
|
|
4
|
+
export declare const getMultiSelectedMaterials: (assetId: string) => ((state: {
|
|
5
|
+
swatches: import('../../swatches/model/types').ISwatchesSlice;
|
|
6
|
+
cart: import('../../Cart/model/types').CartState;
|
|
7
|
+
multiProductCart: import('./types').IMultiProductState;
|
|
8
|
+
}) => ICartItem[]) & {
|
|
9
|
+
clearCache: () => void;
|
|
10
|
+
resultsCount: () => number;
|
|
11
|
+
resetResultsCount: () => void;
|
|
12
|
+
} & {
|
|
13
|
+
resultFunc: (resultFuncArgs_0: {
|
|
14
|
+
items: IProductCart[];
|
|
15
|
+
}) => ICartItem[];
|
|
16
|
+
memoizedResultFunc: ((resultFuncArgs_0: {
|
|
17
|
+
items: IProductCart[];
|
|
18
|
+
}) => ICartItem[]) & {
|
|
19
|
+
clearCache: () => void;
|
|
20
|
+
resultsCount: () => number;
|
|
21
|
+
resetResultsCount: () => void;
|
|
22
|
+
};
|
|
23
|
+
lastResult: () => ICartItem[];
|
|
24
|
+
dependencies: [(state: RootState) => {
|
|
25
|
+
items: IProductCart[];
|
|
26
|
+
}];
|
|
27
|
+
recomputations: () => number;
|
|
28
|
+
resetRecomputations: () => void;
|
|
29
|
+
dependencyRecomputations: () => number;
|
|
30
|
+
resetDependencyRecomputations: () => void;
|
|
31
|
+
} & {
|
|
32
|
+
argsMemoize: typeof import('reselect').weakMapMemoize;
|
|
33
|
+
memoize: typeof import('reselect').weakMapMemoize;
|
|
34
|
+
};
|
|
35
|
+
export declare const getActiveMultiCartProduct: (state: RootState) => IProductCart | null;
|
|
36
|
+
export declare const getProductLIst: (state: RootState) => import('./types').IProductListItem[];
|
|
37
|
+
export declare const getIsLoadingProductList: (state: RootState) => boolean;
|
|
38
|
+
export declare const getSelectedProduct: (state: RootState) => import('./types').IProductListItem | null;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IProductListResponse } from './types';
|
|
2
|
+
export declare const getProductListThunk: import('@reduxjs/toolkit').AsyncThunk<IProductListResponse, void, {
|
|
3
|
+
rejectValue: string;
|
|
4
|
+
state?: unknown;
|
|
5
|
+
dispatch?: import('redux-thunk').ThunkDispatch<unknown, unknown, import('redux').UnknownAction> | undefined;
|
|
6
|
+
extra?: unknown;
|
|
7
|
+
serializedErrorType?: unknown;
|
|
8
|
+
pendingMeta?: unknown;
|
|
9
|
+
fulfilledMeta?: unknown;
|
|
10
|
+
rejectedMeta?: unknown;
|
|
11
|
+
}>;
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { AttributeValue } from '../../swatches/model/types';
|
|
2
|
+
export interface IMultiProductState {
|
|
3
|
+
items: IProductCart[];
|
|
4
|
+
activeMultiCartProduct: IProductCart | null;
|
|
5
|
+
productList: IProductListItem[];
|
|
6
|
+
selectedProduct: IProductListItem | null;
|
|
7
|
+
isLoadingProductList: boolean;
|
|
8
|
+
totalCount: number;
|
|
9
|
+
}
|
|
10
|
+
export interface ICartItem extends AttributeValue {
|
|
11
|
+
count: number;
|
|
12
|
+
}
|
|
13
|
+
export interface IProductCart {
|
|
14
|
+
items: ICartItem[];
|
|
15
|
+
value?: string;
|
|
16
|
+
name: string;
|
|
17
|
+
assetId?: string;
|
|
18
|
+
productId?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface ISliderItem {
|
|
21
|
+
items: ICartItem[];
|
|
22
|
+
value: string;
|
|
23
|
+
name: string;
|
|
24
|
+
productId: number;
|
|
25
|
+
assetId?: string;
|
|
26
|
+
}
|
|
27
|
+
export interface IGetProductParameters {
|
|
28
|
+
assetId: string;
|
|
29
|
+
}
|
|
30
|
+
export interface ISingleSelectOption {
|
|
31
|
+
value: string;
|
|
32
|
+
label: string;
|
|
33
|
+
}
|
|
34
|
+
export interface IMultiCartProductItem {
|
|
35
|
+
assetId: string;
|
|
36
|
+
items: ICartItem[];
|
|
37
|
+
name: string;
|
|
38
|
+
}
|
|
39
|
+
export interface IMultiProductCartHandleProps {
|
|
40
|
+
item: ICartItem;
|
|
41
|
+
assetId: string;
|
|
42
|
+
}
|
|
43
|
+
export interface IProductListResponse {
|
|
44
|
+
count: number;
|
|
45
|
+
rows: IProductListItem[];
|
|
46
|
+
}
|
|
47
|
+
export interface IProductListItem {
|
|
48
|
+
id: number;
|
|
49
|
+
collection: string;
|
|
50
|
+
name: string;
|
|
51
|
+
assetId: string;
|
|
52
|
+
img: string;
|
|
53
|
+
hash: string;
|
|
54
|
+
createdAt: string;
|
|
55
|
+
updatedAt: string;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* This interface extends the base AttributeValue and add a new property productName
|
|
59
|
+
*
|
|
60
|
+
*/
|
|
61
|
+
export interface ISwatchSelectedMaterial extends AttributeValue {
|
|
62
|
+
productName?: string;
|
|
63
|
+
}
|
package/dist/cdn/src/features/MultiProduct/ui/CartSelectedProductList/CartSelectedProductList.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const CartSelectedProductList: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const FiltersSelectedProductItem: () => import("react/jsx-runtime").JSX.Element;
|
package/dist/cdn/src/features/MultiProduct/ui/MaterialMultiProductList/MaterialMultiProductList.d.ts
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
interface IMaterialListProps {
|
|
2
|
+
/** Tailwind / className for the scroll container */
|
|
3
|
+
containerStyles?: string;
|
|
4
|
+
/** Tailwind / className for the grid wrapper */
|
|
5
|
+
gridStyles?: string;
|
|
6
|
+
/** Number of columns on ≥ sm screens */
|
|
7
|
+
desktopColumnsCount?: number;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Renders a virtualized grid of materials for the multi-product cart.
|
|
11
|
+
*
|
|
12
|
+
* Features:
|
|
13
|
+
* - Uses filters from the store (Finish, Color, Look) to derive `filteredItems`.
|
|
14
|
+
* - Uses TanStack Virtual to render only visible rows for performance.
|
|
15
|
+
* - Supports responsive column count (1 on mobile, `desktopColumnsCount` on sm+).
|
|
16
|
+
* - Enforces a global swatch limit (5 items across all products) and shows
|
|
17
|
+
* `SwatchLimitModal` when the limit is exceeded.
|
|
18
|
+
*
|
|
19
|
+
* Selection logic:
|
|
20
|
+
* - Clicking a material toggles it for the active product:
|
|
21
|
+
* - If it already exists, it’s removed from the combined `allItems` list.
|
|
22
|
+
* - If it does not exist and the limit is not reached, it’s added with `count: 1`.
|
|
23
|
+
* - Keeps `setMultiCartItems` and `setActiveMultiCartProduct` in sync.
|
|
24
|
+
*
|
|
25
|
+
* Virtualization:
|
|
26
|
+
* - Computes rows from `filteredItems` based on column count.
|
|
27
|
+
* - Uses padding (`padTop` / `padBottom`) to emulate full scroll height.
|
|
28
|
+
* - Measures the last item in each row for accurate row height.
|
|
29
|
+
*
|
|
30
|
+
* @component
|
|
31
|
+
*
|
|
32
|
+
* @param {string} [containerStyles]
|
|
33
|
+
* Optional classes for the scroll container.
|
|
34
|
+
*
|
|
35
|
+
* @param {string} [gridStyles]
|
|
36
|
+
* Optional classes for the grid container.
|
|
37
|
+
*
|
|
38
|
+
* @param {number} [desktopColumnsCount=3]
|
|
39
|
+
* Number of columns on desktop / sm+ breakpoints.
|
|
40
|
+
*/
|
|
41
|
+
export declare const MaterialMultiProductList: ({ containerStyles, gridStyles, desktopColumnsCount, }: IMaterialListProps) => import("react/jsx-runtime").JSX.Element;
|
|
42
|
+
export {};
|