project-booster-vue 9.58.0 → 9.59.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/package.json CHANGED
@@ -1,14 +1,14 @@
1
1
  {
2
2
  "name": "project-booster-vue",
3
- "version": "9.58.0",
3
+ "version": "9.59.1",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "serve": "vue-cli-service serve",
7
7
  "test:unit": "vue-cli-service test:unit --forceExit --detectOpenHandles",
8
8
  "kozikaza-tokens-build": "env PB_THEME=kozikaza mozaic-tokens-build",
9
- "check-types": "vue-tsc --noemit",
9
+ "check-types": "vue-tsc --noEmit",
10
10
  "eslint": "eslint",
11
- "lint:js": "yarn eslint && npm run check-types",
11
+ "lint:js": "yarn eslint && yarn run check-types",
12
12
  "lint:js:fix": "vue-cli-service lint --fix -- ./",
13
13
  "lint:style": "stylelint '**/*.vue' '**/*.scss'",
14
14
  "lint:style:fix": "stylelint '**/*.vue' '**/*.scss' --fix",
@@ -22,6 +22,7 @@
22
22
  :button-label="card.viewModel.buttonLabel"
23
23
  @button-click="handleAnswerButtonClick"
24
24
  @card-click="handleCardClick(card)"
25
+ :data-cerberus="sanitizeCerberusAttribut('PB-CARD', card.code)"
25
26
  />
26
27
  </div>
27
28
  </m-flexy-col>
@@ -35,6 +36,7 @@ import PbCard from '../cards/PbCard.vue';
35
36
  import MContainer from '../mozaic/grid/MContainer.vue';
36
37
  import MFlexy from '../mozaic/grid/MFlexy.vue';
37
38
  import MFlexyCol from '../mozaic/grid/MFlexyCol.vue';
39
+ import { sanitizeCerberusAttribut } from '@/services/sanitize';
38
40
 
39
41
  export default defineComponent({
40
42
  name: 'PbCardsList',
@@ -81,6 +83,7 @@ export default defineComponent({
81
83
  */
82
84
  this.$emit('card-click', card);
83
85
  },
86
+ sanitizeCerberusAttribut,
84
87
  },
85
88
  });
86
89
  </script>
@@ -10,6 +10,7 @@
10
10
  !showBackButton && !decorate(answers, runtimeOptions, payload.viewModel.forceBackButton),
11
11
  }"
12
12
  @click.once="$emit('go-back')"
13
+ :data-cerberus="sanitizeCerberusAttribut('PB-AMOUNT-INPUT', 'LESS')"
13
14
  />
14
15
  </m-flex>
15
16
  <form
@@ -28,6 +29,7 @@
28
29
  ref="pbAmountInputTextInput"
29
30
  class="pb-amount-input__text-input"
30
31
  :placeholder="computedPayload.viewModel.placeholder"
32
+ :data-cerberus="sanitizeCerberusAttribut('PB-AMOUNT-INPUT', 'INPUT')"
31
33
  v-model="amount"
32
34
  />
33
35
  <div class="pb-amount-input__currency">
@@ -41,6 +43,7 @@
41
43
  width="full"
42
44
  size="l"
43
45
  @click="handleFormSubmit"
46
+ :data-cerberus="sanitizeCerberusAttribut('PB-AMOUNT-INPUT', 'MORE')"
44
47
  />
45
48
  </m-flex>
46
49
  </m-flex>
@@ -64,6 +67,7 @@ import DEFAULT_PAYLOAD from './default-payload.json';
64
67
  import { AmountInputPayload } from '@/components/question/amount-input/AmountInput';
65
68
  import { ScenarioStepAnswer } from '@/types/pb/Scenario';
66
69
  import { decorate } from '@/services/decorate';
70
+ import { sanitizeCerberusAttribut } from '@/services/sanitize';
67
71
 
68
72
  const BACK_ICON =
69
73
  'https://storage.googleapis.com/project-booster-media/mozaic-icons/svg/Navigation_Arrow_Arrow--Left_16px.svg';
@@ -197,6 +201,7 @@ export default defineComponent({
197
201
  amount,
198
202
  computedPayload,
199
203
  handleFormSubmit,
204
+ sanitizeCerberusAttribut,
200
205
  };
201
206
  },
202
207
  });
@@ -56,6 +56,7 @@
56
56
  :tabindex="index + 2"
57
57
  @click="selectSuggestion(suggestion)"
58
58
  @keyup.enter="selectSuggestion(suggestion)"
59
+ :data-cerberus="sanitizeCerberusAttribut('PB-CITY-SEARCH', 'SUGGESTION_' + suggestion.id)"
59
60
  >
60
61
  {{ formatSuggestion(suggestion) }}
61
62
  </div>
@@ -76,6 +77,7 @@
76
77
  @input="handleSearchKeywordChange"
