@constructor-io/constructorio-ui-quizzes 1.17.18 → 1.17.20
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/constructorio-ui-quizzes-bundled.js +13 -13
- package/lib/cjs/components/CioQuiz/index.js +1 -1
- package/lib/cjs/components/Results/Results.js +3 -3
- package/lib/cjs/components/ShareResultsModal/ShareResultsModal.js +2 -2
- package/lib/cjs/hooks/useQueryParams.js +11 -0
- package/lib/cjs/hooks/useQuiz.js +1 -0
- package/lib/cjs/hooks/useQuizEvents/useHydrateQuizLocalState.js +1 -1
- package/lib/cjs/hooks/useQuizState/useQuizApiState.js +13 -2
- package/lib/cjs/hooks/useShareResultsLink.js +7 -1
- package/lib/cjs/version.js +1 -1
- package/lib/mjs/components/CioQuiz/index.js +1 -1
- package/lib/mjs/components/Results/Results.js +3 -3
- package/lib/mjs/components/ShareResultsModal/ShareResultsModal.js +2 -2
- package/lib/mjs/hooks/useQueryParams.js +11 -0
- package/lib/mjs/hooks/useQuiz.js +1 -0
- package/lib/mjs/hooks/useQuizEvents/useHydrateQuizLocalState.js +1 -1
- package/lib/mjs/hooks/useQuizState/useQuizApiState.js +18 -2
- package/lib/mjs/hooks/useShareResultsLink.js +7 -1
- package/lib/mjs/version.js +1 -1
- package/lib/types/components/ShareResultsModal/ShareResultsModal.d.ts +2 -1
- package/lib/types/hooks/useQueryParams.d.ts +2 -0
- package/lib/types/hooks/useShareResultsLink.d.ts +1 -1
- package/lib/types/types.d.ts +3 -1
- package/lib/types/version.d.ts +1 -1
- package/package.json +1 -1
|
@@ -78,7 +78,7 @@ function CioQuiz(props) {
|
|
|
78
78
|
".cio-quiz ",
|
|
79
79
|
(0, utils_1.convertPrimaryColorsToString)(primaryColorStyles)),
|
|
80
80
|
react_1.default.createElement(SessionPromptModal_1.default, { resetStoredState: resetSessionStorageState, continueSession: hydrateQuiz, showSessionPrompt: showSessionPrompt, setShowSessionPrompt: setShowSessionPrompt }),
|
|
81
|
-
state.quiz && showShareModal && (react_1.default.createElement(ShareResultsModal_1.default, { onClose: onModalClose, quizState: state.quiz, onEmailResults: callbacks === null || callbacks === void 0 ? void 0 : callbacks.onEmailResults })),
|
|
81
|
+
state.quiz && showShareModal && (react_1.default.createElement(ShareResultsModal_1.default, { onClose: onModalClose, quizState: state.quiz, onEmailResults: callbacks === null || callbacks === void 0 ? void 0 : callbacks.onEmailResults, answers: state.answers.payload })),
|
|
82
82
|
react_1.default.createElement(context_1.default.Provider, { value: contextValue }, state.quiz.results || skipToResults ? (react_1.default.createElement(ResultContainer_1.default, { resultCardOptions: resultCardOptions, onShare: onModalOpen, resultsPageOptions: resultsPageOptions })) : (state.quiz.currentQuestion && (react_1.default.createElement(react_1.default.Fragment, null,
|
|
83
83
|
react_1.default.createElement(ProgressBar_1.default, null),
|
|
84
84
|
react_1.default.createElement(QuizQuestions_1.default, null),
|
|
@@ -7,11 +7,11 @@ const ResultCard_1 = tslib_1.__importDefault(require("../ResultCard/ResultCard")
|
|
|
7
7
|
function Results(props) {
|
|
8
8
|
var _a, _b, _c, _d;
|
|
9
9
|
const { resultCardSalePriceKey, resultCardRegularPriceKey, resultCardRatingCountKey, resultCardRatingScoreKey, renderResultCardPriceDetails, renderResultCard, } = props;
|
|
10
|
-
const { state, getAddToCartButtonProps, getAddToFavoritesButtonProps } = (0, react_1.useContext)(context_1.default);
|
|
11
|
-
const getters = { getAddToCartButtonProps, getAddToFavoritesButtonProps };
|
|
10
|
+
const { state, getAddToCartButtonProps, getAddToFavoritesButtonProps, getQuizResultLinkProps } = (0, react_1.useContext)(context_1.default);
|
|
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)) : (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, resultPosition: index + 1 }));
|
|
15
15
|
})));
|
|
16
16
|
}
|
|
17
17
|
exports.default = Results;
|
|
@@ -6,9 +6,9 @@ const CloseSVG_1 = tslib_1.__importDefault(require("./CloseSVG"));
|
|
|
6
6
|
const LinkField_1 = tslib_1.__importDefault(require("./LinkField"));
|
|
7
7
|
const EmailField_1 = tslib_1.__importDefault(require("./EmailField"));
|
|
8
8
|
const useShareResultsLink_1 = tslib_1.__importDefault(require("../../hooks/useShareResultsLink"));
|
|
9
|
-
function ShareResultsModal({ onClose, quizState, onEmailResults, }) {
|
|
9
|
+
function ShareResultsModal({ onClose, quizState, answers, onEmailResults, }) {
|
|
10
10
|
var _a, _b;
|
|
11
|
-
const url = (0, useShareResultsLink_1.default)(quizState);
|
|
11
|
+
const url = (0, useShareResultsLink_1.default)(quizState, answers);
|
|
12
12
|
const results = (_b = (_a = quizState === null || quizState === void 0 ? void 0 : quizState.results) === null || _a === void 0 ? void 0 : _a.response) === null || _b === void 0 ? void 0 : _b.results;
|
|
13
13
|
return (react_1.default.createElement("div", { className: 'cio-share-results-modal', role: 'presentation', onClick: onClose },
|
|
14
14
|
react_1.default.createElement("div", { className: 'cio-share-results-container' },
|
|
@@ -13,6 +13,13 @@ const useQueryParams = () => {
|
|
|
13
13
|
};
|
|
14
14
|
const queryItems = getParsedQueryParam('items');
|
|
15
15
|
const queryAttributes = getParsedQueryParam('attributes');
|
|
16
|
+
const answers = (() => {
|
|
17
|
+
const ans = getParsedQueryParam('a');
|
|
18
|
+
if (!ans.length)
|
|
19
|
+
return [];
|
|
20
|
+
return ans.map((a) => a.split('-'));
|
|
21
|
+
})();
|
|
22
|
+
const quizVersionId = getParsedQueryParam('quiz_version_id')[0];
|
|
16
23
|
const isSharedResultsQuery = !!queryItems.length && !!queryAttributes.length;
|
|
17
24
|
const removeSharedResultsQueryParams = (0, react_1.useCallback)(() => {
|
|
18
25
|
if (typeof window === 'undefined')
|
|
@@ -20,12 +27,16 @@ const useQueryParams = () => {
|
|
|
20
27
|
const updatedUrl = new URL(window.location.href);
|
|
21
28
|
updatedUrl.searchParams.delete('items');
|
|
22
29
|
updatedUrl.searchParams.delete('attributes');
|
|
30
|
+
updatedUrl.searchParams.delete('quiz_version_id');
|
|
31
|
+
updatedUrl.searchParams.delete('a');
|
|
23
32
|
if (!updatedUrl.searchParams.toString().length) {
|
|
24
33
|
updatedUrl.search = '';
|
|
25
34
|
}
|
|
26
35
|
window.history.replaceState({}, '', updatedUrl.toString());
|
|
27
36
|
}, []);
|
|
28
37
|
return {
|
|
38
|
+
answers,
|
|
39
|
+
quizVersionId,
|
|
29
40
|
queryItems,
|
|
30
41
|
queryAttributes,
|
|
31
42
|
isSharedResultsQuery,
|
package/lib/cjs/hooks/useQuiz.js
CHANGED
|
@@ -19,7 +19,7 @@ const useHydrateQuizLocalState = (quizId, quizSessionStorageState, dispatchLocal
|
|
|
19
19
|
if (skipToResults)
|
|
20
20
|
hydrateQuizLocalStateHandler();
|
|
21
21
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
22
|
-
}, []);
|
|
22
|
+
}, [quizId]);
|
|
23
23
|
return hydrateQuizLocalStateHandler;
|
|
24
24
|
};
|
|
25
25
|
exports.default = useHydrateQuizLocalState;
|
|
@@ -11,7 +11,7 @@ const useQuizApiState = (quizOptions, cioClient, quizLocalState, skipToResults,
|
|
|
11
11
|
) => {
|
|
12
12
|
const [quizApiState, dispatchApiState] = (0, react_1.useReducer)(quizApiReducer_1.default, quizApiReducer_1.initialState);
|
|
13
13
|
const { quizId, quizVersionId: quizVersionIdProp, resultsPageOptions } = quizOptions;
|
|
14
|
-
const { queryItems, queryAttributes, isSharedResultsQuery } = (0, useQueryParams_1.default)();
|
|
14
|
+
const { queryItems, queryAttributes, isSharedResultsQuery, answers, quizVersionId: quizVersionIdFromParam, } = (0, useQueryParams_1.default)();
|
|
15
15
|
const dispatchQuizResults = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
16
16
|
try {
|
|
17
17
|
const quizResults = yield (0, services_1.getQuizResults)(cioClient, quizId, Object.assign({ answers: quizLocalState.answers, resultsPerPage: resultsPageOptions === null || resultsPageOptions === void 0 ? void 0 : resultsPageOptions.numResultsToDisplay, quizVersionId: quizLocalState.quizVersionId, quizSessionId: quizLocalState.quizSessionId }, resultsPageOptions === null || resultsPageOptions === void 0 ? void 0 : resultsPageOptions.requestConfigs));
|
|
@@ -52,7 +52,18 @@ const useQuizApiState = (quizOptions, cioClient, quizLocalState, skipToResults,
|
|
|
52
52
|
});
|
|
53
53
|
const dispatchSharedQuizResults = () => tslib_1.__awaiter(void 0, void 0, void 0, function* () {
|
|
54
54
|
try {
|
|
55
|
-
|
|
55
|
+
let quizResults;
|
|
56
|
+
if (quizVersionIdFromParam && answers && answers.length) {
|
|
57
|
+
try {
|
|
58
|
+
quizResults = yield (0, services_1.getQuizResults)(cioClient, quizId, Object.assign({ answers, resultsPerPage: resultsPageOptions === null || resultsPageOptions === void 0 ? void 0 : resultsPageOptions.numResultsToDisplay, quizVersionId: quizVersionIdFromParam }, resultsPageOptions === null || resultsPageOptions === void 0 ? void 0 : resultsPageOptions.requestConfigs));
|
|
59
|
+
}
|
|
60
|
+
catch (error) {
|
|
61
|
+
quizResults = yield (0, services_1.getBrowseResultsForItemIds)(cioClient, queryItems);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
else {
|
|
65
|
+
quizResults = yield (0, services_1.getBrowseResultsForItemIds)(cioClient, queryItems);
|
|
66
|
+
}
|
|
56
67
|
dispatchApiState({
|
|
57
68
|
type: actions_1.QuizAPIActionTypes.SET_QUIZ_SHARED_RESULTS,
|
|
58
69
|
payload: { quizResults: Object.assign(Object.assign({}, quizResults), { attributes: queryAttributes }) },
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function useShareResultsLink(quizState) {
|
|
3
|
+
function useShareResultsLink(quizState, answers) {
|
|
4
4
|
var _a, _b, _c;
|
|
5
5
|
if (typeof window === 'undefined') {
|
|
6
6
|
return '';
|
|
@@ -15,6 +15,12 @@ function useShareResultsLink(quizState) {
|
|
|
15
15
|
.map((item) => item.data.id)
|
|
16
16
|
.join(',') || '');
|
|
17
17
|
existingParams.set('attributes', ((_c = quizState.selectedOptionsWithAttributes) === null || _c === void 0 ? void 0 : _c.map((option) => option).join(',')) || '');
|
|
18
|
+
if (quizState.versionId) {
|
|
19
|
+
existingParams.set('quiz_version_id', quizState.versionId);
|
|
20
|
+
}
|
|
21
|
+
if (answers && answers.length) {
|
|
22
|
+
existingParams.set('a', answers.map((ans) => ans.join('-')).join(',') || '');
|
|
23
|
+
}
|
|
18
24
|
const value = urlObj.toString();
|
|
19
25
|
return value;
|
|
20
26
|
}
|
package/lib/cjs/version.js
CHANGED
|
@@ -74,7 +74,7 @@ export default function CioQuiz(props) {
|
|
|
74
74
|
".cio-quiz ",
|
|
75
75
|
convertPrimaryColorsToString(primaryColorStyles)),
|
|
76
76
|
React.createElement(SessionPromptModal, { resetStoredState: resetSessionStorageState, continueSession: hydrateQuiz, showSessionPrompt: showSessionPrompt, setShowSessionPrompt: setShowSessionPrompt }),
|
|
77
|
-
state.quiz && showShareModal && (React.createElement(ShareResultsModal, { onClose: onModalClose, quizState: state.quiz, onEmailResults: callbacks?.onEmailResults })),
|
|
77
|
+
state.quiz && showShareModal && (React.createElement(ShareResultsModal, { onClose: onModalClose, quizState: state.quiz, onEmailResults: callbacks?.onEmailResults, answers: state.answers.payload })),
|
|
78
78
|
React.createElement(QuizContext.Provider, { value: contextValue }, state.quiz.results || skipToResults ? (React.createElement(ResultContainer, { resultCardOptions: resultCardOptions, onShare: onModalOpen, resultsPageOptions: resultsPageOptions })) : (state.quiz.currentQuestion && (React.createElement(React.Fragment, null,
|
|
79
79
|
React.createElement(ProgressBar, null),
|
|
80
80
|
React.createElement(QuizQuestions, null),
|
|
@@ -3,8 +3,8 @@ import QuizContext from '../CioQuiz/context';
|
|
|
3
3
|
import ResultCard from '../ResultCard/ResultCard';
|
|
4
4
|
function Results(props) {
|
|
5
5
|
const { resultCardSalePriceKey, resultCardRegularPriceKey, resultCardRatingCountKey, resultCardRatingScoreKey, renderResultCardPriceDetails, renderResultCard, } = props;
|
|
6
|
-
const { state, getAddToCartButtonProps, getAddToFavoritesButtonProps } = useContext(QuizContext);
|
|
7
|
-
const getters = { getAddToCartButtonProps, getAddToFavoritesButtonProps };
|
|
8
|
-
return (React.createElement("div", { className: 'cio-results' }, state?.quiz?.results?.response?.results?.map((result, index) => renderResultCard ? (renderResultCard(result, getters)) : (React.createElement(ResultCard, { result: result, key: result.data?.id, salePriceKey: resultCardSalePriceKey, regularPriceKey: resultCardRegularPriceKey, ratingCountKey: resultCardRatingCountKey, ratingScoreKey: resultCardRatingScoreKey, renderResultCardPriceDetails: renderResultCardPriceDetails, resultPosition: index + 1 })))));
|
|
6
|
+
const { state, getAddToCartButtonProps, getAddToFavoritesButtonProps, getQuizResultLinkProps } = useContext(QuizContext);
|
|
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 })))));
|
|
9
9
|
}
|
|
10
10
|
export default Results;
|
|
@@ -3,8 +3,8 @@ import CloseSVG from './CloseSVG';
|
|
|
3
3
|
import LinkField from './LinkField';
|
|
4
4
|
import EmailField from './EmailField';
|
|
5
5
|
import useShareResultsLink from '../../hooks/useShareResultsLink';
|
|
6
|
-
export default function ShareResultsModal({ onClose, quizState, onEmailResults, }) {
|
|
7
|
-
const url = useShareResultsLink(quizState);
|
|
6
|
+
export default function ShareResultsModal({ onClose, quizState, answers, onEmailResults, }) {
|
|
7
|
+
const url = useShareResultsLink(quizState, answers);
|
|
8
8
|
const results = quizState?.results?.response?.results;
|
|
9
9
|
return (React.createElement("div", { className: 'cio-share-results-modal', role: 'presentation', onClick: onClose },
|
|
10
10
|
React.createElement("div", { className: 'cio-share-results-container' },
|
|
@@ -11,6 +11,13 @@ const useQueryParams = () => {
|
|
|
11
11
|
};
|
|
12
12
|
const queryItems = getParsedQueryParam('items');
|
|
13
13
|
const queryAttributes = getParsedQueryParam('attributes');
|
|
14
|
+
const answers = (() => {
|
|
15
|
+
const ans = getParsedQueryParam('a');
|
|
16
|
+
if (!ans.length)
|
|
17
|
+
return [];
|
|
18
|
+
return ans.map((a) => a.split('-'));
|
|
19
|
+
})();
|
|
20
|
+
const quizVersionId = getParsedQueryParam('quiz_version_id')[0];
|
|
14
21
|
const isSharedResultsQuery = !!queryItems.length && !!queryAttributes.length;
|
|
15
22
|
const removeSharedResultsQueryParams = useCallback(() => {
|
|
16
23
|
if (typeof window === 'undefined')
|
|
@@ -18,12 +25,16 @@ const useQueryParams = () => {
|
|
|
18
25
|
const updatedUrl = new URL(window.location.href);
|
|
19
26
|
updatedUrl.searchParams.delete('items');
|
|
20
27
|
updatedUrl.searchParams.delete('attributes');
|
|
28
|
+
updatedUrl.searchParams.delete('quiz_version_id');
|
|
29
|
+
updatedUrl.searchParams.delete('a');
|
|
21
30
|
if (!updatedUrl.searchParams.toString().length) {
|
|
22
31
|
updatedUrl.search = '';
|
|
23
32
|
}
|
|
24
33
|
window.history.replaceState({}, '', updatedUrl.toString());
|
|
25
34
|
}, []);
|
|
26
35
|
return {
|
|
36
|
+
answers,
|
|
37
|
+
quizVersionId,
|
|
27
38
|
queryItems,
|
|
28
39
|
queryAttributes,
|
|
29
40
|
isSharedResultsQuery,
|
package/lib/mjs/hooks/useQuiz.js
CHANGED
|
@@ -17,7 +17,7 @@ const useHydrateQuizLocalState = (quizId, quizSessionStorageState, dispatchLocal
|
|
|
17
17
|
if (skipToResults)
|
|
18
18
|
hydrateQuizLocalStateHandler();
|
|
19
19
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
20
|
-
}, []);
|
|
20
|
+
}, [quizId]);
|
|
21
21
|
return hydrateQuizLocalStateHandler;
|
|
22
22
|
};
|
|
23
23
|
export default useHydrateQuizLocalState;
|
|
@@ -8,7 +8,7 @@ const useQuizApiState = (quizOptions, cioClient, quizLocalState, skipToResults,
|
|
|
8
8
|
) => {
|
|
9
9
|
const [quizApiState, dispatchApiState] = useReducer(apiReducer, initialState);
|
|
10
10
|
const { quizId, quizVersionId: quizVersionIdProp, resultsPageOptions } = quizOptions;
|
|
11
|
-
const { queryItems, queryAttributes, isSharedResultsQuery } = useQueryParams();
|
|
11
|
+
const { queryItems, queryAttributes, isSharedResultsQuery, answers, quizVersionId: quizVersionIdFromParam, } = useQueryParams();
|
|
12
12
|
const dispatchQuizResults = async () => {
|
|
13
13
|
try {
|
|
14
14
|
const quizResults = await getQuizResults(cioClient, quizId, {
|
|
@@ -55,7 +55,23 @@ const useQuizApiState = (quizOptions, cioClient, quizLocalState, skipToResults,
|
|
|
55
55
|
};
|
|
56
56
|
const dispatchSharedQuizResults = async () => {
|
|
57
57
|
try {
|
|
58
|
-
|
|
58
|
+
let quizResults;
|
|
59
|
+
if (quizVersionIdFromParam && answers && answers.length) {
|
|
60
|
+
try {
|
|
61
|
+
quizResults = await getQuizResults(cioClient, quizId, {
|
|
62
|
+
answers,
|
|
63
|
+
resultsPerPage: resultsPageOptions?.numResultsToDisplay,
|
|
64
|
+
quizVersionId: quizVersionIdFromParam,
|
|
65
|
+
...resultsPageOptions?.requestConfigs,
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
quizResults = await getBrowseResultsForItemIds(cioClient, queryItems);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
else {
|
|
73
|
+
quizResults = await getBrowseResultsForItemIds(cioClient, queryItems);
|
|
74
|
+
}
|
|
59
75
|
dispatchApiState({
|
|
60
76
|
type: QuizAPIActionTypes.SET_QUIZ_SHARED_RESULTS,
|
|
61
77
|
payload: { quizResults: { ...quizResults, attributes: queryAttributes } },
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export default function useShareResultsLink(quizState) {
|
|
1
|
+
export default function useShareResultsLink(quizState, answers) {
|
|
2
2
|
if (typeof window === 'undefined') {
|
|
3
3
|
return '';
|
|
4
4
|
}
|
|
@@ -12,6 +12,12 @@ export default function useShareResultsLink(quizState) {
|
|
|
12
12
|
.map((item) => item.data.id)
|
|
13
13
|
.join(',') || '');
|
|
14
14
|
existingParams.set('attributes', quizState.selectedOptionsWithAttributes?.map((option) => option).join(',') || '');
|
|
15
|
+
if (quizState.versionId) {
|
|
16
|
+
existingParams.set('quiz_version_id', quizState.versionId);
|
|
17
|
+
}
|
|
18
|
+
if (answers && answers.length) {
|
|
19
|
+
existingParams.set('a', answers.map((ans) => ans.join('-')).join(',') || '');
|
|
20
|
+
}
|
|
15
21
|
const value = urlObj.toString();
|
|
16
22
|
return value;
|
|
17
23
|
}
|
package/lib/mjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export default '1.17.
|
|
1
|
+
export default '1.17.20';
|
|
@@ -4,6 +4,7 @@ interface ShareResultsModalProps {
|
|
|
4
4
|
onClose: () => void;
|
|
5
5
|
quizState: QuizReturnState['quiz'];
|
|
6
6
|
onEmailResults?: QuizResultsEventsProps.OnEmailResults;
|
|
7
|
+
answers: string[][];
|
|
7
8
|
}
|
|
8
|
-
export default function ShareResultsModal({ onClose, quizState, onEmailResults, }: ShareResultsModalProps): JSX.Element;
|
|
9
|
+
export default function ShareResultsModal({ onClose, quizState, answers, onEmailResults, }: ShareResultsModalProps): JSX.Element;
|
|
9
10
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { QuizReturnState } from '../types';
|
|
2
|
-
export default function useShareResultsLink(quizState: QuizReturnState['quiz']): string;
|
|
2
|
+
export default function useShareResultsLink(quizState: QuizReturnState['quiz'], answers: string[][]): string;
|
package/lib/types/types.d.ts
CHANGED
|
@@ -19,7 +19,8 @@ export interface ResultCardOptions {
|
|
|
19
19
|
renderResultCard?: (result: QuizResultDataPartial, getters: {
|
|
20
20
|
getAddToCartButtonProps?: GetAddToCartButtonProps;
|
|
21
21
|
getAddToFavoritesButtonProps?: GetAddToFavoritesButtonProps;
|
|
22
|
-
|
|
22
|
+
getQuizResultLinkProps?: GetQuizResultLinkProps;
|
|
23
|
+
}, index: number) => JSX.Element;
|
|
23
24
|
}
|
|
24
25
|
export declare namespace QuizResultsEventsProps {
|
|
25
26
|
type OnQuizResultsLoaded = (results: QuizResultDataPartial) => void;
|
|
@@ -77,6 +78,7 @@ export interface IQuizProps {
|
|
|
77
78
|
export interface QuizReturnState {
|
|
78
79
|
answers: {
|
|
79
80
|
inputs: AnswerInputState;
|
|
81
|
+
payload: string[][];
|
|
80
82
|
};
|
|
81
83
|
quiz: {
|
|
82
84
|
requestState: RequestStates;
|
package/lib/types/version.d.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
declare const _default: "1.17.
|
|
1
|
+
declare const _default: "1.17.20";
|
|
2
2
|
export default _default;
|
package/package.json
CHANGED