ExpansionPanel.vue 939 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <!--
  2. Panneaux déroulants de type "accordéon"
  3. @see https://vuetifyjs.com/en/components/expansion-panels/
  4. -->
  5. <template>
  6. <v-expansion-panel :id="id">
  7. <v-expansion-panel-header class="ot_light_grey">
  8. <v-icon class="ot_white--text ot_green icon">
  9. {{ icon }}
  10. </v-icon>
  11. {{ $t(id) }}
  12. </v-expansion-panel-header>
  13. <v-expansion-panel-content>
  14. <slot />
  15. </v-expansion-panel-content>
  16. </v-expansion-panel>
  17. </template>
  18. <script lang="ts">
  19. export default {
  20. props: {
  21. id: {
  22. type: String,
  23. required: true
  24. },
  25. icon: {
  26. type: String,
  27. required: false,
  28. default: null
  29. }
  30. }
  31. }
  32. </script>
  33. <style scoped>
  34. .icon{
  35. width: 47px;
  36. height: 47px;
  37. padding: 10px;
  38. margin-right: 10px;
  39. flex: none !important;
  40. }
  41. .v-expansion-panel-header{
  42. padding: 0;
  43. }
  44. .v-expansion-panel--active > .v-expansion-panel-header{
  45. min-height: 47px;
  46. }
  47. </style>