@crystaldesign/widget-library 26.11.0-beta.3 → 26.11.0-beta.30
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 +40 -8
- package/build/types/widget-library/src/components/Gallery/index.d.ts.map +1 -1
- package/build/types/widget-library/src/components/Gallery/types.d.ts +2 -0
- package/build/types/widget-library/src/components/Gallery/types.d.ts.map +1 -1
- package/build/types/widget-library/src/components/Gallery/useGallery.d.ts +1 -1
- package/build/types/widget-library/src/components/Gallery/useGallery.d.ts.map +1 -1
- package/build/types/widget-library/src/tests/components/Gallery/useGallery.test.d.ts +2 -0
- package/build/types/widget-library/src/tests/components/Gallery/useGallery.test.d.ts.map +1 -0
- package/package.json +3 -2
package/build/esm/index.js
CHANGED
|
@@ -823,7 +823,8 @@ function useGallery(_ref) {
|
|
|
823
823
|
add3DImageAsFallback = _ref$config.add3DImageAsFallback,
|
|
824
824
|
currentProductId = _ref.currentProductId,
|
|
825
825
|
setCurrentProductId = _ref.setCurrentProductId,
|
|
826
|
-
disableAnimation = _ref.disableAnimation
|
|
826
|
+
disableAnimation = _ref.disableAnimation,
|
|
827
|
+
initialRenderJobId = _ref.initialRenderJobId;
|
|
827
828
|
var _useDivaCore = useDivaCore(),
|
|
828
829
|
baseSirvUrls = _useDivaCore.state.apiConfig.baseSirvUrls;
|
|
829
830
|
var _useState = useState(null),
|
|
@@ -834,7 +835,18 @@ function useGallery(_ref) {
|
|
|
834
835
|
_useState4 = _slicedToArray(_useState3, 2),
|
|
835
836
|
swiper = _useState4[0],
|
|
836
837
|
setSwiper = _useState4[1];
|
|
837
|
-
var
|
|
838
|
+
var medias = useMedia({
|
|
839
|
+
products: products,
|
|
840
|
+
functionTypes: functionTypes,
|
|
841
|
+
add2DImage: add2DImage,
|
|
842
|
+
add3DImageAsFallback: add3DImageAsFallback
|
|
843
|
+
});
|
|
844
|
+
var _useState5 = useState(function () {
|
|
845
|
+
var index = initialRenderJobId ? medias.findIndex(function (media) {
|
|
846
|
+
return media.renderJob === initialRenderJobId;
|
|
847
|
+
}) : -1;
|
|
848
|
+
return index === -1 ? 0 : index;
|
|
849
|
+
}),
|
|
838
850
|
_useState6 = _slicedToArray(_useState5, 2),
|
|
839
851
|
currentMediaIndex = _useState6[0],
|
|
840
852
|
setCurrentMediaIndex = _useState6[1];
|
|
@@ -842,12 +854,30 @@ function useGallery(_ref) {
|
|
|
842
854
|
_useState8 = _slicedToArray(_useState7, 2),
|
|
843
855
|
swiperIsInitialized = _useState8[0],
|
|
844
856
|
setSwiperIsInitialized = _useState8[1];
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
857
|
+
|
|
858
|
+
// Re-sync currentMediaIndex to the media matching initialRenderJobId whenever medias or
|
|
859
|
+
// initialRenderJobId change, including the empty-to-populated transition (the initial useState
|
|
860
|
+
// above only runs once and can't find a match if medias hasn't loaded yet).
|
|
861
|
+
useEffect(function () {
|
|
862
|
+
if (!initialRenderJobId) return;
|
|
863
|
+
var mediaIndex = medias.findIndex(function (media) {
|
|
864
|
+
return media.renderJob === initialRenderJobId;
|
|
865
|
+
});
|
|
866
|
+
if (mediaIndex === -1) return;
|
|
867
|
+
if (mediaIndex !== currentMediaIndex) {
|
|
868
|
+
setCurrentMediaIndex(mediaIndex);
|
|
869
|
+
}
|
|
870
|
+
[swiper, thumbsSwiper].forEach(function (swiperInstance) {
|
|
871
|
+
if (swiperInstance && swiperInstance.realIndex !== mediaIndex) {
|
|
872
|
+
var _swiperInstance$param;
|
|
873
|
+
if ((_swiperInstance$param = swiperInstance.params) !== null && _swiperInstance$param !== void 0 && _swiperInstance$param.loop) {
|
|
874
|
+
swiperInstance.slideToLoop(mediaIndex, 0);
|
|
875
|
+
} else {
|
|
876
|
+
swiperInstance.slideTo(mediaIndex, 0);
|
|
877
|
+
}
|
|
878
|
+
}
|
|
879
|
+
});
|
|
880
|
+
}, [medias, initialRenderJobId, swiper, thumbsSwiper]);
|
|
851
881
|
|
|
852
882
|
// Update currentMediaIndex when currentProductIndex changes from outside
|
|
853
883
|
useEffect(function () {
|
|
@@ -1441,6 +1471,7 @@ var Gallery = function Gallery(props) {
|
|
|
1441
1471
|
className: classNames('gallery-main', props.nestedSwiper ? 'gallery-main-popup-swiper' : ''),
|
|
1442
1472
|
speed: props.disableAnimation ? 0 : 500
|
|
1443
1473
|
}, props.config.sliderProp), {}, {
|
|
1474
|
+
initialSlide: currentIndex,
|
|
1444
1475
|
loop: true,
|
|
1445
1476
|
children: medias.map(function (media, i) {
|
|
1446
1477
|
return /*#__PURE__*/jsx(SwiperSlide, {
|
|
@@ -1463,6 +1494,7 @@ var Gallery = function Gallery(props) {
|
|
|
1463
1494
|
modules: [Navigation, Thumbs],
|
|
1464
1495
|
className: "gallery-thumb"
|
|
1465
1496
|
}, props.config.thumbSliderProp), {}, {
|
|
1497
|
+
initialSlide: currentIndex,
|
|
1466
1498
|
children: medias.map(function (media, i) {
|
|
1467
1499
|
var _media$url;
|
|
1468
1500
|
return /*#__PURE__*/jsx(SwiperSlide, {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Gallery/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AASvC,cAAc,SAAS,CAAC;AAKxB,eAAO,MAAM,OAAO,UAAW,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Gallery/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AASvC,cAAc,SAAS,CAAC;AAKxB,eAAO,MAAM,OAAO,UAAW,YAAY,sBAgE1C,CAAC"}
|
|
@@ -26,6 +26,8 @@ export interface GalleryProps {
|
|
|
26
26
|
disableAnimation?: boolean;
|
|
27
27
|
setCurrentMedia?: (m: MediaWithProductIndex) => void;
|
|
28
28
|
nestedSwiper?: boolean;
|
|
29
|
+
/** Id of the render job whose media item to open on, instead of the first one. Falls back to the first item if no media matches. */
|
|
30
|
+
initialRenderJobId?: string;
|
|
29
31
|
}
|
|
30
32
|
export interface MediaWithProductIndex extends Media {
|
|
31
33
|
productIndex: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Gallery/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,aAAc,SAAQ,iBAAiB,EAAE,eAAe;IACvE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Gallery/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,MAAM,WAAW,aAAc,SAAQ,iBAAiB,EAAE,eAAe;IACvE,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,WAAW,CAAC;IACzB,eAAe,CAAC,EAAE,WAAW,CAAC;IAC9B,WAAW,CAAC,EAAE,kBAAkB,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED,MAAM,WAAW,kBAAmB,SAAQ,iBAAiB;IAC3D,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,aAAa,CAAC;IACtB,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,mBAAmB,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,CAAC,CAAC,EAAE,qBAAqB,KAAK,IAAI,CAAC;IACrD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,oIAAoI;IACpI,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,qBAAsB,SAAQ,KAAK;IAClD,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { GalleryProps, MediaWithProductIndex } from './types';
|
|
2
2
|
import { SwiperClass } from 'swiper/react';
|
|
3
|
-
export default function useGallery({ products, config: { functionTypes, add2DImage, add3DImageAsFallback }, currentProductId, setCurrentProductId, disableAnimation, }: GalleryProps): {
|
|
3
|
+
export default function useGallery({ products, config: { functionTypes, add2DImage, add3DImageAsFallback }, currentProductId, setCurrentProductId, disableAnimation, initialRenderJobId, }: GalleryProps): {
|
|
4
4
|
medias: MediaWithProductIndex[];
|
|
5
5
|
sirvLoaded: boolean;
|
|
6
6
|
thumbsSwiper: SwiperClass | null;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useGallery.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Gallery/useGallery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAI9D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,EACR,MAAM,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAC3D,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"useGallery.d.ts","sourceRoot":"","sources":["../../../../../../src/components/Gallery/useGallery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAI9D,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE3C,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,EACR,MAAM,EAAE,EAAE,aAAa,EAAE,UAAU,EAAE,oBAAoB,EAAE,EAC3D,gBAAgB,EAChB,mBAAmB,EACnB,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,YAAY;;;;;;;;4BA+EkB,WAAW;uCAoBA,GAAG;EA8B9C"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useGallery.test.d.ts","sourceRoot":"","sources":["../../../../../../../src/tests/components/Gallery/useGallery.test.ts"],"names":[],"mappings":""}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crystaldesign/widget-library",
|
|
3
|
-
"version": "26.11.0-beta.
|
|
3
|
+
"version": "26.11.0-beta.30",
|
|
4
|
+
"description": "Shared infrastructure for the embeddable widgets: components, hooks, types and utils.",
|
|
4
5
|
"license": "MIT",
|
|
5
6
|
"scripts": {
|
|
6
7
|
"storybook": "storybook dev -p 6006",
|
|
@@ -35,5 +36,5 @@
|
|
|
35
36
|
"suiteName": "widget-library",
|
|
36
37
|
"outputDirectory": "./test-reports"
|
|
37
38
|
},
|
|
38
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "0f17b060ab8f4ca1d352c74be15ead945a89fd6c"
|
|
39
40
|
}
|