77
78
  @focus="handleSearchKeywordFocus"
78
79
  @keypress="handleSearchKeywordKeypress($event)"
80
+ :data-cerberus="sanitizeCerberusAttribut('PB-CITY-SEARCH', 'INPUT')"
79
81
  tabindex="1"
80
82
  />
81
83
  </m-flex>
@@ -94,6 +96,7 @@
94
96
  width="full"
95
97
  size="l"
96
98
  @click="handleFormValidation"
99
+ :data-cerberus="sanitizeCerberusAttribut('PB-CITY-SEARCH', 'VALIDATE')"
97
100
  />
98
101
  </m-flex>
99
102
  </div>
@@ -115,6 +118,7 @@ import DEFAULT_PAYLOAD from './default-payload.json';
115
118
  import { DebouncedFunc } from 'lodash-es';
116
119
  import { decorate } from '@/services/decorate';
117
120
  import { ScenarioStepAnswer } from '@/types/pb/Scenario';
121
+ import { sanitizeCerberusAttribut } from '@/services/sanitize';
118
122
 
119
123
  const BACK_ICON =
120
124
  'https://storage.googleapis.com/project-booster-media/mozaic-icons/svg/Navigation_Arrow_Arrow--Left_16px.svg';
@@ -405,6 +409,7 @@ export default defineComponent({
405
409
  event.preventDefault();
406
410
  }
407
411
  },
412
+ sanitizeCerberusAttribut,
408
413
  },
409
414
  });
410
415
  </script>
@@ -40,6 +40,7 @@
40
40
  class="pb-dimensions-input__text-input"
41
41
  :placeholder="computedPayload.viewModel.lengthPlaceholder"
42
42
  v-model="length"
43
+ :data-cerberus="sanitizeCerberusAttribut('PB-DIMENSION', 'LENGTH')"
43
44
  />
44
45
  <div class="pb-dimensions-input__unit">
45
46
  <span>m</span>
@@ -56,6 +57,7 @@
56
57
  class="pb-dimensions-input__text-input"
57
58
  :placeholder="computedPayload.viewModel.widthPlaceholder"
58
59
  v-model="width"
60
+ :data-cerberus="sanitizeCerberusAttribut('PB-DIMENSION', 'WIDTH')"
59
61
  />
60
62
  <div class="pb-dimensions-input__unit">
61
63
  <span>m</span>
@@ -69,6 +71,7 @@
69
71
  width="full"
70
72
  size="l"
71
73
  @click="handleFormSubmit"
74
+ :data-cerberus="sanitizeCerberusAttribut('PB-DIMENSION', 'SUBMIT')"
72
75
  />
73
76
  <m-link
74
77
  v-if="payload.skippable"
@@ -102,6 +105,7 @@ import { ref } from 'vue';
102
105
  import { ScenarioStepAnswer } from '@/types/pb/Scenario';
103
106
  import { DimensionsInputPayload } from '@/components/question/dimensions-input/DimensionsInput';
104
107
  import { decorate } from '@/services/decorate';
108
+ import { sanitizeCerberusAttribut } from '@/services/sanitize';
105
109
 
106
110
  const BACK_ICON =
107
111
  'https://storage.googleapis.com/project-booster-media/mozaic-icons/svg/Navigation_Arrow_Arrow--Left_16px.svg';
@@ -279,6 +283,7 @@ export default defineComponent({
279
283
  pbDimensionsInputLengthInput,
280
284
  handleFormSubmit,
281
285
  skipQuestion,
286
+ sanitizeCerberusAttribut,
282
287
  };
283
288
  },
284
289
  });
@@ -45,6 +45,7 @@
45
45
  :valuemax="computedPayload.viewModel.maxValue"
46
46
  @input="handleQuantitySelector"
47
47
  :integerOnly="true"
48
+ :data-cerberus="sanitizeCerberusAttribut('PB-INCREMENTAL-AMOUNT', 'SELECTOR')"
48
49
  />
49
50
  </m-flex>
50
51
 
@@ -55,6 +56,7 @@
55
56
  width="full"
56
57
  size="l"
57
58
  type="submit"
59
+ :data-cerberus="sanitizeCerberusAttribut('PB-INCREMENTAL-AMOUNT', 'INPUT')"
58
60
  />
59
61
  </m-flex>
60
62
  </form>
@@ -75,6 +77,7 @@ import { ScenarioStepAnswer } from '@/types/pb/Scenario';
75
77
  import { decorate } from '@/services/decorate';
76
78
  import MQuantitySelector from '../../mozaic/quantityselector/MQuantitySelector.vue';
77
79
  import { IncrementalAmountPayload } from '@/components/question/incremental-amount-input/IncrementalAmount';
80
+ import { sanitizeCerberusAttribut } from '@/services/sanitize';
78
81
 
