@explorer02/cfm-survey-sdk 0.0.9 → 0.1.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.
- package/dist/cli/index.d.mts +1 -0
- package/dist/cli/index.d.ts +0 -2
- package/dist/cli/index.js +38 -40
- package/dist/cli/index.mjs +39 -0
- package/dist/index.d.mts +127 -0
- package/dist/index.d.ts +127 -3
- package/dist/index.js +1 -6
- package/dist/index.mjs +1 -0
- package/package.json +15 -8
- package/dist/analytics/analyticsTracker.d.ts +0 -3
- package/dist/analytics/analyticsTracker.d.ts.map +0 -1
- package/dist/analytics/analyticsTracker.js +0 -34
- package/dist/analytics/analyticsTracker.js.map +0 -1
- package/dist/analytics/types.d.ts +0 -76
- package/dist/analytics/types.d.ts.map +0 -1
- package/dist/analytics/types.js +0 -3
- package/dist/analytics/types.js.map +0 -1
- package/dist/cli/const.d.ts +0 -10
- package/dist/cli/const.d.ts.map +0 -1
- package/dist/cli/const.js +0 -13
- package/dist/cli/const.js.map +0 -1
- package/dist/cli/constants.d.ts +0 -9
- package/dist/cli/constants.js +0 -12
- package/dist/cli/deploy.d.ts +0 -2
- package/dist/cli/deploy.d.ts.map +0 -1
- package/dist/cli/deploy.js +0 -21
- package/dist/cli/deploy.js.map +0 -1
- package/dist/cli/index.d.ts.map +0 -1
- package/dist/cli/index.js.map +0 -1
- package/dist/cli/init.d.ts +0 -2
- package/dist/cli/init.d.ts.map +0 -1
- package/dist/cli/init.js +0 -145
- package/dist/cli/init.js.map +0 -1
- package/dist/cli/questionnaire/engine.d.ts +0 -22
- package/dist/cli/questionnaire/engine.d.ts.map +0 -1
- package/dist/cli/questionnaire/engine.js +0 -218
- package/dist/cli/questionnaire/engine.js.map +0 -1
- package/dist/cli/questionnaire/questionnaire-cli.d.ts +0 -2
- package/dist/cli/questionnaire/questionnaire-cli.d.ts.map +0 -1
- package/dist/cli/questionnaire/questionnaire-cli.js +0 -3
- package/dist/cli/questionnaire/questionnaire-cli.js.map +0 -1
- package/dist/cli/questionnaire/questions.d.ts +0 -3
- package/dist/cli/questionnaire/questions.d.ts.map +0 -1
- package/dist/cli/questionnaire/questions.js +0 -337
- package/dist/cli/questionnaire/questions.js.map +0 -1
- package/dist/cli/questionnaire/runner.d.ts +0 -3
- package/dist/cli/questionnaire/runner.d.ts.map +0 -1
- package/dist/cli/questionnaire/runner.js +0 -161
- package/dist/cli/questionnaire/runner.js.map +0 -1
- package/dist/cli/questionnaire/server.d.ts +0 -11
- package/dist/cli/questionnaire/server.d.ts.map +0 -1
- package/dist/cli/questionnaire/server.js +0 -80
- package/dist/cli/questionnaire/server.js.map +0 -1
- package/dist/cli/questionnaire/types.d.ts +0 -95
- package/dist/cli/questionnaire/types.d.ts.map +0 -1
- package/dist/cli/questionnaire/types.js +0 -7
- package/dist/cli/questionnaire/types.js.map +0 -1
- package/dist/cli/utils/exec.d.ts +0 -4
- package/dist/cli/utils/exec.d.ts.map +0 -1
- package/dist/cli/utils/exec.js +0 -41
- package/dist/cli/utils/exec.js.map +0 -1
- package/dist/cli/utils/nodeCheck.d.ts +0 -2
- package/dist/cli/utils/nodeCheck.d.ts.map +0 -1
- package/dist/cli/utils/nodeCheck.js +0 -72
- package/dist/cli/utils/nodeCheck.js.map +0 -1
- package/dist/cli/utils/prompts.d.ts +0 -2
- package/dist/cli/utils/prompts.d.ts.map +0 -1
- package/dist/cli/utils/prompts.js +0 -29
- package/dist/cli/utils/prompts.js.map +0 -1
- package/dist/cli/utils/vercelCliCheck.d.ts +0 -6
- package/dist/cli/utils/vercelCliCheck.d.ts.map +0 -1
- package/dist/cli/utils/vercelCliCheck.js +0 -38
- package/dist/cli/utils/vercelCliCheck.js.map +0 -1
- package/dist/cli/utils/vercelDeploy.d.ts +0 -2
- package/dist/cli/utils/vercelDeploy.d.ts.map +0 -1
- package/dist/cli/utils/vercelDeploy.js +0 -21
- package/dist/cli/utils/vercelDeploy.js.map +0 -1
- package/dist/cli/utils/vercelLoginCheck.d.ts +0 -2
- package/dist/cli/utils/vercelLoginCheck.d.ts.map +0 -1
- package/dist/cli/utils/vercelLoginCheck.js +0 -42
- package/dist/cli/utils/vercelLoginCheck.js.map +0 -1
- package/dist/fetchSurvey/internalTypes.d.ts +0 -60
- package/dist/fetchSurvey/internalTypes.d.ts.map +0 -1
- package/dist/fetchSurvey/internalTypes.js +0 -3
- package/dist/fetchSurvey/internalTypes.js.map +0 -1
- package/dist/fetchSurvey/logger/fetchLogger.d.ts +0 -6
- package/dist/fetchSurvey/logger/fetchLogger.d.ts.map +0 -1
- package/dist/fetchSurvey/logger/fetchLogger.js +0 -37
- package/dist/fetchSurvey/logger/fetchLogger.js.map +0 -1
- package/dist/fetchSurvey/logger/mapperLogger.d.ts +0 -4
- package/dist/fetchSurvey/logger/mapperLogger.d.ts.map +0 -1
- package/dist/fetchSurvey/logger/mapperLogger.js +0 -16
- package/dist/fetchSurvey/logger/mapperLogger.js.map +0 -1
- package/dist/fetchSurvey/telemetry/fetchTelemetry.d.ts +0 -3
- package/dist/fetchSurvey/telemetry/fetchTelemetry.d.ts.map +0 -1
- package/dist/fetchSurvey/telemetry/fetchTelemetry.js +0 -29
- package/dist/fetchSurvey/telemetry/fetchTelemetry.js.map +0 -1
- package/dist/fetchSurvey/types.d.ts +0 -54
- package/dist/fetchSurvey/types.d.ts.map +0 -1
- package/dist/fetchSurvey/types.js +0 -3
- package/dist/fetchSurvey/types.js.map +0 -1
- package/dist/fetchSurvey/useFetchSurvey.d.ts +0 -25
- package/dist/fetchSurvey/useFetchSurvey.d.ts.map +0 -1
- package/dist/fetchSurvey/useFetchSurvey.js +0 -115
- package/dist/fetchSurvey/useFetchSurvey.js.map +0 -1
- package/dist/fetchSurvey/utils/cleaner.d.ts +0 -7
- package/dist/fetchSurvey/utils/cleaner.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/cleaner.js +0 -35
- package/dist/fetchSurvey/utils/cleaner.js.map +0 -1
- package/dist/fetchSurvey/utils/constants.d.ts +0 -10
- package/dist/fetchSurvey/utils/constants.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/constants.js +0 -13
- package/dist/fetchSurvey/utils/constants.js.map +0 -1
- package/dist/fetchSurvey/utils/extractSurveyLanguages.d.ts +0 -17
- package/dist/fetchSurvey/utils/extractSurveyLanguages.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/extractSurveyLanguages.js +0 -61
- package/dist/fetchSurvey/utils/extractSurveyLanguages.js.map +0 -1
- package/dist/fetchSurvey/utils/index.d.ts +0 -6
- package/dist/fetchSurvey/utils/index.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/index.js +0 -22
- package/dist/fetchSurvey/utils/index.js.map +0 -1
- package/dist/fetchSurvey/utils/mapSurveyPages.d.ts +0 -12
- package/dist/fetchSurvey/utils/mapSurveyPages.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/mapSurveyPages.js +0 -30
- package/dist/fetchSurvey/utils/mapSurveyPages.js.map +0 -1
- package/dist/fetchSurvey/utils/mappers/index.d.ts +0 -3
- package/dist/fetchSurvey/utils/mappers/index.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/mappers/index.js +0 -19
- package/dist/fetchSurvey/utils/mappers/index.js.map +0 -1
- package/dist/fetchSurvey/utils/mappers/questionMapper.d.ts +0 -42
- package/dist/fetchSurvey/utils/mappers/questionMapper.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/mappers/questionMapper.js +0 -183
- package/dist/fetchSurvey/utils/mappers/questionMapper.js.map +0 -1
- package/dist/fetchSurvey/utils/mappers/surveyMapper.d.ts +0 -36
- package/dist/fetchSurvey/utils/mappers/surveyMapper.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/mappers/surveyMapper.js +0 -65
- package/dist/fetchSurvey/utils/mappers/surveyMapper.js.map +0 -1
- package/dist/fetchSurvey/utils/url.d.ts +0 -14
- package/dist/fetchSurvey/utils/url.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/url.js +0 -26
- package/dist/fetchSurvey/utils/url.js.map +0 -1
- package/dist/fetchSurvey/utils/validation.d.ts +0 -15
- package/dist/fetchSurvey/utils/validation.d.ts.map +0 -1
- package/dist/fetchSurvey/utils/validation.js +0 -36
- package/dist/fetchSurvey/utils/validation.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/logger/logger.d.ts +0 -26
- package/dist/logger/logger.d.ts.map +0 -1
- package/dist/logger/logger.js +0 -57
- package/dist/logger/logger.js.map +0 -1
- package/dist/queryClient.d.ts +0 -3
- package/dist/queryClient.d.ts.map +0 -1
- package/dist/queryClient.js +0 -64
- package/dist/queryClient.js.map +0 -1
- package/dist/submitSurvey/logger/resolutionLogger.d.ts +0 -4
- package/dist/submitSurvey/logger/resolutionLogger.d.ts.map +0 -1
- package/dist/submitSurvey/logger/resolutionLogger.js +0 -16
- package/dist/submitSurvey/logger/resolutionLogger.js.map +0 -1
- package/dist/submitSurvey/logger/submitLogger.d.ts +0 -7
- package/dist/submitSurvey/logger/submitLogger.d.ts.map +0 -1
- package/dist/submitSurvey/logger/submitLogger.js +0 -43
- package/dist/submitSurvey/logger/submitLogger.js.map +0 -1
- package/dist/submitSurvey/telemetry/submitTelemetry.d.ts +0 -3
- package/dist/submitSurvey/telemetry/submitTelemetry.d.ts.map +0 -1
- package/dist/submitSurvey/telemetry/submitTelemetry.js +0 -30
- package/dist/submitSurvey/telemetry/submitTelemetry.js.map +0 -1
- package/dist/submitSurvey/types.d.ts +0 -37
- package/dist/submitSurvey/types.d.ts.map +0 -1
- package/dist/submitSurvey/types.js +0 -3
- package/dist/submitSurvey/types.js.map +0 -1
- package/dist/submitSurvey/useSubmitResponse.d.ts +0 -18
- package/dist/submitSurvey/useSubmitResponse.d.ts.map +0 -1
- package/dist/submitSurvey/useSubmitResponse.js +0 -101
- package/dist/submitSurvey/useSubmitResponse.js.map +0 -1
- package/dist/submitSurvey/useSurveyPagination.d.ts +0 -0
- package/dist/submitSurvey/useSurveyPagination.js +0 -1
- package/dist/submitSurvey/utils/constants.d.ts +0 -5
- package/dist/submitSurvey/utils/constants.d.ts.map +0 -1
- package/dist/submitSurvey/utils/constants.js +0 -8
- package/dist/submitSurvey/utils/constants.js.map +0 -1
- package/dist/submitSurvey/utils/formatters.d.ts +0 -12
- package/dist/submitSurvey/utils/formatters.d.ts.map +0 -1
- package/dist/submitSurvey/utils/formatters.js +0 -29
- package/dist/submitSurvey/utils/formatters.js.map +0 -1
- package/dist/submitSurvey/utils/index.d.ts +0 -5
- package/dist/submitSurvey/utils/index.d.ts.map +0 -1
- package/dist/submitSurvey/utils/index.js +0 -21
- package/dist/submitSurvey/utils/index.js.map +0 -1
- package/dist/submitSurvey/utils/url.d.ts +0 -9
- package/dist/submitSurvey/utils/url.d.ts.map +0 -1
- package/dist/submitSurvey/utils/url.js +0 -20
- package/dist/submitSurvey/utils/url.js.map +0 -1
- package/dist/submitSurvey/utils/validation.d.ts +0 -20
- package/dist/submitSurvey/utils/validation.d.ts.map +0 -1
- package/dist/submitSurvey/utils/validation.js +0 -43
- package/dist/submitSurvey/utils/validation.js.map +0 -1
- package/dist/surveyPagination/actions/index.d.ts +0 -5
- package/dist/surveyPagination/actions/index.d.ts.map +0 -1
- package/dist/surveyPagination/actions/index.js +0 -12
- package/dist/surveyPagination/actions/index.js.map +0 -1
- package/dist/surveyPagination/actions/useOnBack.d.ts +0 -3
- package/dist/surveyPagination/actions/useOnBack.d.ts.map +0 -1
- package/dist/surveyPagination/actions/useOnBack.js +0 -33
- package/dist/surveyPagination/actions/useOnBack.js.map +0 -1
- package/dist/surveyPagination/actions/useOnChange.d.ts +0 -3
- package/dist/surveyPagination/actions/useOnChange.d.ts.map +0 -1
- package/dist/surveyPagination/actions/useOnChange.js +0 -14
- package/dist/surveyPagination/actions/useOnChange.js.map +0 -1
- package/dist/surveyPagination/actions/useOnNext.d.ts +0 -3
- package/dist/surveyPagination/actions/useOnNext.d.ts.map +0 -1
- package/dist/surveyPagination/actions/useOnNext.js +0 -82
- package/dist/surveyPagination/actions/useOnNext.js.map +0 -1
- package/dist/surveyPagination/actions/useOnSubmit.d.ts +0 -3
- package/dist/surveyPagination/actions/useOnSubmit.d.ts.map +0 -1
- package/dist/surveyPagination/actions/useOnSubmit.js +0 -102
- package/dist/surveyPagination/actions/useOnSubmit.js.map +0 -1
- package/dist/surveyPagination/dispatchers/index.d.ts +0 -4
- package/dist/surveyPagination/dispatchers/index.d.ts.map +0 -1
- package/dist/surveyPagination/dispatchers/index.js +0 -10
- package/dist/surveyPagination/dispatchers/index.js.map +0 -1
- package/dist/surveyPagination/dispatchers/useCheckBacktrackChanges.d.ts +0 -6
- package/dist/surveyPagination/dispatchers/useCheckBacktrackChanges.d.ts.map +0 -1
- package/dist/surveyPagination/dispatchers/useCheckBacktrackChanges.js +0 -28
- package/dist/surveyPagination/dispatchers/useCheckBacktrackChanges.js.map +0 -1
- package/dist/surveyPagination/dispatchers/useTrackOptionalSkips.d.ts +0 -4
- package/dist/surveyPagination/dispatchers/useTrackOptionalSkips.d.ts.map +0 -1
- package/dist/surveyPagination/dispatchers/useTrackOptionalSkips.js +0 -19
- package/dist/surveyPagination/dispatchers/useTrackOptionalSkips.js.map +0 -1
- package/dist/surveyPagination/dispatchers/useTrackPageTime.d.ts +0 -4
- package/dist/surveyPagination/dispatchers/useTrackPageTime.d.ts.map +0 -1
- package/dist/surveyPagination/dispatchers/useTrackPageTime.js +0 -12
- package/dist/surveyPagination/dispatchers/useTrackPageTime.js.map +0 -1
- package/dist/surveyPagination/effects/index.d.ts +0 -3
- package/dist/surveyPagination/effects/index.d.ts.map +0 -1
- package/dist/surveyPagination/effects/index.js +0 -8
- package/dist/surveyPagination/effects/index.js.map +0 -1
- package/dist/surveyPagination/effects/useResetPageStartTime.d.ts +0 -3
- package/dist/surveyPagination/effects/useResetPageStartTime.d.ts.map +0 -1
- package/dist/surveyPagination/effects/useResetPageStartTime.js +0 -11
- package/dist/surveyPagination/effects/useResetPageStartTime.js.map +0 -1
- package/dist/surveyPagination/effects/useSessionUnmountSummary.d.ts +0 -2
- package/dist/surveyPagination/effects/useSessionUnmountSummary.d.ts.map +0 -1
- package/dist/surveyPagination/effects/useSessionUnmountSummary.js +0 -32
- package/dist/surveyPagination/effects/useSessionUnmountSummary.js.map +0 -1
- package/dist/surveyPagination/effects/useTrackMaxVisitedPage.d.ts +0 -3
- package/dist/surveyPagination/effects/useTrackMaxVisitedPage.d.ts.map +0 -1
- package/dist/surveyPagination/effects/useTrackMaxVisitedPage.js +0 -13
- package/dist/surveyPagination/effects/useTrackMaxVisitedPage.js.map +0 -1
- package/dist/surveyPagination/effects/useUpdateAnalyticsContext.d.ts +0 -2
- package/dist/surveyPagination/effects/useUpdateAnalyticsContext.d.ts.map +0 -1
- package/dist/surveyPagination/effects/useUpdateAnalyticsContext.js +0 -15
- package/dist/surveyPagination/effects/useUpdateAnalyticsContext.js.map +0 -1
- package/dist/surveyPagination/logger/navigationLogger.d.ts +0 -7
- package/dist/surveyPagination/logger/navigationLogger.d.ts.map +0 -1
- package/dist/surveyPagination/logger/navigationLogger.js +0 -28
- package/dist/surveyPagination/logger/navigationLogger.js.map +0 -1
- package/dist/surveyPagination/logger/validationLogger.d.ts +0 -5
- package/dist/surveyPagination/logger/validationLogger.d.ts.map +0 -1
- package/dist/surveyPagination/logger/validationLogger.js +0 -20
- package/dist/surveyPagination/logger/validationLogger.js.map +0 -1
- package/dist/surveyPagination/telemetry/pageTelemetry.d.ts +0 -3
- package/dist/surveyPagination/telemetry/pageTelemetry.d.ts.map +0 -1
- package/dist/surveyPagination/telemetry/pageTelemetry.js +0 -25
- package/dist/surveyPagination/telemetry/pageTelemetry.js.map +0 -1
- package/dist/surveyPagination/telemetry/sessionTelemetry.d.ts +0 -8
- package/dist/surveyPagination/telemetry/sessionTelemetry.d.ts.map +0 -1
- package/dist/surveyPagination/telemetry/sessionTelemetry.js +0 -43
- package/dist/surveyPagination/telemetry/sessionTelemetry.js.map +0 -1
- package/dist/surveyPagination/types.d.ts +0 -43
- package/dist/surveyPagination/types.d.ts.map +0 -1
- package/dist/surveyPagination/types.js +0 -3
- package/dist/surveyPagination/types.js.map +0 -1
- package/dist/surveyPagination/useSurveyPagination.d.ts +0 -28
- package/dist/surveyPagination/useSurveyPagination.d.ts.map +0 -1
- package/dist/surveyPagination/useSurveyPagination.js +0 -93
- package/dist/surveyPagination/useSurveyPagination.js.map +0 -1
- package/dist/surveyPagination/utils/index.d.ts +0 -3
- package/dist/surveyPagination/utils/index.d.ts.map +0 -1
- package/dist/surveyPagination/utils/index.js +0 -19
- package/dist/surveyPagination/utils/index.js.map +0 -1
- package/dist/surveyPagination/utils/scroll.d.ts +0 -25
- package/dist/surveyPagination/utils/scroll.d.ts.map +0 -1
- package/dist/surveyPagination/utils/scroll.js +0 -67
- package/dist/surveyPagination/utils/scroll.js.map +0 -1
- package/dist/surveyPagination/utils/validation.d.ts +0 -24
- package/dist/surveyPagination/utils/validation.d.ts.map +0 -1
- package/dist/surveyPagination/utils/validation.js +0 -53
- package/dist/surveyPagination/utils/validation.js.map +0 -1
- package/dist/surveyProgress/useSurveyProgress.d.ts +0 -21
- package/dist/surveyProgress/useSurveyProgress.d.ts.map +0 -1
- package/dist/surveyProgress/useSurveyProgress.js +0 -34
- package/dist/surveyProgress/useSurveyProgress.js.map +0 -1
- package/dist/surveyProgress/utils/index.d.ts +0 -2
- package/dist/surveyProgress/utils/index.d.ts.map +0 -1
- package/dist/surveyProgress/utils/index.js +0 -18
- package/dist/surveyProgress/utils/index.js.map +0 -1
- package/dist/surveyProgress/utils/progress.d.ts +0 -27
- package/dist/surveyProgress/utils/progress.d.ts.map +0 -1
- package/dist/surveyProgress/utils/progress.js +0 -60
- package/dist/surveyProgress/utils/progress.js.map +0 -1
- package/dist/surveySDK/constants.d.ts +0 -10
- package/dist/surveySDK/constants.d.ts.map +0 -1
- package/dist/surveySDK/constants.js +0 -14
- package/dist/surveySDK/constants.js.map +0 -1
- package/dist/surveySDK/types.d.ts +0 -29
- package/dist/surveySDK/types.d.ts.map +0 -1
- package/dist/surveySDK/types.js +0 -3
- package/dist/surveySDK/types.js.map +0 -1
- package/dist/surveySDK/useSurveySDK.d.ts +0 -32
- package/dist/surveySDK/useSurveySDK.d.ts.map +0 -1
- package/dist/surveySDK/useSurveySDK.js +0 -86
- package/dist/surveySDK/useSurveySDK.js.map +0 -1
- package/dist/useFetchSurvey.d.ts +0 -73
- package/dist/useFetchSurvey.d.ts.map +0 -1
- package/dist/useFetchSurvey.js +0 -202
- package/dist/useFetchSurvey.js.map +0 -1
- package/dist/useSubmitResponse.d.ts +0 -40
- package/dist/useSubmitResponse.d.ts.map +0 -1
- package/dist/useSubmitResponse.js +0 -146
- package/dist/useSubmitResponse.js.map +0 -1
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.trackPageTimeSpent = trackPageTimeSpent;
|
|
4
|
-
exports.trackValidationError = trackValidationError;
|
|
5
|
-
const analyticsTracker_1 = require("../../analytics/analyticsTracker");
|
|
6
|
-
function trackPageTimeSpent(pageIndex, durationMs) {
|
|
7
|
-
(0, analyticsTracker_1.trackEvent)({
|
|
8
|
-
eventName: 'page_time_spent',
|
|
9
|
-
metadata: {
|
|
10
|
-
pageIndex,
|
|
11
|
-
durationMs,
|
|
12
|
-
},
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
function trackValidationError(pageIndex, errors, attemptNumber) {
|
|
16
|
-
(0, analyticsTracker_1.trackEvent)({
|
|
17
|
-
eventName: 'validation_error',
|
|
18
|
-
metadata: {
|
|
19
|
-
pageIndex,
|
|
20
|
-
errors,
|
|
21
|
-
attemptNumber,
|
|
22
|
-
},
|
|
23
|
-
});
|
|
24
|
-
}
|
|
25
|
-
//# sourceMappingURL=pageTelemetry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"pageTelemetry.js","sourceRoot":"","sources":["../../../src/surveyPagination/telemetry/pageTelemetry.ts"],"names":[],"mappings":";;AAEA,gDAQC;AAED,oDASC;AArBD,uEAA8D;AAE9D,SAAgB,kBAAkB,CAAC,SAAiB,EAAE,UAAkB;IACtE,IAAA,6BAAU,EAAC;QACT,SAAS,EAAE,iBAAiB;QAC5B,QAAQ,EAAE;YACR,SAAS;YACT,UAAU;SACX;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB,CAAC,SAAiB,EAAE,MAA8B,EAAE,aAAqB;IAC3G,IAAA,6BAAU,EAAC;QACT,SAAS,EAAE,kBAAkB;QAC7B,QAAQ,EAAE;YACR,SAAS;YACT,MAAM;YACN,aAAa;SACd;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export declare function trackSessionSummary(completed: boolean, maxVisitedPageIndex: number, totalDurationMs: number, totalQuestionsCount: number, answeredQuestionsCount: number, skippedQuestionsCount: number, skippedQuestionIds: string[], validationErrorsCount: number, backtrackCount: number, validationHistory: Array<{
|
|
2
|
-
pageIndex: number;
|
|
3
|
-
errors: Record<string, string>;
|
|
4
|
-
attemptNumber: number;
|
|
5
|
-
}>): void;
|
|
6
|
-
export declare function trackOptionalQuestionSkipped(questionId: string, pageIndex: number): void;
|
|
7
|
-
export declare function trackBacktrackRevisited(fromPageIndex: number, toPageIndex: number, changedAnswers: any): void;
|
|
8
|
-
//# sourceMappingURL=sessionTelemetry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sessionTelemetry.d.ts","sourceRoot":"","sources":["../../../src/surveyPagination/telemetry/sessionTelemetry.ts"],"names":[],"mappings":"AAEA,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,OAAO,EAClB,mBAAmB,EAAE,MAAM,EAC3B,eAAe,EAAE,MAAM,EACvB,mBAAmB,EAAE,MAAM,EAC3B,sBAAsB,EAAE,MAAM,EAC9B,qBAAqB,EAAE,MAAM,EAC7B,kBAAkB,EAAE,MAAM,EAAE,EAC5B,qBAAqB,EAAE,MAAM,EAC7B,cAAc,EAAE,MAAM,EACtB,iBAAiB,EAAE,KAAK,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;CACvB,CAAC,GACD,IAAI,CAgBN;AAED,wBAAgB,4BAA4B,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAQxF;AAED,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,cAAc,EAAE,GAAG,GAAG,IAAI,CAS7G"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.trackSessionSummary = trackSessionSummary;
|
|
4
|
-
exports.trackOptionalQuestionSkipped = trackOptionalQuestionSkipped;
|
|
5
|
-
exports.trackBacktrackRevisited = trackBacktrackRevisited;
|
|
6
|
-
const analyticsTracker_1 = require("../../analytics/analyticsTracker");
|
|
7
|
-
function trackSessionSummary(completed, maxVisitedPageIndex, totalDurationMs, totalQuestionsCount, answeredQuestionsCount, skippedQuestionsCount, skippedQuestionIds, validationErrorsCount, backtrackCount, validationHistory) {
|
|
8
|
-
(0, analyticsTracker_1.trackEvent)({
|
|
9
|
-
eventName: 'survey_session_summary',
|
|
10
|
-
metadata: {
|
|
11
|
-
maxVisitedPageIndex,
|
|
12
|
-
totalDurationMs,
|
|
13
|
-
completed,
|
|
14
|
-
totalQuestionsCount,
|
|
15
|
-
answeredQuestionsCount,
|
|
16
|
-
skippedQuestionsCount,
|
|
17
|
-
skippedQuestionIds,
|
|
18
|
-
validationErrorsCount,
|
|
19
|
-
backtrackCount,
|
|
20
|
-
validationHistory,
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
function trackOptionalQuestionSkipped(questionId, pageIndex) {
|
|
25
|
-
(0, analyticsTracker_1.trackEvent)({
|
|
26
|
-
eventName: 'optional_question_skipped',
|
|
27
|
-
metadata: {
|
|
28
|
-
questionId,
|
|
29
|
-
pageIndex,
|
|
30
|
-
},
|
|
31
|
-
});
|
|
32
|
-
}
|
|
33
|
-
function trackBacktrackRevisited(fromPageIndex, toPageIndex, changedAnswers) {
|
|
34
|
-
(0, analyticsTracker_1.trackEvent)({
|
|
35
|
-
eventName: 'backtrack_revisited',
|
|
36
|
-
metadata: {
|
|
37
|
-
fromPageIndex,
|
|
38
|
-
toPageIndex,
|
|
39
|
-
changedAnswers,
|
|
40
|
-
},
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
//# sourceMappingURL=sessionTelemetry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sessionTelemetry.js","sourceRoot":"","sources":["../../../src/surveyPagination/telemetry/sessionTelemetry.ts"],"names":[],"mappings":";;AAEA,kDA+BC;AAED,oEAQC;AAED,0DASC;AAtDD,uEAA8D;AAE9D,SAAgB,mBAAmB,CACjC,SAAkB,EAClB,mBAA2B,EAC3B,eAAuB,EACvB,mBAA2B,EAC3B,sBAA8B,EAC9B,qBAA6B,EAC7B,kBAA4B,EAC5B,qBAA6B,EAC7B,cAAsB,EACtB,iBAIE;IAEF,IAAA,6BAAU,EAAC;QACT,SAAS,EAAE,wBAAwB;QACnC,QAAQ,EAAE;YACR,mBAAmB;YACnB,eAAe;YACf,SAAS;YACT,mBAAmB;YACnB,sBAAsB;YACtB,qBAAqB;YACrB,kBAAkB;YAClB,qBAAqB;YACrB,cAAc;YACd,iBAAiB;SAClB;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,4BAA4B,CAAC,UAAkB,EAAE,SAAiB;IAChF,IAAA,6BAAU,EAAC;QACT,SAAS,EAAE,2BAA2B;QACtC,QAAQ,EAAE;YACR,UAAU;YACV,SAAS;SACV;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,uBAAuB,CAAC,aAAqB,EAAE,WAAmB,EAAE,cAAmB;IACrG,IAAA,6BAAU,EAAC;QACT,SAAS,EAAE,qBAAqB;QAChC,QAAQ,EAAE;YACR,aAAa;YACb,WAAW;YACX,cAAc;SACf;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
import type { Dispatch, SetStateAction, RefObject } from 'react';
|
|
2
|
-
import type { Survey, SurveySession, SurveyPageData } from '../fetchSurvey/types';
|
|
3
|
-
import type { SubmitAnswers } from '../submitSurvey/types';
|
|
4
|
-
export type SurveyPaginationRefs = {
|
|
5
|
-
pageStartTime: number;
|
|
6
|
-
sessionStartTime: number;
|
|
7
|
-
maxVisitedPageIndex: number;
|
|
8
|
-
validationAttempt: Record<number, number>;
|
|
9
|
-
backtrackSnapshots: Record<number, {
|
|
10
|
-
fromPageIndex: number;
|
|
11
|
-
snapshot: Record<string, any>;
|
|
12
|
-
}>;
|
|
13
|
-
hasLoggedSummary: boolean;
|
|
14
|
-
validationErrorsCount: number;
|
|
15
|
-
backtrackCount: number;
|
|
16
|
-
validationHistory: Array<{
|
|
17
|
-
pageIndex: number;
|
|
18
|
-
errors: Record<string, string>;
|
|
19
|
-
attemptNumber: number;
|
|
20
|
-
}>;
|
|
21
|
-
};
|
|
22
|
-
export type SurveyPaginationContext = {
|
|
23
|
-
survey?: Survey | null;
|
|
24
|
-
session?: SurveySession | null;
|
|
25
|
-
pages: SurveyPageData[];
|
|
26
|
-
currentPageIndex: number;
|
|
27
|
-
setCurrentPageIndex: Dispatch<SetStateAction<number>>;
|
|
28
|
-
values: SubmitAnswers;
|
|
29
|
-
setValues: Dispatch<SetStateAction<SubmitAnswers>>;
|
|
30
|
-
validationErrors: Record<string, string>;
|
|
31
|
-
setValidationErrors: Dispatch<SetStateAction<Record<string, string>>>;
|
|
32
|
-
paginationRefs: RefObject<SurveyPaginationRefs>;
|
|
33
|
-
trackPageTime: (pageIndex: number) => void;
|
|
34
|
-
trackOptionalSkips: (pageIndex: number) => void;
|
|
35
|
-
checkBacktrackChanges: (pageIndex: number) => void;
|
|
36
|
-
submit: (values: SubmitAnswers) => Promise<any>;
|
|
37
|
-
totalQuestionsCount: number;
|
|
38
|
-
};
|
|
39
|
-
export type UseSurveyPaginationProps = {
|
|
40
|
-
survey?: Survey | null;
|
|
41
|
-
session?: SurveySession | null;
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/surveyPagination/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,CAAC,CAAC;IAC7F,gBAAgB,EAAE,OAAO,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,KAAK,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC/B,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CACJ,CAAA;AAED,MAAM,MAAM,uBAAuB,GAAG;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC/B,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;IACtD,MAAM,EAAE,aAAa,CAAC;IACtB,SAAS,EAAE,QAAQ,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC;IACnD,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACzC,mBAAmB,EAAE,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;IACtE,cAAc,EAAE,SAAS,CAAC,oBAAoB,CAAC,CAAC;IAChD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAC3C,kBAAkB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IAChD,qBAAqB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,MAAM,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;IAChD,mBAAmB,EAAE,MAAM,CAAC;CAC7B,CAAA;AAED,MAAM,MAAM,wBAAwB,GAAG;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,OAAO,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;CAChC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/surveyPagination/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
import type { SubmitAnswers } from '../submitSurvey/types';
|
|
2
|
-
import type { UseSurveyPaginationProps } from './types';
|
|
3
|
-
/**
|
|
4
|
-
* A custom React hook that manages survey pagination state, user answers,
|
|
5
|
-
* validation errors, and page-relative scrolling interactions.
|
|
6
|
-
*
|
|
7
|
-
* @param props The configuration properties holding survey details and session tokens.
|
|
8
|
-
* @returns An object containing page states, validation statuses, and interactive callbacks.
|
|
9
|
-
*/
|
|
10
|
-
export declare function useSurveyPagination({ survey, session }: UseSurveyPaginationProps): {
|
|
11
|
-
currentPageIndex: number;
|
|
12
|
-
values: SubmitAnswers;
|
|
13
|
-
validationErrors: Record<string, string>;
|
|
14
|
-
currentQuestions: import("../fetchSurvey/types").SurveyQuestion[];
|
|
15
|
-
pages: import("../fetchSurvey/types").SurveyPageData[];
|
|
16
|
-
onChange: (questionId: string, value: string | number) => void;
|
|
17
|
-
onBack: () => void;
|
|
18
|
-
onNext: () => void;
|
|
19
|
-
onSubmit: () => Promise<void>;
|
|
20
|
-
progressPercentage: number;
|
|
21
|
-
totalQuestionsCount: number;
|
|
22
|
-
answeredQuestionsCount: number;
|
|
23
|
-
isComplete: boolean;
|
|
24
|
-
submitting: boolean;
|
|
25
|
-
submitError: Error | null;
|
|
26
|
-
submitData: import("../submitSurvey/types").SubmitResult | null;
|
|
27
|
-
};
|
|
28
|
-
//# sourceMappingURL=useSurveyPagination.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSurveyPagination.d.ts","sourceRoot":"","sources":["../../src/surveyPagination/useSurveyPagination.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAS3D,OAAO,KAAK,EAAiD,wBAAwB,EAAE,MAAM,SAAS,CAAC;AAEvG;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,wBAAwB;;;;;;;;;;;;;;;;;EAwFhF"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useSurveyPagination = useSurveyPagination;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const useSubmitResponse_1 = require("../submitSurvey/useSubmitResponse");
|
|
6
|
-
const useSurveyProgress_1 = require("../surveyProgress/useSurveyProgress");
|
|
7
|
-
const effects_1 = require("./effects");
|
|
8
|
-
const actions_1 = require("./actions");
|
|
9
|
-
const dispatchers_1 = require("./dispatchers");
|
|
10
|
-
/**
|
|
11
|
-
* A custom React hook that manages survey pagination state, user answers,
|
|
12
|
-
* validation errors, and page-relative scrolling interactions.
|
|
13
|
-
*
|
|
14
|
-
* @param props The configuration properties holding survey details and session tokens.
|
|
15
|
-
* @returns An object containing page states, validation statuses, and interactive callbacks.
|
|
16
|
-
*/
|
|
17
|
-
function useSurveyPagination({ survey, session }) {
|
|
18
|
-
const [values, setValues] = (0, react_1.useState)({});
|
|
19
|
-
const [validationErrors, setValidationErrors] = (0, react_1.useState)({});
|
|
20
|
-
const [currentPageIndex, setCurrentPageIndex] = (0, react_1.useState)(0);
|
|
21
|
-
const pages = survey?.pages ?? [];
|
|
22
|
-
const currentPage = pages[currentPageIndex];
|
|
23
|
-
const currentQuestions = currentPage?.questions ?? [];
|
|
24
|
-
// Integrate response submission
|
|
25
|
-
const { submit, data: submitData, loading: submitting, error: submitError } = (0, useSubmitResponse_1.useSubmitResponse)(session, survey);
|
|
26
|
-
// Integrate progress tracking
|
|
27
|
-
const { progressPercentage, totalQuestionsCount, answeredQuestionsCount, isComplete } = (0, useSurveyProgress_1.useSurveyProgress)({
|
|
28
|
-
survey,
|
|
29
|
-
values,
|
|
30
|
-
currentPageIndex,
|
|
31
|
-
});
|
|
32
|
-
// Consolidated Analytics & Pagination Refs
|
|
33
|
-
const paginationRefs = (0, react_1.useRef)({
|
|
34
|
-
pageStartTime: performance.now(),
|
|
35
|
-
sessionStartTime: performance.now(),
|
|
36
|
-
maxVisitedPageIndex: 0,
|
|
37
|
-
validationAttempt: {},
|
|
38
|
-
backtrackSnapshots: {},
|
|
39
|
-
hasLoggedSummary: false,
|
|
40
|
-
validationErrorsCount: 0,
|
|
41
|
-
backtrackCount: 0,
|
|
42
|
-
validationHistory: [],
|
|
43
|
-
});
|
|
44
|
-
// Instantiate dispatcher hooks
|
|
45
|
-
const trackPageTime = (0, dispatchers_1.useTrackPageTime)(paginationRefs);
|
|
46
|
-
const trackOptionalSkips = (0, dispatchers_1.useTrackOptionalSkips)(pages, values);
|
|
47
|
-
const checkBacktrackChanges = (0, dispatchers_1.useCheckBacktrackChanges)(pages, values, paginationRefs);
|
|
48
|
-
// Construct context object grouping parameters, functions, and state
|
|
49
|
-
const context = {
|
|
50
|
-
survey,
|
|
51
|
-
session,
|
|
52
|
-
pages,
|
|
53
|
-
currentPageIndex,
|
|
54
|
-
setCurrentPageIndex,
|
|
55
|
-
values,
|
|
56
|
-
setValues,
|
|
57
|
-
validationErrors,
|
|
58
|
-
setValidationErrors,
|
|
59
|
-
paginationRefs,
|
|
60
|
-
trackPageTime,
|
|
61
|
-
trackOptionalSkips,
|
|
62
|
-
checkBacktrackChanges,
|
|
63
|
-
submit,
|
|
64
|
-
totalQuestionsCount,
|
|
65
|
-
};
|
|
66
|
-
// Call modular effects
|
|
67
|
-
(0, effects_1.useTrackMaxVisitedPage)(context);
|
|
68
|
-
(0, effects_1.useResetPageStartTime)(context);
|
|
69
|
-
// Call modular actions
|
|
70
|
-
const onChange = (0, actions_1.useOnChange)(context);
|
|
71
|
-
const onBack = (0, actions_1.useOnBack)(context);
|
|
72
|
-
const onSubmit = (0, actions_1.useOnSubmit)(context);
|
|
73
|
-
const onNext = (0, actions_1.useOnNext)(context, onSubmit);
|
|
74
|
-
return {
|
|
75
|
-
currentPageIndex,
|
|
76
|
-
values,
|
|
77
|
-
validationErrors,
|
|
78
|
-
currentQuestions,
|
|
79
|
-
pages,
|
|
80
|
-
onChange,
|
|
81
|
-
onBack,
|
|
82
|
-
onNext,
|
|
83
|
-
onSubmit,
|
|
84
|
-
progressPercentage,
|
|
85
|
-
totalQuestionsCount,
|
|
86
|
-
answeredQuestionsCount,
|
|
87
|
-
isComplete,
|
|
88
|
-
submitting,
|
|
89
|
-
submitError,
|
|
90
|
-
submitData,
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=useSurveyPagination.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSurveyPagination.js","sourceRoot":"","sources":["../../src/surveyPagination/useSurveyPagination.ts"],"names":[],"mappings":";;AAoBA,kDAwFC;AA5GD,iCAAyC;AAGzC,yEAAsE;AACtE,2EAAwE;AACxE,uCAGmB;AACnB,uCAA2E;AAC3E,+CAAkG;AAGlG;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,EAAE,MAAM,EAAE,OAAO,EAA4B;IAC/E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,IAAA,gBAAQ,EAAgB,EAAE,CAAC,CAAC;IACxD,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAyB,EAAE,CAAC,CAAC;IACrF,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAE5D,MAAM,KAAK,GAAG,MAAM,EAAE,KAAK,IAAI,EAAE,CAAC;IAClC,MAAM,WAAW,GAAG,KAAK,CAAC,gBAAgB,CAAC,CAAC;IAC5C,MAAM,gBAAgB,GAAG,WAAW,EAAE,SAAS,IAAI,EAAE,CAAC;IAEtD,gCAAgC;IAChC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,IAAA,qCAAiB,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAEjH,8BAA8B;IAC9B,MAAM,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,UAAU,EAAE,GAAG,IAAA,qCAAiB,EAAC;QACxG,MAAM;QACN,MAAM;QACN,gBAAgB;KACjB,CAAC,CAAC;IAEH,2CAA2C;IAC3C,MAAM,cAAc,GAAG,IAAA,cAAM,EAAuB;QAClD,aAAa,EAAE,WAAW,CAAC,GAAG,EAAE;QAChC,gBAAgB,EAAE,WAAW,CAAC,GAAG,EAAE;QACnC,mBAAmB,EAAE,CAAC;QACtB,iBAAiB,EAAE,EAAE;QACrB,kBAAkB,EAAE,EAAE;QACtB,gBAAgB,EAAE,KAAK;QACvB,qBAAqB,EAAE,CAAC;QACxB,cAAc,EAAE,CAAC;QACjB,iBAAiB,EAAE,EAAE;KACtB,CAAC,CAAC;IAEH,+BAA+B;IAC/B,MAAM,aAAa,GAAG,IAAA,8BAAgB,EAAC,cAAc,CAAC,CAAC;IACvD,MAAM,kBAAkB,GAAG,IAAA,mCAAqB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAChE,MAAM,qBAAqB,GAAG,IAAA,sCAAwB,EAAC,KAAK,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;IAEtF,qEAAqE;IACrE,MAAM,OAAO,GAA4B;QACvC,MAAM;QACN,OAAO;QACP,KAAK;QACL,gBAAgB;QAChB,mBAAmB;QACnB,MAAM;QACN,SAAS;QACT,gBAAgB;QAChB,mBAAmB;QACnB,cAAc;QACd,aAAa;QACb,kBAAkB;QAClB,qBAAqB;QACrB,MAAM;QACN,mBAAmB;KACpB,CAAC;IAEF,uBAAuB;IACvB,IAAA,gCAAsB,EAAC,OAAO,CAAC,CAAC;IAEhC,IAAA,+BAAqB,EAAC,OAAO,CAAC,CAAC;IAE/B,uBAAuB;IACvB,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,OAAO,CAAC,CAAC;IAElC,MAAM,QAAQ,GAAG,IAAA,qBAAW,EAAC,OAAO,CAAC,CAAC;IAEtC,MAAM,MAAM,GAAG,IAAA,mBAAS,EAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAE5C,OAAO;QACL,gBAAgB;QAChB,MAAM;QACN,gBAAgB;QAChB,gBAAgB;QAChB,KAAK;QACL,QAAQ;QACR,MAAM;QACN,MAAM;QACN,QAAQ;QACR,kBAAkB;QAClB,mBAAmB;QACnB,sBAAsB;QACtB,UAAU;QACV,UAAU;QACV,WAAW;QACX,UAAU;KACX,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/surveyPagination/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./validation"), exports);
|
|
18
|
-
__exportStar(require("./scroll"), exports);
|
|
19
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/surveyPagination/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,2CAAyB"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { SurveyPageData } from '../../fetchSurvey/types';
|
|
2
|
-
/**
|
|
3
|
-
* Resolves the DOM element corresponding to a given question ID.
|
|
4
|
-
* Expects the developer to assign standard ID attributes matching the question identifier.
|
|
5
|
-
*
|
|
6
|
-
* @param questionId The unique identifier of the target question.
|
|
7
|
-
* @returns The resolved HTMLElement, or null if server-side rendering or element not found.
|
|
8
|
-
*/
|
|
9
|
-
export declare function findQuestionElement(questionId: string): HTMLElement | null;
|
|
10
|
-
/**
|
|
11
|
-
* Resolves the logical survey container boundary wrapping the question.
|
|
12
|
-
* Looks for semantic HTML containers (main, form) or defaults to parent hierarchy.
|
|
13
|
-
*
|
|
14
|
-
* @param firstQuestionEl The element of the first question on the active page.
|
|
15
|
-
* @returns The resolved survey container element.
|
|
16
|
-
*/
|
|
17
|
-
export declare function findSurveyContainer(firstQuestionEl: HTMLElement): HTMLElement;
|
|
18
|
-
/**
|
|
19
|
-
* Scrolls the viewport to the top of the survey container for the specified page index.
|
|
20
|
-
*
|
|
21
|
-
* @param pages List of survey pages.
|
|
22
|
-
* @param pageIndex The target page index to navigate and scroll to.
|
|
23
|
-
*/
|
|
24
|
-
export declare function scrollToFirstQuestionOfPage(pages: SurveyPageData[], pageIndex: number): void;
|
|
25
|
-
//# sourceMappingURL=scroll.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.d.ts","sourceRoot":"","sources":["../../../src/surveyPagination/utils/scroll.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAG9D;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI,CAG1E;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,eAAe,EAAE,WAAW,GAAG,WAAW,CAO7E;AAED;;;;;GAKG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI,CAwB5F"}
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.findQuestionElement = findQuestionElement;
|
|
4
|
-
exports.findSurveyContainer = findSurveyContainer;
|
|
5
|
-
exports.scrollToFirstQuestionOfPage = scrollToFirstQuestionOfPage;
|
|
6
|
-
const navigationLogger_1 = require("../logger/navigationLogger");
|
|
7
|
-
/**
|
|
8
|
-
* Resolves the DOM element corresponding to a given question ID.
|
|
9
|
-
* Expects the developer to assign standard ID attributes matching the question identifier.
|
|
10
|
-
*
|
|
11
|
-
* @param questionId The unique identifier of the target question.
|
|
12
|
-
* @returns The resolved HTMLElement, or null if server-side rendering or element not found.
|
|
13
|
-
*/
|
|
14
|
-
function findQuestionElement(questionId) {
|
|
15
|
-
if (typeof document === 'undefined')
|
|
16
|
-
return null;
|
|
17
|
-
return document.getElementById(questionId) || null;
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* Resolves the logical survey container boundary wrapping the question.
|
|
21
|
-
* Looks for semantic HTML containers (main, form) or defaults to parent hierarchy.
|
|
22
|
-
*
|
|
23
|
-
* @param firstQuestionEl The element of the first question on the active page.
|
|
24
|
-
* @returns The resolved survey container element.
|
|
25
|
-
*/
|
|
26
|
-
function findSurveyContainer(firstQuestionEl) {
|
|
27
|
-
return (firstQuestionEl.closest('main') ||
|
|
28
|
-
firstQuestionEl.closest('form') ||
|
|
29
|
-
firstQuestionEl.parentElement ||
|
|
30
|
-
firstQuestionEl);
|
|
31
|
-
}
|
|
32
|
-
/**
|
|
33
|
-
* Scrolls the viewport to the top of the survey container for the specified page index.
|
|
34
|
-
*
|
|
35
|
-
* @param pages List of survey pages.
|
|
36
|
-
* @param pageIndex The target page index to navigate and scroll to.
|
|
37
|
-
*/
|
|
38
|
-
function scrollToFirstQuestionOfPage(pages, pageIndex) {
|
|
39
|
-
try {
|
|
40
|
-
const targetPage = pages[pageIndex];
|
|
41
|
-
const firstQuestion = targetPage?.questions?.[0];
|
|
42
|
-
if (firstQuestion) {
|
|
43
|
-
setTimeout(() => {
|
|
44
|
-
try {
|
|
45
|
-
const questionEl = findQuestionElement(firstQuestion.id);
|
|
46
|
-
if (questionEl) {
|
|
47
|
-
const surveyContainer = findSurveyContainer(questionEl);
|
|
48
|
-
surveyContainer.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
52
|
-
}
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
(0, navigationLogger_1.logScrollWarning)('Failed to scroll page first question into view', err);
|
|
56
|
-
}
|
|
57
|
-
}, 50);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
window.scrollTo({ top: 0, behavior: 'smooth' });
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
catch (err) {
|
|
64
|
-
(0, navigationLogger_1.logScrollWarning)('Failed to trigger scroll navigation', err);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
//# sourceMappingURL=scroll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"scroll.js","sourceRoot":"","sources":["../../../src/surveyPagination/utils/scroll.ts"],"names":[],"mappings":";;AAUA,kDAGC;AASD,kDAOC;AAQD,kEAwBC;AA5DD,iEAA8D;AAE9D;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,UAAkB;IACpD,IAAI,OAAO,QAAQ,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IACjD,OAAO,QAAQ,CAAC,cAAc,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;AACrD,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,mBAAmB,CAAC,eAA4B;IAC9D,OAAO,CACL,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/B,eAAe,CAAC,OAAO,CAAC,MAAM,CAAC;QAC/B,eAAe,CAAC,aAAa;QAC7B,eAAe,CAChB,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,SAAgB,2BAA2B,CAAC,KAAuB,EAAE,SAAiB;IACpF,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,UAAU,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;QACjD,IAAI,aAAa,EAAE,CAAC;YAClB,UAAU,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC;oBACH,MAAM,UAAU,GAAG,mBAAmB,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;oBACzD,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,eAAe,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;wBACxD,eAAe,CAAC,cAAc,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC;oBACzE,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;oBAClD,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,IAAA,mCAAgB,EAAC,gDAAgD,EAAE,GAAG,CAAC,CAAC;gBAC1E,CAAC;YACH,CAAC,EAAE,EAAE,CAAC,CAAC;QACT,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,QAAQ,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAA,mCAAgB,EAAC,qCAAqC,EAAE,GAAG,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC"}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { SurveyPageData, SurveyQuestion } from '../../fetchSurvey/types';
|
|
2
|
-
/**
|
|
3
|
-
* Validates a list of questions against user values and returns an error map.
|
|
4
|
-
*
|
|
5
|
-
* @param questions List of questions to validate.
|
|
6
|
-
* @param values User selected values mapped by question ID.
|
|
7
|
-
* @param language Active survey language code.
|
|
8
|
-
* @returns Object mapping question ID to localized validation error messages.
|
|
9
|
-
*/
|
|
10
|
-
export declare function validateQuestions(questions: SurveyQuestion[], values: Record<string, string | number>, language?: string): Record<string, string>;
|
|
11
|
-
/**
|
|
12
|
-
* Validates all survey pages and returns details of the first validation error found.
|
|
13
|
-
*
|
|
14
|
-
* @param pages List of pages to validate.
|
|
15
|
-
* @param values User selected values mapped by question ID.
|
|
16
|
-
* @param language Active survey language code.
|
|
17
|
-
* @returns Validation error details containing all errors, target error page index, and target error element ID, or null if all checks pass.
|
|
18
|
-
*/
|
|
19
|
-
export declare function validateAllPages(pages: SurveyPageData[], values: Record<string, string | number>, language?: string): {
|
|
20
|
-
errors: Record<string, string>;
|
|
21
|
-
errorPageIndex: number;
|
|
22
|
-
firstErrorId: string;
|
|
23
|
-
} | null;
|
|
24
|
-
//# sourceMappingURL=validation.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/surveyPagination/utils/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAE9E;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,cAAc,EAAE,EAC3B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACvC,QAAQ,CAAC,EAAE,MAAM,GAChB,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAYxB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EAAE,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EACvC,QAAQ,CAAC,EAAE,MAAM,GAChB;IAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAqBzF"}
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateQuestions = validateQuestions;
|
|
4
|
-
exports.validateAllPages = validateAllPages;
|
|
5
|
-
/**
|
|
6
|
-
* Validates a list of questions against user values and returns an error map.
|
|
7
|
-
*
|
|
8
|
-
* @param questions List of questions to validate.
|
|
9
|
-
* @param values User selected values mapped by question ID.
|
|
10
|
-
* @param language Active survey language code.
|
|
11
|
-
* @returns Object mapping question ID to localized validation error messages.
|
|
12
|
-
*/
|
|
13
|
-
function validateQuestions(questions, values, language) {
|
|
14
|
-
const errors = {};
|
|
15
|
-
questions.forEach(question => {
|
|
16
|
-
if (question.required && (values[question.id] === undefined || values[question.id] === '')) {
|
|
17
|
-
errors[question.id] =
|
|
18
|
-
question.requiredErrorMessage ??
|
|
19
|
-
(language?.startsWith('de')
|
|
20
|
-
? 'Beantworten Sie bitte diese Frage bevor Sie fortfahren.'
|
|
21
|
-
: 'Please answer this question before you proceed.');
|
|
22
|
-
}
|
|
23
|
-
});
|
|
24
|
-
return errors;
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Validates all survey pages and returns details of the first validation error found.
|
|
28
|
-
*
|
|
29
|
-
* @param pages List of pages to validate.
|
|
30
|
-
* @param values User selected values mapped by question ID.
|
|
31
|
-
* @param language Active survey language code.
|
|
32
|
-
* @returns Validation error details containing all errors, target error page index, and target error element ID, or null if all checks pass.
|
|
33
|
-
*/
|
|
34
|
-
function validateAllPages(pages, values, language) {
|
|
35
|
-
let errors = {};
|
|
36
|
-
let firstErrorId = '';
|
|
37
|
-
let errorPageIndex = -1;
|
|
38
|
-
for (let i = 0; i < pages.length; i++) {
|
|
39
|
-
const pageErrors = validateQuestions(pages[i].questions, values, language);
|
|
40
|
-
if (Object.keys(pageErrors).length > 0) {
|
|
41
|
-
errors = { ...errors, ...pageErrors };
|
|
42
|
-
if (errorPageIndex === -1) {
|
|
43
|
-
errorPageIndex = i;
|
|
44
|
-
firstErrorId = Object.keys(pageErrors)[0];
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
if (errorPageIndex !== -1) {
|
|
49
|
-
return { errors, errorPageIndex, firstErrorId };
|
|
50
|
-
}
|
|
51
|
-
return null;
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=validation.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/surveyPagination/utils/validation.ts"],"names":[],"mappings":";;AAUA,8CAgBC;AAUD,4CAyBC;AA3DD;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC/B,SAA2B,EAC3B,MAAuC,EACvC,QAAiB;IAEjB,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;QAC3B,IAAI,QAAQ,CAAC,QAAQ,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;YAC3F,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjB,QAAQ,CAAC,oBAAoB;oBAC7B,CAAC,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC;wBACzB,CAAC,CAAC,yDAAyD;wBAC3D,CAAC,CAAC,iDAAiD,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,gBAAgB,CAC9B,KAAuB,EACvB,MAAuC,EACvC,QAAiB;IAEjB,IAAI,MAAM,GAA2B,EAAE,CAAC;IACxC,IAAI,YAAY,GAAG,EAAE,CAAC;IACtB,IAAI,cAAc,GAAG,CAAC,CAAC,CAAC;IAExB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QAC3E,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvC,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;YACtC,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;gBAC1B,cAAc,GAAG,CAAC,CAAC;gBACnB,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC;YAC5C,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,cAAc,KAAK,CAAC,CAAC,EAAE,CAAC;QAC1B,OAAO,EAAE,MAAM,EAAE,cAAc,EAAE,YAAY,EAAE,CAAC;IAClD,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { Survey } from '../fetchSurvey/types';
|
|
2
|
-
import type { SubmitAnswers } from '../submitSurvey/types';
|
|
3
|
-
export interface UseSurveyProgressProps {
|
|
4
|
-
survey?: Survey | null;
|
|
5
|
-
values?: SubmitAnswers | null;
|
|
6
|
-
currentPageIndex?: number;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* A custom React hook that tracks progress within a survey.
|
|
10
|
-
* Computes completed question counts, total questions, and percentage completion.
|
|
11
|
-
*
|
|
12
|
-
* @param props Configurations holding active survey definition and answer values.
|
|
13
|
-
* @returns Real-time calculated progress tracking indices.
|
|
14
|
-
*/
|
|
15
|
-
export declare function useSurveyProgress({ survey, values, currentPageIndex }: UseSurveyProgressProps): {
|
|
16
|
-
totalQuestionsCount: number;
|
|
17
|
-
answeredQuestionsCount: number;
|
|
18
|
-
progressPercentage: number;
|
|
19
|
-
isComplete: boolean;
|
|
20
|
-
};
|
|
21
|
-
//# sourceMappingURL=useSurveyProgress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSurveyProgress.d.ts","sourceRoot":"","sources":["../../src/surveyProgress/useSurveyProgress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAG3D,MAAM,WAAW,sBAAsB;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAoB,EAAE,EAAE,sBAAsB;;;;;EAuBjG"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.useSurveyProgress = useSurveyProgress;
|
|
4
|
-
const react_1 = require("react");
|
|
5
|
-
const utils_1 = require("./utils");
|
|
6
|
-
/**
|
|
7
|
-
* A custom React hook that tracks progress within a survey.
|
|
8
|
-
* Computes completed question counts, total questions, and percentage completion.
|
|
9
|
-
*
|
|
10
|
-
* @param props Configurations holding active survey definition and answer values.
|
|
11
|
-
* @returns Real-time calculated progress tracking indices.
|
|
12
|
-
*/
|
|
13
|
-
function useSurveyProgress({ survey, values, currentPageIndex = 0 }) {
|
|
14
|
-
const [maxVisitedPageIndex, setMaxVisitedPageIndex] = (0, react_1.useState)(0);
|
|
15
|
-
// Track the highest page index reached so far
|
|
16
|
-
(0, react_1.useEffect)(() => {
|
|
17
|
-
if (currentPageIndex > maxVisitedPageIndex) {
|
|
18
|
-
setMaxVisitedPageIndex(currentPageIndex);
|
|
19
|
-
}
|
|
20
|
-
}, [currentPageIndex, maxVisitedPageIndex]);
|
|
21
|
-
return (0, react_1.useMemo)(() => {
|
|
22
|
-
const totalQuestionsCount = (0, utils_1.countTotalQuestions)(survey);
|
|
23
|
-
const answeredQuestionsCount = (0, utils_1.countAnsweredQuestions)(survey, values, maxVisitedPageIndex);
|
|
24
|
-
const progressPercentage = (0, utils_1.calculateProgressPercentage)(answeredQuestionsCount, totalQuestionsCount);
|
|
25
|
-
const isComplete = totalQuestionsCount > 0 && answeredQuestionsCount === totalQuestionsCount;
|
|
26
|
-
return {
|
|
27
|
-
totalQuestionsCount,
|
|
28
|
-
answeredQuestionsCount,
|
|
29
|
-
progressPercentage,
|
|
30
|
-
isComplete,
|
|
31
|
-
};
|
|
32
|
-
}, [survey, values, maxVisitedPageIndex]);
|
|
33
|
-
}
|
|
34
|
-
//# sourceMappingURL=useSurveyProgress.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSurveyProgress.js","sourceRoot":"","sources":["../../src/surveyProgress/useSurveyProgress.ts"],"names":[],"mappings":";;AAkBA,8CAuBC;AAzCD,iCAAqD;AAGrD,mCAAmG;AAQnG;;;;;;GAMG;AACH,SAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,CAAC,EAA0B;IAChG,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,GAAG,IAAA,gBAAQ,EAAC,CAAC,CAAC,CAAC;IAElE,8CAA8C;IAC9C,IAAA,iBAAS,EAAC,GAAG,EAAE;QACb,IAAI,gBAAgB,GAAG,mBAAmB,EAAE,CAAC;YAC3C,sBAAsB,CAAC,gBAAgB,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,EAAE,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,CAAC,CAAC;IAE5C,OAAO,IAAA,eAAO,EAAC,GAAG,EAAE;QAClB,MAAM,mBAAmB,GAAG,IAAA,2BAAmB,EAAC,MAAM,CAAC,CAAC;QACxD,MAAM,sBAAsB,GAAG,IAAA,8BAAsB,EAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;QAC3F,MAAM,kBAAkB,GAAG,IAAA,mCAA2B,EAAC,sBAAsB,EAAE,mBAAmB,CAAC,CAAC;QACpG,MAAM,UAAU,GAAG,mBAAmB,GAAG,CAAC,IAAI,sBAAsB,KAAK,mBAAmB,CAAC;QAE7F,OAAO;YACL,mBAAmB;YACnB,sBAAsB;YACtB,kBAAkB;YAClB,UAAU;SACX,CAAC;IACJ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC,CAAC;AAC5C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/surveyProgress/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./progress"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/surveyProgress/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,6CAA2B"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import type { Survey } from '../../fetchSurvey/types';
|
|
2
|
-
import type { SubmitAnswers } from '../../submitSurvey/types';
|
|
3
|
-
/**
|
|
4
|
-
* Counts the total number of questions present across all pages of the survey.
|
|
5
|
-
*
|
|
6
|
-
* @param survey Fully mapped survey data structure.
|
|
7
|
-
* @returns Total number of questions.
|
|
8
|
-
*/
|
|
9
|
-
export declare function countTotalQuestions(survey?: Survey | null): number;
|
|
10
|
-
/**
|
|
11
|
-
* Counts the number of questions that have been answered by the user.
|
|
12
|
-
* Only questions that exist in the active survey configuration are counted.
|
|
13
|
-
*
|
|
14
|
-
* @param survey Fully mapped survey data structure.
|
|
15
|
-
* @param values Values map containing active user answers.
|
|
16
|
-
* @returns Count of completed questions.
|
|
17
|
-
*/
|
|
18
|
-
export declare function countAnsweredQuestions(survey?: Survey | null, values?: SubmitAnswers | null, maxVisitedPageIndex?: number): number;
|
|
19
|
-
/**
|
|
20
|
-
* Computes progress percentage as an integer between 0 and 100.
|
|
21
|
-
*
|
|
22
|
-
* @param answered Count of answered questions.
|
|
23
|
-
* @param total Count of total questions.
|
|
24
|
-
* @returns Progress percentage rounded to the nearest integer.
|
|
25
|
-
*/
|
|
26
|
-
export declare function calculateProgressPercentage(answered: number, total: number): number;
|
|
27
|
-
//# sourceMappingURL=progress.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"progress.d.ts","sourceRoot":"","sources":["../../../src/surveyProgress/utils/progress.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAE9D;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,CAGlE;AAED;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,MAAM,CAAC,EAAE,aAAa,GAAG,IAAI,EAC7B,mBAAmB,GAAE,MAAU,GAC9B,MAAM,CAsBR;AAED;;;;;;GAMG;AACH,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAGnF"}
|