@cnamts/synapse 0.0.11-alpha → 0.0.12-alpha

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 (108) hide show
  1. package/dist/design-system-v3.js +3878 -3189
  2. package/dist/design-system-v3.umd.cjs +1 -1
  3. package/dist/src/components/Amelipro/types/languages.d.ts +6 -0
  4. package/dist/src/components/Amelipro/types/types.d.ts +65 -0
  5. package/dist/src/components/CookieBanner/CookieBanner.d.ts +1 -1
  6. package/dist/src/components/Customs/SyInputSelect/SyInputSelect.d.ts +2 -0
  7. package/dist/src/components/Customs/SyTextField/SyTextField.d.ts +29 -23
  8. package/dist/src/components/Customs/SyTextField/types.d.ts +1 -0
  9. package/dist/src/components/DatePicker/DatePicker.d.ts +70 -59
  10. package/dist/src/components/DatePicker/DateTextInput.d.ts +67 -56
  11. package/dist/src/components/ErrorPage/ErrorPage.d.ts +1 -1
  12. package/dist/src/components/FileList/FileList.d.ts +1 -0
  13. package/dist/src/components/FileList/UploadItem/UploadItem.d.ts +1 -1
  14. package/dist/src/components/FilterSideBar/FilterSideBar.d.ts +31 -0
  15. package/dist/src/components/FilterSideBar/locales.d.ts +7 -0
  16. package/dist/src/components/FilterSideBar/tests/FilterSideBar.spec.d.ts +1 -0
  17. package/dist/src/components/LangBtn/LangBtn.d.ts +2 -2
  18. package/dist/src/components/NirField/NirField.d.ts +940 -0
  19. package/dist/src/components/NotificationBar/NotificationBar.d.ts +1 -1
  20. package/dist/src/components/PasswordField/PasswordField.d.ts +40 -8
  21. package/dist/src/components/PeriodField/PeriodField.d.ts +142 -120
  22. package/dist/src/components/PhoneField/PhoneField.d.ts +11 -2
  23. package/dist/src/components/RatingPicker/EmotionPicker/EmotionPicker.d.ts +1 -1
  24. package/dist/src/components/RatingPicker/NumberPicker/NumberPicker.d.ts +1 -1
  25. package/dist/src/components/RatingPicker/StarsPicker/StarsPicker.d.ts +1 -1
  26. package/dist/src/components/UploadWorkflow/config.d.ts +29 -0
  27. package/dist/src/components/UploadWorkflow/locales.d.ts +7 -0
  28. package/dist/src/components/UploadWorkflow/tests/UploadWorkflow.spec.d.ts +1 -0
  29. package/dist/src/components/UploadWorkflow/types.d.ts +19 -0
  30. package/dist/src/components/UploadWorkflow/useFileList.d.ts +10 -0
  31. package/dist/src/components/UploadWorkflow/useFileUploadJourney.d.ts +9 -0
  32. package/dist/src/components/index.d.ts +2 -0
  33. package/dist/src/composables/rules/useFieldValidation.d.ts +1 -0
  34. package/dist/src/composables/validation/tests/useValidation.spec.d.ts +1 -0
  35. package/dist/src/composables/validation/useValidation.d.ts +39 -0
  36. package/dist/src/designTokens/index.d.ts +3 -1
  37. package/dist/src/vuetifyConfig.d.ts +81 -0
  38. package/dist/style.css +1 -1
  39. package/package.json +1 -1
  40. package/src/assets/_elevations.scss +89 -0
  41. package/src/assets/_fonts.scss +6 -0
  42. package/src/assets/_radius.scss +86 -0
  43. package/src/assets/_spacers.scss +149 -0
  44. package/src/assets/settings.scss +7 -3
  45. package/src/assets/tokens.scss +32 -29
  46. package/src/components/Amelipro/types/languages.d.ts +6 -0
  47. package/src/components/Amelipro/types/types.d.ts +65 -0
  48. package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +65 -0
  49. package/src/components/Customs/SyInputSelect/SyInputSelect.vue +13 -3
  50. package/src/components/Customs/SySelect/SySelect.stories.ts +88 -5
  51. package/src/components/Customs/SySelect/SySelect.vue +36 -10
  52. package/src/components/Customs/SySelect/tests/SySelect.spec.ts +135 -2
  53. package/src/components/Customs/SyTextField/SyTextField.stories.ts +576 -85
  54. package/src/components/Customs/SyTextField/SyTextField.vue +132 -104
  55. package/src/components/Customs/SyTextField/tests/SyTextField.spec.ts +190 -38
  56. package/src/components/Customs/SyTextField/types.d.ts +1 -0
  57. package/src/components/DatePicker/DatePicker.vue +405 -137
  58. package/src/components/DatePicker/DateTextInput.vue +15 -0
  59. package/src/components/DatePicker/tests/DatePicker.spec.ts +8 -15
  60. package/src/components/FileList/FileList.vue +2 -1
  61. package/src/components/FileList/UploadItem/UploadItem.vue +10 -0
  62. package/src/components/FileUpload/FileUpload.stories.ts +84 -0
  63. package/src/components/FileUpload/FileUpload.vue +1 -0
  64. package/src/components/FileUpload/tests/FileUpload.spec.ts +4 -4
  65. package/src/components/FilterInline/FilterInline.mdx +180 -34
  66. package/src/components/FilterInline/FilterInline.stories.ts +363 -6
  67. package/src/components/FilterSideBar/FilterSideBar.mdx +237 -0
  68. package/src/components/FilterSideBar/FilterSideBar.stories.ts +798 -0
  69. package/src/components/FilterSideBar/FilterSideBar.vue +193 -0
  70. package/src/components/FilterSideBar/locales.ts +8 -0
  71. package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +305 -0
  72. package/src/components/FilterSideBar/tests/__snapshots__/FilterSideBar.spec.ts.snap +39 -0
  73. package/src/components/HeaderBar/Usages.mdx +1 -1
  74. package/src/components/NirField/NirField.stories.ts +573 -29
  75. package/src/components/NirField/NirField.vue +397 -359
  76. package/src/components/NirField/tests/NirField.spec.ts +88 -52
  77. package/src/components/NirField/tests//342/200/257dataset/342/200/257.md +12 -0
  78. package/src/components/NotificationBar/Accessibilite.stories.ts +4 -0
  79. package/src/components/NotificationBar/NotificationBar.stories.ts +18 -13
  80. package/src/components/PasswordField/PasswordField.mdx +129 -47
  81. package/src/components/PasswordField/PasswordField.stories.ts +924 -120
  82. package/src/components/PasswordField/PasswordField.vue +209 -99
  83. package/src/components/PasswordField/tests/PasswordField.spec.ts +138 -9
  84. package/src/components/PeriodField/PeriodField.vue +55 -54
  85. package/src/components/PhoneField/PhoneField.stories.ts +69 -0
  86. package/src/components/PhoneField/PhoneField.vue +3 -0
  87. package/src/components/PhoneField/indicatifs.ts +1 -1
  88. package/src/components/UploadWorkflow/UploadWorkflow.mdx +75 -0
  89. package/src/components/UploadWorkflow/UploadWorkflow.stories.ts +943 -0
  90. package/src/components/UploadWorkflow/UploadWorkflow.vue +230 -0
  91. package/src/components/UploadWorkflow/config.ts +29 -0
  92. package/src/components/UploadWorkflow/locales.ts +8 -0
  93. package/src/components/UploadWorkflow/tests/UploadWorkflow.spec.ts +257 -0
  94. package/src/components/UploadWorkflow/tests/__snapshots__/UploadWorkflow.spec.ts.snap +54 -0
  95. package/src/components/UploadWorkflow/types.ts +21 -0
  96. package/src/components/UploadWorkflow/useFileList.ts +84 -0
  97. package/src/components/UploadWorkflow/useFileUploadJourney.ts +18 -0
  98. package/src/components/index.ts +2 -0
  99. package/src/composables/rules/useFieldValidation.ts +5 -2
  100. package/src/composables/validation/tests/useValidation.spec.ts +154 -0
  101. package/src/composables/validation/useValidation.ts +165 -0
  102. package/src/designTokens/index.ts +4 -0
  103. package/src/stories/Demarrer/Accueil.mdx +1 -1
  104. package/src/stories/DesignTokens/ThemePA.mdx +4 -30
  105. package/src/stories/GuideDuDev/UtiliserLesRules.mdx +319 -76
  106. package/src/stories/GuideDuDev/moduleDeNotification.mdx +1 -1
  107. package/src/vuetifyConfig.ts +61 -0
  108. package/src/composables/useFilterable/__snapshots__/useFilterable.spec.ts.snap +0 -3