79
82
  const BACK_ICON =
80
83
  'https://storage.googleapis.com/project-booster-media/mozaic-icons/svg/Navigation_Arrow_Arrow--Left_16px.svg';
@@ -213,6 +216,7 @@ export default defineComponent({
213
216
  quantitySelector,
214
217
  handleQuantitySelector,
215
218
  subtitle,
219
+ sanitizeCerberusAttribut,
216
220
  };
217
221
  },
218
222
  });
@@ -23,6 +23,7 @@
23
23
  ref="pbNameInputTextInput"
24
24
  :placeholder="computedPayload.viewModel.placeholder"
25
25
  v-model="name"
26
+ :data-cerberus="sanitizeCerberusAttribut('PB-NAME-INPUT', 'INPUT')"
26
27
  />
27
28
  <m-flex v-if="runtimeOptions.displayOptin" class="pb-name-input__optin">
28
29
  <m-toggle class="pb-name-input__optin-toggle" size="s" v-model="optin" />
@@ -37,6 +38,7 @@
37
38
  width="full"
38
39
  size="l"
39
40
  @click="handleFormSubmit"
41
+ :data-cerberus="sanitizeCerberusAttribut('PB-NAME-INPUT', 'BUTTON')"
40
42
  />
41
43
  </m-flex>
42
44
  </m-flex>
@@ -61,6 +63,7 @@ import DEFAULT_PAYLOAD from './default-payload.json';
61
63
  import { NameInputPayload } from '@/components/question/name-input/NameInput';
62
64
  import { ScenarioStepAnswer } from '@/types/pb/Scenario';
63
65
  import { decorate } from '@/services/decorate';
66
+ import { sanitizeCerberusAttribut } from '@/services/sanitize';
64
67
 
65
68
  const BACK_ICON =
66
69
  'https://storage.googleapis.com/project-booster-media/mozaic-icons/svg/Navigation_Arrow_Arrow--Left_16px.svg';
@@ -230,6 +233,7 @@ export default defineComponent({
230
233
  optin,
231
234
  computedPayload,
232
235
  handleFormSubmit,
236
+ sanitizeCerberusAttribut,
233
237
  };
234
238
  },
235
239
  });
@@ -34,6 +34,7 @@
34
34
  @click="callAction(button.nextStep)"
35
35
  :theme="button.theme"
36
36
  style="margin-left: 1rem"
37
+ :data-cerberus="sanitizeCerberusAttribut('MPB-ALERT', button.label)"
37
38
  />
38
39
  </div>
39
40
  </div>
@@ -43,6 +44,8 @@
43
44
  <script lang="ts" setup>
44
45
  import { MNotification, MButton, MCard } from '@mozaic-ds/vue-3';
45
46
  import { PayloadAction } from '../types/genericPayload';
47
+ import { sanitizeCerberusAttribut } from '@/services/sanitize';
48
+
46
49
  const emit = defineEmits(['go-back', 'step-completed']);
47
50
 
