project-booster-vue 8.104.0 → 8.104.4

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.
Files changed (22) hide show
  1. package/package.json +12 -12
  2. package/src/components/appointment/PbAppointment.stories.mdx +2 -2
  3. package/src/components/appointment/PbAppointment.vue +0 -12
  4. package/src/components/appointment/PbAppointmentStartSection.vue +1 -1
  5. package/src/components/appointment/__snapshots__/storyshots-puppeteer-test-puppeteer-js-image-storyshots-project-booster-components-/360/237/246/240-pb-appointment-feature-appointment-recovery-1-snap.png +0 -0
  6. package/src/components/appointment/__snapshots__/storyshots-puppeteer-test-puppeteer-js-image-storyshots-project-booster-components-/360/237/246/240-pb-appointment-feature-start-appointment-1-snap.png +0 -0
  7. package/src/components/appointment/default-payload.json +47 -129
  8. package/src/components/appointment/default-selected-scenarios.json +114 -230
  9. package/src/components/pedagogy/PbPedagogy.vue +6 -1
  10. package/src/components/products/PbProducts.vue +20 -13
  11. package/src/components/products/products.json +2 -1
  12. package/src/components/progress/PbProgressBar.vue +12 -4
  13. package/src/components/progress/PbProgressBarHeader.vue +16 -13
  14. package/src/components/question/PbQuestion.vue +79 -65
  15. package/src/components/question/upload-document/PbUploadDocument.vue +9 -1
  16. package/src/components/scenario/PbScenario-Features-Test.stories.mdx +2 -1
  17. package/src/components/scenario/PbScenario.vue +11 -5
  18. package/src/components/scenario/__snapshots__/storyshots-puppeteer-test-puppeteer-js-image-storyshots-project-booster-scenario-/360/237/246/240-pb-scenario-vad-101-sandbox-1-snap.png +0 -0
  19. package/src/components/scenario/scenarii/appointment-qualification-kitchen.json +11 -167
  20. package/src/components/tasks/list/PbTasksList.vue +7 -5
  21. package/src/pages/project/project-hub/PbProjectHub.vue +3 -1
  22. package/src/store/modules/documentStore.js +4 -4
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "project-booster-vue",
3
- "version": "8.104.0",
3
+ "version": "8.104.4",
4
4
  "private": false,
5
5
  "scripts": {
6
6
  "test:unit": "vue-cli-service test:unit --forceExit --detectOpenHandles",
@@ -72,19 +72,19 @@
72
72
  "@babel/plugin-transform-modules-commonjs": "7.14.5",
73
73
  "@semantic-release/changelog": "5.0.1",
74
74
  "@semantic-release/git": "9.0.0",
75
- "@storybook/addon-a11y": "6.3.8",
76
- "@storybook/addon-essentials": "6.3.8",
75
+ "@storybook/addon-a11y": "6.3.12",
76
+ "@storybook/addon-essentials": "6.3.12",
77
77
  "@storybook/addon-knobs": "6.3.1",
78
- "@storybook/addon-links": "6.3.8",
78
+ "@storybook/addon-links": "6.3.12",
79
79
  "@storybook/addon-postcss": "2.0.0",
80
- "@storybook/addon-storyshots": "6.3.8",
81
- "@storybook/addon-storyshots-puppeteer": "6.3.8",
82
- "@storybook/addon-storysource": "6.3.8",
83
- "@storybook/addons": "6.3.8",
84
- "@storybook/source-loader": "6.3.8",
80
+ "@storybook/addon-storyshots": "6.3.12",
81
+ "@storybook/addon-storyshots-puppeteer": "6.3.12",
82
+ "@storybook/addon-storysource": "6.3.12",
83
+ "@storybook/addons": "6.3.12",
84
+ "@storybook/source-loader": "6.3.12",
85
85
  "@storybook/storybook-deployer": "2.8.10",
86
- "@storybook/theming": "6.3.8",
87
- "@storybook/vue3": "6.3.8",
86
+ "@storybook/theming": "6.3.12",
87
+ "@storybook/vue3": "6.3.12",
88
88
  "@testing-library/jest-dom": "5.14.1",
89
89
  "@testing-library/vue": "6.4.2",
90
90
  "@vue/cli": "5.0.0-beta.2",
@@ -127,7 +127,7 @@
127
127
  "vue-jest": "5.0.0-alpha.10",
128
128
  "vue-loader": "16.2.0",
129
129
  "msw": "0.35.0",
130
- "msw-storybook-addon": "1.3.0",
130
+ "msw-storybook-addon": "1.4.1",
131
131
  "@mswjs/interceptors": "^0.12.7"
132
132
  },
