@crystaldesign/product-gallery 24.2.2-beta.2 → 24.2.2-rc.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.
@@ -1,5 +1,8 @@
1
1
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
2
+ import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
2
3
  import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
4
+ import _regeneratorRuntime from '@babel/runtime/regenerator';
5
+ import { debounce } from 'lodash';
3
6
  import classNames from 'classnames';
4
7
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
5
8
  import { useState, useEffect, useRef, useCallback } from 'react';
@@ -118,7 +121,6 @@ styleInject(css_248z);
118
121
  function ownKeys$1(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
119
122
  function _objectSpread$1(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys$1(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
120
123
  var Gallery = function Gallery(_ref) {
121
- var _scroller$current;
122
124
  var parameters = _ref.parameters,
123
125
  _ref$filterObject = _ref.filterObject,
124
126
  filterObject = _ref$filterObject === void 0 ? [] : _ref$filterObject,
@@ -141,17 +143,37 @@ var Gallery = function Gallery(_ref) {
141
143
  height = _useDivaCore$state$di.height,
142
144
  isPortrait = _useDivaCore$state$di.isPortrait;
143
145
  var portalHeaderHeight = HeaderElement === null || HeaderElement === void 0 ? void 0 : HeaderElement.getBoundingClientRect().height;
146
+ var productState = useProductState(parameters);
144
147
  var filterHidden = filterObject.length === 0;
145
148
  var headerHidden = Object.keys(imageContents !== null && imageContents !== void 0 ? imageContents : {}).length === 0;
146
149
  var isMobileLandscape = isMobile && !isPortrait && height < 500;
147
150
  var scroller = useRef(null);
148
- var productState = useProductState({
149
- parameters: parameters,
150
- sort: '{-created}',
151
- noFilter: filterHidden,
152
- forcedFilter: 'livingArea',
153
- scroller: (_scroller$current = scroller.current) !== null && _scroller$current !== void 0 ? _scroller$current : undefined
154
- });
151
+ var _useState3 = useState(),
152
+ _useState4 = _slicedToArray(_useState3, 2),
153
+ scroll = _useState4[0],
154
+ setScroll = _useState4[1];
155
+ var debouncedScroll = useCallback(debounce( /*#__PURE__*/function () {
156
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime.mark(function _callee(e) {
157
+ var _e$target$getBounding, _e$target;
158
+ return _regeneratorRuntime.wrap(function _callee$(_context) {
159
+ while (1) switch (_context.prev = _context.next) {
160
+ case 0:
161
+ setScroll({
162
+ scrollTop: e.target.scrollTop,
163
+ scrollHeight: e.target.scrollHeight,
164
+ clientHeight: e.target.clientHeight,
165
+ clientOffset: (_e$target$getBounding = (_e$target = e.target).getBoundingClientRect) === null || _e$target$getBounding === void 0 ? void 0 : _e$target$getBounding.call(_e$target).y
166
+ });
167
+ case 1:
168
+ case "end":
169
+ return _context.stop();
170
+ }
171
+ }, _callee);
172
+ }));
173
+ return function (_x) {
174
+ return _ref2.apply(this, arguments);
175
+ };
176
+ }(), 50), []);
155
177
  var onClick = function onClick(product) {
156
178
  if (product._id !== (parameters === null || parameters === void 0 ? void 0 : parameters.id)) {
157
179
  openComponent({
@@ -176,7 +198,7 @@ var Gallery = function Gallery(_ref) {
176
198
  };
177
199
  }, []);
178
200
  useEffect(function () {
179
- productState.resetPage();
201
+ productState.groups[1]([]);
180
202
  }, [parameters === null || parameters === void 0 ? void 0 : parameters.update]);
181
203
  var currentlyMobile = isMobile && isPortrait || height < 500;
182
204
  var isLandscapeMobile = currentlyMobile && !isPortrait && height < 500;
@@ -225,6 +247,7 @@ var Gallery = function Gallery(_ref) {
225
247
  return /*#__PURE__*/jsxs(Fragment, {
226
248
  children: [/*#__PURE__*/jsx("div", {
227
249
  className: scrollerClass,
250
+ onScroll: debouncedScroll,
228
251
  ref: scroller,
229
252
  children: /*#__PURE__*/jsx("div", {
230
253
  className: maxWidth,
@@ -238,7 +261,7 @@ var Gallery = function Gallery(_ref) {
238
261
  }), currentlyMobile && ProductHeaderJSX]
239
262
  }, productState.categoryKey[0]), /*#__PURE__*/jsxs("div", {
240
263
  className: rightSide,
241
- children: [!isLandscapeMobile && !headerHidden && imageContentBoxSettings && /*#__PURE__*/jsx(ImageSlider, {
264
+ children: [!isLandscapeMobile && !headerHidden && /*#__PURE__*/jsx(ImageSlider, {
242
265
  productState: productState,
243
266
  className: classNames(topImage),
244
267
  currentlyMobile: currentlyMobile,
@@ -248,9 +271,13 @@ var Gallery = function Gallery(_ref) {
248
271
  }), /*#__PURE__*/jsxs("div", {
249
272
  className: products,
250
273
  children: [!currentlyMobile && !filterHidden && ProductHeaderJSX, /*#__PURE__*/jsx(ProductsComponent, {
274
+ noFilter: filterHidden,
251
275
  curProductId: curProductId,
252
276
  onClickFunction: onClick,
253
- productState: productState
277
+ productState: productState,
278
+ scroller: scroller,
279
+ scrollerState: [scroll, setScroll],
280
+ forcedFilter: "livingArea"
254
281
  })]
255
282
  })]
256
283
  })]
@@ -271,16 +298,15 @@ var Gallery = function Gallery(_ref) {
271
298
  switchCloseIconToLeftInPortrait: !!(pdpSettings !== null && pdpSettings !== void 0 && pdpSettings.marginLeftHeader),
272
299
  hideCloseIconInPortrait: currentlyMobile && !(pdpSettings !== null && pdpSettings !== void 0 && pdpSettings.marginLeftHeader),
273
300
  hideCloseIcon: isMobileLandscape,
274
- content: _objectSpread$1(_objectSpread$1({
275
- cta1Params: {
276
- initMode: 'OPENCONFIGTABGROUP'
277
- }
278
- }, pdpSettings), {}, {
301
+ content: _objectSpread$1(_objectSpread$1({}, pdpSettings), {}, {
279
302
  type: 'PDP',
280
303
  productId: curProductId,
281
304
  groupVariantsByField: ['dc_color', 'dc_mainColor'],
282
305
  breadcrumb: true,
283
- setCategoryFilter: setCategoryFilter
306
+ setCategoryFilter: setCategoryFilter,
307
+ cta1Params: {
308
+ initMode: 'OPENCONFIGTABGROUP'
309
+ }
284
310
  })
285
311
  }
286
312
  }
@@ -10,7 +10,7 @@ interface Props {
10
10
  }
11
11
  interface Configuration {
12
12
  filterObject: TextProps[];
13
- imageContentBoxSettings?: SliderContainerProps;
13
+ imageContentBoxSettings: SliderContainerProps;
14
14
  imageContents: {
15
15
  [filterKey: string]: {
16
16
  [value: string]: {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAkB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,aAAa;IACrB,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,uBAAuB,CAAC,EAAE,oBAAoB,CAAC;IAC/C,aAAa,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,CAAC,KAAK,EAAE,MAAM,GAAG;gBAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IAC/F,mBAAmB,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,CAAC,KAAK,EAAE,MAAM,GAAG;gBAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IACtG,WAAW,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACjD;AAMD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAE5C,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,mBAAmB,CAAC,aAAa,CAGtD,CAAC;AAEF,eAAe,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAkB,MAAM,0BAA0B,CAAC;AAC/E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D,UAAU,KAAK;IACb,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,QAAQ,EAAE,aAAa,CAAC;CACzB;AAED,UAAU,aAAa;IACrB,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,uBAAuB,EAAE,oBAAoB,CAAC;IAC9C,aAAa,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,CAAC,KAAK,EAAE,MAAM,GAAG;gBAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IAC/F,mBAAmB,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,CAAC,KAAK,EAAE,MAAM,GAAG;gBAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IACtG,WAAW,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CACjD;AAMD,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAE5C,CAAC;AAEF,QAAA,MAAM,cAAc,EAAE,mBAAmB,CAAC,aAAa,CAGtD,CAAC;AAEF,eAAe,cAAc,CAAC"}
@@ -2,7 +2,7 @@ import { ContentBoxProps, SliderContainerProps } from '@crystaldesign/content-bo
2
2
  import { TextProps } from '@crystaldesign/products-component';
3
3
  type Props = {
4
4
  filterObject: TextProps[];
5
- imageContentBoxSettings?: SliderContainerProps;
5
+ imageContentBoxSettings: SliderContainerProps;
6
6
  parameters: {
7
7
  [key: string]: string;
8
8
  } | undefined;
@@ -24,12 +24,6 @@ type Props = {
24
24
  ctaOpenInFullscreen?: boolean;
25
25
  marginLeftHeader?: boolean;
26
26
  absoluteFullscreen?: boolean;
27
- cta1Params?: {
28
- [param: string]: string | undefined;
29
- };
30
- cta2Params?: {
31
- [param: string]: string | undefined;
32
- };
33
27
  };
34
28
  };
35
29
  declare const Gallery: ({ parameters, filterObject, imageContentBoxSettings, imageContents, imageContentsMobile, pdpSettings }: Props) => JSX.Element;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/index.tsx"],"names":[],"mappings":"AAIA,OAAO,EAAuB,eAAe,EAAW,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAgBjH,OAA0B,EAMxB,SAAS,EACV,MAAM,mCAAmC,CAAC;AAE3C,KAAK,KAAK,GAAG;IACX,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,uBAAuB,CAAC,EAAE,oBAAoB,CAAC;IAC/C,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAClD,aAAa,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,CAAC,KAAK,EAAE,MAAM,GAAG;gBAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IAC/F,mBAAmB,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,CAAC,KAAK,EAAE,MAAM,GAAG;gBAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IACtG,WAAW,CAAC,EAAE;QACZ,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;QAC7B,UAAU,CAAC,EAAE;YACX,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACrC,CAAC;QACF,UAAU,CAAC,EAAE;YACX,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;SACrC,CAAC;KACH,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,OAAO,2GAAiH,KAAK,gBAiKlI,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/ui/index.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAuB,eAAe,EAAW,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAgBjH,OAA0B,EAMxB,SAAS,EACV,MAAM,mCAAmC,CAAC;AAE3C,KAAK,KAAK,GAAG;IACX,YAAY,EAAE,SAAS,EAAE,CAAC;IAC1B,uBAAuB,EAAE,oBAAoB,CAAC;IAC9C,UAAU,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAClD,aAAa,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,CAAC,KAAK,EAAE,MAAM,GAAG;gBAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IAC/F,mBAAmB,CAAC,EAAE;QAAE,CAAC,SAAS,EAAE,MAAM,GAAG;YAAE,CAAC,KAAK,EAAE,MAAM,GAAG;gBAAE,QAAQ,EAAE,eAAe,EAAE,CAAA;aAAE,CAAA;SAAE,CAAA;KAAE,EAAE,CAAC;IACtG,WAAW,CAAC,EAAE;QAAE,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAAC,gBAAgB,CAAC,EAAE,OAAO,CAAC;QAAC,kBAAkB,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC3G,CAAC;AAEF,QAAA,MAAM,OAAO,2GAAiH,KAAK,gBAgLlI,CAAC;AAEF,eAAe,OAAO,CAAC"}