@portnet/ui 6.0.1 → 6.0.3
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/CHANGELOG.md +737 -0
- package/dist/esm/index.js +90 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
- package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/esm/v2/__tests__/apiError.test.js +50 -69
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
- package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
- package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
- package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +48 -70
- package/dist/esm/v2/components/Accordion.js.map +1 -1
- package/dist/esm/v2/components/ActionStrip.js +31 -43
- package/dist/esm/v2/components/ActionStrip.js.map +1 -1
- package/dist/esm/v2/components/Banner.js +25 -22
- package/dist/esm/v2/components/Banner.js.map +1 -1
- package/dist/esm/v2/components/Busy.js +14 -19
- package/dist/esm/v2/components/Busy.js.map +1 -1
- package/dist/esm/v2/components/Button.js +34 -45
- package/dist/esm/v2/components/Button.js.map +1 -1
- package/dist/esm/v2/components/CategoryTag.js +44 -27
- package/dist/esm/v2/components/CategoryTag.js.map +1 -1
- package/dist/esm/v2/components/Checkbox.js +32 -38
- package/dist/esm/v2/components/Checkbox.js.map +1 -1
- package/dist/esm/v2/components/Chip.js +23 -36
- package/dist/esm/v2/components/Chip.js.map +1 -1
- package/dist/esm/v2/components/Combobox.js +112 -136
- package/dist/esm/v2/components/Combobox.js.map +1 -1
- package/dist/esm/v2/components/CommandPalette.js +113 -198
- package/dist/esm/v2/components/CommandPalette.js.map +1 -1
- package/dist/esm/v2/components/ConfirmDialog.js +36 -45
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/esm/v2/components/DatePicker.js +78 -81
- package/dist/esm/v2/components/DatePicker.js.map +1 -1
- package/dist/esm/v2/components/DateRangePicker.js +63 -74
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
- package/dist/esm/v2/components/DateTimePicker.js +118 -90
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
- package/dist/esm/v2/components/Drawer.js +71 -65
- package/dist/esm/v2/components/Drawer.js.map +1 -1
- package/dist/esm/v2/components/Dropzone.js +130 -177
- package/dist/esm/v2/components/Dropzone.js.map +1 -1
- package/dist/esm/v2/components/EmptyState.js +9 -9
- package/dist/esm/v2/components/EmptyState.js.map +1 -1
- package/dist/esm/v2/components/FavoriteToggle.js +24 -33
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/esm/v2/components/Field.js +210 -52
- package/dist/esm/v2/components/Field.js.map +1 -1
- package/dist/esm/v2/components/FieldError.js +9 -13
- package/dist/esm/v2/components/FieldError.js.map +1 -1
- package/dist/esm/v2/components/FieldHelp.js +28 -49
- package/dist/esm/v2/components/FieldHelp.js.map +1 -1
- package/dist/esm/v2/components/FileCard.js +14 -19
- package/dist/esm/v2/components/FileCard.js.map +1 -1
- package/dist/esm/v2/components/FilterTab.js +22 -31
- package/dist/esm/v2/components/FilterTab.js.map +1 -1
- package/dist/esm/v2/components/ForbiddenPage.js +28 -8
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/esm/v2/components/FormGrid.js +48 -54
- package/dist/esm/v2/components/FormGrid.js.map +1 -1
- package/dist/esm/v2/components/FormikDisplay.js +98 -24
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
- package/dist/esm/v2/components/Input.js +75 -34
- package/dist/esm/v2/components/Input.js.map +1 -1
- package/dist/esm/v2/components/KPICard.js +42 -51
- package/dist/esm/v2/components/KPICard.js.map +1 -1
- package/dist/esm/v2/components/KPIStrip.js +9 -15
- package/dist/esm/v2/components/KPIStrip.js.map +1 -1
- package/dist/esm/v2/components/KV.js +16 -23
- package/dist/esm/v2/components/KV.js.map +1 -1
- package/dist/esm/v2/components/KVGrid.js +15 -23
- package/dist/esm/v2/components/KVGrid.js.map +1 -1
- package/dist/esm/v2/components/Layout.js +81 -117
- package/dist/esm/v2/components/Layout.js.map +1 -1
- package/dist/esm/v2/components/MobileRowCard.js +64 -75
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
- package/dist/esm/v2/components/Modal.js +44 -53
- package/dist/esm/v2/components/Modal.js.map +1 -1
- package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/esm/v2/components/NotFoundPage.js +28 -9
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
- package/dist/esm/v2/components/NumberInput.js +77 -107
- package/dist/esm/v2/components/NumberInput.js.map +1 -1
- package/dist/esm/v2/components/OverflowMenu.js +24 -42
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
- package/dist/esm/v2/components/PdfViewer.js +24 -33
- package/dist/esm/v2/components/PdfViewer.js.map +1 -1
- package/dist/esm/v2/components/ProgressBar.js +28 -36
- package/dist/esm/v2/components/ProgressBar.js.map +1 -1
- package/dist/esm/v2/components/Radio.js +49 -57
- package/dist/esm/v2/components/Radio.js.map +1 -1
- package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/esm/v2/components/SectionHeader.js +24 -31
- package/dist/esm/v2/components/SectionHeader.js.map +1 -1
- package/dist/esm/v2/components/Segmented.js +59 -84
- package/dist/esm/v2/components/Segmented.js.map +1 -1
- package/dist/esm/v2/components/Select.js +100 -138
- package/dist/esm/v2/components/Select.js.map +1 -1
- package/dist/esm/v2/components/ServerErrorPage.js +27 -10
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/esm/v2/components/Skeleton.js +81 -96
- package/dist/esm/v2/components/Skeleton.js.map +1 -1
- package/dist/esm/v2/components/SkipLink.js +6 -7
- package/dist/esm/v2/components/SkipLink.js.map +1 -1
- package/dist/esm/v2/components/Spinner.js +13 -22
- package/dist/esm/v2/components/Spinner.js.map +1 -1
- package/dist/esm/v2/components/Status.js +14 -25
- package/dist/esm/v2/components/Status.js.map +1 -1
- package/dist/esm/v2/components/Stepper.js +68 -71
- package/dist/esm/v2/components/Stepper.js.map +1 -1
- package/dist/esm/v2/components/Surface.js +25 -44
- package/dist/esm/v2/components/Surface.js.map +1 -1
- package/dist/esm/v2/components/Switch.js +21 -29
- package/dist/esm/v2/components/Switch.js.map +1 -1
- package/dist/esm/v2/components/TabPanel.js +84 -0
- package/dist/esm/v2/components/TabPanel.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +43 -19
- package/dist/esm/v2/components/Tabs.js.map +1 -1
- package/dist/esm/v2/components/TelInput.js +75 -108
- package/dist/esm/v2/components/TelInput.js.map +1 -1
- package/dist/esm/v2/components/Textarea.js +21 -30
- package/dist/esm/v2/components/Textarea.js.map +1 -1
- package/dist/esm/v2/components/TimePicker.js +59 -69
- package/dist/esm/v2/components/TimePicker.js.map +1 -1
- package/dist/esm/v2/components/Toast.js +109 -163
- package/dist/esm/v2/components/Toast.js.map +1 -1
- package/dist/esm/v2/components/Tooltip.js +18 -31
- package/dist/esm/v2/components/Tooltip.js.map +1 -1
- package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/esm/v2/components/_pickerShared.js +2 -2
- package/dist/esm/v2/components/_pickerShared.js.map +1 -1
- package/dist/esm/v2/components/index.js +64 -0
- package/dist/esm/v2/components/index.js.map +1 -1
- package/dist/esm/v2/hooks/index.js +62 -0
- package/dist/esm/v2/hooks/index.js.map +1 -1
- package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
- package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/esm/v2/hooks/useDensity.js +13 -17
- package/dist/esm/v2/hooks/useDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useSortedRows.js +3 -5
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/esm/v2/hooks/useTabLoading.js +6 -21
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/esm/v2/index.js +14 -4
- package/dist/esm/v2/index.js.map +1 -1
- package/dist/esm/v2/modalContext.js +2 -2
- package/dist/esm/v2/modalContext.js.map +1 -1
- package/dist/esm/v2/models/favorite.js.map +1 -1
- package/dist/esm/v2/models/personalization.js.map +1 -1
- package/dist/esm/v2/models/referentiel.js.map +1 -1
- package/dist/esm/v2/models/savedFilter.js.map +1 -1
- package/dist/esm/v2/patterns/ActionBar.js +115 -159
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/AppMain.js +108 -0
- package/dist/esm/v2/patterns/AppMain.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/ChartFigure.js +151 -0
- package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/esm/v2/patterns/DataGrid.js +221 -255
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/esm/v2/patterns/DetailSplit.js +108 -0
- package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
- package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/esm/v2/patterns/FormPageShell.js +43 -41
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/FormSection.js +30 -38
- package/dist/esm/v2/patterns/FormSection.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
- package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +94 -78
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
- package/dist/esm/v2/patterns/FormikInput.js +40 -50
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/FormikSelect.js +64 -84
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/esm/v2/patterns/PageContent.js +10 -14
- package/dist/esm/v2/patterns/PageContent.js.map +1 -1
- package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
- package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +327 -312
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/SortableHeader.js +22 -45
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/esm/v2/patterns/Tour.js +94 -120
- package/dist/esm/v2/patterns/Tour.js.map +1 -1
- package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +17 -33
- package/dist/esm/v2/patterns/_sort.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/esm/v2/patterns/filterCriteria.js +102 -0
- package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +235 -0
- package/dist/esm/v2/patterns/index.js.map +1 -1
- package/dist/esm/v2/patterns/rowActions.js +223 -0
- package/dist/esm/v2/patterns/rowActions.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +5 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/esm/v2/personalization/index.js +35 -0
- package/dist/esm/v2/personalization/index.js.map +1 -1
- package/dist/esm/v2/personalization/personalizationContext.js +9 -9
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/esm/v2/personalization/schema.js +8 -9
- package/dist/esm/v2/personalization/schema.js.map +1 -1
- package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/esm/v2/referentiel/types.js +2 -0
- package/dist/esm/v2/referentiel/types.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/esm/v2/theme/_brand.js +8 -24
- package/dist/esm/v2/theme/_brand.js.map +1 -1
- package/dist/esm/v2/theme/_brandSecondary.js +8 -24
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/esm/v2/theme/cssVariables.js +62 -69
- package/dist/esm/v2/theme/cssVariables.js.map +1 -1
- package/dist/esm/v2/theme/index.js +5 -5
- package/dist/esm/v2/theme/index.js.map +1 -1
- package/dist/esm/v2/tokens/breakpoints.js +14 -14
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
- package/dist/esm/v2/tokens/chart.js +261 -0
- package/dist/esm/v2/tokens/chart.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +22 -22
- package/dist/esm/v2/tokens/colors.js.map +1 -1
- package/dist/esm/v2/tokens/density.js +62 -7
- package/dist/esm/v2/tokens/density.js.map +1 -1
- package/dist/esm/v2/tokens/index.js +49 -34
- package/dist/esm/v2/tokens/index.js.map +1 -1
- package/dist/esm/v2/tokens/motion.js +12 -20
- package/dist/esm/v2/tokens/motion.js.map +1 -1
- package/dist/esm/v2/tokens/radius.js +1 -1
- package/dist/esm/v2/tokens/radius.js.map +1 -1
- package/dist/esm/v2/tokens/shadows.js +6 -6
- package/dist/esm/v2/tokens/shadows.js.map +1 -1
- package/dist/esm/v2/tokens/spacing.js +2 -2
- package/dist/esm/v2/tokens/spacing.js.map +1 -1
- package/dist/esm/v2/tokens/state.js +1 -1
- package/dist/esm/v2/tokens/state.js.map +1 -1
- package/dist/esm/v2/tokens/statusPalette.js +17 -21
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
- package/dist/esm/v2/tokens/tokens.json +6 -1
- package/dist/esm/v2/tokens/typography.js +13 -13
- package/dist/esm/v2/tokens/typography.js.map +1 -1
- package/dist/esm/v2/tokens/zIndex.js +1 -1
- package/dist/esm/v2/tokens/zIndex.js.map +1 -1
- package/dist/esm/v2/types/datagrid.js.map +1 -1
- package/dist/esm/v2/utils/apiError.js +16 -37
- package/dist/esm/v2/utils/apiError.js.map +1 -1
- package/dist/esm/v2/utils/contrast.js +31 -32
- package/dist/esm/v2/utils/contrast.js.map +1 -1
- package/dist/esm/v2/utils/cx.js +5 -25
- package/dist/esm/v2/utils/cx.js.map +1 -1
- package/dist/esm/v2/utils/fileDownload.js +23 -26
- package/dist/esm/v2/utils/fileDownload.js.map +1 -1
- package/dist/esm/v2/utils/fileValidation.js +209 -0
- package/dist/esm/v2/utils/fileValidation.js.map +1 -0
- package/dist/esm/v2/utils/fmtDate.js +111 -0
- package/dist/esm/v2/utils/fmtDate.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +8 -10
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
- package/dist/esm/v2/utils/formikErrors.js +78 -0
- package/dist/esm/v2/utils/formikErrors.js.map +1 -0
- package/dist/esm/v2/utils/index.js +35 -2
- package/dist/esm/v2/utils/index.js.map +1 -1
- package/dist/esm/v2/utils/mergeLabels.js +7 -12
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
- package/dist/esm/v2/utils/networkStatus.js +12 -12
- package/dist/esm/v2/utils/networkStatus.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -47
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/AppMain.test.js +133 -0
- package/dist/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/v2/__tests__/ChartFigure.test.js +183 -0
- package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/v2/__tests__/FieldError.test.js +98 -69
- package/dist/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/v2/__tests__/FieldNaming.test.js +161 -0
- package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +148 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +45 -48
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
- package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/v2/__tests__/apiError.test.js +50 -69
- package/dist/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/v2/__tests__/banned-patterns.test.js +42 -123
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/v2/__tests__/chart-palette.test.js +205 -0
- package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/v2/__tests__/fileValidation.test.js +136 -0
- package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/v2/__tests__/filterCriteria.test.js +324 -0
- package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/fmtDate.test.js +69 -0
- package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +38 -46
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/__tests__/locale-fallback.test.js +47 -52
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
- package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/rowActions.test.js +186 -0
- package/dist/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/v2/components/Accordion.js +60 -82
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.js +40 -52
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.js +42 -41
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.js +22 -27
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.js +39 -50
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js +49 -32
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.js +39 -45
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.js +29 -42
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.js +122 -144
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.js +138 -225
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +46 -56
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.js +81 -86
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.js +77 -87
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +121 -95
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +93 -88
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.js +150 -196
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.js +18 -20
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +28 -39
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +121 -5
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +221 -62
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.js +18 -21
- package/dist/v2/components/FieldError.js.map +1 -1
- package/dist/v2/components/FieldHelp.js +40 -60
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.js +27 -31
- package/dist/v2/components/FileCard.js.map +1 -1
- package/dist/v2/components/FilterTab.js +30 -38
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/ForbiddenPage.d.ts +25 -1
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
- package/dist/v2/components/ForbiddenPage.js +37 -17
- package/dist/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/v2/components/FormGrid.js +53 -59
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +50 -1
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js +108 -33
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +40 -0
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js +81 -41
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.js +57 -67
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.js +16 -22
- package/dist/v2/components/KPIStrip.js.map +1 -1
- package/dist/v2/components/KV.js +25 -31
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.js +19 -26
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.js +91 -120
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.js +79 -91
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.js +61 -69
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js +38 -21
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NotFoundPage.d.ts +17 -1
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
- package/dist/v2/components/NotFoundPage.js +37 -18
- package/dist/v2/components/NotFoundPage.js.map +1 -1
- package/dist/v2/components/NumberInput.js +88 -118
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.js +38 -56
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.js +34 -45
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.js +42 -49
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.js +59 -67
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.js +90 -135
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/v2/components/SectionHeader.js +34 -41
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.js +69 -93
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +26 -2
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +120 -155
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +27 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js +37 -20
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.js +86 -100
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.js +9 -12
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Spinner.js +16 -25
- package/dist/v2/components/Spinner.js.map +1 -1
- package/dist/v2/components/Status.js +18 -29
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.js +80 -82
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.js +34 -49
- package/dist/v2/components/Surface.js.map +1 -1
- package/dist/v2/components/Switch.js +29 -37
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/TabPanel.d.ts +17 -0
- package/dist/v2/components/TabPanel.d.ts.map +1 -0
- package/dist/v2/components/TabPanel.js +90 -0
- package/dist/v2/components/TabPanel.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +25 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js +53 -29
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.js +80 -115
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.js +26 -35
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.js +62 -74
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.js +119 -174
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.js +23 -38
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/_ErrorPageBody.js +15 -16
- package/dist/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/v2/components/_pickerShared.js +5 -5
- package/dist/v2/components/_pickerShared.js.map +1 -1
- package/dist/v2/components/index.d.ts +67 -1
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +153 -136
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/hooks/index.d.ts +65 -0
- package/dist/v2/hooks/index.d.ts.map +1 -1
- package/dist/v2/hooks/index.js +63 -24
- package/dist/v2/hooks/index.js.map +1 -1
- package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
- package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
- package/dist/v2/hooks/useAppliedFilters.js +117 -0
- package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.js +87 -0
- package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +6 -20
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/v2/hooks/useDensity.d.ts.map +1 -1
- package/dist/v2/hooks/useDensity.js +14 -18
- package/dist/v2/hooks/useDensity.js.map +1 -1
- package/dist/v2/hooks/useFocusFirstError.js +26 -34
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +20 -24
- package/dist/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.js +39 -54
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +5 -13
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/v2/hooks/useSortedRows.js +4 -6
- package/dist/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/v2/hooks/useTabLoading.js +7 -22
- package/dist/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js +143 -145
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/modalContext.js +2 -2
- package/dist/v2/modalContext.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +8 -9
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/index.js +4 -4
- package/dist/v2/models/index.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +44 -48
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +32 -50
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -17
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.js +152 -187
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/AppMain.d.ts +109 -0
- package/dist/v2/patterns/AppMain.d.ts.map +1 -0
- package/dist/v2/patterns/AppMain.js +115 -0
- package/dist/v2/patterns/AppMain.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +40 -42
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/ChartFigure.d.ts +124 -0
- package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
- package/dist/v2/patterns/ChartFigure.js +159 -0
- package/dist/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +60 -94
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/DataGrid.js +262 -297
- package/dist/v2/patterns/DataGrid.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +103 -106
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js +179 -217
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/DetailSplit.d.ts +87 -0
- package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
- package/dist/v2/patterns/DetailSplit.js +116 -0
- package/dist/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +32 -80
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +36 -44
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
- package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
- package/dist/v2/patterns/FilterTabBar.js +120 -0
- package/dist/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +20 -23
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.js +53 -50
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +8 -3
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +44 -51
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +138 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +55 -69
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +59 -106
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
- package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.js +25 -26
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
- package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorSummary.js +97 -0
- package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +14 -1
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js +99 -83
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +11 -1
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +45 -55
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
- package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikRadioGroup.js +137 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js +54 -64
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +9 -1
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +70 -89
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -48
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.js +17 -20
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
- package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
- package/dist/v2/patterns/PreviewDrawer.js +159 -0
- package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +86 -2
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +347 -327
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.js +50 -77
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js +122 -143
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.js +35 -57
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.js +121 -142
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +131 -147
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +80 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_sort.js +17 -33
- package/dist/v2/patterns/_sort.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js +124 -163
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js +80 -99
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/filterCriteria.d.ts +78 -0
- package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
- package/dist/v2/patterns/filterCriteria.js +110 -0
- package/dist/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +247 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +182 -70
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/patterns/rowActions.d.ts +150 -0
- package/dist/v2/patterns/rowActions.d.ts.map +1 -0
- package/dist/v2/patterns/rowActions.js +232 -0
- package/dist/v2/patterns/rowActions.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js +57 -53
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/index.js +5 -5
- package/dist/v2/personalization/adapters/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/favorites.js +39 -62
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +6 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +23 -10
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js +81 -182
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +34 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +41 -21
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/personalizationContext.js +10 -12
- package/dist/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/v2/personalization/schema.js +8 -9
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js +31 -45
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/index.js +11 -13
- package/dist/v2/referentiel/index.js.map +1 -1
- package/dist/v2/referentiel/types.d.ts +105 -0
- package/dist/v2/referentiel/types.d.ts.map +1 -0
- package/dist/v2/referentiel/types.js +6 -0
- package/dist/v2/referentiel/types.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +13 -16
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js +63 -120
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js +40 -95
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/_brand.js +12 -26
- package/dist/v2/theme/_brand.js.map +1 -1
- package/dist/v2/theme/_brandSecondary.js +12 -26
- package/dist/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +41 -49
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/theme/cssVariables.d.ts +3 -3
- package/dist/v2/theme/cssVariables.d.ts.map +1 -1
- package/dist/v2/theme/cssVariables.js +65 -70
- package/dist/v2/theme/cssVariables.js.map +1 -1
- package/dist/v2/theme/index.js +10 -10
- package/dist/v2/theme/index.js.map +1 -1
- package/dist/v2/tokens/breakpoints.js +16 -16
- package/dist/v2/tokens/breakpoints.js.map +1 -1
- package/dist/v2/tokens/chart.d.ts +103 -0
- package/dist/v2/tokens/chart.d.ts.map +1 -0
- package/dist/v2/tokens/chart.js +270 -0
- package/dist/v2/tokens/chart.js.map +1 -0
- package/dist/v2/tokens/colors.js +24 -24
- package/dist/v2/tokens/colors.js.map +1 -1
- package/dist/v2/tokens/density.d.ts +104 -0
- package/dist/v2/tokens/density.d.ts.map +1 -1
- package/dist/v2/tokens/density.js +67 -12
- package/dist/v2/tokens/density.js.map +1 -1
- package/dist/v2/tokens/index.d.ts +50 -1
- package/dist/v2/tokens/index.d.ts.map +1 -1
- package/dist/v2/tokens/index.js +116 -68
- package/dist/v2/tokens/index.js.map +1 -1
- package/dist/v2/tokens/motion.js +16 -22
- package/dist/v2/tokens/motion.js.map +1 -1
- package/dist/v2/tokens/radius.js +3 -3
- package/dist/v2/tokens/radius.js.map +1 -1
- package/dist/v2/tokens/shadows.js +8 -8
- package/dist/v2/tokens/shadows.js.map +1 -1
- package/dist/v2/tokens/spacing.js +4 -4
- package/dist/v2/tokens/spacing.js.map +1 -1
- package/dist/v2/tokens/state.js +3 -3
- package/dist/v2/tokens/state.js.map +1 -1
- package/dist/v2/tokens/statusPalette.js +21 -23
- package/dist/v2/tokens/statusPalette.js.map +1 -1
- package/dist/v2/tokens/tokens.json +6 -1
- package/dist/v2/tokens/typography.js +15 -15
- package/dist/v2/tokens/typography.js.map +1 -1
- package/dist/v2/tokens/zIndex.js +3 -3
- package/dist/v2/tokens/zIndex.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +9 -1
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/types/index.js +2 -2
- package/dist/v2/types/index.js.map +1 -1
- package/dist/v2/utils/apiError.js +16 -37
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/contrast.js +31 -32
- package/dist/v2/utils/contrast.js.map +1 -1
- package/dist/v2/utils/cx.js +7 -27
- package/dist/v2/utils/cx.js.map +1 -1
- package/dist/v2/utils/fileDownload.js +25 -28
- package/dist/v2/utils/fileDownload.js.map +1 -1
- package/dist/v2/utils/fileValidation.d.ts +116 -0
- package/dist/v2/utils/fileValidation.d.ts.map +1 -0
- package/dist/v2/utils/fileValidation.js +220 -0
- package/dist/v2/utils/fileValidation.js.map +1 -0
- package/dist/v2/utils/fmtDate.d.ts +103 -0
- package/dist/v2/utils/fmtDate.d.ts.map +1 -0
- package/dist/v2/utils/fmtDate.js +119 -0
- package/dist/v2/utils/fmtDate.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +3 -3
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
- package/dist/v2/utils/fmtMoney.js +9 -11
- package/dist/v2/utils/fmtMoney.js.map +1 -1
- package/dist/v2/utils/formikErrors.d.ts +67 -0
- package/dist/v2/utils/formikErrors.d.ts.map +1 -0
- package/dist/v2/utils/formikErrors.js +85 -0
- package/dist/v2/utils/formikErrors.js.map +1 -0
- package/dist/v2/utils/index.d.ts +5 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +67 -18
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.js +9 -14
- package/dist/v2/utils/mergeLabels.js.map +1 -1
- package/dist/v2/utils/networkStatus.js +14 -14
- package/dist/v2/utils/networkStatus.js.map +1 -1
- package/package.json +26 -9
|
@@ -0,0 +1,300 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("@testing-library/jest-dom");
|
|
4
|
+
var _react = require("@testing-library/react");
|
|
5
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
6
|
+
var _formik = require("formik");
|
|
7
|
+
var _FormikRadioGroup = _interopRequireDefault(require("../patterns/FormikRadioGroup"));
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
/**
|
|
11
|
+
* FormikRadioGroup — contract tests (gap G-C).
|
|
12
|
+
*
|
|
13
|
+
* WHY THIS FILE EXISTS
|
|
14
|
+
* --------------------
|
|
15
|
+
* §10.3 R-G.6 MUST — and every case below is a defect this bridge exists to
|
|
16
|
+
* stop, none of which is visible on screen:
|
|
17
|
+
*
|
|
18
|
+
* 1. THE STORED VALUE KEEPS ITS DECLARED TYPE. A native radio input only ever
|
|
19
|
+
* reports a string. A host with numeric options would silently start
|
|
20
|
+
* sending "1" where its payload declares 1 — accepted or rejected by the
|
|
21
|
+
* API days later, with nothing in the UI to show for it. This is the single
|
|
22
|
+
* most important assertion in the file.
|
|
23
|
+
*
|
|
24
|
+
* 2. THE SELECTION MATCHES ACROSS TYPES. Hosts seed these fields with booleans
|
|
25
|
+
* (`false`) or numbers while declaring string options ("false"). If the
|
|
26
|
+
* comparison were strict, the group would render EMPTY on a form that
|
|
27
|
+
* already holds an answer — and the user would re-answer a question that
|
|
28
|
+
* was already stored, or worse, leave it blank.
|
|
29
|
+
*
|
|
30
|
+
* 3. TOUCHED ON PICK, NOT ON BLUR. A radio group's first interaction IS the
|
|
31
|
+
* answer; there is no blur-before-change. Waiting for a blur keeps a
|
|
32
|
+
* required-group message hidden while the user clicks around.
|
|
33
|
+
*
|
|
34
|
+
* 4. NO INVALID ATTRIBUTE REACHES THE DOM. `Field` clones its child with
|
|
35
|
+
* `error` / `fullWidth`, which are not valid on `role="radiogroup"`.
|
|
36
|
+
* `RadioGroup` strips them — assert it, because the day it stops, React
|
|
37
|
+
* warns and the rendering stays pixel-identical.
|
|
38
|
+
*
|
|
39
|
+
* NOT COVERED — deliberately: the asterisk colour and the error panel are CSS
|
|
40
|
+
* variables, which jsdom does not resolve. Those belong to the story.
|
|
41
|
+
*/const OPTIONS_TEXTE = [{
|
|
42
|
+
value: "true",
|
|
43
|
+
label: "Oui"
|
|
44
|
+
}, {
|
|
45
|
+
value: "false",
|
|
46
|
+
label: "Non"
|
|
47
|
+
}];
|
|
48
|
+
const OPTIONS_NOMBRE = [{
|
|
49
|
+
value: 1,
|
|
50
|
+
label: "Importation"
|
|
51
|
+
}, {
|
|
52
|
+
value: 2,
|
|
53
|
+
label: "Exportation"
|
|
54
|
+
}];
|
|
55
|
+
function Hote({
|
|
56
|
+
initialValue,
|
|
57
|
+
options = OPTIONS_TEXTE,
|
|
58
|
+
required,
|
|
59
|
+
hint,
|
|
60
|
+
onValues
|
|
61
|
+
}) {
|
|
62
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, {
|
|
63
|
+
initialValues: {
|
|
64
|
+
reponse: initialValue
|
|
65
|
+
},
|
|
66
|
+
validate: values => required && (values.reponse === null || values.reponse === undefined || values.reponse === "") ? {
|
|
67
|
+
reponse: "Choisissez une réponse."
|
|
68
|
+
} : {},
|
|
69
|
+
onSubmit: () => undefined,
|
|
70
|
+
children: ({
|
|
71
|
+
values
|
|
72
|
+
}) => {
|
|
73
|
+
onValues?.(values.reponse);
|
|
74
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Form, {
|
|
75
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikRadioGroup.default, {
|
|
76
|
+
name: "reponse",
|
|
77
|
+
label: "Mod\xE8le d\xE9j\xE0 approuv\xE9",
|
|
78
|
+
options: options,
|
|
79
|
+
...(required !== undefined ? {
|
|
80
|
+
required
|
|
81
|
+
} : {}),
|
|
82
|
+
...(hint !== undefined ? {
|
|
83
|
+
hint
|
|
84
|
+
} : {})
|
|
85
|
+
})
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
describe("FormikRadioGroup — the stored value keeps its declared type", () => {
|
|
91
|
+
test("numeric options stay NUMBERS, not the DOM's strings", async () => {
|
|
92
|
+
const vues = [];
|
|
93
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Hote, {
|
|
94
|
+
initialValue: null,
|
|
95
|
+
options: OPTIONS_NOMBRE,
|
|
96
|
+
onValues: v => vues.push(v)
|
|
97
|
+
}));
|
|
98
|
+
await _userEvent.default.click(_react.screen.getByRole("radio", {
|
|
99
|
+
name: "Exportation"
|
|
100
|
+
}));
|
|
101
|
+
expect(vues.at(-1)).toBe(2);
|
|
102
|
+
expect(typeof vues.at(-1)).toBe("number");
|
|
103
|
+
});
|
|
104
|
+
test("string options stay strings — « false » is a value, not a boolean", async () => {
|
|
105
|
+
/* refonte-frontend's case: the payload carries "true" / "false" as text.
|
|
106
|
+
* Coercing to a boolean here would change what the backend receives. */
|
|
107
|
+
const vues = [];
|
|
108
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Hote, {
|
|
109
|
+
initialValue: null,
|
|
110
|
+
onValues: v => vues.push(v)
|
|
111
|
+
}));
|
|
112
|
+
await _userEvent.default.click(_react.screen.getByRole("radio", {
|
|
113
|
+
name: "Non"
|
|
114
|
+
}));
|
|
115
|
+
expect(vues.at(-1)).toBe("false");
|
|
116
|
+
expect(typeof vues.at(-1)).toBe("string");
|
|
117
|
+
});
|
|
118
|
+
});
|
|
119
|
+
describe("FormikRadioGroup — the selection matches across types", () => {
|
|
120
|
+
test("a boolean `false` in state selects the option declared « false »", () => {
|
|
121
|
+
/* Hosts seed with booleans while declaring string options. A strict
|
|
122
|
+
* comparison would render the group empty on a form that already holds an
|
|
123
|
+
* answer. */
|
|
124
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Hote, {
|
|
125
|
+
initialValue: false
|
|
126
|
+
}));
|
|
127
|
+
expect(_react.screen.getByRole("radio", {
|
|
128
|
+
name: "Non"
|
|
129
|
+
})).toBeChecked();
|
|
130
|
+
expect(_react.screen.getByRole("radio", {
|
|
131
|
+
name: "Oui"
|
|
132
|
+
})).not.toBeChecked();
|
|
133
|
+
});
|
|
134
|
+
test("a number in state selects its numeric option", () => {
|
|
135
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Hote, {
|
|
136
|
+
initialValue: 1,
|
|
137
|
+
options: OPTIONS_NOMBRE
|
|
138
|
+
}));
|
|
139
|
+
expect(_react.screen.getByRole("radio", {
|
|
140
|
+
name: "Importation"
|
|
141
|
+
})).toBeChecked();
|
|
142
|
+
});
|
|
143
|
+
test("`null` selects nothing, and does not warn about an uncontrolled group", () => {
|
|
144
|
+
const avertissements = [];
|
|
145
|
+
const spy = jest.spyOn(console, "error").mockImplementation((...args) => {
|
|
146
|
+
avertissements.push(args);
|
|
147
|
+
});
|
|
148
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Hote, {
|
|
149
|
+
initialValue: null
|
|
150
|
+
}));
|
|
151
|
+
expect(_react.screen.getByRole("radio", {
|
|
152
|
+
name: "Oui"
|
|
153
|
+
})).not.toBeChecked();
|
|
154
|
+
expect(_react.screen.getByRole("radio", {
|
|
155
|
+
name: "Non"
|
|
156
|
+
})).not.toBeChecked();
|
|
157
|
+
expect(avertissements.some(a => String(a[0]).includes("uncontrolled"))).toBe(false);
|
|
158
|
+
spy.mockRestore();
|
|
159
|
+
});
|
|
160
|
+
test("displaying does not rewrite the stored value", async () => {
|
|
161
|
+
/* The string comparison is for MATCHING only. A form opened and closed
|
|
162
|
+
* without an answer must still send exactly what it was seeded with. */
|
|
163
|
+
const vues = [];
|
|
164
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Hote, {
|
|
165
|
+
initialValue: false,
|
|
166
|
+
onValues: v => vues.push(v)
|
|
167
|
+
}));
|
|
168
|
+
expect(_react.screen.getByRole("radio", {
|
|
169
|
+
name: "Non"
|
|
170
|
+
})).toBeChecked();
|
|
171
|
+
expect(vues.every(v => v === false)).toBe(true);
|
|
172
|
+
});
|
|
173
|
+
});
|
|
174
|
+
describe("FormikRadioGroup — the error is reachable without a blur", () => {
|
|
175
|
+
test("picking marks the field touched, so the message appears", async () => {
|
|
176
|
+
/* A validator that ALWAYS rejects : the message can then only be hidden by
|
|
177
|
+
* the field being untouched. Before the click it must be absent, after it
|
|
178
|
+
* present — that is the whole contract. */
|
|
179
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, {
|
|
180
|
+
initialValues: {
|
|
181
|
+
reponse: null
|
|
182
|
+
},
|
|
183
|
+
validate: () => ({
|
|
184
|
+
reponse: "Choisissez une réponse."
|
|
185
|
+
}),
|
|
186
|
+
onSubmit: () => undefined,
|
|
187
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Form, {
|
|
188
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikRadioGroup.default, {
|
|
189
|
+
name: "reponse",
|
|
190
|
+
label: "Mod\xE8le d\xE9j\xE0 approuv\xE9",
|
|
191
|
+
options: OPTIONS_TEXTE,
|
|
192
|
+
required: true
|
|
193
|
+
})
|
|
194
|
+
})
|
|
195
|
+
}));
|
|
196
|
+
expect(_react.screen.queryByRole("alert")).not.toBeInTheDocument();
|
|
197
|
+
await _userEvent.default.click(_react.screen.getByRole("radio", {
|
|
198
|
+
name: "Oui"
|
|
199
|
+
}));
|
|
200
|
+
expect(_react.screen.getByRole("alert")).toHaveTextContent("Choisissez une réponse.");
|
|
201
|
+
});
|
|
202
|
+
test("the message becomes the group's accessible description", () => {
|
|
203
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, {
|
|
204
|
+
initialValues: {
|
|
205
|
+
reponse: ""
|
|
206
|
+
},
|
|
207
|
+
initialTouched: {
|
|
208
|
+
reponse: true
|
|
209
|
+
},
|
|
210
|
+
initialErrors: {
|
|
211
|
+
reponse: "Choisissez une réponse."
|
|
212
|
+
},
|
|
213
|
+
onSubmit: () => undefined,
|
|
214
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Form, {
|
|
215
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikRadioGroup.default, {
|
|
216
|
+
name: "reponse",
|
|
217
|
+
label: "Mod\xE8le d\xE9j\xE0 approuv\xE9",
|
|
218
|
+
options: OPTIONS_TEXTE,
|
|
219
|
+
required: true
|
|
220
|
+
})
|
|
221
|
+
})
|
|
222
|
+
}));
|
|
223
|
+
expect(_react.screen.getByRole("radiogroup")).toHaveAccessibleDescription("Choisissez une réponse.");
|
|
224
|
+
});
|
|
225
|
+
test("the hint shows while valid and is suppressed by the error", () => {
|
|
226
|
+
const {
|
|
227
|
+
unmount
|
|
228
|
+
} = (0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Hote, {
|
|
229
|
+
initialValue: null,
|
|
230
|
+
hint: "Une seule r\xE9ponse possible"
|
|
231
|
+
}));
|
|
232
|
+
expect(_react.screen.getByText("Une seule réponse possible")).toBeInTheDocument();
|
|
233
|
+
unmount();
|
|
234
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, {
|
|
235
|
+
initialValues: {
|
|
236
|
+
reponse: ""
|
|
237
|
+
},
|
|
238
|
+
initialTouched: {
|
|
239
|
+
reponse: true
|
|
240
|
+
},
|
|
241
|
+
initialErrors: {
|
|
242
|
+
reponse: "Choisissez une réponse."
|
|
243
|
+
},
|
|
244
|
+
onSubmit: () => undefined,
|
|
245
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Form, {
|
|
246
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikRadioGroup.default, {
|
|
247
|
+
name: "reponse",
|
|
248
|
+
label: "Mod\xE8le d\xE9j\xE0 approuv\xE9",
|
|
249
|
+
options: OPTIONS_TEXTE,
|
|
250
|
+
hint: "Une seule r\xE9ponse possible"
|
|
251
|
+
})
|
|
252
|
+
})
|
|
253
|
+
}));
|
|
254
|
+
expect(_react.screen.queryByText("Une seule réponse possible")).not.toBeInTheDocument();
|
|
255
|
+
});
|
|
256
|
+
});
|
|
257
|
+
describe("FormikRadioGroup — ARIA and DOM hygiene", () => {
|
|
258
|
+
test("the group is named by the field label", () => {
|
|
259
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Hote, {
|
|
260
|
+
initialValue: null
|
|
261
|
+
}));
|
|
262
|
+
expect(_react.screen.getByRole("radiogroup", {
|
|
263
|
+
name: /Modèle déjà approuvé/
|
|
264
|
+
})).toBeInTheDocument();
|
|
265
|
+
});
|
|
266
|
+
test("`required` reaches the group as aria-required", () => {
|
|
267
|
+
/* Unlike the single-checkbox case, aria-required IS valid on
|
|
268
|
+
* role="radiogroup" and RadioGroup forwards Field's injection. */
|
|
269
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Hote, {
|
|
270
|
+
initialValue: null,
|
|
271
|
+
required: true
|
|
272
|
+
}));
|
|
273
|
+
expect(_react.screen.getByRole("radiogroup")).toHaveAttribute("aria-required", "true");
|
|
274
|
+
});
|
|
275
|
+
test("no `error` or `fullWidth` attribute leaks onto the group", () => {
|
|
276
|
+
(0, _react.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Formik, {
|
|
277
|
+
initialValues: {
|
|
278
|
+
reponse: ""
|
|
279
|
+
},
|
|
280
|
+
initialTouched: {
|
|
281
|
+
reponse: true
|
|
282
|
+
},
|
|
283
|
+
initialErrors: {
|
|
284
|
+
reponse: "Choisissez une réponse."
|
|
285
|
+
},
|
|
286
|
+
onSubmit: () => undefined,
|
|
287
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_formik.Form, {
|
|
288
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikRadioGroup.default, {
|
|
289
|
+
name: "reponse",
|
|
290
|
+
label: "Mod\xE8le d\xE9j\xE0 approuv\xE9",
|
|
291
|
+
options: OPTIONS_TEXTE
|
|
292
|
+
})
|
|
293
|
+
})
|
|
294
|
+
}));
|
|
295
|
+
const groupe = _react.screen.getByRole("radiogroup");
|
|
296
|
+
expect(groupe).not.toHaveAttribute("error");
|
|
297
|
+
expect(groupe).not.toHaveAttribute("fullWidth");
|
|
298
|
+
});
|
|
299
|
+
});
|
|
300
|
+
//# sourceMappingURL=FormikRadioGroup.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormikRadioGroup.test.js","names":["require","_react","_userEvent","_interopRequireDefault","_formik","_FormikRadioGroup","_jsxRuntime","e","__esModule","default","OPTIONS_TEXTE","value","label","OPTIONS_NOMBRE","Hote","initialValue","options","required","hint","onValues","jsx","Formik","initialValues","reponse","validate","values","undefined","onSubmit","children","Form","name","describe","test","vues","render","v","push","userEvent","click","screen","getByRole","expect","at","toBe","toBeChecked","not","avertissements","spy","jest","spyOn","console","mockImplementation","args","some","a","String","includes","mockRestore","every","queryByRole","toBeInTheDocument","toHaveTextContent","initialTouched","initialErrors","toHaveAccessibleDescription","unmount","getByText","queryByText","toHaveAttribute","groupe"],"sources":["../../../src/lib/v2/__tests__/FormikRadioGroup.test.tsx"],"sourcesContent":["import \"@testing-library/jest-dom\";\r\nimport { render, screen } from \"@testing-library/react\";\r\nimport userEvent from \"@testing-library/user-event\";\r\nimport { Formik, Form } from \"formik\";\r\nimport FormikRadioGroup from \"../patterns/FormikRadioGroup\";\r\n\r\n/**\r\n * FormikRadioGroup — contract tests (gap G-C).\r\n *\r\n * WHY THIS FILE EXISTS\r\n * --------------------\r\n * §10.3 R-G.6 MUST — and every case below is a defect this bridge exists to\r\n * stop, none of which is visible on screen:\r\n *\r\n * 1. THE STORED VALUE KEEPS ITS DECLARED TYPE. A native radio input only ever\r\n * reports a string. A host with numeric options would silently start\r\n * sending \"1\" where its payload declares 1 — accepted or rejected by the\r\n * API days later, with nothing in the UI to show for it. This is the single\r\n * most important assertion in the file.\r\n *\r\n * 2. THE SELECTION MATCHES ACROSS TYPES. Hosts seed these fields with booleans\r\n * (`false`) or numbers while declaring string options (\"false\"). If the\r\n * comparison were strict, the group would render EMPTY on a form that\r\n * already holds an answer — and the user would re-answer a question that\r\n * was already stored, or worse, leave it blank.\r\n *\r\n * 3. TOUCHED ON PICK, NOT ON BLUR. A radio group's first interaction IS the\r\n * answer; there is no blur-before-change. Waiting for a blur keeps a\r\n * required-group message hidden while the user clicks around.\r\n *\r\n * 4. NO INVALID ATTRIBUTE REACHES THE DOM. `Field` clones its child with\r\n * `error` / `fullWidth`, which are not valid on `role=\"radiogroup\"`.\r\n * `RadioGroup` strips them — assert it, because the day it stops, React\r\n * warns and the rendering stays pixel-identical.\r\n *\r\n * NOT COVERED — deliberately: the asterisk colour and the error panel are CSS\r\n * variables, which jsdom does not resolve. Those belong to the story.\r\n */\r\n\r\nconst OPTIONS_TEXTE = [\r\n { value: \"true\", label: \"Oui\" },\r\n { value: \"false\", label: \"Non\" },\r\n];\r\n\r\nconst OPTIONS_NOMBRE = [\r\n { value: 1, label: \"Importation\" },\r\n { value: 2, label: \"Exportation\" },\r\n];\r\n\r\nfunction Hote({\r\n initialValue,\r\n options = OPTIONS_TEXTE,\r\n required,\r\n hint,\r\n onValues,\r\n}: {\r\n initialValue: unknown;\r\n options?: { value: string | number; label: string }[];\r\n required?: boolean;\r\n hint?: string;\r\n onValues?: (valeur: unknown) => void;\r\n}) {\r\n return (\r\n <Formik\r\n initialValues={{ reponse: initialValue }}\r\n validate={(values) =>\r\n required &&\r\n (values.reponse === null ||\r\n values.reponse === undefined ||\r\n values.reponse === \"\")\r\n ? { reponse: \"Choisissez une réponse.\" }\r\n : {}\r\n }\r\n onSubmit={() => undefined}\r\n >\r\n {({ values }) => {\r\n onValues?.(values.reponse);\r\n return (\r\n <Form>\r\n <FormikRadioGroup\r\n name=\"reponse\"\r\n label=\"Modèle déjà approuvé\"\r\n options={options}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(hint !== undefined ? { hint } : {})}\r\n />\r\n </Form>\r\n );\r\n }}\r\n </Formik>\r\n );\r\n}\r\n\r\ndescribe(\"FormikRadioGroup — the stored value keeps its declared type\", () => {\r\n test(\"numeric options stay NUMBERS, not the DOM's strings\", async () => {\r\n const vues: unknown[] = [];\r\n render(\r\n <Hote\r\n initialValue={null}\r\n options={OPTIONS_NOMBRE}\r\n onValues={(v) => vues.push(v)}\r\n />\r\n );\r\n\r\n await userEvent.click(screen.getByRole(\"radio\", { name: \"Exportation\" }));\r\n\r\n expect(vues.at(-1)).toBe(2);\r\n expect(typeof vues.at(-1)).toBe(\"number\");\r\n });\r\n\r\n test(\"string options stay strings — « false » is a value, not a boolean\", async () => {\r\n /* refonte-frontend's case: the payload carries \"true\" / \"false\" as text.\r\n * Coercing to a boolean here would change what the backend receives. */\r\n const vues: unknown[] = [];\r\n render(<Hote initialValue={null} onValues={(v) => vues.push(v)} />);\r\n\r\n await userEvent.click(screen.getByRole(\"radio\", { name: \"Non\" }));\r\n\r\n expect(vues.at(-1)).toBe(\"false\");\r\n expect(typeof vues.at(-1)).toBe(\"string\");\r\n });\r\n});\r\n\r\ndescribe(\"FormikRadioGroup — the selection matches across types\", () => {\r\n test(\"a boolean `false` in state selects the option declared « false »\", () => {\r\n /* Hosts seed with booleans while declaring string options. A strict\r\n * comparison would render the group empty on a form that already holds an\r\n * answer. */\r\n render(<Hote initialValue={false} />);\r\n\r\n expect(screen.getByRole(\"radio\", { name: \"Non\" })).toBeChecked();\r\n expect(screen.getByRole(\"radio\", { name: \"Oui\" })).not.toBeChecked();\r\n });\r\n\r\n test(\"a number in state selects its numeric option\", () => {\r\n render(<Hote initialValue={1} options={OPTIONS_NOMBRE} />);\r\n\r\n expect(screen.getByRole(\"radio\", { name: \"Importation\" })).toBeChecked();\r\n });\r\n\r\n test(\"`null` selects nothing, and does not warn about an uncontrolled group\", () => {\r\n const avertissements: unknown[][] = [];\r\n const spy = jest\r\n .spyOn(console, \"error\")\r\n .mockImplementation((...args: unknown[]) => {\r\n avertissements.push(args);\r\n });\r\n\r\n render(<Hote initialValue={null} />);\r\n\r\n expect(screen.getByRole(\"radio\", { name: \"Oui\" })).not.toBeChecked();\r\n expect(screen.getByRole(\"radio\", { name: \"Non\" })).not.toBeChecked();\r\n expect(\r\n avertissements.some((a) => String(a[0]).includes(\"uncontrolled\"))\r\n ).toBe(false);\r\n\r\n spy.mockRestore();\r\n });\r\n\r\n test(\"displaying does not rewrite the stored value\", async () => {\r\n /* The string comparison is for MATCHING only. A form opened and closed\r\n * without an answer must still send exactly what it was seeded with. */\r\n const vues: unknown[] = [];\r\n render(<Hote initialValue={false} onValues={(v) => vues.push(v)} />);\r\n\r\n expect(screen.getByRole(\"radio\", { name: \"Non\" })).toBeChecked();\r\n expect(vues.every((v) => v === false)).toBe(true);\r\n });\r\n});\r\n\r\ndescribe(\"FormikRadioGroup — the error is reachable without a blur\", () => {\r\n test(\"picking marks the field touched, so the message appears\", async () => {\r\n /* A validator that ALWAYS rejects : the message can then only be hidden by\r\n * the field being untouched. Before the click it must be absent, after it\r\n * present — that is the whole contract. */\r\n render(\r\n <Formik\r\n initialValues={{ reponse: null }}\r\n validate={() => ({ reponse: \"Choisissez une réponse.\" })}\r\n onSubmit={() => undefined}\r\n >\r\n <Form>\r\n <FormikRadioGroup\r\n name=\"reponse\"\r\n label=\"Modèle déjà approuvé\"\r\n options={OPTIONS_TEXTE}\r\n required\r\n />\r\n </Form>\r\n </Formik>\r\n );\r\n\r\n expect(screen.queryByRole(\"alert\")).not.toBeInTheDocument();\r\n\r\n await userEvent.click(screen.getByRole(\"radio\", { name: \"Oui\" }));\r\n\r\n expect(screen.getByRole(\"alert\")).toHaveTextContent(\r\n \"Choisissez une réponse.\"\r\n );\r\n });\r\n\r\n test(\"the message becomes the group's accessible description\", () => {\r\n render(\r\n <Formik\r\n initialValues={{ reponse: \"\" }}\r\n initialTouched={{ reponse: true }}\r\n initialErrors={{ reponse: \"Choisissez une réponse.\" }}\r\n onSubmit={() => undefined}\r\n >\r\n <Form>\r\n <FormikRadioGroup\r\n name=\"reponse\"\r\n label=\"Modèle déjà approuvé\"\r\n options={OPTIONS_TEXTE}\r\n required\r\n />\r\n </Form>\r\n </Formik>\r\n );\r\n\r\n expect(screen.getByRole(\"radiogroup\")).toHaveAccessibleDescription(\r\n \"Choisissez une réponse.\"\r\n );\r\n });\r\n\r\n test(\"the hint shows while valid and is suppressed by the error\", () => {\r\n const { unmount } = render(\r\n <Hote initialValue={null} hint=\"Une seule réponse possible\" />\r\n );\r\n expect(screen.getByText(\"Une seule réponse possible\")).toBeInTheDocument();\r\n unmount();\r\n\r\n render(\r\n <Formik\r\n initialValues={{ reponse: \"\" }}\r\n initialTouched={{ reponse: true }}\r\n initialErrors={{ reponse: \"Choisissez une réponse.\" }}\r\n onSubmit={() => undefined}\r\n >\r\n <Form>\r\n <FormikRadioGroup\r\n name=\"reponse\"\r\n label=\"Modèle déjà approuvé\"\r\n options={OPTIONS_TEXTE}\r\n hint=\"Une seule réponse possible\"\r\n />\r\n </Form>\r\n </Formik>\r\n );\r\n expect(\r\n screen.queryByText(\"Une seule réponse possible\")\r\n ).not.toBeInTheDocument();\r\n });\r\n});\r\n\r\ndescribe(\"FormikRadioGroup — ARIA and DOM hygiene\", () => {\r\n test(\"the group is named by the field label\", () => {\r\n render(<Hote initialValue={null} />);\r\n expect(\r\n screen.getByRole(\"radiogroup\", { name: /Modèle déjà approuvé/ })\r\n ).toBeInTheDocument();\r\n });\r\n\r\n test(\"`required` reaches the group as aria-required\", () => {\r\n /* Unlike the single-checkbox case, aria-required IS valid on\r\n * role=\"radiogroup\" and RadioGroup forwards Field's injection. */\r\n render(<Hote initialValue={null} required />);\r\n expect(screen.getByRole(\"radiogroup\")).toHaveAttribute(\r\n \"aria-required\",\r\n \"true\"\r\n );\r\n });\r\n\r\n test(\"no `error` or `fullWidth` attribute leaks onto the group\", () => {\r\n render(\r\n <Formik\r\n initialValues={{ reponse: \"\" }}\r\n initialTouched={{ reponse: true }}\r\n initialErrors={{ reponse: \"Choisissez une réponse.\" }}\r\n onSubmit={() => undefined}\r\n >\r\n <Form>\r\n <FormikRadioGroup\r\n name=\"reponse\"\r\n label=\"Modèle déjà approuvé\"\r\n options={OPTIONS_TEXTE}\r\n />\r\n </Form>\r\n </Formik>\r\n );\r\n\r\n const groupe = screen.getByRole(\"radiogroup\");\r\n expect(groupe).not.toHaveAttribute(\"error\");\r\n expect(groupe).not.toHaveAttribute(\"fullWidth\");\r\n });\r\n});\r\n"],"mappings":"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","ignoreList":[]}
|