@constructor-io/constructorio-ui-quizzes 1.17.22 → 1.17.24

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.
@@ -7,7 +7,7 @@ const ResultFavoritesButton_1 = tslib_1.__importDefault(require("../ResultFavori
7
7
  const context_1 = tslib_1.__importDefault(require("../CioQuiz/context"));
8
8
  const utils_1 = require("../../utils");
9
9
  function ResultCard(props) {
10
- const { result, salePriceKey, regularPriceKey, resultPosition, ratingCountKey, ratingScoreKey, renderResultCardPriceDetails, } = props;
10
+ const { result, salePriceKey, regularPriceKey, resultPosition, ratingCountKey, ratingScoreKey, renderResultCardPriceDetails, getResultCardImageUrl, } = props;
11
11
  const { customAddToFavoritesCallback, customClickItemCallback, getQuizResultButtonProps, getQuizResultLinkProps, } = (0, react_1.useContext)(context_1.default);
12
12
  const salePrice = (0, utils_1.validateNumberOrString)((0, utils_1.getNestedValueUsingDotNotation)(result === null || result === void 0 ? void 0 : result.data, salePriceKey));
13
13
  const regularPrice = (0, utils_1.validateNumberOrString)((0, utils_1.getNestedValueUsingDotNotation)(result === null || result === void 0 ? void 0 : result.data, regularPriceKey));
@@ -17,7 +17,7 @@ function ResultCard(props) {
17
17
  var _a;
18
18
  return (react_1.default.createElement(react_1.default.Fragment, null,
19
19
  react_1.default.createElement("div", { className: 'cio-result-card-image' },
20
- react_1.default.createElement("img", { src: (_a = result.data) === null || _a === void 0 ? void 0 : _a.image_url, alt: 'product' })),
20
+ react_1.default.createElement("img", { src: getResultCardImageUrl ? getResultCardImageUrl(result) : (_a = result.data) === null || _a === void 0 ? void 0 : _a.image_url, alt: 'product' })),
21
21
  react_1.default.createElement("div", { className: 'cio-result-card-text' },
22
22
  react_1.default.createElement("p", { className: 'cio-result-card-title' }, result.value),
23
23
  react_1.default.createElement("div", { className: 'cio-result-card-details' },
@@ -13,7 +13,7 @@ function ResultContainer(props) {
13
13
  var _a, _b, _c;
14
14
  const { resultCardOptions, onShare, resultsPageOptions } = props;
15
15
  const { state } = (0, react_1.useContext)(context_1.default);
16
- const { resultCardSalePriceKey, resultCardRegularPriceKey, resultCardRatingCountKey, resultCardRatingScoreKey, renderResultCardPriceDetails, renderResultCard, } = resultCardOptions || {};
16
+ const { resultCardSalePriceKey, resultCardRegularPriceKey, resultCardRatingCountKey, resultCardRatingScoreKey, renderResultCardPriceDetails, renderResultCard, getResultCardImageUrl, } = resultCardOptions || {};
17
17
  const numberOfResults = (_c = (_b = (_a = state === null || state === void 0 ? void 0 : state.quiz.results) === null || _a === void 0 ? void 0 : _a.response) === null || _b === void 0 ? void 0 : _b.results) === null || _c === void 0 ? void 0 : _c.length;
18
18
  const resultsConfig = state === null || state === void 0 ? void 0 : state.quiz.resultsConfig;
19
19
  const zeroResults = !numberOfResults;
@@ -21,7 +21,7 @@ function ResultContainer(props) {
21
21
  return (react_1.default.createElement("div", { className: 'cio-results-container' },
22
22
  !zeroResults && react_1.default.createElement(ResultsHeaderContainer_1.default, { resultsConfig: resultsConfig }),
23
23
  !zeroResults && (react_1.default.createElement(ResultFiltersAndShare_1.default, { numberOfResults: numberOfResults, onShare: onShare, showShareButton: !!(resultsPageOptions === null || resultsPageOptions === void 0 ? void 0 : resultsPageOptions.showShareResultsButton) })),
24
- !zeroResults && (react_1.default.createElement(Results_1.default, { resultCardSalePriceKey: resultCardSalePriceKey, resultCardRegularPriceKey: resultCardRegularPriceKey, resultCardRatingCountKey: resultCardRatingCountKey, resultCardRatingScoreKey: resultCardRatingScoreKey, renderResultCardPriceDetails: renderResultCardPriceDetails, renderResultCard: renderResultCard })),
24
+ !zeroResults && (react_1.default.createElement(Results_1.default, { resultCardSalePriceKey: resultCardSalePriceKey, resultCardRegularPriceKey: resultCardRegularPriceKey, resultCardRatingCountKey: resultCardRatingCountKey, resultCardRatingScoreKey: resultCardRatingScoreKey, renderResultCardPriceDetails: renderResultCardPriceDetails, renderResultCard: renderResultCard, getResultCardImageUrl: getResultCardImageUrl })),
25
25
  zeroResults && react_1.default.createElement(ZeroResults_1.default, null),
26
26
  !zeroResults && (react_1.default.createElement("div", { className: 'cio-redo-button-container' },
27
27
  react_1.default.createElement(RedoButton_1.default, null)))));
@@ -6,12 +6,12 @@ const context_1 = tslib_1.__importDefault(require("../CioQuiz/context"));
6
6
  const ResultCard_1 = tslib_1.__importDefault(require("../ResultCard/ResultCard"));
7
7
  function Results(props) {
8
8
  var _a, _b, _c, _d;
9
- const { resultCardSalePriceKey, resultCardRegularPriceKey, resultCardRatingCountKey, resultCardRatingScoreKey, renderResultCardPriceDetails, renderResultCard, } = props;
9
+ const { resultCardSalePriceKey, resultCardRegularPriceKey, resultCardRatingCountKey, resultCardRatingScoreKey, renderResultCardPriceDetails, renderResultCard, getResultCardImageUrl, } = props;
10
10
  const { state, getAddToCartButtonProps, getAddToFavoritesButtonProps, getQuizResultLinkProps } = (0, react_1.useContext)(context_1.default);
11
11
  const getters = { getAddToCartButtonProps, getAddToFavoritesButtonProps, getQuizResultLinkProps };
12
12
  return (react_1.default.createElement("div", { className: 'cio-results' }, (_d = (_c = (_b = (_a = state === null || state === void 0 ? void 0 : state.quiz) === null || _a === void 0 ? void 0 : _a.results) === null || _b === void 0 ? void 0 : _b.response) === null || _c === void 0 ? void 0 : _c.results) === null || _d === void 0 ? void 0 : _d.map((result, index) => {
13
13
  var _a;
14
- return renderResultCard ? (renderResultCard(result, getters, index)) : (react_1.default.createElement(ResultCard_1.default, { result: result, key: (_a = result.data) === null || _a === void 0 ? void 0 : _a.id, salePriceKey: resultCardSalePriceKey, regularPriceKey: resultCardRegularPriceKey, ratingCountKey: resultCardRatingCountKey, ratingScoreKey: resultCardRatingScoreKey, renderResultCardPriceDetails: renderResultCardPriceDetails, resultPosition: index + 1 }));
14
+ return renderResultCard ? (renderResultCard(result, getters, index)) : (react_1.default.createElement(ResultCard_1.default, { result: result, key: (_a = result.data) === null || _a === void 0 ? void 0 : _a.id, salePriceKey: resultCardSalePriceKey, regularPriceKey: resultCardRegularPriceKey, ratingCountKey: resultCardRatingCountKey, ratingScoreKey: resultCardRatingScoreKey, renderResultCardPriceDetails: renderResultCardPriceDetails, getResultCardImageUrl: getResultCardImageUrl, resultPosition: index + 1 }));
15
15
  })));
16
16
  }
17
17
  exports.default = Results;
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.default = '1.17.22';
3
+ exports.default = '1.17.24';
@@ -4,7 +4,7 @@ import ResultFavoritesButton from '../ResultFavoritesButton/ResultFavoritesButto
4
4
  import QuizContext from '../CioQuiz/context';
5
5
  import { getNestedValueUsingDotNotation, validateNumberOrString } from '../../utils';
6
6
  export default function ResultCard(props) {
7
- const { result, salePriceKey, regularPriceKey, resultPosition, ratingCountKey, ratingScoreKey, renderResultCardPriceDetails, } = props;
7
+ const { result, salePriceKey, regularPriceKey, resultPosition, ratingCountKey, ratingScoreKey, renderResultCardPriceDetails, getResultCardImageUrl, } = props;
8
8
  const { customAddToFavoritesCallback, customClickItemCallback, getQuizResultButtonProps, getQuizResultLinkProps, } = useContext(QuizContext);
9
9
  const salePrice = validateNumberOrString(getNestedValueUsingDotNotation(result?.data, salePriceKey));
10
10
  const regularPrice = validateNumberOrString(getNestedValueUsingDotNotation(result?.data, regularPriceKey));
@@ -12,7 +12,7 @@ export default function ResultCard(props) {
12
12
  const ratingScore = validateNumberOrString(getNestedValueUsingDotNotation(result?.data, ratingScoreKey));
13
13
  const resultCardContent = () => (React.createElement(React.Fragment, null,
14
14
  React.createElement("div", { className: 'cio-result-card-image' },
15
- React.createElement("img", { src: result.data?.image_url, alt: 'product' })),
15
+ React.createElement("img", { src: getResultCardImageUrl ? getResultCardImageUrl(result) : result.data?.image_url, alt: 'product' })),
16
16
  React.createElement("div", { className: 'cio-result-card-text' },
17
17
  React.createElement("p", { className: 'cio-result-card-title' }, result.value),
18
18
  React.createElement("div", { className: 'cio-result-card-details' },
@@ -9,7 +9,7 @@ import RedoButton from '../RedoButton/RedoButton';
9
9
  export default function ResultContainer(props) {
10
10
  const { resultCardOptions, onShare, resultsPageOptions } = props;
11
11
  const { state } = useContext(QuizContext);
12
- const { resultCardSalePriceKey, resultCardRegularPriceKey, resultCardRatingCountKey, resultCardRatingScoreKey, renderResultCardPriceDetails, renderResultCard, } = resultCardOptions || {};
12
+ const { resultCardSalePriceKey, resultCardRegularPriceKey, resultCardRatingCountKey, resultCardRatingScoreKey, renderResultCardPriceDetails, renderResultCard, getResultCardImageUrl, } = resultCardOptions || {};
13
13
  const numberOfResults = state?.quiz.results?.response?.results?.length;
14
14
  const resultsConfig = state?.quiz.resultsConfig;
15
15
  const zeroResults = !numberOfResults;
@@ -17,7 +17,7 @@ export default function ResultContainer(props) {
17
17
  return (React.createElement("div", { className: 'cio-results-container' },
18
18
  !zeroResults && React.createElement(ResultsHeaderContainer, { resultsConfig: resultsConfig }),
19
19
  !zeroResults && (React.createElement(ResultFiltersAndShare, { numberOfResults: numberOfResults, onShare: onShare, showShareButton: !!resultsPageOptions?.showShareResultsButton })),
20
- !zeroResults && (React.createElement(Results, { resultCardSalePriceKey: resultCardSalePriceKey, resultCardRegularPriceKey: resultCardRegularPriceKey, resultCardRatingCountKey: resultCardRatingCountKey, resultCardRatingScoreKey: resultCardRatingScoreKey, renderResultCardPriceDetails: renderResultCardPriceDetails, renderResultCard: renderResultCard })),
20
+ !zeroResults && (React.createElement(Results, { resultCardSalePriceKey: resultCardSalePriceKey, resultCardRegularPriceKey: resultCardRegularPriceKey, resultCardRatingCountKey: resultCardRatingCountKey, resultCardRatingScoreKey: resultCardRatingScoreKey, renderResultCardPriceDetails: renderResultCardPriceDetails, renderResultCard: renderResultCard, getResultCardImageUrl: getResultCardImageUrl })),
21
21
  zeroResults && React.createElement(ZeroResults, null),
22
22
  !zeroResults && (React.createElement("div", { className: 'cio-redo-button-container' },
23
23
  React.createElement(RedoButton, null)))));
@@ -2,9 +2,9 @@ import React, { useContext } from 'react';
2
2
  import QuizContext from '../CioQuiz/context';
3
3
  import ResultCard from '../ResultCard/ResultCard';
4
4
  function Results(props) {
5
- const { resultCardSalePriceKey, resultCardRegularPriceKey, resultCardRatingCountKey, resultCardRatingScoreKey, renderResultCardPriceDetails, renderResultCard, } = props;
5
+ const { resultCardSalePriceKey, resultCardRegularPriceKey, resultCardRatingCountKey, resultCardRatingScoreKey, renderResultCardPriceDetails, renderResultCard, getResultCardImageUrl, } = props;
6
6
  const { state, getAddToCartButtonProps, getAddToFavoritesButtonProps, getQuizResultLinkProps } = useContext(QuizContext);
7
7
  const getters = { getAddToCartButtonProps, getAddToFavoritesButtonProps, getQuizResultLinkProps };
8
- return (React.createElement("div", { className: 'cio-results' }, state?.quiz?.results?.response?.results?.map((result, index) => renderResultCard ? (renderResultCard(result, getters, index)) : (React.createElement(ResultCard, { result: result, key: result.data?.id, salePriceKey: resultCardSalePriceKey, regularPriceKey: resultCardRegularPriceKey, ratingCountKey: resultCardRatingCountKey, ratingScoreKey: resultCardRatingScoreKey, renderResultCardPriceDetails: renderResultCardPriceDetails, resultPosition: index + 1 })))));
8
+ return (React.createElement("div", { className: 'cio-results' }, state?.quiz?.results?.response?.results?.map((result, index) => renderResultCard ? (renderResultCard(result, getters, index)) : (React.createElement(ResultCard, { result: result, key: result.data?.id, salePriceKey: resultCardSalePriceKey, regularPriceKey: resultCardRegularPriceKey, ratingCountKey: resultCardRatingCountKey, ratingScoreKey: resultCardRatingScoreKey, renderResultCardPriceDetails: renderResultCardPriceDetails, getResultCardImageUrl: getResultCardImageUrl, resultPosition: index + 1 })))));
9
9
  }
10
10
  export default Results;
@@ -1 +1 @@
1
- export default '1.17.22';
1
+ export default '1.17.24';
@@ -8,6 +8,7 @@ interface ResultCardOptions {
8
8
  ratingScoreKey?: string;
9
9
  resultPosition: number;
10
10
  renderResultCardPriceDetails?: (result: QuizResultDataPartial) => JSX.Element;
11
+ getResultCardImageUrl?: (result: QuizResultDataPartial) => string;
11
12
  }
12
13
  export default function ResultCard(props: ResultCardOptions): JSX.Element;
13
14
  export {};
@@ -21,6 +21,7 @@ export interface ResultCardOptions {
21
21
  getAddToFavoritesButtonProps?: GetAddToFavoritesButtonProps;
22
22
  getQuizResultLinkProps?: GetQuizResultLinkProps;
23
23
  }, index: number) => JSX.Element;
24
+ getResultCardImageUrl?: (result: QuizResultDataPartial) => string;
24
25
  }
25
26
  export declare namespace QuizResultsEventsProps {
26
27
  type OnQuizResultsLoaded = (results: QuizResultDataPartial) => void;
@@ -1,2 +1,2 @@
1
- declare const _default: "1.17.22";
1
+ declare const _default: "1.17.24";
2
2
  export default _default;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@constructor-io/constructorio-ui-quizzes",
3
- "version": "1.17.22",
3
+ "version": "1.17.24",
4
4
  "description": "Constructor.io Quizzes UI library for web applications",
5
5
  "author": "Constructor.io Corporation",
6
6
  "license": "MIT",