@cnamts/synapse 1.0.0 → 1.0.2
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.
- package/README.md +1 -1
- package/dist/DateFilter-YWOTbfeL.js +98 -0
- package/dist/NumberFilter-DMmMgALM.js +121 -0
- package/dist/PeriodFilter-Bok5BHcn.js +112 -0
- package/dist/SelectFilter-BKud2WhN.js +136 -0
- package/dist/TextFilter-DvMf2thH.js +114 -0
- package/dist/{components/BackBtn → common}/constants/ExpertiseLevelEnum.d.ts +3 -0
- package/dist/components/Accordion/Accordion.d.ts +2 -1
- package/dist/components/Accordion/composables/useAccordionGroupCommunication.d.ts +5 -0
- package/dist/components/Accordion/composables/useAccordionKeyboardNavigation.d.ts +12 -0
- package/dist/components/Accordion/composables/useAccordionState.d.ts +13 -0
- package/dist/components/BackBtn/AccessibiliteItems.d.ts +1 -1
- package/dist/components/BackToTopBtn/AccessibiliteItems.d.ts +1 -1
- package/dist/components/ChipList/AccessibiliteItems.d.ts +1 -1
- package/dist/components/CollapsibleList/AccessibiliteItems.d.ts +1 -1
- package/dist/components/ContextualMenu/AccessibiliteItems.d.ts +1 -1
- package/dist/components/CookieBanner/AccessibiliteItems.d.ts +1 -1
- package/dist/components/CopyBtn/AccessibiliteItems.d.ts +1 -1
- package/dist/components/Customs/SyBtnSelect/AccessibiliteItems.d.ts +1 -1
- package/dist/components/Customs/SyCheckbox/SyCheckbox.d.ts +85 -0
- package/dist/components/Customs/SyInputSelect/AccessibiliteItems.d.ts +1 -1
- package/dist/components/Customs/SyInputSelect/SyInputSelect.d.ts +2 -0
- package/dist/components/Customs/SySelect/AccessibiliteItems.d.ts +1 -1
- package/dist/components/Customs/SySelect/SySelect.d.ts +33 -13
- package/dist/components/Customs/SyTextField/AccessibiliteItems.d.ts +1 -1
- package/dist/components/Customs/SyTextField/SyTextField.d.ts +2 -2
- package/dist/components/DataList/AccessibiliteItems.d.ts +1 -1
- package/dist/components/DataListGroup/AccessibiliteItems.d.ts +1 -1
- package/dist/components/DatePicker/AccessibiliteItems.d.ts +1 -1
- package/dist/components/DatePicker/ComplexDatePicker/ComplexDatePicker.d.ts +4295 -0
- package/dist/components/DatePicker/{DatePicker.d.ts → DatePicker/DatePicker.d.ts} +158 -104
- package/dist/components/DatePicker/{DateTextInput.d.ts → DateTextInput/DateTextInput.d.ts} +35 -27
- package/dist/components/DatePicker/composables/index.d.ts +17 -0
- package/dist/components/DatePicker/composables/useAsteriskDisplay.d.ts +14 -0
- package/dist/components/DatePicker/composables/useDateAutoClamp.d.ts +16 -0
- package/dist/components/DatePicker/composables/useDateFormatValidation.d.ts +25 -0
- package/dist/components/DatePicker/composables/useDateInputEditing.d.ts +33 -0
- package/dist/components/DatePicker/composables/useDatePickerViewMode.d.ts +16 -0
- package/dist/components/DatePicker/composables/useDatePickerVisibility.d.ts +27 -0
- package/dist/components/DatePicker/composables/useDateRangeInput.d.ts +29 -0
- package/dist/components/DatePicker/composables/useDateRangeValidation.d.ts +11 -0
- package/dist/components/DatePicker/composables/useDateSelection.d.ts +10 -0
- package/dist/components/DatePicker/composables/useDateValidation.d.ts +35 -0
- package/dist/components/DatePicker/composables/useDisplayedDateString.d.ts +19 -0
- package/dist/components/DatePicker/composables/useIconState.d.ts +17 -0
- package/dist/components/DatePicker/composables/useInputBlurHandler.d.ts +31 -0
- package/dist/components/DatePicker/composables/useInputHandler.d.ts +32 -0
- package/dist/components/DatePicker/composables/useManualDateValidation.d.ts +33 -0
- package/dist/components/DatePicker/composables/useMonthButtonCustomization.d.ts +12 -0
- package/dist/components/DatePicker/composables/useTodayButton.d.ts +16 -0
- package/dist/components/DatePicker/composables/useWeekendDays.d.ts +11 -0
- package/dist/components/DatePicker/constants/messages.d.ts +29 -0
- package/dist/components/DatePicker/types.d.ts +13 -0
- package/dist/components/DialogBox/AccessibiliteItems.d.ts +1 -1
- package/dist/components/DownloadBtn/AccessibiliteItems.d.ts +1 -1
- package/dist/components/ErrorPage/AccessibiliteItems.d.ts +1 -1
- package/dist/components/ExternalLinks/AccessibiliteItems.d.ts +1 -1
- package/dist/components/FileList/AccessibiliteItems.d.ts +1 -1
- package/dist/components/FilePreview/AccessibiliteItems.d.ts +1 -1
- package/dist/components/FileUpload/AccessibiliteItems.d.ts +1 -1
- package/dist/components/FilterInline/AccessibiliteItems.d.ts +1 -1
- package/dist/components/FilterSideBar/AccessibiliteItems.d.ts +1 -1
- package/dist/components/FilterSideBar/FilterSideBar.d.ts +395 -1
- package/dist/components/FooterBar/AccessibiliteItems.d.ts +1 -1
- package/dist/components/FranceConnectBtn/AccessibiliteItems.d.ts +1 -1
- package/dist/components/HeaderBar/AccessibiliteItems.d.ts +1 -1
- package/dist/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.d.ts +1 -1
- package/dist/components/HeaderLoading/AccessibiliteItems.d.ts +1 -1
- package/dist/components/HeaderToolbar/AccessibiliteItems.d.ts +1 -1
- package/dist/components/LangBtn/AccessibiliteItems.d.ts +1 -1
- package/dist/components/Logo/AccessibiliteItems.d.ts +1 -1
- package/dist/components/LogoBrandSection/AccessibiliteItems.d.ts +1 -1
- package/dist/components/MaintenancePage/AccessibiliteItems.d.ts +1 -1
- package/dist/components/NirField/AccessibiliteItems.d.ts +1 -1
- package/dist/components/NirField/NirField.d.ts +7 -3
- package/dist/components/NirField/nirValidation.d.ts +1 -1
- package/dist/components/NotFoundPage/AccessibiliteItems.d.ts +1 -1
- package/dist/components/NotificationBar/AccessibiliteItems.d.ts +1 -1
- package/dist/components/PageContainer/AccessibiliteItems.d.ts +1 -1
- package/dist/components/PaginatedTable/AccessibiliteItems.d.ts +1 -1
- package/dist/components/PasswordField/AccessibiliteItems.d.ts +1 -1
- package/dist/components/PasswordField/PasswordField.d.ts +2 -0
- package/dist/components/PeriodField/AccessibiliteItems.d.ts +1 -1
- package/dist/components/PeriodField/PeriodField.d.ts +219 -41
- package/dist/components/PhoneField/AccessibiliteItems.d.ts +1 -1
- package/dist/components/PhoneField/PhoneField.d.ts +2 -2
- package/dist/components/RangeField/AccessibiliteItems.d.ts +1 -1
- package/dist/components/RangeField/RangeField.d.ts +2 -0
- package/dist/components/RatingPicker/AccessibiliteItems.d.ts +1 -1
- package/dist/components/SearchListField/AccessibiliteItems.d.ts +1 -1
- package/dist/components/SearchListField/SearchListField.d.ts +9 -0
- package/dist/components/SelectBtnField/AccessibiliteItems.d.ts +1 -1
- package/dist/components/SkipLink/AccessibiliteItems.d.ts +1 -1
- package/dist/components/SocialMediaLinks/AccessibiliteItems.d.ts +1 -1
- package/dist/components/SubHeader/AccessibiliteItems.d.ts +1 -1
- package/dist/components/SyAlert/AccessibiliteItems.d.ts +1 -1
- package/dist/components/SyTextArea/SyTextArea.d.ts +2 -0
- package/dist/components/TableToolbar/AccessibiliteItems.d.ts +1 -1
- package/dist/components/Tables/SyServerTable/SyServerTable.d.ts +652 -0
- package/dist/components/Tables/SyTable/SyTable.d.ts +671 -0
- package/dist/components/Tables/common/SyTableFilter.d.ts +126 -0
- package/dist/components/Tables/common/SyTablePagination.d.ts +1636 -0
- package/dist/components/Tables/common/TableHeader.d.ts +15 -0
- package/dist/components/Tables/common/constants/StateEnum.d.ts +6 -0
- package/dist/components/Tables/common/filters/DateFilter.d.ts +121 -0
- package/dist/components/Tables/common/filters/NumberFilter.d.ts +132 -0
- package/dist/components/Tables/common/filters/PeriodFilter.d.ts +135 -0
- package/dist/components/Tables/common/filters/SelectFilter.d.ts +120 -0
- package/dist/components/Tables/common/filters/TextFilter.d.ts +132 -0
- package/dist/components/Tables/common/filters/getFilterComponent.d.ts +1 -0
- package/dist/components/Tables/common/filters/locales.d.ts +4 -0
- package/dist/components/Tables/common/filters/logics/date.d.ts +1 -0
- package/dist/components/Tables/common/filters/logics/number.d.ts +1 -0
- package/dist/components/Tables/common/filters/logics/period.d.ts +1 -0
- package/dist/components/Tables/common/filters/logics/select.d.ts +1 -0
- package/dist/components/Tables/common/filters/logics/text.d.ts +1 -0
- package/dist/components/Tables/common/formatters.d.ts +17 -0
- package/dist/components/Tables/common/locales.d.ts +28 -0
- package/dist/components/Tables/common/organizeColumns/OrganizeColumns.d.ts +267 -0
- package/dist/components/Tables/common/organizeColumns/sortHeaders.d.ts +2 -0
- package/dist/components/Tables/common/tableAccessibilityUtils.d.ts +8 -0
- package/dist/components/Tables/common/tableFilterUtils.d.ts +3 -0
- package/dist/components/Tables/common/tableStorageUtils.d.ts +69 -0
- package/dist/components/Tables/common/tableUtils.d.ts +79 -0
- package/dist/components/Tables/common/types.d.ts +91 -0
- package/dist/components/Tables/common/usePagination.d.ts +22 -0
- package/dist/components/Tables/common/useTableCheckbox.d.ts +20 -0
- package/dist/components/Tables/common/useTableFilter.d.ts +9 -0
- package/dist/components/Tables/common/useTableHeaders.d.ts +76 -0
- package/dist/components/Tables/common/useTableItems.d.ts +24 -0
- package/dist/components/Tables/common/useTableOptions.d.ts +18 -0
- package/dist/components/Tables/index.d.ts +2 -0
- package/dist/components/ToolbarContainer/ToolbarContainer.d.ts +11 -0
- package/dist/components/UploadWorkflow/AccessibiliteItems.d.ts +1 -1
- package/dist/components/UserMenuBtn/AccessibiliteItems.d.ts +1 -1
- package/dist/components/UserMenuBtn/UserMenuBtn.d.ts +9 -2
- package/dist/components/index.d.ts +9 -5
- package/dist/design-system-v3.js +102 -11944
- package/dist/design-system-v3.umd.cjs +22 -4
- package/dist/designTokens/index.d.ts +3 -1
- package/dist/designTokens/tokens/cnam/cnamFonts.d.ts +140 -0
- package/dist/designTokens/tokens/pa/paFonts.d.ts +140 -0
- package/dist/designTokens/utils/createFontVariables.d.ts +39 -0
- package/dist/designTokens/utils/index.d.ts +2 -1
- package/dist/main-Cx8qG7YR.js +16344 -0
- package/dist/stories/Accessibilite/Vuetify/VuetifyItems.d.ts +14 -2
- package/dist/stories/DesignTokens/StylesTypographiques.stories.new.d.ts +8 -0
- package/dist/stories/DesignTokens/TypographyDisplay.d.ts +28 -0
- package/dist/stories/DesignTokens/vue-shims.d.ts +6 -0
- package/dist/style.css +1 -1
- package/dist/utils/rules/isRequired/index.d.ts +1 -1
- package/dist/vite-env.d.ts +12 -0
- package/package.json +3 -3
- package/src/assets/_spacers.scss +37 -1
- package/src/assets/_typography.scss +158 -0
- package/src/assets/settings.scss +7 -0
- package/src/common/constants/ExpertiseLevelEnum.ts +7 -0
- package/src/common/imgs/accessibility-svgrepo-com.svg +4 -0
- package/src/components/Accordion/Accessibilite/AccessibilityGuide.mdx +249 -0
- package/src/components/Accordion/Accordion.vue +48 -76
- package/src/components/Accordion/composables/__tests__/useAccordionGroupCommunication.spec.ts +146 -0
- package/src/components/Accordion/composables/__tests__/useAccordionKeyboardNavigation.spec.ts +209 -0
- package/src/components/Accordion/composables/__tests__/useAccordionState.spec.ts +144 -0
- package/src/components/Accordion/composables/useAccordionGroupCommunication.ts +52 -0
- package/src/components/Accordion/composables/useAccordionKeyboardNavigation.ts +111 -0
- package/src/components/Accordion/composables/useAccordionState.ts +59 -0
- package/src/components/Accordion/tests/__snapshots__/accordion.spec.ts.snap +3 -0
- package/src/components/BackBtn/AccessibiliteItems.ts +1 -1
- package/src/components/BackToTopBtn/AccessibiliteItems.ts +1 -1
- package/src/components/ChipList/AccessibiliteItems.ts +1 -1
- package/src/components/CollapsibleList/AccessibiliteItems.ts +1 -1
- package/src/components/ContextualMenu/AccessibiliteItems.ts +1 -1
- package/src/components/CookieBanner/AccessibiliteItems.ts +1 -1
- package/src/components/CopyBtn/AccessibiliteItems.ts +1 -1
- package/src/components/Customs/SyBtnSelect/AccessibiliteItems.ts +1 -1
- package/src/components/Customs/SyCheckbox/Accessibilite.mdx +303 -0
- package/src/components/Customs/SyCheckbox/SyCheckbox.mdx +50 -0
- package/src/components/Customs/SyCheckbox/SyCheckbox.stories.ts +630 -0
- package/src/components/Customs/SyCheckbox/SyCheckbox.vue +326 -0
- package/src/components/Customs/SyCheckbox/tests/SyCheckbox.spec.ts +201 -0
- package/src/components/Customs/SyInputSelect/AccessibiliteItems.ts +1 -1
- package/src/components/Customs/SyInputSelect/SyInputSelect.stories.ts +1 -0
- package/src/components/Customs/SyInputSelect/SyInputSelect.vue +8 -1
- package/src/components/Customs/SySelect/AccessibiliteItems.ts +1 -1
- package/src/components/Customs/SySelect/SySelect.stories.ts +160 -0
- package/src/components/Customs/SySelect/SySelect.vue +292 -39
- package/src/components/Customs/SySelect/tests/SySelect.spec.ts +234 -2
- package/src/components/Customs/SyTextField/AccessibiliteItems.ts +1 -1
- package/src/components/Customs/SyTextField/SyTextField.stories.ts +3 -2
- package/src/components/Customs/SyTextField/SyTextField.vue +19 -8
- package/src/components/DataList/AccessibiliteItems.ts +1 -1
- package/src/components/DataListGroup/AccessibiliteItems.ts +1 -1
- package/src/components/DatePicker/AccessibiliteItems.ts +1 -1
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.mdx +212 -0
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.stories.ts +1307 -0
- package/src/components/DatePicker/ComplexDatePicker/ComplexDatePicker.vue +769 -204
- package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.events.spec.ts +161 -0
- package/src/components/DatePicker/ComplexDatePicker/tests/ComplexDatePicker.spec.ts +943 -0
- package/src/components/DatePicker/DatePicker/DatePicker.mdx +176 -0
- package/src/components/DatePicker/{DatePicker.stories.ts → DatePicker/DatePicker.stories.ts} +356 -519
- package/src/components/DatePicker/{DatePicker.vue → DatePicker/DatePicker.vue} +435 -89
- package/src/components/DatePicker/DatePicker/tests/DatePicker.events.spec.ts +189 -0
- package/src/components/DatePicker/{tests → DatePicker/tests}/DatePicker.spec.ts +0 -14
- package/src/components/DatePicker/DatePickerOverview.mdx +227 -0
- package/src/components/DatePicker/{DatePickerValidation.mdx → DatePickerValidationExample/DatePickerValidation.mdx} +3 -3
- package/src/components/DatePicker/{DatePickerValidation.stories.ts → DatePickerValidationExample/DatePickerValidation.stories.ts} +2 -2
- package/src/components/DatePicker/DateTextInput/DateRange.stories.ts +320 -0
- package/src/components/DatePicker/DateTextInput/DateTextInput.events.spec.ts +148 -0
- package/src/components/DatePicker/DateTextInput/DateTextInput.range.spec.ts +278 -0
- package/src/components/DatePicker/{tests → DateTextInput}/DateTextInput.spec.ts +10 -7
- package/src/components/DatePicker/DateTextInput/DateTextInput.vue +1111 -0
- package/src/components/DatePicker/DateTextInput/NoCalendar.mdx +64 -0
- package/src/components/DatePicker/DateTextInput/NoCalendar.stories.ts +782 -0
- package/src/components/DatePicker/composables/index.ts +24 -0
- package/src/components/DatePicker/composables/tests/useDateAutoClamp.spec.ts +190 -0
- package/src/components/DatePicker/composables/tests/useDateFormatValidation.spec.ts +165 -0
- package/src/components/DatePicker/composables/tests/useDateInputEditing.spec.ts +359 -0
- package/src/components/DatePicker/composables/tests/useDatePickerViewMode.spec.ts +160 -0
- package/src/components/DatePicker/composables/tests/useDatePickerVisibility.spec.ts +339 -0
- package/src/components/DatePicker/composables/tests/useDateRangeInput.spec.ts +277 -0
- package/src/components/DatePicker/composables/tests/useDateRangeValidation.spec.ts +107 -0
- package/src/components/DatePicker/composables/tests/useDateSelection.spec.ts +171 -0
- package/src/components/DatePicker/composables/tests/useDateValidation.spec.ts +245 -0
- package/src/components/DatePicker/composables/tests/useDisplayedDateString.spec.ts +98 -0
- package/src/components/DatePicker/composables/tests/useIconState.spec.ts +130 -0
- package/src/components/DatePicker/composables/tests/useInputBlurHandler.spec.ts +456 -0
- package/src/components/DatePicker/composables/tests/useManualDateValidation.spec.ts +233 -0
- package/src/components/DatePicker/composables/tests/useMonthButtonCustomization.spec.ts +125 -0
- package/src/components/DatePicker/composables/tests/useTodayButton.spec.ts +97 -0
- package/src/components/DatePicker/composables/tests/useWeekendDays.spec.ts +28 -0
- package/src/components/DatePicker/composables/useAsteriskDisplay.ts +31 -0
- package/src/components/DatePicker/composables/useDateAutoClamp.ts +136 -0
- package/src/components/DatePicker/composables/useDateFormatValidation.ts +95 -0
- package/src/components/DatePicker/composables/useDateInputEditing.ts +326 -0
- package/src/components/DatePicker/composables/useDatePickerViewMode.ts +61 -0
- package/src/components/DatePicker/composables/useDatePickerVisibility.ts +146 -0
- package/src/components/DatePicker/composables/useDateRangeInput.ts +378 -0
- package/src/components/DatePicker/composables/useDateRangeValidation.ts +48 -0
- package/src/components/DatePicker/composables/useDateSelection.ts +121 -0
- package/src/components/DatePicker/composables/useDateValidation.ts +225 -0
- package/src/components/DatePicker/composables/useDisplayedDateString.ts +70 -0
- package/src/components/DatePicker/composables/useIconState.ts +53 -0
- package/src/components/DatePicker/composables/useInputBlurHandler.ts +165 -0
- package/src/components/DatePicker/composables/useInputHandler.ts +436 -0
- package/src/components/DatePicker/composables/useManualDateValidation.ts +161 -0
- package/src/components/DatePicker/composables/useMonthButtonCustomization.ts +187 -0
- package/src/components/DatePicker/composables/useTodayButton.ts +43 -0
- package/src/components/DatePicker/composables/useWeekendDays.ts +21 -0
- package/src/components/DatePicker/constants/messages.ts +50 -0
- package/src/components/DatePicker/docExamples/DatePickerBidirectionalValidation.vue +4 -4
- package/src/components/DatePicker/docExamples/DatePickerValidationExamples.vue +1 -1
- package/src/components/DatePicker/playground/ComplexDatePickerPlayground.vue +172 -0
- package/src/components/DatePicker/types.ts +15 -0
- package/src/components/DiacriticPicker/DiacriticPicker.stories.ts +10 -0
- package/src/components/DialogBox/AccessibiliteItems.ts +1 -1
- package/src/components/DownloadBtn/AccessibiliteItems.ts +1 -1
- package/src/components/ErrorPage/Accessibilite.stories.ts +8 -0
- package/src/components/ErrorPage/AccessibiliteItems.ts +1 -1
- package/src/components/ErrorPage/ErrorPage.vue +12 -6
- package/src/components/ErrorPage/tests/__snapshots__/ErrorPage.spec.ts.snap +4 -4
- package/src/components/ExternalLinks/AccessibiliteItems.ts +1 -1
- package/src/components/FileList/AccessibiliteItems.ts +1 -1
- package/src/components/FilePreview/AccessibiliteItems.ts +1 -1
- package/src/components/FileUpload/AccessibiliteItems.ts +1 -1
- package/src/components/FilterInline/AccessibiliteItems.ts +1 -1
- package/src/components/FilterSideBar/AccessibiliteItems.ts +1 -1
- package/src/components/FilterSideBar/FilterSideBar.vue +108 -90
- package/src/components/FilterSideBar/tests/FilterSideBar.spec.ts +27 -0
- package/src/components/FilterSideBar/tests/__snapshots__/FilterSideBar.spec.ts.snap +114 -109
- package/src/components/FooterBar/AccessibiliteItems.ts +1 -1
- package/src/components/FooterBar/FooterBar.vue +2 -1
- package/src/components/FranceConnectBtn/AccessibiliteItems.ts +1 -1
- package/src/components/HeaderBar/AccessibiliteItems.ts +1 -1
- package/src/components/HeaderBar/HeaderBurgerMenu/AccessibiliteItems.ts +1 -1
- package/src/components/HeaderLoading/AccessibiliteItems.ts +1 -1
- package/src/components/HeaderToolbar/AccessibiliteItems.ts +1 -1
- package/src/components/LangBtn/AccessibiliteItems.ts +1 -1
- package/src/components/Logo/Accessibilite.stories.ts +4 -0
- package/src/components/Logo/AccessibiliteItems.ts +1 -1
- package/src/components/LogoBrandSection/AccessibiliteItems.ts +1 -1
- package/src/components/MaintenancePage/AccessibiliteItems.ts +1 -1
- package/src/components/NirField/AccessibiliteItems.ts +1 -1
- package/src/components/NirField/NirField.mdx +22 -9
- package/src/components/NirField/NirField.stories.ts +26 -2
- package/src/components/NirField/NirField.vue +209 -22
- package/src/components/NirField/nirValidation.ts +17 -3
- package/src/components/NirField/tests/NirField.spec.ts +2 -2
- package/src/components/NotFoundPage/Accessibilite.stories.ts +8 -0
- package/src/components/NotFoundPage/AccessibiliteItems.ts +1 -1
- package/src/components/NotFoundPage/NotFoundPage.vue +2 -1
- package/src/components/NotFoundPage/tests/__snapshots__/NotFoundPage.spec.ts.snap +8 -6
- package/src/components/NotificationBar/AccessibiliteItems.ts +1 -1
- package/src/components/PageContainer/AccessibiliteItems.ts +1 -1
- package/src/components/PaginatedTable/AccessibiliteItems.ts +1 -1
- package/src/components/PaginatedTable/PaginatedTable.mdx +2 -0
- package/src/components/PaginatedTable/PaginatedTable.stories.ts +19 -0
- package/src/components/PaginatedTable/PaginatedTable.vue +51 -13
- package/src/components/PaginatedTable/tests/PaginatedTable.spec.ts +0 -2
- package/src/components/PasswordField/AccessibiliteItems.ts +1 -1
- package/src/components/PasswordField/PasswordField.stories.ts +4 -0
- package/src/components/PasswordField/PasswordField.vue +3 -0
- package/src/components/PeriodField/AccessibiliteItems.ts +1 -1
- package/src/components/PeriodField/PeriodField.vue +15 -1
- package/src/components/PhoneField/AccessibiliteItems.ts +1 -1
- package/src/components/PhoneField/PhoneField.stories.ts +15 -15
- package/src/components/PhoneField/PhoneField.vue +1 -1
- package/src/components/RangeField/AccessibiliteItems.ts +1 -1
- package/src/components/RangeField/RangeField.stories.ts +9 -0
- package/src/components/RangeField/RangeField.vue +4 -0
- package/src/components/RangeField/tests/__snapshots__/RangeField.spec.ts.snap +12 -0
- package/src/components/RatingPicker/AccessibiliteItems.ts +1 -1
- package/src/components/SearchListField/AccessibiliteItems.ts +1 -1
- package/src/components/SearchListField/SearchListField.vue +5 -0
- package/src/components/SelectBtnField/AccessibiliteItems.ts +1 -1
- package/src/components/SkipLink/AccessibiliteItems.ts +1 -1
- package/src/components/SocialMediaLinks/AccessibiliteItems.ts +1 -1
- package/src/components/SubHeader/AccessibiliteItems.ts +1 -1
- package/src/components/SyAlert/AccessibiliteItems.ts +1 -1
- package/src/components/SyTextArea/SyTextArea.vue +3 -0
- package/src/components/SyTextArea/tests/SyTextArea.spec.ts +0 -1
- package/src/components/TableToolbar/AccessibiliteItems.ts +1 -1
- package/src/components/TableToolbar/TableToolbar.stories.ts +110 -56
- package/src/components/Tables/SyServerTable/FilterRules.stories.ts +700 -0
- package/src/components/Tables/SyServerTable/SyServerTable.mdx +170 -0
- package/src/components/Tables/SyServerTable/SyServerTable.stories.ts +4354 -0
- package/src/components/Tables/SyServerTable/SyServerTable.vue +391 -0
- package/src/components/Tables/SyServerTable/tests/SyServerTable.spec.ts +702 -0
- package/src/components/Tables/SyTable/FilterRules.stories.ts +418 -0
- package/src/components/Tables/SyTable/SyTable.mdx +139 -0
- package/src/components/Tables/SyTable/SyTable.stories.ts +2754 -0
- package/src/components/Tables/SyTable/SyTable.vue +397 -0
- package/src/components/Tables/SyTable/tests/SyTable.spec.ts +707 -0
- package/src/components/Tables/common/SyTableFilter.vue +289 -0
- package/src/components/Tables/common/SyTablePagination.vue +375 -0
- package/src/components/Tables/common/TableHeader.vue +205 -0
- package/src/components/Tables/common/constants/StateEnum.ts +6 -0
- package/src/components/Tables/common/filters/DateFilter.vue +140 -0
- package/src/components/Tables/common/filters/NumberFilter.vue +234 -0
- package/src/components/Tables/common/filters/PeriodFilter.vue +147 -0
- package/src/components/Tables/common/filters/SelectFilter.vue +235 -0
- package/src/components/Tables/common/filters/TextFilter.vue +191 -0
- package/src/components/Tables/common/filters/getFilterComponent.ts +54 -0
- package/src/components/Tables/common/filters/locales.ts +4 -0
- package/src/components/Tables/common/filters/logics/date.ts +12 -0
- package/src/components/Tables/common/filters/logics/number.ts +48 -0
- package/src/components/Tables/common/filters/logics/period.ts +25 -0
- package/src/components/Tables/common/filters/logics/select.ts +27 -0
- package/src/components/Tables/common/filters/logics/tests/TextFilterLogic.spec.ts +177 -0
- package/src/components/Tables/common/filters/logics/text.ts +62 -0
- package/src/components/Tables/common/filters/tests/DateFilter.spec.ts +187 -0
- package/src/components/Tables/common/filters/tests/NumberFilter.spec.ts +280 -0
- package/src/components/Tables/common/filters/tests/PeriodFilter.spec.ts +192 -0
- package/src/components/Tables/common/filters/tests/SelectFilter.spec.ts +219 -0
- package/src/components/Tables/common/filters/tests/TextFilter.spec.ts +260 -0
- package/src/components/Tables/common/formatters.ts +72 -0
- package/src/components/Tables/common/locales.ts +31 -0
- package/src/components/Tables/common/organizeColumns/OrganizeColumns.vue +269 -0
- package/src/components/Tables/common/organizeColumns/sortHeaders.ts +9 -0
- package/src/components/Tables/common/tableAccessibilityUtils.ts +61 -0
- package/src/components/Tables/common/tableFilterUtils.ts +75 -0
- package/src/components/Tables/common/tableStorageUtils.ts +127 -0
- package/src/components/Tables/common/tableStyles.scss +80 -0
- package/src/components/Tables/common/tableUtils.ts +102 -0
- package/src/components/Tables/common/tests/SyTableFilter.spec.ts +312 -0
- package/src/components/Tables/common/tests/SyTablePagination.spec.ts +170 -0
- package/src/components/Tables/common/tests/filterByRange.spec.ts +215 -0
- package/src/components/Tables/common/tests/resize.spec.ts +161 -0
- package/src/components/Tables/common/tests/tableFilterUtils.spec.ts +92 -0
- package/src/components/Tables/common/tests/tableUtils.spec.ts +228 -0
- package/src/components/Tables/common/types.ts +92 -0
- package/src/components/Tables/common/usePagination.ts +83 -0
- package/src/components/Tables/common/useTableCheckbox.ts +58 -0
- package/src/components/Tables/common/useTableFilter.ts +19 -0
- package/src/components/Tables/common/useTableHeaders.ts +88 -0
- package/src/components/Tables/common/useTableItems.ts +87 -0
- package/src/components/Tables/common/useTableOptions.ts +93 -0
- package/src/components/Tables/index.ts +3 -0
- package/src/components/ToolbarContainer/ToolbarContainer.mdx +16 -0
- package/src/components/ToolbarContainer/ToolbarContainer.stories.ts +675 -0
- package/src/components/ToolbarContainer/ToolbarContainer.vue +128 -0
- package/src/components/ToolbarContainer/tests/ToolbarContainer.spec.ts +156 -0
- package/src/components/UploadWorkflow/AccessibiliteItems.ts +1 -1
- package/src/components/UserMenuBtn/AccessibiliteItems.ts +1 -1
- package/src/components/UserMenuBtn/UserMenuBtn.stories.ts +74 -0
- package/src/components/UserMenuBtn/UserMenuBtn.vue +19 -17
- package/src/components/index.ts +9 -5
- package/src/composables/date/useDateFormatDayjs.ts +8 -3
- package/src/composables/date/useDateInitializationDayjs.ts +28 -36
- package/src/composables/rules/useFieldValidation.ts +1 -2
- package/src/designTokens/index.ts +4 -0
- package/src/designTokens/tokens/cnam/cnamFonts.ts +140 -0
- package/src/designTokens/tokens/pa/paFonts.ts +140 -0
- package/src/designTokens/utils/createFontVariables.ts +143 -0
- package/src/designTokens/utils/index.ts +2 -1
- package/src/stories/Accessibilite/Aculturation/AuditDesignSystem.mdx +293 -20
- package/src/stories/Accessibilite/Aculturation/SensibilisationAccessibilite.mdx +448 -54
- package/src/stories/Accessibilite/Audit/RGAA.mdx +231 -23
- package/src/stories/Accessibilite/Avancement/Avancement.mdx +591 -7
- package/src/stories/Accessibilite/Avancement/Avancement.stories.ts +139 -38
- package/src/stories/Accessibilite/Introduction.mdx +258 -18
- package/src/stories/Accessibilite/KitDePreAudit/Echantillonnage.mdx +221 -31
- package/src/stories/Accessibilite/KitDePreAudit/Introduction.mdx +204 -22
- package/src/stories/Accessibilite/KitDePreAudit/Outils/Introduction.mdx +537 -24
- package/src/stories/Accessibilite/KitDePreAudit/Outils/LecteursDEcran.mdx +577 -70
- package/src/stories/Accessibilite/KitDePreAudit/Outils/Tanaguru.mdx +382 -31
- package/src/stories/Accessibilite/KitDePreAudit/Preaudit.mdx +419 -81
- package/src/stories/Accessibilite/Vuetify/Vuetify.mdx +132 -6
- package/src/stories/Accessibilite/Vuetify/Vuetify.stories.ts +370 -146
- package/src/stories/Accessibilite/Vuetify/VuetifyItems.ts +35 -57
- package/src/stories/Demarrer/Accueil.stories.ts +32 -8
- package/src/stories/DesignTokens/StylesTypographiques.mdx +10 -9
- package/src/stories/DesignTokens/StylesTypographiques.stories.new.ts +397 -0
- package/src/stories/DesignTokens/StylesTypographiques.stories.ts +397 -0
- package/src/stories/DesignTokens/TypographyDisplay.vue +155 -0
- package/src/stories/DesignTokens/vue-shims.d.ts +6 -0
- package/src/stories/GuideDuDev/LesBreackingChanges.mdx +0 -2
- package/src/stories/GuideDuDev/MigrationDepuisBridge.mdx +1 -1
- package/src/stories/GuideDuDev/MigrationDepuisVue2.mdx +1 -1
- package/src/stories/GuideDuDev/PortailAgent.mdx +10 -0
- package/src/stories/GuideDuDev/PortailAgent.stories.ts +506 -0
- package/src/stories/GuideDuDev/Theme.mdx +41 -0
- package/src/utils/rules/isHolidayDay/IsHolidayDay.stories.ts +1 -1
- package/src/utils/rules/isRequired/index.ts +2 -1
- package/src/vite-env.d.ts +12 -0
- package/src/vuetifyConfig.ts +10 -3
- package/dist/components/BackToTopBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/ChipList/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/CollapsibleList/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/ContextualMenu/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/CookieBanner/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/CopyBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/Customs/SySelect/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/Customs/SyTextField/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/DataList/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/DataListGroup/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/DatePicker/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/DialogBox/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/DownloadBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/ErrorPage/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/ExternalLinks/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/FileList/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/FilePreview/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/FileUpload/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/FilterInline/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/FilterSideBar/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/FooterBar/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/FranceConnectBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/HeaderBar/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/HeaderLoading/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/HeaderToolbar/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/LangBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/Logo/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/LogoBrandSection/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/MaintenancePage/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/NirField/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/NotFoundPage/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/NotificationBar/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/PageContainer/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/PaginatedTable/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/PasswordField/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/PeriodField/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/PhoneField/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/RangeField/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/RatingPicker/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/SearchListField/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/SelectBtnField/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/SkipLink/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/SocialMediaLinks/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/SubHeader/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/SyAlert/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/TableToolbar/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/UploadWorkflow/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/dist/components/UserMenuBtn/constants/ExpertiseLevelEnum.d.ts +0 -4
- package/src/components/BackBtn/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/BackToTopBtn/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/ChipList/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/CollapsibleList/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/ContextualMenu/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/CookieBanner/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/CopyBtn/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/Customs/SyBtnSelect/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/Customs/SyInputSelect/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/Customs/SySelect/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/Customs/SyTextField/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/DataList/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/DataListGroup/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/DatePicker/DatePicker.mdx +0 -222
- package/src/components/DatePicker/DateTextInput.vue +0 -504
- package/src/components/DatePicker/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/DialogBox/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/DownloadBtn/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/ErrorPage/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/ExternalLinks/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/FileList/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/FilePreview/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/FileUpload/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/FilterInline/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/FilterSideBar/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/FooterBar/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/FranceConnectBtn/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/HeaderBar/HeaderBurgerMenu/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/HeaderBar/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/HeaderLoading/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/HeaderToolbar/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/LangBtn/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/Logo/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/LogoBrandSection/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/MaintenancePage/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/NirField/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/NotFoundPage/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/NotificationBar/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/PageContainer/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/PaginatedTable/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/PaginatedTable/tests/__snapshots__/PaginatedTable.spec.ts.snap +0 -886
- package/src/components/PasswordField/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/PeriodField/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/PhoneField/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/RangeField/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/RatingPicker/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/SearchListField/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/SelectBtnField/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/SkipLink/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/SocialMediaLinks/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/SubHeader/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/SyAlert/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/TableToolbar/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/UploadWorkflow/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/components/UserMenuBtn/constants/ExpertiseLevelEnum.ts +0 -4
- package/src/stories/DesignTokens/ThemePA.mdx +0 -35
- /package/src/components/DatePicker/{examples → playground}/DatePickerHolidayRule.vue +0 -0
|
@@ -0,0 +1,187 @@
|
|
|
1
|
+
import { ref, nextTick, type Ref } from 'vue'
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Composable pour personnaliser les boutons du mois et de l'année dans les composants DatePicker
|
|
5
|
+
* @param isPickerVisibleGetter - Fonction qui retourne l'état de visibilité du DatePicker
|
|
6
|
+
* @param monthName - Référence au nom du mois à utiliser
|
|
7
|
+
* @param yearName - Référence au nom de l'année à utiliser
|
|
8
|
+
*/
|
|
9
|
+
export function useMonthButtonCustomization(
|
|
10
|
+
isPickerVisibleGetter: () => boolean,
|
|
11
|
+
monthName?: Ref<string | null>,
|
|
12
|
+
yearName?: Ref<string | null>,
|
|
13
|
+
) {
|
|
14
|
+
const monthButtonText = ref('')
|
|
15
|
+
const yearText = ref('')
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* Retourne un nom personnalisé pour le mois en fonction de sa valeur
|
|
19
|
+
* @param monthName - Le nom du mois à personnaliser
|
|
20
|
+
* @returns Le nom personnalisé du mois
|
|
21
|
+
*/
|
|
22
|
+
const getCustomMonthName = (monthName: string | null | undefined): string => {
|
|
23
|
+
if (!monthName) return ''
|
|
24
|
+
|
|
25
|
+
// Convertir en minuscules pour faciliter la comparaison
|
|
26
|
+
const lowerMonth = monthName.toLowerCase()
|
|
27
|
+
|
|
28
|
+
switch (lowerMonth) {
|
|
29
|
+
case 'january':
|
|
30
|
+
case 'janvier':
|
|
31
|
+
return 'Janv.'
|
|
32
|
+
case 'february':
|
|
33
|
+
case 'février':
|
|
34
|
+
return 'Févr.'
|
|
35
|
+
case 'march':
|
|
36
|
+
case 'mars':
|
|
37
|
+
return 'Mars'
|
|
38
|
+
case 'april':
|
|
39
|
+
case 'avril':
|
|
40
|
+
return 'Avr.'
|
|
41
|
+
case 'may':
|
|
42
|
+
case 'mai':
|
|
43
|
+
return 'Mai'
|
|
44
|
+
case 'june':
|
|
45
|
+
case 'juin':
|
|
46
|
+
return 'Juin'
|
|
47
|
+
case 'july':
|
|
48
|
+
case 'juillet':
|
|
49
|
+
return 'Juil.'
|
|
50
|
+
case 'august':
|
|
51
|
+
case 'août':
|
|
52
|
+
return 'Août'
|
|
53
|
+
case 'september':
|
|
54
|
+
case 'septembre':
|
|
55
|
+
return 'Sept.'
|
|
56
|
+
case 'october':
|
|
57
|
+
case 'octobre':
|
|
58
|
+
return 'Oct.'
|
|
59
|
+
case 'november':
|
|
60
|
+
case 'novembre':
|
|
61
|
+
return 'Nov.'
|
|
62
|
+
case 'december':
|
|
63
|
+
case 'décembre':
|
|
64
|
+
return 'Déc.'
|
|
65
|
+
default:
|
|
66
|
+
// Si le mois n'est pas reconnu, retourner le mois avec la première lettre en majuscule
|
|
67
|
+
return monthName.charAt(0).toUpperCase() + monthName.slice(1)
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* Récupère et modifie les boutons du mois et de l'année avec une icône SVG chevron-down
|
|
73
|
+
*/
|
|
74
|
+
const customizeMonthButton = () => {
|
|
75
|
+
if (isPickerVisibleGetter() || monthName?.value) {
|
|
76
|
+
nextTick(() => {
|
|
77
|
+
// Personnalisation des boutons du mois pour tous les DatePickers
|
|
78
|
+
const monthBtns = document.querySelectorAll('.v-date-picker-controls__month-btn')
|
|
79
|
+
if (monthBtns.length > 0) {
|
|
80
|
+
// Récupérer le texte original et le nettoyer du premier bouton pour référence
|
|
81
|
+
// Cela n'affectera pas la personnalisation des autres boutons
|
|
82
|
+
monthButtonText.value = monthBtns[0].textContent?.trim() || ''
|
|
83
|
+
const parts = monthButtonText.value.split(' ')
|
|
84
|
+
yearText.value = parts.length > 1 ? parts[1] : ''
|
|
85
|
+
|
|
86
|
+
// Appliquer la personnalisation à tous les boutons du mois
|
|
87
|
+
monthBtns.forEach((monthBtn) => {
|
|
88
|
+
// Extraire le mois et l'année pour ce bouton spécifique
|
|
89
|
+
const btnText = monthBtn.textContent?.trim() || ''
|
|
90
|
+
const btnParts = btnText.split(' ')
|
|
91
|
+
// Utiliser le monthName fourni s'il existe, sinon utiliser le texte extrait
|
|
92
|
+
const rawMonthText = monthName?.value || btnParts[0]
|
|
93
|
+
// Personnaliser le nom du mois avec notre fonction switch case
|
|
94
|
+
const monthText = getCustomMonthName(rawMonthText)
|
|
95
|
+
|
|
96
|
+
// Créer un bouton stylisé comme un VBtn avec une icône Material Design
|
|
97
|
+
const buttonHTML = `
|
|
98
|
+
<button class="v-btn v-btn--density-comfortable v-btn--variant-text v-theme--light v-btn--size-default" style="color: var(--v-theme-primary); margin-left: -12px;" data-ripple="false">
|
|
99
|
+
<span class="v-btn__overlay"></span>
|
|
100
|
+
<span class="v-btn__underlay"></span>
|
|
101
|
+
<div class="v-btn__content" data-no-activator="" style="color: var(--v-theme-primary);">
|
|
102
|
+
<span style="color: var(--v-theme-primary);">${monthText.charAt(0).toUpperCase() + monthText.slice(1)}</span>
|
|
103
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" class="ms-1" style="fill: var(--v-theme-primary);" aria-label="chevron-down"><path d="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z" /></svg>
|
|
104
|
+
</div>
|
|
105
|
+
</button>
|
|
106
|
+
`
|
|
107
|
+
|
|
108
|
+
// Remplacer le contenu du bouton original
|
|
109
|
+
monthBtn.innerHTML = buttonHTML
|
|
110
|
+
})
|
|
111
|
+
|
|
112
|
+
// Personnalisation des boutons d'année pour tous les DatePickers
|
|
113
|
+
const yearBtns = document.querySelectorAll('.v-date-picker-controls__mode-btn')
|
|
114
|
+
yearBtns.forEach((yearBtn) => {
|
|
115
|
+
// Trouver le parent DatePicker-controls pour ce bouton d'année
|
|
116
|
+
const parentControl = yearBtn.closest('.v-date-picker-controls')
|
|
117
|
+
if (!parentControl) return
|
|
118
|
+
|
|
119
|
+
// Trouver le bouton de mois correspondant dans le même contrôle
|
|
120
|
+
const siblingMonthBtn = parentControl.querySelector('.v-date-picker-controls__month-btn')
|
|
121
|
+
if (!siblingMonthBtn) return
|
|
122
|
+
|
|
123
|
+
// Extraire le texte du bouton de mois pour obtenir l'année
|
|
124
|
+
const monthBtnText = siblingMonthBtn.textContent?.trim() || ''
|
|
125
|
+
const monthBtnParts = monthBtnText.split(' ')
|
|
126
|
+
|
|
127
|
+
// Déterminer l'année à afficher selon les priorités
|
|
128
|
+
let displayedYear = ''
|
|
129
|
+
if (yearName?.value) {
|
|
130
|
+
displayedYear = yearName.value
|
|
131
|
+
}
|
|
132
|
+
else if (monthBtnParts.length > 1) {
|
|
133
|
+
displayedYear = monthBtnParts[1]
|
|
134
|
+
}
|
|
135
|
+
else if (yearText.value) {
|
|
136
|
+
displayedYear = yearText.value
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
// Si aucune année n'est trouvée, utiliser l'année courante
|
|
140
|
+
displayedYear = new Date().getFullYear().toString()
|
|
141
|
+
}
|
|
142
|
+
|
|
143
|
+
// Créer un bouton stylisé pour l'année
|
|
144
|
+
const yearButtonHTML = `
|
|
145
|
+
<button class="v-btn v-btn--density-comfortable v-btn--variant-text v-theme--light v-btn--size-default" style="color: var(--v-theme-primary);" data-ripple="false">
|
|
146
|
+
<span class="v-btn__overlay"></span>
|
|
147
|
+
<span class="v-btn__underlay"></span>
|
|
148
|
+
<div class="v-btn__content" data-no-activator="" style="color: var(--v-theme-primary);">
|
|
149
|
+
<span style="color: var(--v-theme-primary);">${displayedYear}</span>
|
|
150
|
+
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="18" height="18" class="ms-1" style="fill: var(--v-theme-primary);" aria-label="chevron-down"><path d="M7.41,8.58L12,13.17L16.59,8.58L18,10L12,16L6,10L7.41,8.58Z" /></svg>
|
|
151
|
+
</div>
|
|
152
|
+
</button>
|
|
153
|
+
`
|
|
154
|
+
|
|
155
|
+
// Remplacer le contenu du bouton d'année
|
|
156
|
+
yearBtn.innerHTML = yearButtonHTML
|
|
157
|
+
})
|
|
158
|
+
}
|
|
159
|
+
})
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
/**
|
|
164
|
+
* Configure des observateurs pour détecter les changements dans le DOM
|
|
165
|
+
* et personnaliser les boutons du mois et de l'année automatiquement avec une icône SVG chevron-down
|
|
166
|
+
* pour tous les DatePickers présents sur la page
|
|
167
|
+
*/
|
|
168
|
+
const setupMonthButtonObserver = () => {
|
|
169
|
+
nextTick(() => {
|
|
170
|
+
const targetNodes = document.querySelectorAll('.v-date-picker-controls')
|
|
171
|
+
if (targetNodes.length > 0) {
|
|
172
|
+
targetNodes.forEach((targetNode) => {
|
|
173
|
+
const observer = new MutationObserver(() => {
|
|
174
|
+
customizeMonthButton()
|
|
175
|
+
})
|
|
176
|
+
observer.observe(targetNode, { childList: true, subtree: true })
|
|
177
|
+
})
|
|
178
|
+
}
|
|
179
|
+
})
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
return {
|
|
183
|
+
monthButtonText,
|
|
184
|
+
customizeMonthButton,
|
|
185
|
+
setupMonthButtonObserver,
|
|
186
|
+
}
|
|
187
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { computed, type ComputedRef } from 'vue'
|
|
2
|
+
import dayjs from 'dayjs'
|
|
3
|
+
import { type DateObjectValue } from '../types'
|
|
4
|
+
|
|
5
|
+
export interface TodayButtonProps {
|
|
6
|
+
displayTodayButton?: boolean
|
|
7
|
+
displayRange?: boolean
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
export interface TodayButtonReturn {
|
|
11
|
+
todayInString: ComputedRef<string>
|
|
12
|
+
selectToday: (selectedDates: { value: DateObjectValue }) => void
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* Composable pour gérer le bouton "Aujourd'hui" dans le DatePicker
|
|
17
|
+
*/
|
|
18
|
+
export function useTodayButton(props: TodayButtonProps): TodayButtonReturn {
|
|
19
|
+
// Computed pour le format de la date du jour
|
|
20
|
+
const todayInString = computed(() => {
|
|
21
|
+
return dayjs().locale('fr').format('dddd D MMMM').replace(/\b\w/g, l => l.toUpperCase())
|
|
22
|
+
})
|
|
23
|
+
|
|
24
|
+
// Fonction pour sélectionner la date du jour
|
|
25
|
+
const selectToday = (selectedDates: { value: DateObjectValue }) => {
|
|
26
|
+
const today = new Date()
|
|
27
|
+
if (props.displayRange) {
|
|
28
|
+
// Si c'est une plage de dates, on définit le même jour pour début et fin
|
|
29
|
+
selectedDates.value = [today, today]
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
// Sinon, on sélectionne simplement aujourd'hui
|
|
33
|
+
selectedDates.value = today
|
|
34
|
+
}
|
|
35
|
+
// Le watcher sur selectedDates dans le composant parent se chargera de mettre à jour l'affichage
|
|
36
|
+
// et d'émettre l'événement update:modelValue
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
return {
|
|
40
|
+
todayInString,
|
|
41
|
+
selectToday,
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { computed, type ComputedRef } from 'vue'
|
|
2
|
+
|
|
3
|
+
export interface WeekendDaysProps {
|
|
4
|
+
displayWeekendDays?: boolean
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export interface WeekendDaysReturn {
|
|
8
|
+
displayWeekendDays: ComputedRef<boolean>
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Composable pour gérer l'affichage des jours de weekend dans le DatePicker
|
|
13
|
+
*/
|
|
14
|
+
export function useWeekendDays(props: WeekendDaysProps): WeekendDaysReturn {
|
|
15
|
+
// Computed pour l'affichage des jours de weekend
|
|
16
|
+
const displayWeekendDays = computed(() => props.displayWeekendDays ?? true)
|
|
17
|
+
|
|
18
|
+
return {
|
|
19
|
+
displayWeekendDays,
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fichier contenant toutes les constantes de textes utilisées dans les composants/composables DatePicker
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
export const DATE_PICKER_MESSAGES = {
|
|
6
|
+
// Labels et placeholders
|
|
7
|
+
LABEL_DEFAULT: 'Date',
|
|
8
|
+
PLACEHOLDER_DEFAULT: 'Sélectionner une date',
|
|
9
|
+
|
|
10
|
+
// Messages d'erreur
|
|
11
|
+
ERROR_REQUIRED: 'La date est requise.',
|
|
12
|
+
ERROR_INVALID_FORMAT: 'Le format de la date est invalide.',
|
|
13
|
+
ERROR_INVALID_DATE: 'La date saisie est invalide.',
|
|
14
|
+
ERROR_INCOMPLETE_DATE: 'La date est incomplète.',
|
|
15
|
+
ERROR_INVALID_RANGE: 'La plage de dates est invalide.',
|
|
16
|
+
ERROR_START_DATE_MISSING: 'La date de début est manquante.',
|
|
17
|
+
ERROR_END_DATE_MISSING: 'La date de fin est manquante.',
|
|
18
|
+
ERROR_END_BEFORE_START: 'La date de fin doit être postérieure à la date de début.',
|
|
19
|
+
ERROR_INVALID_FORMAT_START: 'Format de date invalide pour la date de début',
|
|
20
|
+
ERROR_INVALID_FORMAT_END: 'Format de date invalide pour la date de fin',
|
|
21
|
+
|
|
22
|
+
// Messages de succès
|
|
23
|
+
SUCCESS_VALID_DATE: 'La date est valide.',
|
|
24
|
+
|
|
25
|
+
// Messages d'accessibilité
|
|
26
|
+
ARIA_DATE_INPUT: 'Date en cours de saisie',
|
|
27
|
+
ARIA_CALENDAR_BUTTON: 'Ouvrir le calendrier',
|
|
28
|
+
ARIA_TODAY_BUTTON: 'Sélectionner aujourd\'hui',
|
|
29
|
+
|
|
30
|
+
// Boutons et actions
|
|
31
|
+
BUTTON_TODAY: 'Aujourd\'hui',
|
|
32
|
+
BUTTON_CLEAR: 'Effacer',
|
|
33
|
+
BUTTON_CLOSE: 'Fermer',
|
|
34
|
+
|
|
35
|
+
// Formats de date
|
|
36
|
+
FORMAT_DEFAULT: 'DD/MM/YYYY',
|
|
37
|
+
|
|
38
|
+
// Descriptions des mois pour l'accessibilité
|
|
39
|
+
MONTH_NAMES: [
|
|
40
|
+
'janvier', 'février', 'mars', 'avril', 'mai', 'juin',
|
|
41
|
+
'juillet', 'août', 'septembre', 'octobre', 'novembre', 'décembre',
|
|
42
|
+
],
|
|
43
|
+
|
|
44
|
+
// Descriptions des jours pour l'accessibilité
|
|
45
|
+
DAY_NAMES: ['dimanche', 'lundi', 'mardi', 'mercredi', 'jeudi', 'vendredi', 'samedi'],
|
|
46
|
+
|
|
47
|
+
// Autres messages
|
|
48
|
+
DATE_SEPARATOR: '/',
|
|
49
|
+
RANGE_SEPARATOR: ' - ',
|
|
50
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<script lang="ts" setup>
|
|
2
2
|
import { ref, computed, watch } from 'vue'
|
|
3
|
-
import DatePicker from '@/components/DatePicker/DatePicker.vue'
|
|
3
|
+
import DatePicker from '@/components/DatePicker/DatePicker/DatePicker.vue'
|
|
4
4
|
import { useDateFormat } from '@/composables/date/useDateFormat'
|
|
5
5
|
|
|
6
6
|
const { parseDate } = useDateFormat()
|
|
@@ -157,15 +157,15 @@
|
|
|
157
157
|
Validation bidirectionnelle entre deux DatePickers
|
|
158
158
|
</h1>
|
|
159
159
|
|
|
160
|
-
<
|
|
160
|
+
<div class="text-body-2 mb-4">
|
|
161
161
|
Ce composant démontre la validation bidirectionnelle entre deux DatePickers. Les règles de validation sont appliquées dans les deux sens :
|
|
162
|
-
<ul>
|
|
162
|
+
<ul class="ml-4">
|
|
163
163
|
<li>La date de fin doit être postérieure ou égale à la date de début</li>
|
|
164
164
|
<li>La date de début doit être antérieure ou égale à la date de fin</li>
|
|
165
165
|
<li>Lorsque la date de début change, la validation de la date de fin est mise à jour</li>
|
|
166
166
|
<li>Lorsque la date de fin change, la validation de la date de début est mise à jour</li>
|
|
167
167
|
</ul>
|
|
168
|
-
</
|
|
168
|
+
</div>
|
|
169
169
|
|
|
170
170
|
<div class="date-range-container mb-6">
|
|
171
171
|
<div class="date-picker-wrapper">
|
|
@@ -0,0 +1,172 @@
|
|
|
1
|
+
<script lang="ts" setup>
|
|
2
|
+
import { ref } from 'vue'
|
|
3
|
+
import ComplexDatePicker from '../ComplexDatePicker/ComplexDatePicker.vue'
|
|
4
|
+
|
|
5
|
+
// Valeurs pour les différents exemples
|
|
6
|
+
const standardDate = ref<string | null>(null)
|
|
7
|
+
const americanDate = ref<string | null>(null)
|
|
8
|
+
const isoDate = ref<string | null>(null)
|
|
9
|
+
const dotDate = ref<string | null>(null)
|
|
10
|
+
const requiredDate = ref<string | null>(null)
|
|
11
|
+
const dateRange = ref<[string, string] | null>(null)
|
|
12
|
+
const birthDate = ref<string | null>(null)
|
|
13
|
+
const formattedDate = ref<string | null>(null)
|
|
14
|
+
</script>
|
|
15
|
+
|
|
16
|
+
<template>
|
|
17
|
+
<div class="playground-container">
|
|
18
|
+
<h1>ComplexDatePicker Playground</h1>
|
|
19
|
+
|
|
20
|
+
<div class="demo-section">
|
|
21
|
+
<h2>Format standard (DD/MM/YYYY)</h2>
|
|
22
|
+
<ComplexDatePicker
|
|
23
|
+
v-model="standardDate"
|
|
24
|
+
placeholder="Date standard"
|
|
25
|
+
format="DD/MM/YYYY"
|
|
26
|
+
class="date-picker"
|
|
27
|
+
/>
|
|
28
|
+
<div class="value-display">
|
|
29
|
+
Valeur: {{ standardDate || 'Non définie' }}
|
|
30
|
+
</div>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
33
|
+
<div class="demo-section">
|
|
34
|
+
<h2>Format américain (MM/DD/YYYY)</h2>
|
|
35
|
+
<ComplexDatePicker
|
|
36
|
+
v-model="americanDate"
|
|
37
|
+
placeholder="Date américaine"
|
|
38
|
+
format="MM/DD/YYYY"
|
|
39
|
+
class="date-picker"
|
|
40
|
+
/>
|
|
41
|
+
<div class="value-display">
|
|
42
|
+
Valeur: {{ americanDate || 'Non définie' }}
|
|
43
|
+
</div>
|
|
44
|
+
</div>
|
|
45
|
+
|
|
46
|
+
<div class="demo-section">
|
|
47
|
+
<h2>Format ISO (YYYY-MM-DD)</h2>
|
|
48
|
+
<ComplexDatePicker
|
|
49
|
+
v-model="isoDate"
|
|
50
|
+
placeholder="Date ISO"
|
|
51
|
+
format="YYYY-MM-DD"
|
|
52
|
+
class="date-picker"
|
|
53
|
+
/>
|
|
54
|
+
<div class="value-display">
|
|
55
|
+
Valeur: {{ isoDate || 'Non définie' }}
|
|
56
|
+
</div>
|
|
57
|
+
</div>
|
|
58
|
+
|
|
59
|
+
<div class="demo-section">
|
|
60
|
+
<h2>Format avec séparateur point (DD.MM.YYYY)</h2>
|
|
61
|
+
<ComplexDatePicker
|
|
62
|
+
v-model="dotDate"
|
|
63
|
+
placeholder="Date avec points"
|
|
64
|
+
format="DD.MM.YYYY"
|
|
65
|
+
class="date-picker"
|
|
66
|
+
/>
|
|
67
|
+
<div class="value-display">
|
|
68
|
+
Valeur: {{ dotDate || 'Non définie' }}
|
|
69
|
+
</div>
|
|
70
|
+
</div>
|
|
71
|
+
|
|
72
|
+
<div class="demo-section">
|
|
73
|
+
<h2>Champ requis</h2>
|
|
74
|
+
<ComplexDatePicker
|
|
75
|
+
v-model="requiredDate"
|
|
76
|
+
placeholder="Date requise"
|
|
77
|
+
format="DD/MM/YYYY"
|
|
78
|
+
required
|
|
79
|
+
class="date-picker"
|
|
80
|
+
/>
|
|
81
|
+
<div class="value-display">
|
|
82
|
+
Valeur: {{ requiredDate || 'Non définie' }}
|
|
83
|
+
</div>
|
|
84
|
+
</div>
|
|
85
|
+
|
|
86
|
+
<div class="demo-section">
|
|
87
|
+
<h2>Plage de dates</h2>
|
|
88
|
+
<ComplexDatePicker
|
|
89
|
+
v-model="dateRange"
|
|
90
|
+
placeholder="Plage de dates"
|
|
91
|
+
format="DD/MM/YYYY"
|
|
92
|
+
display-range
|
|
93
|
+
class="date-picker"
|
|
94
|
+
/>
|
|
95
|
+
<div class="value-display">
|
|
96
|
+
Valeur: {{ dateRange ? JSON.stringify(dateRange) : 'Non définie' }}
|
|
97
|
+
</div>
|
|
98
|
+
</div>
|
|
99
|
+
|
|
100
|
+
<div class="demo-section">
|
|
101
|
+
<h2>Date de naissance (année d'abord)</h2>
|
|
102
|
+
<ComplexDatePicker
|
|
103
|
+
v-model="birthDate"
|
|
104
|
+
placeholder="Date de naissance"
|
|
105
|
+
format="DD/MM/YYYY"
|
|
106
|
+
is-birth-date
|
|
107
|
+
class="date-picker"
|
|
108
|
+
/>
|
|
109
|
+
<div class="value-display">
|
|
110
|
+
Valeur: {{ birthDate || 'Non définie' }}
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
113
|
+
|
|
114
|
+
<div class="demo-section">
|
|
115
|
+
<h2>Format d'affichage vs format de retour</h2>
|
|
116
|
+
<ComplexDatePicker
|
|
117
|
+
v-model="formattedDate"
|
|
118
|
+
placeholder="Date avec format de retour"
|
|
119
|
+
format="DD/MM/YYYY"
|
|
120
|
+
date-format-return="YYYY-MM-DD"
|
|
121
|
+
class="date-picker"
|
|
122
|
+
/>
|
|
123
|
+
<div class="value-display">
|
|
124
|
+
Valeur: {{ formattedDate || 'Non définie' }}
|
|
125
|
+
</div>
|
|
126
|
+
</div>
|
|
127
|
+
</div>
|
|
128
|
+
</template>
|
|
129
|
+
|
|
130
|
+
<style lang="scss" scoped>
|
|
131
|
+
.playground-container {
|
|
132
|
+
max-width: 800px;
|
|
133
|
+
margin: 0 auto;
|
|
134
|
+
padding: 20px;
|
|
135
|
+
font-family: Roboto, sans-serif;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
h1 {
|
|
139
|
+
text-align: center;
|
|
140
|
+
margin-bottom: 30px;
|
|
141
|
+
color: #2c3e50;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
h2 {
|
|
145
|
+
color: #2c3e50;
|
|
146
|
+
font-size: 1.2rem;
|
|
147
|
+
margin-bottom: 10px;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
.demo-section {
|
|
151
|
+
margin-bottom: 30px;
|
|
152
|
+
padding: 20px;
|
|
153
|
+
border-radius: 8px;
|
|
154
|
+
background-color: #f8f9fa;
|
|
155
|
+
box-shadow: 0 2px 4px rgb(0 0 0 / 10%);
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.date-picker {
|
|
159
|
+
margin-bottom: 10px;
|
|
160
|
+
width: 100%;
|
|
161
|
+
}
|
|
162
|
+
|
|
163
|
+
.value-display {
|
|
164
|
+
margin-top: 10px;
|
|
165
|
+
padding: 10px;
|
|
166
|
+
background-color: #e9ecef;
|
|
167
|
+
border-radius: 4px;
|
|
168
|
+
font-family: monospace;
|
|
169
|
+
white-space: pre-wrap;
|
|
170
|
+
word-break: break-all;
|
|
171
|
+
}
|
|
172
|
+
</style>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Types pour les composants DatePicker
|
|
3
|
+
*/
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Type représentant une valeur de date qui peut être une Date, un tableau de Dates ou null
|
|
7
|
+
* Utilisé pour les opérations internes du DatePicker avec des objets Date
|
|
8
|
+
*/
|
|
9
|
+
export type DateObjectValue = Date | (Date | null)[] | null
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Alias pour maintenir la compatibilité avec le code existant
|
|
13
|
+
* @deprecated Utilisez DateObjectValue pour les objets Date ou importez DateValue depuis useDateInitializationDayjs pour les chaînes
|
|
14
|
+
*/
|
|
15
|
+
export type DateValue = DateObjectValue
|
|
@@ -51,6 +51,7 @@ export const Default: Story = {
|
|
|
51
51
|
label="Nom avec accents"
|
|
52
52
|
color="primary"
|
|
53
53
|
variant="outlined"
|
|
54
|
+
bg-color="white"
|
|
54
55
|
/>
|
|
55
56
|
</DiacriticPicker>
|
|
56
57
|
</template>`,
|
|
@@ -110,6 +111,7 @@ export const Default: Story = {
|
|
|
110
111
|
label="Nom avec accents"
|
|
111
112
|
color="primary"
|
|
112
113
|
variant="outlined"
|
|
114
|
+
bg-color="white"
|
|
113
115
|
/>
|
|
114
116
|
</DiacriticPicker>
|
|
115
117
|
<div class="mt-2">Valeur actuelle: {{ value }}</div>
|
|
@@ -130,6 +132,7 @@ export const WithTextarea: Story = {
|
|
|
130
132
|
v-model="adresse"
|
|
131
133
|
label="Adresse"
|
|
132
134
|
color="primary"
|
|
135
|
+
bg-color="white"
|
|
133
136
|
variant="outlined"
|
|
134
137
|
auto-grow
|
|
135
138
|
/>
|
|
@@ -190,6 +193,7 @@ export const WithTextarea: Story = {
|
|
|
190
193
|
v-model="value"
|
|
191
194
|
label="Adresse"
|
|
192
195
|
color="primary"
|
|
196
|
+
bg-color="white"
|
|
193
197
|
variant="outlined"
|
|
194
198
|
auto-grow
|
|
195
199
|
/>
|
|
@@ -213,6 +217,7 @@ export const CustomDiacritics: Story = {
|
|
|
213
217
|
label="Texte avec accents personnalisés"
|
|
214
218
|
color="primary"
|
|
215
219
|
variant="outlined"
|
|
220
|
+
bg-color="white"
|
|
216
221
|
/>
|
|
217
222
|
</DiacriticPicker>
|
|
218
223
|
</template>`,
|
|
@@ -265,6 +270,7 @@ export const CustomDiacritics: Story = {
|
|
|
265
270
|
label="Texte avec accents personnalisés"
|
|
266
271
|
color="primary"
|
|
267
272
|
variant="outlined"
|
|
273
|
+
bg-color="white"
|
|
268
274
|
/>
|
|
269
275
|
</DiacriticPicker>
|
|
270
276
|
<div class="mt-2">Valeur actuelle: {{ value }}</div>
|
|
@@ -286,6 +292,7 @@ export const CustomButtonTitle: Story = {
|
|
|
286
292
|
label="Texte avec bouton personnalisé"
|
|
287
293
|
color="primary"
|
|
288
294
|
variant="outlined"
|
|
295
|
+
bg-color="white"
|
|
289
296
|
/>
|
|
290
297
|
</DiacriticPicker>
|
|
291
298
|
</template>`,
|
|
@@ -345,6 +352,7 @@ export const CustomButtonTitle: Story = {
|
|
|
345
352
|
label="Texte avec bouton personnalisé"
|
|
346
353
|
color="primary"
|
|
347
354
|
variant="outlined"
|
|
355
|
+
bg-color="white"
|
|
348
356
|
/>
|
|
349
357
|
</DiacriticPicker>
|
|
350
358
|
<div class="mt-2">Valeur actuelle: {{ value }}</div>
|
|
@@ -379,6 +387,7 @@ export const Customization: Story = {
|
|
|
379
387
|
label="Options Vuetify personnalisées"
|
|
380
388
|
color="secondary"
|
|
381
389
|
variant="outlined"
|
|
390
|
+
bg-color="white"
|
|
382
391
|
/>
|
|
383
392
|
</DiacriticPicker>
|
|
384
393
|
</template>`,
|
|
@@ -437,6 +446,7 @@ export const Customization: Story = {
|
|
|
437
446
|
label="Options Vuetify personnalisées"
|
|
438
447
|
color="secondary"
|
|
439
448
|
variant="outlined"
|
|
449
|
+
bg-color="white"
|
|
440
450
|
/>
|
|
441
451
|
</DiacriticPicker>
|
|
442
452
|
<div class="mt-2">Valeur actuelle: {{ value }}</div>
|
|
@@ -181,6 +181,14 @@ export const Legende: StoryObj = {
|
|
|
181
181
|
Problèmes relevés par Tanaguru
|
|
182
182
|
</div>
|
|
183
183
|
</div>
|
|
184
|
+
<div class="mt-4">
|
|
185
|
+
<p>Rapport d’audit manuel : <a href="/audits/ErrorPage.xlsx" style="color:#0C41BD;">Voir le
|
|
186
|
+
rapport</a></p>
|
|
187
|
+
<p style="color: grey; font-size: 14px">Correctifs associés (<a
|
|
188
|
+
href="https://github.com/assurance-maladie-digital/design-system-v3/issues/652" target="_blank"
|
|
189
|
+
style="color:#0C41BD;"
|
|
190
|
+
>issue #652</a>)</p>
|
|
191
|
+
</div>
|
|
184
192
|
</div>
|
|
185
193
|
`,
|
|
186
194
|
}
|
|
@@ -3,6 +3,12 @@
|
|
|
3
3
|
import { locales } from './locales'
|
|
4
4
|
import PageContainer from '../PageContainer/PageContainer.vue'
|
|
5
5
|
|
|
6
|
+
// Fonction pour formater le message et ajouter des liens tel: aux numéros de téléphone
|
|
7
|
+
const formatMessage = (message: string): string => {
|
|
8
|
+
// Regex pour détecter les numéros de téléphone comme 3646
|
|
9
|
+
return message.replace(/\b(3646|\d{10})\b/g, '<a href="tel:$1">$1</a>')
|
|
10
|
+
}
|
|
11
|
+
|
|
6
12
|
withDefaults(defineProps<{
|
|
7
13
|
pageTitle?: string
|
|
8
14
|
message?: string
|
|
@@ -44,16 +50,17 @@
|
|
|
44
50
|
{{ code }}
|
|
45
51
|
</div>
|
|
46
52
|
|
|
47
|
-
<
|
|
53
|
+
<h1
|
|
48
54
|
v-if="pageTitle"
|
|
49
55
|
class="mb-2 font-weight-bold text-h5 mb-4"
|
|
50
56
|
>
|
|
51
57
|
{{ pageTitle }}
|
|
52
|
-
</
|
|
58
|
+
</h1>
|
|
53
59
|
|
|
54
|
-
<p
|
|
55
|
-
|
|
56
|
-
|
|
60
|
+
<p
|
|
61
|
+
v-if="message"
|
|
62
|
+
v-html="formatMessage(message)"
|
|
63
|
+
/>
|
|
57
64
|
|
|
58
65
|
<slot name="additional-content" />
|
|
59
66
|
|
|
@@ -63,7 +70,6 @@
|
|
|
63
70
|
:to="btnLink"
|
|
64
71
|
:href="btnHref"
|
|
65
72
|
color="primary"
|
|
66
|
-
exact
|
|
67
73
|
class="mt-6"
|
|
68
74
|
>
|
|
69
75
|
{{ btnText }}
|