ExpansionPanel.vue 964 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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 color="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. padding-right: 20px;
  44. }
  45. .v-expansion-panel--active > .v-expansion-panel-header{
  46. min-height: 47px;
  47. }
  48. </style>