feat(ui) : required cohérent + astérisque label + sanitisation email (MUI-41) #60

Merged
tristan merged 51 commits from feature/MUI-41-props-required-asterisque-dans-le-label-sur-les-co into develop 2026-06-04 06:42:20 +00:00
3 changed files with 7 additions and 1 deletions
Showing only changes of commit 61cb90a9c6 - Show all commits
+1 -1
View File
@@ -203,7 +203,6 @@
<script setup lang="ts">
import { computed, onBeforeUnmount, onMounted, ref, shallowRef, useId, watch } from 'vue'
import { Icon as IconifyIcon } from '@iconify/vue'
import MalioRequiredMark from '../shared/RequiredMark.vue'
import { Editor, EditorContent } from '@tiptap/vue-3'
import StarterKit from '@tiptap/starter-kit'
import Placeholder from '@tiptap/extension-placeholder'
@@ -212,6 +211,7 @@ import Color from '@tiptap/extension-color'
import Highlight from '@tiptap/extension-highlight'
import { Markdown } from 'tiptap-markdown'
import { twMerge } from 'tailwind-merge'
import MalioRequiredMark from '../shared/RequiredMark.vue'
defineOptions({ name: 'MalioInputRichText', inheritAttrs: false })
@@ -168,6 +168,11 @@ describe('MalioInputUpload', () => {
expect(wrapper.get('input[type="text"]').attributes('aria-invalid')).toBe('false')
})
it('expose aria-required sur le champ visible quand required est vrai', () => {
const wrapper = mountComponent({label: 'Champ', required: true})
expect(wrapper.get('input[type="text"]').attributes('aria-required')).toBe('true')
})
it('passes accept attribute to file input', () => {
const wrapper = mountComponent({accept: '.pdf,.doc'})
@@ -20,6 +20,7 @@
:value="currentDisplayValue"
:readonly="true"
:aria-invalid="!!error"
:aria-required="required || undefined"
:aria-describedby="describedBy"
v-bind="attrs"
placeholder="_"