133
133
  "eslintConfig": {
@@ -51,11 +51,11 @@ import { documentThumbnailResolver, uploadDocumentResolver } from '../../service
51
51
 
52
52
  The `PbAppointment` component to make an appointment.
53
53
 
54
- ## StartAppointment
54
+ ## Start Appointment
55
55
 
56
56
  <Canvas>
57
57
  <Story
58
- name="Feature - showcaseWithAppointment"
58
+ name="Feature - Start Appointment"
59
59
  parameters={{
60
60
  controls: { disable: true },
61
61
  msw: [
@@ -43,19 +43,7 @@ export default {
43
43
 
44
44
  <style scoped lang="scss">
45
45
  @import 'variables';
46
- :deep(.pb-scenario) {
47
- width: 100%;
48
- }
49
- :deep(.pb-question__footer-container--icon) {
50
- display: none;
51
- }
52
- :deep(.pb-question__footer-container--label) {
53
- @include set-font-scale('05', 'm');
54
- color: $color-grey-600;
55
- max-width: 600px;
56
- }
57
46
  .pb-appointment {
58
- height: 100%;
59
47
  &__loader {
60
48
  margin: $mu500 0;
61
49
  }
@@ -94,7 +94,7 @@ $responsive-breakpoint: 'm';
94
94
 
95
95
  .pb-appointment-section {
96
96
  height: 100%;
97
- margin-top: $mu500;
97
+ padding-top: $mu500;
98
98
 
99
99
  &__content {
100
100
  padding: $mu100;
@@ -62,7 +62,7 @@
62
62
  {
63
63
  "conditions": ["isAnswerMatching('START_SCENARIO', 'CONTINUE')"],
64
64
  "nextStep": {
65
- "code": "LMFR_QUESTION_WORK_START_DATE"
65
+ "code": "LMFR_QUESTION_SCENARIO"
66
66
  }
67
67
  },
68
68
  {
@@ -74,6 +74,18 @@
74
74
  ]
75
75
  }
76
76
  },
77
+ "LMFR_QUESTION_SCENARIO": {
78
+ "code": "LMFR_QUESTION_SCENARIO",
79
+ "type": "SCENARIO",
80
+ "stepCode": "LMFR_QUESTION_WORK_START_DATE",
81
+ "nextStep": {
82
+ "code": "__END__"
83
+ },
84
+ "trackProgress": true,
85
+ "slots": {
86
+ "stickyTop": { "component": "PbProgressBarHeader" }
87
+ }
88
+ },
77
89
  "LMFR_QUESTION_WORK_START_DATE": {
78
90
  "code": "LMFR_QUESTION_WORK_START_DATE",
79
91
  "type": "STEP",
@@ -115,7 +127,6 @@
115
127
  }
116
128
  }
117
129
  },
118
-
119
130
  "nextStep": {
120
131
  "code": "LMFR_QUESTION_BUDGET"
121
132
  }
@@ -126,7 +137,7 @@
126
137
  "component": "PbQuestion",
127
138
  "payload": {
128
139
  "viewModel": {
129
- "label": "Avez-vous une idée du budget votre cuisine (mobilier et équipements) ?",
140
+ "label": "Avez-vous une idée du budget de votre cuisine (mobilier et équipements) ?",
130
141
  "subtitle": "Votre conseiller veillera à respecter votre budget",
131
142
  "answersComponent": "PbCard"
132
143
  },
@@ -182,11 +193,11 @@
182
193
  "viewModel": {
183
194
  "label": "Qui posera votre cuisine ?",
184
195
  "footer": {
185
- "label": "*Nos artisans partenaires sont rigoureusement sélectionnés et vos travaux sont garantis jusqu'à 10 ans. Vous pouvez également bénéficier de la TVA réduite à 10% (au lieu de 20%) sur les produits éligibles et la pose. Les travaux doivent être réalisés dans un lieu d’habitation achevé depuis plus de 2 ans (agrandissements exclus). Sans condition de revenu."
196
+ "label": "*Nos artisans partenaires sont rigoureusement sélectionnés et vos travaux sont garantis jusqu'à 10 ans. Vous pouvez également bénéficier de la TVA réduite à 10% (au lieu de 20%) sur les produits éligibles et la pose. Les travaux doivent être réalisés dans un lieu d’habitation achevé depuis plus de 2 ans (agrandissements exclus). Sans condition de revenu.",
197
+ "theme": "gray"
186
198
  },
187
199
  "answersComponent": "PbCard"
188
200
  },
189
-
190
201
  "answers": {
191
202
  "BY_MYSELF": {
192
203
  "code": "BY_MYSELF",
@@ -231,7 +242,6 @@
231
242
  "label": " Avez-vous déjà un plan avec les mesures de votre cuisine ?",
232
243
  "answersComponent": "PbCard"
233
244
  },
234
-
235
245
  "answers": {
236
246
  "HAVE_PLAN": {
237
247
  "code": "HAVE_PLAN",
@@ -251,30 +261,28 @@
251
261
  }
252
262
  },
253
263
  "nextStep": {
254
- "conditionals": [
255
- {
256
- "conditions": ["isAnswerMatching('LMFR_QUESTION_PLAN', 'HAVE_PLAN')"],
257
- "nextStep": {
258
- "code": "LMFR_QUESTION_HAVE_PLAN"
259
- }
260
- },
261
- {
262
- "conditions": ["isAnswerMatching('LMFR_QUESTION_PLAN', 'DONT_HAVE_PLAN')"],
263
- "nextStep": {
264
- "code": "LMFR_QUESTION_DONT_HAVE_PLAN"
265
- }
266
- }
267
- ]
264
+ "code": "LMFR_QUESTION_SCENARIO_PLAN"
265
+ }
266
+ },
267
+ "LMFR_QUESTION_SCENARIO_PLAN": {
268
+ "code": "LMFR_QUESTION_SCENARIO_PLAN",
269
+ "type": "SCENARIO",
270
+ "stepCode": "LMFR_QUESTION_PLAN_INFO",
271
+ "nextStep": {
272
+ "code": "__END__"
273
+ },
274
+ "slots": {
275
+ "stickyTop": { "component": "PbProgressBarHeader" }
268
276
  }
269
277
  },
270
- "LMFR_QUESTION_HAVE_PLAN": {
271
- "code": "LMFR_QUESTION_HAVE_PLAN",
278
+ "LMFR_QUESTION_PLAN_INFO": {
279
+ "code": "LMFR_QUESTION_PLAN_INFO",
272
280
  "type": "STEP",
273
281
  "component": "PbQuestion",
274
282
  "payload": {
275
283
  "viewModel": {
276
- "label": "Sur votre plan, vérifiez que vous avez les bonnes mesures :",
277
- "subtitle": "Votre conseiller aura besoin de ces mesures pour créer votre plan de cuisine en 3D.",
284
+ "label": "${getAnswerValue('LMFR_QUESTION_PLAN', 'value') === 'HAVE_PLAN' ? 'Sur votre plan, vérifiez que vous avez les bonnes mesures :' : 'Réalisez rapidement un plan avec les mesures de votre pièce en 3 étapes'}",
285
+ "subtitle": "${getAnswerValue('LMFR_QUESTION_PLAN', 'value') === 'HAVE_PLAN' ? 'Votre conseiller aura besoin de ces mesures pour créer votre plan de cuisine en 3D.' : 'Sur une feuille, dessinez la pièce et reportez les bonnes mesures, prenez une photo du plan et ajoutez la.'}",
278
286
  "widthFromL": "1of3",
279
287
  "forceOneCardPerLineOnMobile": true,
280
288
  "answersComponent": "PbCard",
@@ -304,7 +312,6 @@
304
312
  }
305
313
  }
306
314
  ],
307
-
308
315
  "answers": {
309
316
  "1": {
310
317
  "viewModel": {
@@ -315,7 +322,7 @@
315
322
  "headerTitle": "Exemple de mesures des dimensions de la pièce sur le plan",
316
323
  "imageUrl": "https://storage.googleapis.com/project-booster-media/vad/plans/plan-etape-01.png",
317
324
  "title": "Mesurez les dimensions de la pièce",
318
- "text": "Mesurez les dimensions de votre pièce. <br/> <span class='text-bold'>Longueur, largeur, hauteur. </span> <br/> Reportez ces mesures sur votre plan."
325
+ "text": "Mesurez les dimensions de votre pièce : <br/> <span class='text-bold'>longueur, largeur, hauteur. </span> <br/> Reportez ces mesures sur votre plan."
319
326
  }
320
327
  }
321
328
  },
@@ -337,7 +344,6 @@
337
344
  "title": "Les emplacements des éléments fixes",
338
345
  "linkLabel": "Voir la liste des éléments fixes",
339
346
  "image": "https://storage.googleapis.com/project-booster-media/vad/plans/Qualif-RDV-Elements-fixes.png",
340
-
341
347
  "dialog": {
342
348
  "headerTitle": "Exemple de placement des éléments fixes sur le plan",
343
349
  "imageUrl": "https://storage.googleapis.com/project-booster-media/vad/plans/plan-etape-03.png",
@@ -349,103 +355,6 @@
349
355
  }
350
356
  }
351
357
  },
352
- "LMFR_QUESTION_DONT_HAVE_PLAN": {
353
- "code": "LMFR_QUESTION_DONT_HAVE_PLAN",
354
- "type": "STEP",
355
- "component": "PbQuestion",
356
- "payload": {
357
- "viewModel": {
358
- "label": "Réalisez rapidement un plan avec les mesures de votre pièce en 3 étapes",
359
- "subtitle": "Sur une feuille, dessinez la pièce et reportez les bonnes mesures, prenez une photo du plan et ajoutez la.",
360
- "answersComponent": "PbCard",
361
- "forceOneCardPerLineOnMobile": true,
362
- "widthFromL": "1of3",
363
- "video": {
364
- "src": "https://players.brightcove.net/2812541250001/SkgXKciHDZ_default/index.html?videoId=6270735637001&autoplay=play",
365
- "theme": "bordered",
366
- "label": "Voir le guide en vidéo",
367
- "icon": "https://storage.googleapis.com/project-booster-media/mozaic-icons/svg/Media_Play_24px.svg"
368
- }
369
- },
370
- "skippable": [
371
- {
372
- "label": "Ajouter un plan plus tard",
373
- "theme": "bordered",
374
- "width": "full",
375
- "nextStep": {
376
- "code": "ADD_PLAN_LATER"
377
- }
378
- },
379
- {
380
- "label": "Ajouter un plan",
381
- "theme": "solid",
382
- "width": "full",
383
- "widthFromM": "fit",
384
- "nextStep": {
385
- "code": "LMFR_QUESTION_ADD_PLAN"
386
- }
387
- }
388
- ],
389
- "answers": {
390
- "1": {
391
- "viewModel": {
392
- "title": "Mesurez les dimensions de la pièce",
393
- "linkLabel": "Voir un exemple",
394
- "image": "https://storage.googleapis.com/project-booster-media/vad/plans/Qualif-RDV-VAD-Mesures-Dimension-Piece.png",
395
- "dialog": {
396
- "headerTitle": "Exemple de mesures des dimensions de la pièce sur le plan",
397
- "imageUrl": "https://storage.googleapis.com/project-booster-media/vad/plans/plan-etape-01.png",
398
- "title": "Mesurez les dimensions de la pièce",
399
- "text": "Mesurez les dimensions de votre pièce. <br/> <span class='text-bold'>Longueur, largeur, hauteur. </span> <br/> Reportez ces mesures sur votre plan."
400
- }
401
- }
402
- },
403
- "2": {
404
- "viewModel": {
405
- "title": "Mesurez et placez les portes et fenêtres",
406
- "linkLabel": "Voir un exemple",
407
- "image": "https://storage.googleapis.com/project-booster-media/vad/plans/Qualif-RDV-Piece-Portes-et-fenetres.png",
408
- "dialog": {
409
- "headerTitle": "Exemple de placement des portes et fenêtres sur le plan",
410
- "imageUrl": "https://storage.googleapis.com/project-booster-media/vad/plans/plan-etape-02.png",
411
- "title": "Mesurez et placez les portes et fenêtres",
412
- "text": "Mesurez la <span class='text-bold'> largeur </span> et la <span class='text-bold'> hauteur </span> des portes et fenêtres, puis <span class='text-bold'> leur distance avec les murs. </span> <br/> Mesurez la <span class='text-bold'> hauteur des seuils </span> de fenêtres et indiquez le <span class='text-bold'> sens d’ouverture </span> des portes."
413
- }
414
- }
415
- },
416
- "3": {
417
- "viewModel": {
418
- "title": "Repérez les emplacements des éléments fixes",
419
- "linkLabel": "Voir la liste des éléments fixes",
420
- "image": "https://storage.googleapis.com/project-booster-media/vad/plans/Qualif-RDV-Elements-fixes.png",
421
-
422
- "dialog": {
423
- "headerTitle": "Exemple de placement des éléments fixes sur le plan",
424
- "imageUrl": "https://storage.googleapis.com/project-booster-media/vad/plans/plan-etape-03.png",
425
- "title": "Repérez l'emplacement des éléments fixes",
426
- "text": "Situez les <span class='text-bold'> les canalisations d’eau </span> et de <span class='text-bold'> gaz </span>, les <span class='text-bold'> prises électriques </span>, les tuyaux, la sortie de <span class='text-bold'> hotte </span> et de la <span class='text-bold'> ventilation </span>. <br/> Placez également les <span class='text-bold'>radiateurs</span>, <span class='text-bold'>chauffe-eau </span> et <span class='text-bold'>colonne technique </span>."
427
- }
428
- }
429
- }
430
- }
431
- },
432
- "nextStep": {
433
- "conditionals": [
434
- {
435
- "conditions": ["isAnswerMatching('LMFR_QUESTION_DONT_HAVE_PLAN', 'ADD_PLAN_LATER')"],
436
- "nextStep": {
437
- "code": "ADD_PLAN_LATER"
438
- }
439
- },
440
- {
441
- "conditions": ["isAnswerMatching('LMFR_QUESTION_DONT_HAVE_PLAN', 'ADD_PLAN')"],
442
- "nextStep": {
443
- "code": "LMFR_QUESTION_ADD_PLAN"
444
- }
445
- }
446
- ]
447
- }
448
- },
449
358
  "LMFR_QUESTION_ADD_PLAN": {
450
359
  "code": "LMFR_QUESTION_ADD_PLAN",
451
360
  "type": "STEP",
@@ -454,6 +363,10 @@
454
363
  "viewModel": {
455
364
  "label": "Vos plans de cuisine",
456
365
  "answersComponent": "PbCard",
366
+ "showMore": {
367
+ "itemsPerPage": 4,
368
+ "label": "Afficher plus des documents"
369
+ },
457
370
  "mediaPayload": {
458
371
  "viewModel": {
459
372
  "title": "Ajouter un plan",
@@ -472,7 +385,7 @@
472
385
  "documentTypes": [
473
386
  {
474
387
  "code": "HAND_DRAWN_PLAN",
475
- "label": "Un plan fait moi même"
388
+ "label": "Un plan fait moi-même"
476
389
  },
477
390
  {
478
391
  "code": "ARCHITECT_PLAN",
@@ -563,7 +476,7 @@
563
476
  "viewModel": {
564
477
  "value": "3",
565
478
  "url": "https://www.leroymerlin.fr/inspiration/les-meilleures-idees-pour-chaque-piece/cuisine/",
566
- "image": "https://images.ctfassets.net/8q8qvv8j6cpk/59igdEVBhIa37nrfbnGs4V/252c4bb73bf865a68b53036fba6dba21/carrelage.jpg",
479
+ "image": "https://storage.googleapis.com/project-booster-media/vad/fin-de-parcours/inspiration-cuisine.jpg",
567
480
  "title": "Des idées et conseils pour votre cuisine",
568
481
  "width": "full",
569
482
  "widthFromM": "1of3",
@@ -571,6 +484,9 @@
571
484
  }
572
485
  }
573
486
  ]
487
+ },
488
+ "slots": {
489
+ "stickyTop": { "display": false }
574
490
  }
575
491
  },
576
492
  "START_LATER": {
@@ -612,7 +528,7 @@
612
528
  "viewModel": {
613
529
  "value": "3",
614
530
  "url": "https://www.leroymerlin.fr/inspiration/les-meilleures-idees-pour-chaque-piece/cuisine/",
615
- "image": "https://images.ctfassets.net/8q8qvv8j6cpk/59igdEVBhIa37nrfbnGs4V/252c4bb73bf865a68b53036fba6dba21/carrelage.jpg",
531
+ "image": "https://storage.googleapis.com/project-booster-media/vad/fin-de-parcours/inspiration-cuisine.jpg",
616
532
  "title": "Des idées et conseils pour votre cuisine",
617
533
  "width": "full",
618
534
  "widthFromM": "1of3",
@@ -622,7 +538,6 @@
622
538
  ]
623
539
  }
624
540
  },
625
-
626
541
  "__END__": {
627
542
  "code": "__END__",
628
543
  "type": "END",
@@ -662,7 +577,7 @@
662
577
  "viewModel": {
663
578
  "value": "3",
664
579
  "url": "https://www.leroymerlin.fr/inspiration/les-meilleures-idees-pour-chaque-piece/cuisine/",
665
- "image": "https://images.ctfassets.net/8q8qvv8j6cpk/59igdEVBhIa37nrfbnGs4V/252c4bb73bf865a68b53036fba6dba21/carrelage.jpg",
580
+ "image": "https://storage.googleapis.com/project-booster-media/vad/fin-de-parcours/inspiration-cuisine.jpg",
666
581
  "title": "Des idées et conseils pour votre cuisine",
667
582
  "width": "full",
668
583
  "widthFromM": "1of3",
@@ -670,6 +585,9 @@
670
585
  }
671
586
  }
672
587
  ]
588
+ },
589
+ "slots": {
590
+ "stickyTop": { "display": false }
673
591
  }
674
592
  }
675
593
  }