@@ -1,10 +1,12 @@
1
1
  import { fn } from '@storybook/test'
2
2
  import type { Meta, StoryObj } from '@storybook/vue3'
3
- import { VSelect, VTextField } from 'vuetify/components'
3
+ import { ref } from 'vue'
4
+ import { VDivider, VSelect, VTextField } from 'vuetify/components'
5
+ import FilterSideBar from '../FilterSideBar/FilterSideBar.vue'
4
6
  import PeriodField from '../PeriodField/PeriodField.vue'
7
+ import RangeField from '../RangeField/RangeField.vue'
5
8
  import SearchListField from '../SearchListField/SearchListField.vue'
6
9
  import FilterInline from './FilterInline.vue'
7
- import RangeField from '../RangeField/RangeField.vue'
8
10
 
9
11
  const meta = {
10
12
  title: 'Composants/Filtres/FilterInline',
@@ -258,10 +260,11 @@ export const Default: Story = {
258
260
  {
259
261
  name: 'Script',
260
262
  code: `
263
+ import { ref } from 'vue'
261
264
  import { FilterInline, PeriodField, SearchListField } from '@cnamts/synapse'
262
265
  import { VTextField, VSelect } from 'vuetify/components'
263
266
 
264
- const filters = [
267
+ const filters = ref([
265
268
  {
266
269
  name: 'name',
267
270
  title: 'Identité',
@@ -278,7 +281,7 @@ const filters = [
278
281
  name: 'profession',
279
282
  title: 'Profession',
280
283
  },
281
- ]
284
+ ])
282
285
 
283
286
  const folderTypes = [
284
287
  { title: 'Arrêt de Travail (AT)', value: 'AT' },
@@ -378,10 +381,11 @@ export const ChipFormat: Story = {
378
381
  {
379
382
  name: 'Script',
380
383
  code: `
384
+ import { ref } from 'vue'
381
385
  import { FilterInline, RangeField } from '@cnamts/synapse'
382
386
  import { VSelect } from 'vuetify/components'
383
387
 
384
- const filters = [
388
+ const filters = ref([
385
389
  {
386
390
  name: 'range-slider',
387
391
  title: 'Intervalle',
@@ -392,7 +396,7 @@ const filters = [
392
396
  },
393
397
  ],
394
398
  },
395
- ]
399
+ ])
396
400
 
397
401
  const folderTypes = [
398
402
  'AT',
@@ -404,3 +408,356 @@ const folderTypes = [
404
408
  ],
405
409
  },
406
410
  }
411
+
412
+ export const FilterCombination: Story = {
413
+ args: {
414
+ 'onUpdate:modelValue': fn(),
415
+ },
416
+ decorators: [
417
+ () => ({
418
+ template: `
419
+ <VApp style="height: 500px; overflow-y: hidden;">
420
+ <div class="pa-4">
421
+ <story />
422
+ </div>
423
+ </VApp>
424
+ `,
425
+ }),
426
+ ],
427
+ render: args => ({
428
+ components: { FilterSideBar, FilterInline, VTextField, VSelect, PeriodField, SearchListField, VDivider },
429
+ setup() {
430
+ const filters = ref([
431
+ {
432
+ name: 'name',
433
+ title: 'Identité',
434
+ },
435
+ {
436
+ name: 'folder',
437
+ title: 'Type de dossier',
438
+ },
439
+ {
440
+ name: 'period',
441
+ title: 'Période',
442
+ },
443
+ {
444
+ name: 'profession',
445
+ title: 'Profession',
446
+ },
447
+ ])
448
+
449
+ const folderTypes = [
450
+ {
451
+ title: 'AT',
452
+ value: 'at',
453
+ },
454
+ {
455
+ title: 'MP',
456
+ value: 'mp',
457
+ },
458
+ {
459
+ title: 'Autre',
460
+ value: 'other',
461
+ },
462
+ ]
463
+
464
+ const professionList = [
465
+ {
466
+ label: 'Chirurgien-dentiste',
467
+ value: 'chirurgien-dentiste',
468
+ },
469
+ {
470
+ label: 'Infirmier',
471
+ value: 'infirmier',
472
+ },
473
+ {
474
+ label: 'Orthophoniste',
475
+ value: 'orthophoniste',
476
+ },
477
+ {
478
+ label: 'Orthoptiste',
479
+ value: 'orthoptiste',
480
+ },
481
+ {
482
+ label: 'Pédicure-podologue',
483
+ value: 'pedicure-podologue',
484
+ },
485
+ {
486
+ label: 'Pharmacien',
487
+ value: 'pharmacien',
488
+ },
489
+ ]
490
+
491
+ return { args, filters, folderTypes, professionList }
492
+ },
493
+ template: `
494
+ <div>
495
+ <FilterSideBar
496
+ v-model="filters"
497
+ v-bind="args"
498
+ >
499
+ <template #name="{ props }">
500
+ <VTextField
501
+ v-bind="props"
502
+ label="Nom"
503
+ variant="outlined"
504
+ hide-details
505
+ color="primary"
506
+ />
507
+ </template>
508
+
509
+ <template #folder="{ props }">
510
+ <p class="text-secondary mb-4">
511
+ Vous pouvez filtrer entre les dossiers de type <b>Arrêt de Travail (AT)</b> et <b>Maladie Professionnelle (MP)</b> ou <b>Autre</b>.
512
+ </p>
513
+
514
+ <VSelect
515
+ v-bind="props"
516
+ :items="folderTypes"
517
+ label="Type de dossier"
518
+ multiple
519
+ variant="outlined"
520
+ return-object
521
+ hide-details
522
+ color="primary"
523
+ />
524
+ </template>
525
+
526
+ <template #period="{ props }">
527
+ <PeriodField
528
+ v-bind="props"
529
+ variant="outlined"
530
+ />
531
+ </template>
532
+
533
+ <template #profession="{ props }">
534
+ <SearchListField
535
+ v-bind="props"
536
+ :items="professionList"
537
+ />
538
+ </template>
539
+ </FilterSideBar>
540
+ <VDivider class="my-4" />
541
+ <FilterInline
542
+ v-model="filters"
543
+ v-bind="args"
544
+ >
545
+ <template #name="{ props }">
546
+ <VTextField
547
+ v-bind="props"
548
+ label="Nom"
549
+ variant="outlined"
550
+ hide-details
551
+ color="primary"
552
+ />
553
+ </template>
554
+
555
+ <template #folder="{ props }">
556
+ <p class="text-secondary mb-4">
557
+ Vous pouvez filtrer entre les dossiers de type <b>Arrêt de Travail (AT)</b> et <b>Maladie Professionnelle (MP)</b> ou <b>Autre</b>.
558
+ </p>
559
+
560
+ <VSelect
561
+ v-bind="props"
562
+ :items="folderTypes"
563
+ label="Type de dossier"
564
+ multiple
565
+ variant="outlined"
566
+ return-object
567
+ hide-details
568
+ color="primary"
569
+ />
570
+ </template>
571
+
572
+ <template #period="{ props }">
573
+ <PeriodField
574
+ v-bind="props"
575
+ variant="outlined"
576
+ />
577
+ </template>
578
+
579
+ <template #profession="{ props }">
580
+ <SearchListField
581
+ v-bind="props"
582
+ :items="professionList"
583
+ color="primary"
584
+ />
585
+ </template>
586
+ </FilterInline>
587
+ </div>
588
+ `,
589
+ }),
590
+ parameters: {
591
+ layout: 'fullscreen',
592
+ sourceCode: [
593
+ {
594
+ name: 'Template',
595
+ code: `
596
+ <div>
597
+ <FilterSideBar
598
+ v-model="filters"
599
+ >
600
+ <template #name="{ props }">
601
+ <VTextField
602
+ v-bind="props"
603
+ label="Nom"
604
+ variant="outlined"
605
+ hide-details
606
+ color="primary"
607
+ />
608
+ </template>
609
+
610
+ <template #folder="{ props }">
611
+ <p class="text-secondary mb-4">
612
+ Vous pouvez filtrer entre les dossiers de type <b>Arrêt de Travail (AT)</b> et <b>Maladie Professionnelle (MP)</b> ou <b>Autre</b>.
613
+ </p>
614
+
615
+ <VSelect
616
+ v-bind="props"
617
+ :items="folderTypes"
618
+ label="Type de dossier"
619
+ multiple
620
+ variant="outlined"
621
+ return-object
622
+ hide-details
623
+ color="primary"
624
+ />
625
+ </template>
626
+
627
+ <template #period="{ props }">
628
+ <PeriodField
629
+ v-bind="props"
630
+ variant="outlined"
631
+ />
632
+ </template>
633
+
634
+ <template #profession="{ props }">
635
+ <SearchListField
636
+ v-bind="props"
637
+ :items="professionList"
638
+ />
639
+ </template>
640
+ </FilterSideBar>
641
+ <VDivider class="my-4" />
642
+ <FilterInline
643
+ v-model="filters"
644
+ >
645
+ <template #name="{ props }">
646
+ <VTextField
647
+ v-bind="props"
648
+ label="Nom"
649
+ variant="outlined"
650
+ hide-details
651
+ color="primary"
652
+ />
653
+ </template>
654
+
655
+ <template #folder="{ props }">
656
+ <p class="text-secondary mb-4">
657
+ Vous pouvez filtrer entre les dossiers de type <b>Arrêt de Travail (AT)</b> et <b>Maladie Professionnelle (MP)</b> ou <b>Autre</b>.
658
+ </p>
659
+
660
+ <VSelect
661
+ v-bind="props"
662
+ :items="folderTypes"
663
+ label="Type de dossier"
664
+ multiple
665
+ variant="outlined"
666
+ return-object
667
+ hide-details
668
+ color="primary"
669
+ />
670
+ </template>
671
+
672
+ <template #period="{ props }">
673
+ <PeriodField
674
+ v-bind="props"
675
+ variant="outlined"
676
+ />
677
+ </template>
678
+
679
+ <template #profession="{ props }">
680
+ <SearchListField
681
+ v-bind="props"
682
+ :items="professionList"
683
+ color="primary"
684
+ />
685
+ </template>
686
+ </FilterInline>
687
+ </div>
688
+ `,
689
+ },
690
+ {
691
+ name: 'Script',
692
+ code: `
693
+ <script setup lang="ts">
694
+ import { ref } from 'vue'
695
+ import { FilterSideBar, filterInline, SearchListField, PeriodField } from '@cnamts/synapse'
696
+ import { VDivider, VSelect, VTextField } from 'vuetify/components'
697
+
698
+ const filters = ref([
699
+ {
700
+ name: 'name',
701
+ title: 'Identité',
702
+ },
703
+ {
704
+ name: 'folder',
705
+ title: 'Type de dossier',
706
+ },
707
+ {
708
+ name: 'period',
709
+ title: 'Période',
710
+ },
711
+ {
712
+ name: 'profession',
713
+ title: 'Profession',
714
+ },
715
+ ])
716
+
717
+ const folderTypes = [
718
+ {
719
+ title: 'AT',
720
+ value: 'at',
721
+ },
722
+ {
723
+ title: 'MP',
724
+ value: 'mp',
725
+ },
726
+ {
727
+ title: 'Autre',
728
+ value: 'other',
729
+ },
730
+ ]
731
+
732
+ const professionList = [
733
+ {
734
+ label: 'Chirurgien-dentiste',
735
+ value: 'chirurgien-dentiste',
736
+ },
737
+ {
738
+ label: 'Infirmier',
739
+ value: 'infirmier',
740
+ },
741
+ {
742
+ label: 'Orthophoniste',
743
+ value: 'orthophoniste',
744
+ },
745
+ {
746
+ label: 'Orthoptiste',
747
+ value: 'orthoptiste',
748
+ },
749
+ {
750
+ label: 'Pédicure-podologue',
751
+ value: 'pedicure-podologue',
752
+ },
753
+ {
754
+ label: 'Pharmacien',
755
+ value: 'pharmacien',
756
+ },
757
+ ]
758
+
759
+ </script>`,
760
+ },
761
+ ],
762
+ },
763
+ }
@@ -0,0 +1,237 @@
1
+ import { Controls, Canvas, Meta, Source } from '@storybook/blocks';
2
+ import * as FilterSideBarStories from './FilterSideBar.stories.ts';
3
+
4
+ <Meta of={FilterSideBarStories} />
5
+
6
+ # FilterSideBar
7
+
8
+ Le composant `FilterSideBar` est utilisé pour permettre à l’utilisateur de sélectionner des filtres dans un panel dédié.
9
+
10
+ <Canvas of={FilterSideBarStories.Default} />
11
+
12
+ # API
13
+
14
+ <Controls of={FilterSideBarStories.Default} />
15
+
16
+ # Exemples
17
+
18
+ ## Formatage des puces
19
+
20
+ Vous pouvez modifier le formatage des puces en utilisant la propriété de filtre `chipFormat`.
21
+
22
+ <Canvas
23
+ of={FilterSideBarStories.ChipFormat}
24
+ source={{
25
+ language: 'html',
26
+ format: 'dedent',
27
+ code: `
28
+ <script lang="ts" setup>
29
+ import { FilterSideBar, RangeField } from '@cnamts/synapse'
30
+ import { VSelect } from 'vuetify/components'
31
+
32
+ const filters = [
33
+ {
34
+ name: 'range-slider',
35
+ title: 'Intervalle',
36
+ formatChip: ([min, max]: [number, number]) => [
37
+ {
38
+ text: \`De \${min} à \${max}\`,
39
+ value: [min, max],
40
+ },
41
+ ],
42
+ },
43
+ ]
44
+ </script>
45
+
46
+ <template>
47
+ <FilterSideBar v-model="filters">
48
+ <template #range-slider="{ props }">
49
+ <RangeField
50
+ v-bind="props"
51
+ label="Intervalle"
52
+ max="50"
53
+ min="0"
54
+ />
55
+ </template>
56
+ </FilterSideBar>
57
+ </template>
58
+ `
59
+ }}
60
+ />
61
+
62
+ ## Combinaison de composants filtres
63
+
64
+ Vous pouvez utiliser plusieurs composants de filtres pour un seul et même filtre afin de pouvoir modifier un filtre à différents endroits sur une page.
65
+
66
+
67
+ <Canvas
68
+ of={FilterSideBarStories.FilterCombination}
69
+ source={{
70
+ language: 'html',
71
+ format: 'dedent',
72
+ code: `
73
+ <script lang="ts" setup>
74
+ import { ref } from 'vue'
75
+ import { FilterSideBar, filterInline, SearchListField, PeriodField } from '@cnamts/synapse'
76
+ import { VDivider, VSelect, VTextField } from 'vuetify/components'
77
+
78
+ const filters = ref([
79
+ {
80
+ name: 'name',
81
+ title: 'Identité',
82
+ },
83
+ {
84
+ name: 'folder',
85
+ title: 'Type de dossier',
86
+ },
87
+ {
88
+ name: 'period',
89
+ title: 'Période',
90
+ },
91
+ {
92
+ name: 'profession',
93
+ title: 'Profession',
94
+ },
95
+ ])
96
+
97
+ const folderTypes = [
98
+ {
99
+ title: 'AT',
100
+ value: 'at',
101
+ },
102
+ {
103
+ title: 'MP',
104
+ value: 'mp',
105
+ },
106
+ {
107
+ title: 'Autre',
108
+ value: 'other',
109
+ },
110
+ ]
111
+
112
+ const professionList = [
113
+ {
114
+ label: 'Chirurgien-dentiste',
115
+ value: 'chirurgien-dentiste',
116
+ },
117
+ {
118
+ label: 'Infirmier',
119
+ value: 'infirmier',
120
+ },
121
+ {
122
+ label: 'Orthophoniste',
123
+ value: 'orthophoniste',
124
+ },
125
+ {
126
+ label: 'Orthoptiste',
127
+ value: 'orthoptiste',
128
+ },
129
+ {
130
+ label: 'Pédicure-podologue',
131
+ value: 'pedicure-podologue',
132
+ },
133
+ {
134
+ label: 'Pharmacien',
135
+ value: 'pharmacien',
136
+ },
137
+ ]
138
+
139
+ </script>
140
+
141
+ <template>
142
+ <div>
143
+ <FilterSideBar
144
+ v-model="filters"
145
+ >
146
+ <template #name="{ props }">
147
+ <VTextField
148
+ v-bind="props"
149
+ label="Nom"
150
+ variant="outlined"
151
+ hide-details
152
+ color="primary"
153
+ />
154
+ </template>
155
+
156
+ <template #folder="{ props }">
157
+ <p class="text-secondary mb-4">
158
+ Vous pouvez filtrer entre les dossiers de type <b>Arrêt de Travail (AT)</b> et <b>Maladie Professionnelle (MP)</b> ou <b>Autre</b>.
159
+ </p>
160
+
161
+ <VSelect
162
+ v-bind="props"
163
+ :items="folderTypes"
164
+ label="Type de dossier"
165
+ multiple
166
+ variant="outlined"
167
+ return-object
168
+ hide-details
169
+ color="primary"
170
+ />
171
+ </template>
172
+
173
+ <template #period="{ props }">
174
+ <PeriodField
175
+ v-bind="props"
176
+ variant="outlined"
177
+ />
178
+ </template>
179
+
180
+ <template #profession="{ props }">
181
+ <SearchListField
182
+ v-bind="props"
183
+ :items="professionList"
184
+ />
185
+ </template>
186
+ </FilterSideBar>
187
+ <VDivider class="my-4" />
188
+ <FilterInline
189
+ v-model="filters"
190
+ >
191
+ <template #name="{ props }">
192
+ <VTextField
193
+ v-bind="props"
194
+ label="Nom"
195
+ variant="outlined"
196
+ hide-details
197
+ color="primary"
198
+ />
199
+ </template>
200
+
201
+ <template #folder="{ props }">
202
+ <p class="text-secondary mb-4">
203
+ Vous pouvez filtrer entre les dossiers de type <b>Arrêt de Travail (AT)</b> et <b>Maladie Professionnelle (MP)</b> ou <b>Autre</b>.
204
+ </p>
205
+
206
+ <VSelect
207
+ v-bind="props"
208
+ :items="folderTypes"
209
+ label="Type de dossier"
210
+ multiple
211
+ variant="outlined"
212
+ return-object
213
+ hide-details
214
+ color="primary"
215
+ />
216
+ </template>
217
+
218
+ <template #period="{ props }">
219
+ <PeriodField
220
+ v-bind="props"
221
+ variant="outlined"
222
+ />
223
+ </template>
224
+
225
+ <template #profession="{ props }">
226
+ <SearchListField
227
+ v-bind="props"
228
+ :items="professionList"
229
+ color="primary"
230
+ />
231
+ </template>
232
+ </FilterInline>
233
+ </div>
234
+ </template>
235
+ `
236
+ }}
237
+ />