48
51
  const props = defineProps({
@@ -37,6 +37,7 @@
37
37
  :label="payload.viewModel.backButton.label"
38
38
  :theme="payload.viewModel.backButton.theme"
39
39
  @click="callAction(payload.viewModel.backButton.nextStep)"
40
+ :data-cerberus="sanitizeCerberusAttribut('MPB-EXIT-OPTIONS', payload.viewModel.backButton.label)"
40
41
  />
41
42
  </div>
42
43
 
@@ -44,7 +45,11 @@
44
45
  v-if="isValidCondition(condition.conditions) && !payload.viewModel.nextStep"
45
46
  class="m-pb-exit-options__buttons__button"
46
47
  >
47
- <m-button :label="condition.viewModel.nextStep.label" :href="condition.viewModel.nextStep.link" />
48
+ <m-button
49
+ :label="condition.viewModel.nextStep.label"
50
+ :href="condition.viewModel.nextStep.link"
51
+ :data-cerberus="sanitizeCerberusAttribut('MPB-EXIT-OPTIONS', condition.viewModel.nextStep.label)"
52
+ />
48
53
  </div>
49
54
  </div>
50
55
 
@@ -55,11 +60,16 @@
55
60
  :label="payload.viewModel.backButton.label"
56
61
  :theme="payload.viewModel.backButton.theme"
57
62
  @click="callAction(payload.viewModel.backButton.nextStep)"
63
+ :data-cerberus="sanitizeCerberusAttribut('MPB-EXIT-OPTIONS', payload.viewModel.backButton.label)"
58
64
  />
59
65
  </div>
60
66
 
61
67
  <div class="m-pb-exit-options__buttons__button">
62
- <m-button :label="payload.viewModel.nextStep.label" @click="callAction(payload.viewModel.nextStep)" />
68
+ <m-button
69
+ :label="payload.viewModel.nextStep.label"
70
+ :data-cerberus="sanitizeCerberusAttribut('MPB-EXIT-OPTIONS', 'NEXT')"
71
+ @click="callAction(payload.viewModel.nextStep)"
72
+ />
63
73
  </div>
64
74
  </div>
65
75
  </div>
@@ -70,6 +80,7 @@ import { MButton } from '@mozaic-ds/vue-3';
70
80
  import { PropType, ref } from 'vue';
71
81
  import { PayloadAction } from '../types/genericPayload';
72
82
  import { areConditionsValid } from '../../../services/scenarioConditionals';
83
+ import { sanitizeCerberusAttribut } from '@/services/sanitize';
73
84
  import { ScenarioStepAnswer } from '@/types/pb/Scenario';
74
85
 
75
86
  const emit = defineEmits(['go-back', 'step-completed']);
@@ -53,6 +53,7 @@
53
53
  :tabindex="index + 2"
54
54
  @click="selectSuggestion(suggestion)"
55
55
  @keyup.enter="selectSuggestion(suggestion)"
56
+ :data-cerberus="sanitizeCerberusAttribut('MPB-CITY-SEARCH', 'CITY-' + suggestion.id)"
56
57
  >
57
58
  {{ formatSuggestion(suggestion) }}
58
59
  </div>
@@ -73,6 +74,7 @@
73
74
  @input="handleSearchKeywordChange"
74
75
  @focus="handleSearchKeywordFocus"
75
76
  tabindex="1"
77
+ :data-cerberus="sanitizeCerberusAttribut('MPB-CITY-SEARCH', 'INPUT')"
76
78
  />
77
79
  </m-flex>
78
80
  </div>
@@ -89,6 +91,7 @@
89
91
  :label="computedPayload.viewModel.actionLabel"
90
92
  size="l"
91
93
  @click="handleFormValidation"
94
+ :data-cerberus="sanitizeCerberusAttribut('MPB-CITY-SEARCH', 'BUTTON')"
92
95
  />
93
96
  </m-flex>
94
97
  </div>
@@ -106,6 +109,7 @@ import MFlex from '../../../mozaic/flex/MFlex.vue';
106
109
  import MButton from '../../../mozaic/buttons/MButton.vue';
107
110
  import MLink from '../../../mozaic/link/MLink.vue';
108
111
  import MTextInput from '../../../mozaic/text-input/MTextInput.vue';
112
+ import { sanitizeCerberusAttribut } from '@/services/sanitize';
109
113
  import DEFAULT_PAYLOAD from './default-payload.json';
110
114
  import { DebouncedFunc } from 'lodash-es';
111
115
  import { decorate } from '@/services/decorate';
@@ -394,6 +398,7 @@ export default defineComponent({
394
398
  selectedCityToKeyword(): string {
395
399
  return this.selectedCity?.postalCode + ' ' + this.selectedCity?.name + ', ' + this.selectedCity?.region;
396
400
  },
401
+ sanitizeCerberusAttribut,
397
402
  },
398
403
  });
399
404
  </script>
@@ -23,6 +23,7 @@
23
23
  ref="pbNameInputTextInput"
24
24
  :placeholder="computedPayload.viewModel.placeholder"
25
25
  v-model="name"
26
+ :data-cerberus="sanitizeCerberusAttribut('MPB-NAME-INPUT', 'INPUT')"
26
27
  />
27
28
  <m-flex v-if="runtimeOptions.displayOptin" class="pb-name-input__optin">
28
29
  <m-toggle class="pb-name-input__optin-toggle" size="s" v-model="optin" />
@@ -37,6 +38,7 @@
37
38
  width="full"
38
39
  size="l"
39
40
  @click="handleFormSubmit"
41
+ :data-cerberus="sanitizeCerberusAttribut('MPB-NAME-INPUT', 'SUBMIT')"
40
42
  />
41
43
  </m-flex>
42
44
  </m-flex>
@@ -61,6 +63,7 @@ import DEFAULT_PAYLOAD from './default-payload.json';
61
63
  import { NameInputPayload } from '@/components/question/name-input/NameInput';
62
64
  import { ScenarioStepAnswer } from '@/types/pb/Scenario';
63
65
  import { decorate } from '@/services/decorate';
66
+ import { sanitizeCerberusAttribut } from '@/services/sanitize';
64
67
 
65
68
  const BACK_ICON =
66
69
  'https://storage.googleapis.com/project-booster-media/mozaic-icons/svg/Navigation_Arrow_Arrow--Left_16px.svg';
@@ -230,6 +233,7 @@ export default defineComponent({
230
233
  optin,
231
234
  computedPayload,
232
235
  handleFormSubmit,
236
+ sanitizeCerberusAttribut,
233
237
  };
234
238
  },
235
239
  });