@crystaldesign/widget-inspiration-slider 25.7.5 → 25.8.0-beta.10
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/build/esm/index.js +19 -18
- package/build/types/widget-inspiration-slider/src/useInspirationSlider.d.ts +1 -1
- package/build/types/widget-inspiration-slider/src/useInspirationSlider.d.ts.map +1 -1
- package/build/umd/report.html +1 -1
- package/build/umd/widget-inspiration-slider.umd.min.js +1 -1
- package/package.json +3 -3
package/build/esm/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import _defineProperty from '@babel/runtime/helpers/defineProperty';
|
|
2
|
-
import React, {
|
|
2
|
+
import React, { useMemo, useCallback, useState, useEffect } from 'react';
|
|
3
3
|
import { useCss, useProductData, replaceActions, replaceTemplatesInObject, Gallery, ActionGroup, Action, TextBlock, Text, useConfiguration } from '@crystaldesign/widget-library';
|
|
4
4
|
import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
5
5
|
import { useDivaCore, useTranslation, getLogger, DivaError } from '@crystaldesign/diva-core';
|
|
@@ -27,16 +27,21 @@ function useInspirationSlider(_ref) {
|
|
|
27
27
|
settings = _ref.settings;
|
|
28
28
|
useCss(settings);
|
|
29
29
|
var _useProductData = useProductData({
|
|
30
|
-
productIds: productIds
|
|
30
|
+
productIds: productIds,
|
|
31
|
+
widgetType: 'INSPIRATIONSLIDER'
|
|
31
32
|
}),
|
|
32
33
|
productVariants = _useProductData.productVariants,
|
|
33
34
|
error = _useProductData.error,
|
|
34
|
-
loading = _useProductData.loading
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
35
|
+
loading = _useProductData.loading,
|
|
36
|
+
selectedProduct = _useProductData.selectedProduct,
|
|
37
|
+
setSelectedProductId = _useProductData.setSelectedProductId;
|
|
38
|
+
var selectedProductIndex = selectedProduct ? productVariants.findIndex(function (p) {
|
|
39
|
+
return p._id === (selectedProduct === null || selectedProduct === void 0 ? void 0 : selectedProduct._id);
|
|
40
|
+
}) : 0;
|
|
41
|
+
var parsedSettings = useParsedContent(settings, productVariants, selectedProduct);
|
|
42
|
+
var setSelectedProductIndex = useCallback(function (index) {
|
|
43
|
+
setSelectedProductId(productVariants[index]._id);
|
|
44
|
+
}, [productVariants, setSelectedProductId]);
|
|
40
45
|
return {
|
|
41
46
|
productVariants: productVariants,
|
|
42
47
|
error: error,
|
|
@@ -46,24 +51,20 @@ function useInspirationSlider(_ref) {
|
|
|
46
51
|
setSelectedProductIndex: setSelectedProductIndex
|
|
47
52
|
};
|
|
48
53
|
}
|
|
49
|
-
function useParsedContent(settings, productVariants,
|
|
54
|
+
function useParsedContent(settings, productVariants, selectedProduct) {
|
|
50
55
|
var _useDivaCore = useDivaCore(),
|
|
51
|
-
_useDivaCore$
|
|
52
|
-
_useDivaCore$state$di.isMobile;
|
|
53
|
-
_useDivaCore$state$di.isPortrait;
|
|
54
|
-
var _useDivaCore$actions = _useDivaCore.actions,
|
|
56
|
+
_useDivaCore$actions = _useDivaCore.actions,
|
|
55
57
|
onEvent = _useDivaCore$actions.onEvent,
|
|
56
58
|
openComponent = _useDivaCore$actions.openComponent;
|
|
57
59
|
var _useTranslation = useTranslation(),
|
|
58
60
|
i18n = _useTranslation.i18n;
|
|
59
61
|
return useMemo(function () {
|
|
60
|
-
if (!productVariants || productVariants.length === 0 ||
|
|
61
|
-
var selectedProduct = productVariants[selectedProductIndex];
|
|
62
|
+
if (!productVariants || productVariants.length === 0 || !selectedProduct) return settings;
|
|
62
63
|
var clonedContent = cloneDeep(settings);
|
|
63
64
|
var withActionsContent = replaceActions(clonedContent, productVariants, selectedProduct, i18n.language, openComponent, onEvent);
|
|
64
65
|
var pureContent = replaceTemplatesInObject(withActionsContent, selectedProduct, i18n.language);
|
|
65
66
|
return pureContent;
|
|
66
|
-
}, [settings, productVariants,
|
|
67
|
+
}, [settings, productVariants, selectedProduct, i18n.language]);
|
|
67
68
|
}
|
|
68
69
|
|
|
69
70
|
function styleInject(css, ref) {
|
|
@@ -569,7 +570,7 @@ function Popup(_ref) {
|
|
|
569
570
|
}
|
|
570
571
|
|
|
571
572
|
function MainComponent(props) {
|
|
572
|
-
var _settings$callToActio, _settings$texts;
|
|
573
|
+
var _settings$callToActio, _settings$texts, _productVariants$sele;
|
|
573
574
|
var _React$useState = React.useState(false),
|
|
574
575
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
575
576
|
disableAnimation = _React$useState2[0],
|
|
@@ -618,7 +619,7 @@ function MainComponent(props) {
|
|
|
618
619
|
return /*#__PURE__*/jsx(TextSection, {
|
|
619
620
|
config: text
|
|
620
621
|
}, index);
|
|
621
|
-
}), settings.popup && /*#__PURE__*/jsx(Popup, {
|
|
622
|
+
}), settings.popup && ((_productVariants$sele = productVariants[selectedProductIndex]) === null || _productVariants$sele === void 0 ? void 0 : _productVariants$sele._id) && /*#__PURE__*/jsx(Popup, {
|
|
622
623
|
config: settings.popup,
|
|
623
624
|
productData: productVariants,
|
|
624
625
|
productId: productVariants[selectedProductIndex]._id,
|
|
@@ -6,6 +6,6 @@ export declare function useInspirationSlider({ productIds, settings }: Inspirati
|
|
|
6
6
|
loading: boolean;
|
|
7
7
|
settings: Configuration;
|
|
8
8
|
selectedProductIndex: number;
|
|
9
|
-
setSelectedProductIndex:
|
|
9
|
+
setSelectedProductIndex: (index: number) => void;
|
|
10
10
|
};
|
|
11
11
|
//# sourceMappingURL=useInspirationSlider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useInspirationSlider.d.ts","sourceRoot":"","sources":["../../../../src/useInspirationSlider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEhE,OAAO,EAAE,WAAW,EAA+B,MAAM,0BAA0B,CAAC;AAIpF,wBAAgB,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,sBAAsB
|
|
1
|
+
{"version":3,"file":"useInspirationSlider.d.ts","sourceRoot":"","sources":["../../../../src/useInspirationSlider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEhE,OAAO,EAAE,WAAW,EAA+B,MAAM,0BAA0B,CAAC;AAIpF,wBAAgB,oBAAoB,CAAC,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE,sBAAsB;;;;;;qCAOzE,MAAM;EAcjB"}
|