@portnet/ui 6.0.2 → 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 +652 -0
- package/dist/esm/index.js +72 -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 -38
- 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 +11 -11
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
- 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 +118 -199
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
- 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 -21
- 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 +81 -86
- 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 +155 -59
- 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 +37 -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 +2 -3
- 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 +15 -17
- 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 +29 -39
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
- 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 -69
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
- 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 -53
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
- 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 -87
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
- 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 +27 -22
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
- 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 +6 -8
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
- 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 +152 -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 +28 -34
- package/dist/esm/v2/personalization/capabilities/gridPreferences.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 +17 -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 +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +110 -49
- 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 +82 -49
- 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 +23 -25
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
- package/dist/v2/__tests__/FileCard.test.js +29 -28
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
- 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 +123 -204
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
- package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
- 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 +23 -27
- 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.js +84 -91
- 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 +62 -4
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +169 -70
- 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 +40 -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.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.js +22 -23
- 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.js +36 -45
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
- 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.js +55 -72
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +50 -64
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
- 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.js +45 -58
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.js +45 -56
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
- 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.js +70 -92
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -51
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
- 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 +6 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
- 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.js +9 -10
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
- 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 +160 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +157 -79
- 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.js +31 -36
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +12 -12
- 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 +16 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +30 -23
- 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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGrid.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_Checkbox","_DragIndicator","_useMediaQuery","_styles","_Skeleton","_SortableHeader","_useDelayedFlag","_dataGridShared","_useColumnResize","_useColumnReorder","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_createForOfIteratorHelper","o","allowArrayLike","it","Array","isArray","_unsupportedIterableToArray","length","i","F","s","n","done","value","e","_e","f","TypeError","normalCompletion","didErr","err","step","next","_e2","minLen","_arrayLikeToArray","toString","slice","name","from","test","arr","len","arr2","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","useAriaLabelWarn","ariaLabel","labelsTableAria","useEffect","process","env","hasAriaLabel","trim","hasLabelsAria","console","warn","ROW_ACTIONS_CELL_SX","freeze","position","right","zIndex","width","minWidth","maxWidth","padding","background","borderBottom","overflow","ROW_ACTIONS_HEAD_CELL_SX","top","VISUALLY_HIDDEN_SX","height","margin","clip","whiteSpace","borderWidth","ROW_ACTIONS_OVERLAY_SX","transform","display","alignItems","justifyContent","gap","opacity","pointerEvents","transition","borderRadius","boxShadow","FILLER_CELL_SX","FILLER_HEAD_CELL_SX","REORDER_GRIP_SX","insetInlineStart","border","color","cursor","fontFamily","outline","outlineOffset","CARD_STACK_SX","flexDirection","CARD_BASE_SX","minHeight","CARD_CLICKABLE_SX","borderColor","CARD_SKELETON_SX","animation","CARD_EMPTY_WRAPPER_SX","UNSIZED_COL_MIN_DEFAULT","COL_MINWIDTH_CAP","widthToNumber","w","isFinite","parsed","parseFloat","isNaN","readCellValue","row","defaultGetRowId","id","DataGrid","_ref","_ref$rows","rows","_ref$columns","columns","rawColumns","_ref$loading","loading","_ref$error","error","_ref$sort","sort","onSortChange","selection","onSelectionChange","pagination","emptyState","filteredEmptyState","errorState","_ref$getRowId","getRowId","onRowClick","rowFlashId","activeRowId","rowActions","hiddenColumns","_ref$filtered","filtered","_ref$density","density","_ref$locale","locale","labels","_ref$maxBodyHeight","maxBodyHeight","DEFAULT_MAX_BODY_HEIGHT","_ref$resizable","resizable","columnWidths","onColumnWidthsChange","_ref$reorderable","reorderable","columnOrder","onColumnOrderChange","renderMobileCard","_ref$mobileBreakpoint","mobileBreakpoint","tableAria","L","useMemo","mergeLabels","showSkeleton","useDelayedFlag","useColumnsStabilityWarn","theme","useTheme","isBelowBreakpoint","useMediaQuery","breakpoints","down","useCardView","orderedColumns","applyColumnOrder","hiddenSet","Set","c","resize","useColumnResize","reorder","useColumnReorder","resizeIsActive","isResizing","pendingReorderFocusRef","useRef","current","document","escaped","window","CSS","escape","el","querySelector","concat","HTMLElement","focus","showCheckbox","hasRowActions","colCount","sortable","col","selectedSet","allSelected","every","r","someSelected","some","toggleAll","map","toggleRow","add","handleRowKeyDown","preventDefault","scrollContainerSx","maxHeight","tableMinWidth","sum","_iterator","_step","contribution","Math","min","tableSx","TABLE_BY_DENSITY","comfortable","tableLayout","columnCellSx","byKey","Map","_iterator2","_step2","_ref2","effectiveWidth","liveWidths","fontSize","wrap","textOverflow","mono","numeric","fontVariantNumeric","overflowWrap","wordBreak","hoverOnly","HOVER_ONLY_CELL_SX","renderCardBody","renderCard","jsx","role","sx","children","_","isSelected","isActive","flash","clickable","ctx","tabIndex","className","onClick","onKeyDown","body","SkeletonRow","cols","withCheckbox","withActions","colSpan","ERROR_CELL_SX","ERROR_INNER_SX","jsxs","hover","ROW_CLICKABLE_SX","ROW_STATIC_SX","BODY_CHECKBOX_CELL_SX","size","checked","onChange","stopPropagation","slotProps","selectRow","_ref3","getValue","align","render","CONTAINER_SX","stickyHeader","HEADER_CHECKBOX_CELL_SX","indeterminate","selectAll","_ref4","isSortable","isResizable","isReorderable","ariaSort","getAriaSort","reorderHandlers","cellHandlers","reorderFeedbackSx","cellSx","sortKey","setSort","header","component","type","handleKeyDown","round","draggable","onMouseDown","handleMouseDown","insetInlineEnd","userSelect","touchAction","scope","actionsHeader","Pagination","_default","exports"],"sources":["../../../src/lib/v2/patterns/DataGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport DragIndicatorIcon from \"@mui/icons-material/DragIndicator\";\r\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\r\nimport { useTheme } from \"@mui/material/styles\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\nimport { SkeletonRow } from \"../components/Skeleton\";\r\nimport SortableHeader, { applySort, getAriaSort } from \"./SortableHeader\";\r\nimport useDelayedFlag from \"../hooks/useDelayedFlag\";\r\nimport {\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n mergeLabels,\r\n useColumnsStabilityWarn,\r\n applyColumnOrder,\r\n CONTAINER_SX,\r\n TABLE_BY_DENSITY,\r\n ROW_CLICKABLE_SX,\r\n ROW_STATIC_SX,\r\n HEADER_CHECKBOX_CELL_SX,\r\n BODY_CHECKBOX_CELL_SX,\r\n HOVER_ONLY_CELL_SX,\r\n ERROR_CELL_SX,\r\n ERROR_INNER_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport useColumnResize from \"./_useColumnResize\";\r\nimport useColumnReorder from \"./_useColumnReorder\";\r\nimport type {\r\n DataGridProps,\r\n DataGridColumn,\r\n DataGridMobileCardContext,\r\n} from \"../types/datagrid\";\r\nimport type { RowId } from \"../types/common\";\r\n\r\n/**\r\n * DataGrid - Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · Component \"DataGrid · Table\". Refactor of legacy PuiTable.\r\n *\r\n * Column sizing (R2, canonical):\r\n * - tableLayout: \"auto\" — columns grow proportionally from preferred widths.\r\n * - Table carries computed `min-width` = Σ (clamped) explicit widths\r\n * + (UNSIZED_COL_MIN_DEFAULT × unsized cols) + checkbox if any.\r\n * Each column's contribution is clamped to COL_MINWIDTH_CAP so a wide\r\n * preferred width can't force the whole table to overflow its container.\r\n * - When container >= min-width → table fills to 100%, columns expand\r\n * proportionally toward their preferred widths, no empty trailing strip.\r\n * - When container < min-width → horizontal scroll on the container.\r\n *\r\n * Row actions (R2 robust):\r\n * - The actions cell is rendered at width:0 — it contributes nothing\r\n * to the column-width distribution. The actions themselves render\r\n * as an ABSOLUTELY positioned overlay anchored to the row's right\r\n * edge, invisible by default and revealed on hover / focus-within /\r\n * coarse pointer. On hover, the overlay carries a background that\r\n * masks the data column(s) it covers.\r\n * - The actions column header carries a visually-hidden accessible\r\n * name from labels.actionsHeader (default \"Actions\").\r\n *\r\n * Mobile card view (R1 mobile, opt-in):\r\n * - When `renderMobileCard` is provided AND viewport is below\r\n * `mobileBreakpoint` (default \"sm\"), DataGrid swaps the <Table> for\r\n * a vertical stack of cards. Host owns the card layout.\r\n *\r\n * Accessible name (WCAG 1.3.1 / 4.1.2):\r\n * - Resolution chain: ariaLabel prop → labels.tableAria → mergeLabels()\r\n * default. When both explicit sources are missing, useAriaLabelWarn\r\n * fires a dev console.warn.\r\n */\r\n\r\n/**\r\n * Dev-only hook — warn once on mount when neither `ariaLabel` nor\r\n * `labels.tableAria` carries a contextual name for the table. Fires only\r\n * in non-production builds; the inline check is dead-code-eliminated by\r\n * minifiers when NODE_ENV is set to production at build time. Empty\r\n * strings are treated as \"not provided\". Charter R-DG + WCAG 2.2 AA.\r\n */\r\nfunction useAriaLabelWarn(\r\n ariaLabel: string | undefined,\r\n labelsTableAria: string | undefined\r\n): void {\r\n React.useEffect(() => {\r\n if (process.env[\"NODE_ENV\"] === \"production\") return;\r\n\r\n const hasAriaLabel =\r\n typeof ariaLabel === \"string\" && ariaLabel.trim().length > 0;\r\n const hasLabelsAria =\r\n typeof labelsTableAria === \"string\" && labelsTableAria.trim().length > 0;\r\n\r\n if (hasAriaLabel || hasLabelsAria) return;\r\n\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[v2.DataGrid] No explicit `ariaLabel` prop or `labels.tableAria` — \" +\r\n \"falling back to the lib default. WCAG 1.3.1 + Charter R-DG require \" +\r\n \"a contextual table name. Pass `ariaLabel` describing the data \" +\r\n \"(e.g. 'Marchandises du titre', 'Liste des titres d\\\\'importation') \" +\r\n \"or set `labels.tableAria` if the same name is reused module-wide.\"\r\n );\r\n // fire once on mount — re-renders shouldn't re-warn even if the caller\r\n // changes ariaLabel/labels.tableAria later; a first-paint miss is the\r\n // signal we care about, not every subsequent render.\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n}\r\n\r\n/* R2 — Actions cell is a 0-width anchor for the absolute overlay.\r\n * position:sticky right:0 glues the overlay's positioned ancestor to the\r\n * visible right edge during horizontal scroll and provides a focus\r\n * container. The strict 0 width makes the cell contribute nothing to\r\n * layout; overflow:visible lets the absolute overlay render outside it. */\r\nconst ROW_ACTIONS_CELL_SX = Object.freeze({\r\n position: \"sticky\",\r\n right: 0,\r\n zIndex: 1,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n padding: 0,\r\n background: \"transparent\",\r\n borderBottom: \"1px solid var(--border)\",\r\n overflow: \"visible\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ROW_ACTIONS_HEAD_CELL_SX = Object.freeze({\r\n position: \"sticky\",\r\n right: 0,\r\n top: 0,\r\n zIndex: 3,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n padding: 0,\r\n background: \"var(--bg-subtle)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* a11y — Standard sr-only / visually-hidden recipe. Gives the\r\n * auto-generated actions column header an accessible name without adding\r\n * visible text. clip-rect keeps it painted into the a11y tree while\r\n * removing it from visual layout. */\r\nconst VISUALLY_HIDDEN_SX = Object.freeze({\r\n position: \"absolute\",\r\n width: \"1px\",\r\n height: \"1px\",\r\n padding: 0,\r\n margin: \"-1px\",\r\n overflow: \"hidden\",\r\n clip: \"rect(0, 0, 0, 0)\",\r\n whiteSpace: \"nowrap\",\r\n borderWidth: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\n/* R2 — Overlay floats over the row's right edge. Invisible by default,\r\n * visible on hover / focus-within / coarse pointer. The parent\r\n * ROW_ACTIONS_CELL_SX (position:sticky) is the containing block. */\r\nconst ROW_ACTIONS_OVERLAY_SX = Object.freeze({\r\n position: \"absolute\",\r\n right: \"var(--s-3)\",\r\n top: \"50%\",\r\n transform: \"translateY(-50%)\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n gap: \"var(--s-1)\",\r\n whiteSpace: \"nowrap\",\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n // Visible \"pill\" that masks the data column(s) underneath when revealed\r\n background: \"var(--bg-hover)\",\r\n padding: \"var(--s-1) var(--s-2)\",\r\n borderRadius: \"var(--r-md)\",\r\n boxShadow: \"var(--shadow-sm)\",\r\n \"tr:hover &, tr:focus-within &\": {\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n \"@media (pointer: coarse)\": {\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\n/* R2 — Filler cells stay at width:0 so they don't take any proportional\r\n * residual under tableLayout:auto. (Local width:0 variants — distinct\r\n * from _dataGridShared's exports, which are not imported here.) */\r\nconst FILLER_CELL_SX = Object.freeze({\r\n padding: 0,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n borderBottom: \"1px solid var(--border)\",\r\n});\r\n\r\nconst FILLER_HEAD_CELL_SX = Object.freeze({\r\n padding: 0,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n background: \"var(--bg-subtle)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* DG-R1 — reorder grip button. Hidden (opacity 0) until the header is hovered /\r\n * focus-within, and always revealed while itself focus-visible so it stays\r\n * Tab-reachable. Absolutely positioned in the header cell's inline-start\r\n * padding; background matches the header so it masks the sliver it overlaps. */\r\nconst REORDER_GRIP_SX = Object.freeze({\r\n position: \"absolute\",\r\n insetInlineStart: 2,\r\n top: \"50%\",\r\n transform: \"translateY(-50%)\",\r\n zIndex: 2,\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: 18,\r\n height: 18,\r\n padding: 0,\r\n border: \"none\",\r\n borderRadius: \"var(--r-sm)\",\r\n background: \"var(--bg-subtle)\",\r\n color: \"var(--fg-subtle)\",\r\n cursor: \"grab\",\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n fontFamily: \"inherit\",\r\n \"th:hover &, th:focus-within &\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"@media (pointer: coarse)\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\n/* ── Mobile card view SX (R1 mobile) ─────────────────────────────── */\r\n\r\nconst CARD_STACK_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n padding: \"var(--s-3)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CARD_BASE_SX = Object.freeze({\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-md)\",\r\n boxShadow: \"var(--shadow-xs)\",\r\n transition: \"background 60ms ease, border-color 60ms ease\",\r\n minHeight: 44,\r\n});\r\n\r\nconst CARD_CLICKABLE_SX = Object.freeze({\r\n ...CARD_BASE_SX,\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n background: \"var(--bg-hover)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n // --pui-outline-offset (2px in base.css :root) — aligns this focus\r\n // ring with the rest of the v2 surface.\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n \"&[data-active]\": {\r\n background: \"var(--accent-soft)\",\r\n borderColor: \"var(--accent)\",\r\n },\r\n \"&[data-selected]\": {\r\n background: \"var(--accent-soft)\",\r\n borderColor: \"var(--accent)\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CARD_SKELETON_SX = Object.freeze({\r\n height: 90,\r\n background: \"var(--bg-subtle)\",\r\n borderRadius: \"var(--r-md)\",\r\n animation: \"pui-skeleton-shimmer 1.4s ease-in-out infinite\",\r\n \"@media (prefers-reduced-motion: reduce)\": {\r\n animation: \"none\",\r\n },\r\n});\r\n\r\nconst CARD_EMPTY_WRAPPER_SX = Object.freeze({\r\n padding: \"var(--s-6) var(--s-4)\",\r\n});\r\n\r\n/* R2 — Default min-width contribution for a column without an explicit\r\n * `width`. 120 px is a sensible floor for a typical data cell. */\r\nconst UNSIZED_COL_MIN_DEFAULT = 120;\r\n\r\n/* R2 — Upper bound on how much ANY single column may contribute to the\r\n * table's hard min-width. A column may DECLARE a large preferred width and\r\n * tableLayout:auto grows it toward that when the container has room, but\r\n * its preferred width must not drag the table's min-width past this cap\r\n * (below which horizontal scroll kicks in). */\r\nconst COL_MINWIDTH_CAP = 220;\r\n\r\nfunction widthToNumber(w: number | string | undefined): number {\r\n if (typeof w === \"number\" && Number.isFinite(w)) return w;\r\n if (typeof w === \"string\") {\r\n const parsed = parseFloat(w);\r\n if (!Number.isNaN(parsed)) return parsed;\r\n }\r\n return 0;\r\n}\r\n\r\n/* Default value accessor (`row[key]`) for an unconstrained row type. Typed\r\n * against `unknown` so the single unknown->record assertion is legal\r\n * without a double cast; noUncheckedIndexedAccess makes the result\r\n * `unknown`, which the caller narrows / asserts at the render site. */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`). Typed against `unknown` so the single\r\n * assertion is legal; `(unknown) => RowId` is assignable to the declared\r\n * `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction DataGrid<T>({\r\n rows = [],\r\n columns: rawColumns = [],\r\n loading = false,\r\n error = null,\r\n sort = [],\r\n onSortChange,\r\n selection,\r\n onSelectionChange,\r\n pagination,\r\n emptyState,\r\n filteredEmptyState,\r\n errorState,\r\n getRowId = defaultGetRowId,\r\n onRowClick,\r\n rowFlashId,\r\n activeRowId,\r\n rowActions,\r\n hiddenColumns,\r\n filtered = false,\r\n density = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n resizable = false,\r\n columnWidths,\r\n onColumnWidthsChange,\r\n reorderable = false,\r\n columnOrder,\r\n onColumnOrderChange,\r\n renderMobileCard,\r\n mobileBreakpoint = \"sm\",\r\n}: DataGridProps<T>) {\r\n // WCAG 1.3.1 / 4.1.2 — dev guard: warn once on mount when no contextual\r\n // table name has been provided by the caller.\r\n useAriaLabelWarn(ariaLabel, labels?.tableAria);\r\n\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n\r\n const showSkeleton = useDelayedFlag(loading);\r\n\r\n useColumnsStabilityWarn(rawColumns);\r\n\r\n // R1 mobile — detect xs viewport. Switch to card view only when the host\r\n // opted in by passing renderMobileCard.\r\n const theme = useTheme();\r\n const isBelowBreakpoint = useMediaQuery(\r\n theme.breakpoints.down(mobileBreakpoint)\r\n );\r\n const useCardView =\r\n isBelowBreakpoint && typeof renderMobileCard === \"function\";\r\n\r\n const orderedColumns = React.useMemo(\r\n () => applyColumnOrder(rawColumns, columnOrder),\r\n [rawColumns, columnOrder]\r\n );\r\n\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n const columns = React.useMemo(\r\n () => orderedColumns.filter((c) => !hiddenSet.has(c.key)),\r\n [orderedColumns, hiddenSet]\r\n );\r\n\r\n const resize = useColumnResize(columnWidths, onColumnWidthsChange);\r\n const reorder = useColumnReorder(columns, columnOrder, onColumnOrderChange, {\r\n resizeIsActive: resize.isResizing,\r\n });\r\n\r\n // DG-R1 — after a keyboard reorder the moved column's grip is re-rendered at\r\n // a new position and the browser drops focus; re-focus it so repeated Arrow\r\n // presses keep moving the same column. Keyed on the host-controlled order.\r\n const pendingReorderFocusRef = React.useRef<string | null>(null);\r\n React.useEffect(() => {\r\n const key = pendingReorderFocusRef.current;\r\n if (!key || typeof document === \"undefined\") return;\r\n pendingReorderFocusRef.current = null;\r\n const escaped =\r\n typeof window !== \"undefined\" &&\r\n window.CSS &&\r\n typeof window.CSS.escape === \"function\"\r\n ? window.CSS.escape(key)\r\n : key;\r\n const el = document.querySelector(`[data-reorder-grip=\"${escaped}\"]`);\r\n if (el instanceof HTMLElement) el.focus();\r\n }, [columnOrder]);\r\n\r\n const showCheckbox = !!onSelectionChange;\r\n const hasRowActions = typeof rowActions === \"function\";\r\n const colCount =\r\n columns.length + (showCheckbox ? 1 : 0) + 1 + (hasRowActions ? 1 : 0);\r\n\r\n const sortable = (col: DataGridColumn<T>): boolean =>\r\n col.sortable !== false && !!col.key && !!onSortChange;\r\n\r\n const selectedSet = React.useMemo(\r\n () => (selection instanceof Set ? selection : new Set(selection || [])),\r\n [selection]\r\n );\r\n const allSelected =\r\n rows.length > 0 && rows.every((r) => selectedSet.has(getRowId(r)));\r\n const someSelected =\r\n !allSelected && rows.some((r) => selectedSet.has(getRowId(r)));\r\n\r\n const toggleAll = () => {\r\n if (!onSelectionChange) return;\r\n if (allSelected) onSelectionChange(new Set<RowId>());\r\n else onSelectionChange(new Set(rows.map(getRowId)));\r\n };\r\n const toggleRow = (id: RowId) => {\r\n if (!onSelectionChange) return;\r\n const next = new Set(selectedSet);\r\n if (next.has(id)) next.delete(id);\r\n else next.add(id);\r\n onSelectionChange(next);\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) => (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!onRowClick) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onRowClick(row);\r\n }\r\n };\r\n\r\n const scrollContainerSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n overflow: \"auto\",\r\n maxHeight: maxBodyHeight,\r\n width: \"100%\",\r\n }),\r\n [maxBodyHeight]\r\n );\r\n\r\n /* R2 — Computed table min-width. Each column's contribution is clamped\r\n * to COL_MINWIDTH_CAP; unsized columns contribute UNSIZED_COL_MIN_DEFAULT;\r\n * the checkbox column adds ~48px. The rowActions cell contributes 0. */\r\n const tableMinWidth = React.useMemo(() => {\r\n let sum = 0;\r\n for (const col of columns) {\r\n const w = widthToNumber(col.width);\r\n const contribution =\r\n w > 0 ? Math.min(w, COL_MINWIDTH_CAP) : UNSIZED_COL_MIN_DEFAULT;\r\n sum += contribution;\r\n }\r\n if (showCheckbox) sum += 48;\r\n return sum;\r\n }, [columns, showCheckbox]);\r\n\r\n // R2 — tableLayout:\"auto\" + computed minWidth. (SxProps-typed so the\r\n // tableLayout literal stays typed; the density base is narrowed to a\r\n // SystemStyleObject at the spread to avoid the fn/array arms of SxProps.)\r\n const tableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...((TABLE_BY_DENSITY[density] ||\r\n TABLE_BY_DENSITY.comfortable) as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n minWidth: tableMinWidth,\r\n tableLayout: \"auto\",\r\n }),\r\n [density, tableMinWidth]\r\n );\r\n\r\n /* DG-1 (perf) — the desktop body renders EVERY row (no virtualization), so\r\n * building the cell sx inline per row × per column allocated N×M fresh style\r\n * objects each render and forced Emotion to re-serialise them. The cell sx is\r\n * a pure function of the column (wrap / mono / numeric / maxWidth / hoverOnly)\r\n * and the column's effective width — never of the row — so compute it once per\r\n * column and reuse the reference across all rows. Keyed on columns + live\r\n * widths (the latter only changes during an active resize drag).\r\n * --text-body (14px) is the explicit inheritance that replaced a dangling\r\n * `var(--text-fs)` token typo (no fallback). */\r\n const columnCellSx = React.useMemo(() => {\r\n const byKey = new Map<string, SxProps<Theme>>();\r\n for (const col of columns) {\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ?? col.width;\r\n byKey.set(col.key, {\r\n fontSize: \"var(--text-body)\",\r\n whiteSpace: col.wrap ? \"normal\" : \"nowrap\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono\r\n ? { fontVariantNumeric: \"tabular-nums\" }\r\n : {}),\r\n ...(effectiveWidth != null ? { width: effectiveWidth } : {}),\r\n // When a column wraps, allow long unbroken tokens to break.\r\n ...(col.wrap\r\n ? ({\r\n overflowWrap: \"anywhere\",\r\n wordBreak: \"break-word\",\r\n } satisfies SxProps<Theme>)\r\n : {}),\r\n ...(col.maxWidth != null ? { maxWidth: col.maxWidth } : {}),\r\n ...(col.hoverOnly ? HOVER_ONLY_CELL_SX : {}),\r\n });\r\n }\r\n return byKey;\r\n }, [columns, resize.liveWidths]);\r\n\r\n /* ── Mobile card view body (R1 mobile) ─────────────────────────\r\n * Built only when useCardView is true. `renderCard` is the narrowed,\r\n * guaranteed-present renderer passed in from the return site. */\r\n const renderCardBody = (\r\n renderCard: (row: T, ctx: DataGridMobileCardContext) => React.ReactNode\r\n ): React.ReactNode => {\r\n if (showSkeleton) {\r\n return (\r\n <Box role=\"list\" aria-busy=\"true\" aria-label={tableAria} sx={CARD_STACK_SX}>\r\n {Array.from({ length: 6 }, (_, i) => (\r\n <Box key={`sk-${i}`} aria-hidden=\"true\" sx={CARD_SKELETON_SX} />\r\n ))}\r\n </Box>\r\n );\r\n }\r\n\r\n if (error) {\r\n return <Box sx={CARD_EMPTY_WRAPPER_SX}>{errorState}</Box>;\r\n }\r\n\r\n if (rows.length === 0) {\r\n return (\r\n <Box sx={CARD_EMPTY_WRAPPER_SX}>\r\n {filtered ? filteredEmptyState : emptyState}\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box\r\n role=\"list\"\r\n aria-label={tableAria}\r\n aria-busy={loading || undefined}\r\n sx={CARD_STACK_SX}\r\n >\r\n {rows.map((row) => {\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const isActive =\r\n activeRowId !== undefined &&\r\n activeRowId !== null &&\r\n id === activeRowId;\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n const ctx: DataGridMobileCardContext = { isActive, isSelected };\r\n return (\r\n <Box\r\n key={id}\r\n role={clickable ? \"button\" : \"listitem\"}\r\n tabIndex={clickable ? 0 : undefined}\r\n data-selected={isSelected || undefined}\r\n data-active={isActive || undefined}\r\n className={flash ? \"pui-row-updated\" : undefined}\r\n onClick={clickable ? () => onRowClick?.(row) : undefined}\r\n onKeyDown={clickable ? handleRowKeyDown(row) : undefined}\r\n sx={clickable ? CARD_CLICKABLE_SX : CARD_BASE_SX}\r\n >\r\n {renderCard(row, ctx)}\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n );\r\n };\r\n\r\n /* ── Table body (desktop / no card opt-in) ─────────────────── */\r\n let body: React.ReactNode;\r\n if (showSkeleton) {\r\n body = (\r\n <TableBody aria-busy=\"true\">\r\n {Array.from({ length: 6 }, (_, i) => (\r\n <SkeletonRow\r\n key={`sk-${i}`}\r\n cols={columns.length}\r\n withCheckbox={showCheckbox}\r\n withActions={hasRowActions}\r\n />\r\n ))}\r\n </TableBody>\r\n );\r\n } else if (error) {\r\n body = (\r\n <TableBody>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>{errorState}</Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else if (rows.length === 0) {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>\r\n {filtered ? filteredEmptyState : emptyState}\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n {rows.map((row) => {\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const isActive =\r\n activeRowId !== undefined &&\r\n activeRowId !== null &&\r\n id === activeRowId;\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n return (\r\n <TableRow\r\n key={id}\r\n hover\r\n data-selected={isSelected || undefined}\r\n data-active={isActive || undefined}\r\n className={flash ? \"pui-row-updated\" : undefined}\r\n onClick={clickable ? () => onRowClick?.(row) : undefined}\r\n onKeyDown={clickable ? handleRowKeyDown(row) : undefined}\r\n tabIndex={clickable ? 0 : undefined}\r\n sx={clickable ? ROW_CLICKABLE_SX : ROW_STATIC_SX}\r\n >\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={BODY_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={isSelected}\r\n onChange={(e) => {\r\n e.stopPropagation();\r\n toggleRow(id);\r\n }}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={(e) => e.stopPropagation()}\r\n slotProps={{ input: { \"aria-label\": L.selectRow(id) } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const value = col.getValue\r\n ? col.getValue(row)\r\n : readCellValue(row, col.key);\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n sx={columnCellSx.get(col.key)}\r\n >\r\n {col.render\r\n ? col.render(row)\r\n : (value as React.ReactNode) ?? \"—\"}\r\n </TableCell>\r\n );\r\n })}\r\n <TableCell sx={FILLER_CELL_SX} aria-hidden=\"true\" />\r\n {hasRowActions && rowActions && (\r\n <TableCell sx={ROW_ACTIONS_CELL_SX}>\r\n <Box sx={ROW_ACTIONS_OVERLAY_SX}>{rowActions(row)}</Box>\r\n </TableCell>\r\n )}\r\n </TableRow>\r\n );\r\n })}\r\n </TableBody>\r\n );\r\n }\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n {useCardView && renderMobileCard ? (\r\n renderCardBody(renderMobileCard)\r\n ) : (\r\n <Box sx={scrollContainerSx}>\r\n <Table\r\n aria-label={tableAria}\r\n size={density === \"compact\" ? \"small\" : \"medium\"}\r\n stickyHeader\r\n sx={tableSx}\r\n >\r\n <TableHead>\r\n <TableRow>\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={HEADER_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={allSelected}\r\n indeterminate={someSelected}\r\n onChange={toggleAll}\r\n slotProps={{ input: { \"aria-label\": L.selectAll } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const isSortable = sortable(col);\r\n const isResizable = resizable && col.resizable !== false;\r\n const isReorderable =\r\n reorderable && col.reorderable !== false;\r\n const ariaSort = isSortable\r\n ? getAriaSort(sort, col.key)\r\n : undefined;\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ??\r\n col.width;\r\n const reorderHandlers = isReorderable\r\n ? reorder.cellHandlers(col.key)\r\n : null;\r\n const reorderFeedbackSx = isReorderable\r\n ? reorder.cellSx(col.key)\r\n : undefined;\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n aria-sort={ariaSort}\r\n {...(reorderHandlers || {})}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(effectiveWidth != null\r\n ? { width: effectiveWidth }\r\n : {}),\r\n ...(reorderFeedbackSx\r\n ? (reorderFeedbackSx as SystemStyleObject<Theme>)\r\n : {}),\r\n }}\r\n >\r\n {isSortable && onSortChange ? (\r\n <SortableHeader\r\n sortKey={col.key}\r\n sort={sort}\r\n setSort={onSortChange}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n >\r\n {col.header}\r\n </SortableHeader>\r\n ) : (\r\n col.header\r\n )}\r\n\r\n {isReorderable && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n data-reorder-grip={col.key}\r\n aria-label=\"Réorganiser la colonne\"\r\n aria-keyshortcuts=\"ArrowLeft ArrowRight Home End\"\r\n onKeyDown={(e) => {\r\n if (\r\n e.key === \"ArrowLeft\" ||\r\n e.key === \"ArrowRight\" ||\r\n e.key === \"Home\" ||\r\n e.key === \"End\"\r\n ) {\r\n pendingReorderFocusRef.current = col.key;\r\n }\r\n reorder.handleKeyDown(col.key)(e);\r\n }}\r\n sx={REORDER_GRIP_SX}\r\n >\r\n <DragIndicatorIcon sx={{ fontSize: 14 }} />\r\n </Box>\r\n )}\r\n\r\n {isResizable && (\r\n <Box\r\n role=\"separator\"\r\n aria-orientation=\"vertical\"\r\n aria-label=\"Redimensionner la colonne\"\r\n tabIndex={0}\r\n aria-valuenow={\r\n typeof effectiveWidth === \"number\"\r\n ? Math.round(effectiveWidth)\r\n : undefined\r\n }\r\n aria-valuemin={resize.minWidth}\r\n draggable=\"false\"\r\n onMouseDown={resize.handleMouseDown(col.key)}\r\n onKeyDown={resize.handleKeyDown(col.key)}\r\n sx={{\r\n position: \"absolute\",\r\n top: 0,\r\n insetInlineEnd: 0,\r\n width: 8,\r\n height: \"100%\",\r\n cursor: \"col-resize\",\r\n userSelect: \"none\",\r\n touchAction: \"none\",\r\n zIndex: 2,\r\n \"&:hover\": {\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n \"&:active\": {\r\n background: \"var(--state-pressed-overlay)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n }}\r\n />\r\n )}\r\n </TableCell>\r\n );\r\n })}\r\n <TableCell sx={FILLER_HEAD_CELL_SX} aria-hidden=\"true\" />\r\n {hasRowActions && (\r\n /* WCAG 1.3.1 / axe-core `empty-table-header` — the\r\n visually-hidden span names the actions column in the\r\n a11y tree. Label from labels.actionsHeader. */\r\n <TableCell sx={ROW_ACTIONS_HEAD_CELL_SX} scope=\"col\">\r\n <Box component=\"span\" sx={VISUALLY_HIDDEN_SX}>\r\n {L.actionsHeader}\r\n </Box>\r\n </TableCell>\r\n )}\r\n </TableRow>\r\n </TableHead>\r\n {body}\r\n </Table>\r\n </Box>\r\n )}\r\n {pagination && (\r\n <Pagination\r\n {...pagination}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport { applySort };\r\nexport default DataGrid;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DataGrid.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_Checkbox","_DragIndicator","_useMediaQuery","_styles","_Skeleton","_SortableHeader","_useDelayedFlag","_dataGridShared","_useColumnResize","_useColumnReorder","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useAriaLabelWarn","ariaLabel","labelsTableAria","useEffect","process","env","hasAriaLabel","trim","length","hasLabelsAria","console","warn","ROW_ACTIONS_CELL_SX","freeze","position","right","zIndex","width","minWidth","maxWidth","padding","background","borderBottom","overflow","ROW_ACTIONS_HEAD_CELL_SX","top","VISUALLY_HIDDEN_SX","height","margin","clip","whiteSpace","borderWidth","ROW_ACTIONS_OVERLAY_SX","transform","display","alignItems","justifyContent","gap","opacity","pointerEvents","transition","borderRadius","boxShadow","FILLER_CELL_SX","FILLER_HEAD_CELL_SX","REORDER_GRIP_SX","insetInlineStart","border","color","cursor","fontFamily","outline","outlineOffset","CARD_STACK_SX","flexDirection","CARD_BASE_SX","minHeight","CARD_CLICKABLE_SX","borderColor","CARD_SKELETON_SX","animation","CARD_EMPTY_WRAPPER_SX","UNSIZED_COL_MIN_DEFAULT","COL_MINWIDTH_CAP","widthToNumber","w","Number","isFinite","parsed","parseFloat","isNaN","readCellValue","row","key","defaultGetRowId","id","DataGrid","rows","columns","rawColumns","loading","error","sort","onSortChange","selection","onSelectionChange","pagination","emptyState","filteredEmptyState","errorState","getRowId","onRowClick","rowFlashId","activeRowId","rowActions","hiddenColumns","filtered","density","locale","labels","maxBodyHeight","DEFAULT_MAX_BODY_HEIGHT","resizable","columnWidths","onColumnWidthsChange","reorderable","columnOrder","onColumnOrderChange","renderMobileCard","mobileBreakpoint","tableAria","L","useMemo","mergeLabels","showSkeleton","useDelayedFlag","useColumnsStabilityWarn","theme","useTheme","isBelowBreakpoint","useMediaQuery","breakpoints","down","useCardView","orderedColumns","applyColumnOrder","hiddenSet","Set","filter","c","resize","useColumnResize","reorder","useColumnReorder","resizeIsActive","isResizing","pendingReorderFocusRef","useRef","current","document","escaped","window","CSS","escape","el","querySelector","HTMLElement","focus","showCheckbox","hasRowActions","colCount","sortable","col","selectedSet","allSelected","every","someSelected","some","toggleAll","map","toggleRow","next","delete","add","handleRowKeyDown","preventDefault","scrollContainerSx","maxHeight","tableMinWidth","sum","contribution","Math","min","tableSx","TABLE_BY_DENSITY","comfortable","tableLayout","columnCellSx","byKey","Map","effectiveWidth","liveWidths","fontSize","wrap","textOverflow","mono","numeric","fontVariantNumeric","overflowWrap","wordBreak","hoverOnly","HOVER_ONLY_CELL_SX","renderCardBody","renderCard","jsx","role","sx","children","Array","from","_","undefined","isSelected","isActive","flash","clickable","ctx","tabIndex","className","onClick","onKeyDown","body","SkeletonRow","cols","withCheckbox","withActions","colSpan","ERROR_CELL_SX","ERROR_INNER_SX","jsxs","hover","ROW_CLICKABLE_SX","ROW_STATIC_SX","BODY_CHECKBOX_CELL_SX","size","checked","onChange","stopPropagation","slotProps","input","selectRow","value","getValue","align","render","CONTAINER_SX","stickyHeader","HEADER_CHECKBOX_CELL_SX","indeterminate","selectAll","isSortable","isResizable","isReorderable","ariaSort","getAriaSort","reorderHandlers","cellHandlers","reorderFeedbackSx","cellSx","sortKey","setSort","header","component","type","handleKeyDown","round","draggable","onMouseDown","handleMouseDown","insetInlineEnd","userSelect","touchAction","scope","actionsHeader","Pagination","_default","exports"],"sources":["../../../src/lib/v2/patterns/DataGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport DragIndicatorIcon from \"@mui/icons-material/DragIndicator\";\r\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\r\nimport { useTheme } from \"@mui/material/styles\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\nimport { SkeletonRow } from \"../components/Skeleton\";\r\nimport SortableHeader, { applySort, getAriaSort } from \"./SortableHeader\";\r\nimport useDelayedFlag from \"../hooks/useDelayedFlag\";\r\nimport {\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n mergeLabels,\r\n useColumnsStabilityWarn,\r\n applyColumnOrder,\r\n CONTAINER_SX,\r\n TABLE_BY_DENSITY,\r\n ROW_CLICKABLE_SX,\r\n ROW_STATIC_SX,\r\n HEADER_CHECKBOX_CELL_SX,\r\n BODY_CHECKBOX_CELL_SX,\r\n HOVER_ONLY_CELL_SX,\r\n ERROR_CELL_SX,\r\n ERROR_INNER_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport useColumnResize from \"./_useColumnResize\";\r\nimport useColumnReorder from \"./_useColumnReorder\";\r\nimport type {\r\n DataGridProps,\r\n DataGridColumn,\r\n DataGridMobileCardContext,\r\n} from \"../types/datagrid\";\r\nimport type { RowId } from \"../types/common\";\r\n\r\n/**\r\n * DataGrid - Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · Component \"DataGrid · Table\". Refactor of legacy PuiTable.\r\n *\r\n * Column sizing (R2, canonical):\r\n * - tableLayout: \"auto\" — columns grow proportionally from preferred widths.\r\n * - Table carries computed `min-width` = Σ (clamped) explicit widths\r\n * + (UNSIZED_COL_MIN_DEFAULT × unsized cols) + checkbox if any.\r\n * Each column's contribution is clamped to COL_MINWIDTH_CAP so a wide\r\n * preferred width can't force the whole table to overflow its container.\r\n * - When container >= min-width → table fills to 100%, columns expand\r\n * proportionally toward their preferred widths, no empty trailing strip.\r\n * - When container < min-width → horizontal scroll on the container.\r\n *\r\n * Row actions (R2 robust):\r\n * - The actions cell is rendered at width:0 — it contributes nothing\r\n * to the column-width distribution. The actions themselves render\r\n * as an ABSOLUTELY positioned overlay anchored to the row's right\r\n * edge, invisible by default and revealed on hover / focus-within /\r\n * coarse pointer. On hover, the overlay carries a background that\r\n * masks the data column(s) it covers.\r\n * - The actions column header carries a visually-hidden accessible\r\n * name from labels.actionsHeader (default \"Actions\").\r\n * - The cell CONTAINS its own click and keydown: an action must not also\r\n * fire `onRowClick`. See the note at ROW_ACTIONS_CELL_SX.\r\n *\r\n * Mobile card view (R1 mobile, opt-in):\r\n * - When `renderMobileCard` is provided AND viewport is below\r\n * `mobileBreakpoint` (default \"sm\"), DataGrid swaps the <Table> for\r\n * a vertical stack of cards. Host owns the card layout.\r\n *\r\n * Accessible name (WCAG 1.3.1 / 4.1.2):\r\n * - Resolution chain: ariaLabel prop → labels.tableAria → mergeLabels()\r\n * default. When both explicit sources are missing, useAriaLabelWarn\r\n * fires a dev console.warn.\r\n */\r\n\r\n/**\r\n * Dev-only hook — warn once on mount when neither `ariaLabel` nor\r\n * `labels.tableAria` carries a contextual name for the table. Fires only\r\n * in non-production builds; the inline check is dead-code-eliminated by\r\n * minifiers when NODE_ENV is set to production at build time. Empty\r\n * strings are treated as \"not provided\". Charter R-DG + WCAG 2.2 AA.\r\n */\r\nfunction useAriaLabelWarn(\r\n ariaLabel: string | undefined,\r\n labelsTableAria: string | undefined\r\n): void {\r\n React.useEffect(() => {\r\n if (process.env[\"NODE_ENV\"] === \"production\") return;\r\n\r\n const hasAriaLabel =\r\n typeof ariaLabel === \"string\" && ariaLabel.trim().length > 0;\r\n const hasLabelsAria =\r\n typeof labelsTableAria === \"string\" && labelsTableAria.trim().length > 0;\r\n\r\n if (hasAriaLabel || hasLabelsAria) return;\r\n\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[v2.DataGrid] No explicit `ariaLabel` prop or `labels.tableAria` — \" +\r\n \"falling back to the lib default. WCAG 1.3.1 + Charter R-DG require \" +\r\n \"a contextual table name. Pass `ariaLabel` describing the data \" +\r\n \"(e.g. 'Marchandises du titre', 'Liste des titres d\\\\'importation') \" +\r\n \"or set `labels.tableAria` if the same name is reused module-wide.\"\r\n );\r\n // fire once on mount — re-renders shouldn't re-warn even if the caller\r\n // changes ariaLabel/labels.tableAria later; a first-paint miss is the\r\n // signal we care about, not every subsequent render.\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n}\r\n\r\n/* R2 — Actions cell is a 0-width anchor for the absolute overlay.\r\n * position:sticky right:0 glues the overlay's positioned ancestor to the\r\n * visible right edge during horizontal scroll and provides a focus\r\n * container. The strict 0 width makes the cell contribute nothing to\r\n * layout; overflow:visible lets the absolute overlay render outside it.\r\n *\r\n * ─── THE CELL CONTAINS ITS OWN EVENTS, AND IT MUST ───────────────────\r\n *\r\n * The row carries `onClick={() => onRowClick(row)}` and a keydown handler,\r\n * and this cell is INSIDE it. Without containment, activating a row action\r\n * also triggers the row click — on a listing that is §Row Interaction's\r\n * preview drawer, so the user gets the action AND a drawer opening over it.\r\n *\r\n * It cannot be fixed at the action level. `buildRowActions` /\r\n * `buildRowActionMenu` (./rowActions) describe an action as\r\n * `onClick: (row: T) => void` — the DOM event is deliberately not exposed,\r\n * because a business descriptor has no business knowing about propagation.\r\n * `OverflowMenu`'s trigger is in the same position. So the only place that\r\n * can hold this invariant for EVERY shape — the kebab, the icon row, and any\r\n * host-written `rowActions` renderer — is the cell.\r\n *\r\n * Same treatment as the selection checkbox cell in the body below, which has\r\n * always stopped both events for exactly this reason. Containing them here\r\n * makes the two consistent instead of leaving one of the two interactive\r\n * cells of a row unguarded.\r\n *\r\n * `stopPropagation` and NOT `preventDefault`: the buttons' own activation,\r\n * including Enter/Space on a focused action, is untouched — only the bubble\r\n * to the row is cut.\r\n *\r\n * Surfaced by addm-fe's Area 3 audit: both of its listings had hand-written\r\n * their icon row specifically to call `e.stopPropagation()` per button, which\r\n * is what made adopting `buildRowActions` look like a regression. */\r\nconst ROW_ACTIONS_CELL_SX = Object.freeze({\r\n position: \"sticky\",\r\n right: 0,\r\n zIndex: 1,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n padding: 0,\r\n background: \"transparent\",\r\n borderBottom: \"1px solid var(--border)\",\r\n overflow: \"visible\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ROW_ACTIONS_HEAD_CELL_SX = Object.freeze({\r\n position: \"sticky\",\r\n right: 0,\r\n top: 0,\r\n zIndex: 3,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n padding: 0,\r\n background: \"var(--bg-subtle)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* a11y — Standard sr-only / visually-hidden recipe. Gives the\r\n * auto-generated actions column header an accessible name without adding\r\n * visible text. clip-rect keeps it painted into the a11y tree while\r\n * removing it from visual layout. */\r\nconst VISUALLY_HIDDEN_SX = Object.freeze({\r\n position: \"absolute\",\r\n width: \"1px\",\r\n height: \"1px\",\r\n padding: 0,\r\n margin: \"-1px\",\r\n overflow: \"hidden\",\r\n clip: \"rect(0, 0, 0, 0)\",\r\n whiteSpace: \"nowrap\",\r\n borderWidth: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\n/* R2 — Overlay floats over the row's right edge. Invisible by default,\r\n * visible on hover / focus-within / coarse pointer. The parent\r\n * ROW_ACTIONS_CELL_SX (position:sticky) is the containing block. */\r\nconst ROW_ACTIONS_OVERLAY_SX = Object.freeze({\r\n position: \"absolute\",\r\n right: \"var(--s-3)\",\r\n top: \"50%\",\r\n transform: \"translateY(-50%)\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n gap: \"var(--s-1)\",\r\n whiteSpace: \"nowrap\",\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n // Visible \"pill\" that masks the data column(s) underneath when revealed\r\n background: \"var(--bg-hover)\",\r\n padding: \"var(--s-1) var(--s-2)\",\r\n borderRadius: \"var(--r-md)\",\r\n boxShadow: \"var(--shadow-sm)\",\r\n \"tr:hover &, tr:focus-within &\": {\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n \"@media (pointer: coarse)\": {\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\n/* R2 — Filler cells stay at width:0 so they don't take any proportional\r\n * residual under tableLayout:auto. (Local width:0 variants — distinct\r\n * from _dataGridShared's exports, which are not imported here.) */\r\nconst FILLER_CELL_SX = Object.freeze({\r\n padding: 0,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n borderBottom: \"1px solid var(--border)\",\r\n});\r\n\r\nconst FILLER_HEAD_CELL_SX = Object.freeze({\r\n padding: 0,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n background: \"var(--bg-subtle)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* DG-R1 — reorder grip button. Hidden (opacity 0) until the header is hovered /\r\n * focus-within, and always revealed while itself focus-visible so it stays\r\n * Tab-reachable. Absolutely positioned in the header cell's inline-start\r\n * padding; background matches the header so it masks the sliver it overlaps. */\r\nconst REORDER_GRIP_SX = Object.freeze({\r\n position: \"absolute\",\r\n insetInlineStart: 2,\r\n top: \"50%\",\r\n transform: \"translateY(-50%)\",\r\n zIndex: 2,\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: 18,\r\n height: 18,\r\n padding: 0,\r\n border: \"none\",\r\n borderRadius: \"var(--r-sm)\",\r\n background: \"var(--bg-subtle)\",\r\n color: \"var(--fg-subtle)\",\r\n cursor: \"grab\",\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n fontFamily: \"inherit\",\r\n \"th:hover &, th:focus-within &\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"@media (pointer: coarse)\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\n/* ── Mobile card view SX (R1 mobile) ─────────────────────────────── */\r\n\r\nconst CARD_STACK_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n padding: \"var(--s-3)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CARD_BASE_SX = Object.freeze({\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-md)\",\r\n boxShadow: \"var(--shadow-xs)\",\r\n transition: \"background 60ms ease, border-color 60ms ease\",\r\n minHeight: 44,\r\n});\r\n\r\nconst CARD_CLICKABLE_SX = Object.freeze({\r\n ...CARD_BASE_SX,\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n background: \"var(--bg-hover)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n // --pui-outline-offset (2px in base.css :root) — aligns this focus\r\n // ring with the rest of the v2 surface.\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n \"&[data-active]\": {\r\n background: \"var(--accent-soft)\",\r\n borderColor: \"var(--accent)\",\r\n },\r\n \"&[data-selected]\": {\r\n background: \"var(--accent-soft)\",\r\n borderColor: \"var(--accent)\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CARD_SKELETON_SX = Object.freeze({\r\n height: 90,\r\n background: \"var(--bg-subtle)\",\r\n borderRadius: \"var(--r-md)\",\r\n animation: \"pui-skeleton-shimmer 1.4s ease-in-out infinite\",\r\n \"@media (prefers-reduced-motion: reduce)\": {\r\n animation: \"none\",\r\n },\r\n});\r\n\r\nconst CARD_EMPTY_WRAPPER_SX = Object.freeze({\r\n padding: \"var(--s-6) var(--s-4)\",\r\n});\r\n\r\n/* R2 — Default min-width contribution for a column without an explicit\r\n * `width`. 120 px is a sensible floor for a typical data cell. */\r\nconst UNSIZED_COL_MIN_DEFAULT = 120;\r\n\r\n/* R2 — Upper bound on how much ANY single column may contribute to the\r\n * table's hard min-width. A column may DECLARE a large preferred width and\r\n * tableLayout:auto grows it toward that when the container has room, but\r\n * its preferred width must not drag the table's min-width past this cap\r\n * (below which horizontal scroll kicks in). */\r\nconst COL_MINWIDTH_CAP = 220;\r\n\r\nfunction widthToNumber(w: number | string | undefined): number {\r\n if (typeof w === \"number\" && Number.isFinite(w)) return w;\r\n if (typeof w === \"string\") {\r\n const parsed = parseFloat(w);\r\n if (!Number.isNaN(parsed)) return parsed;\r\n }\r\n return 0;\r\n}\r\n\r\n/* Default value accessor (`row[key]`) for an unconstrained row type. Typed\r\n * against `unknown` so the single unknown->record assertion is legal\r\n * without a double cast; noUncheckedIndexedAccess makes the result\r\n * `unknown`, which the caller narrows / asserts at the render site. */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`). Typed against `unknown` so the single\r\n * assertion is legal; `(unknown) => RowId` is assignable to the declared\r\n * `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction DataGrid<T>({\r\n rows = [],\r\n columns: rawColumns = [],\r\n loading = false,\r\n error = null,\r\n sort = [],\r\n onSortChange,\r\n selection,\r\n onSelectionChange,\r\n pagination,\r\n emptyState,\r\n filteredEmptyState,\r\n errorState,\r\n getRowId = defaultGetRowId,\r\n onRowClick,\r\n rowFlashId,\r\n activeRowId,\r\n rowActions,\r\n hiddenColumns,\r\n filtered = false,\r\n density = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n resizable = false,\r\n columnWidths,\r\n onColumnWidthsChange,\r\n reorderable = false,\r\n columnOrder,\r\n onColumnOrderChange,\r\n renderMobileCard,\r\n mobileBreakpoint = \"sm\",\r\n}: DataGridProps<T>) {\r\n // WCAG 1.3.1 / 4.1.2 — dev guard: warn once on mount when no contextual\r\n // table name has been provided by the caller.\r\n useAriaLabelWarn(ariaLabel, labels?.tableAria);\r\n\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n\r\n const showSkeleton = useDelayedFlag(loading);\r\n\r\n useColumnsStabilityWarn(rawColumns);\r\n\r\n // R1 mobile — detect xs viewport. Switch to card view only when the host\r\n // opted in by passing renderMobileCard.\r\n const theme = useTheme();\r\n const isBelowBreakpoint = useMediaQuery(\r\n theme.breakpoints.down(mobileBreakpoint)\r\n );\r\n const useCardView =\r\n isBelowBreakpoint && typeof renderMobileCard === \"function\";\r\n\r\n const orderedColumns = React.useMemo(\r\n () => applyColumnOrder(rawColumns, columnOrder),\r\n [rawColumns, columnOrder]\r\n );\r\n\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n const columns = React.useMemo(\r\n () => orderedColumns.filter((c) => !hiddenSet.has(c.key)),\r\n [orderedColumns, hiddenSet]\r\n );\r\n\r\n const resize = useColumnResize(columnWidths, onColumnWidthsChange);\r\n const reorder = useColumnReorder(columns, columnOrder, onColumnOrderChange, {\r\n resizeIsActive: resize.isResizing,\r\n });\r\n\r\n // DG-R1 — after a keyboard reorder the moved column's grip is re-rendered at\r\n // a new position and the browser drops focus; re-focus it so repeated Arrow\r\n // presses keep moving the same column. Keyed on the host-controlled order.\r\n const pendingReorderFocusRef = React.useRef<string | null>(null);\r\n React.useEffect(() => {\r\n const key = pendingReorderFocusRef.current;\r\n if (!key || typeof document === \"undefined\") return;\r\n pendingReorderFocusRef.current = null;\r\n const escaped =\r\n typeof window !== \"undefined\" &&\r\n window.CSS &&\r\n typeof window.CSS.escape === \"function\"\r\n ? window.CSS.escape(key)\r\n : key;\r\n const el = document.querySelector(`[data-reorder-grip=\"${escaped}\"]`);\r\n if (el instanceof HTMLElement) el.focus();\r\n }, [columnOrder]);\r\n\r\n const showCheckbox = !!onSelectionChange;\r\n const hasRowActions = typeof rowActions === \"function\";\r\n const colCount =\r\n columns.length + (showCheckbox ? 1 : 0) + 1 + (hasRowActions ? 1 : 0);\r\n\r\n const sortable = (col: DataGridColumn<T>): boolean =>\r\n col.sortable !== false && !!col.key && !!onSortChange;\r\n\r\n const selectedSet = React.useMemo(\r\n () => (selection instanceof Set ? selection : new Set(selection || [])),\r\n [selection]\r\n );\r\n const allSelected =\r\n rows.length > 0 && rows.every((r) => selectedSet.has(getRowId(r)));\r\n const someSelected =\r\n !allSelected && rows.some((r) => selectedSet.has(getRowId(r)));\r\n\r\n const toggleAll = () => {\r\n if (!onSelectionChange) return;\r\n if (allSelected) onSelectionChange(new Set<RowId>());\r\n else onSelectionChange(new Set(rows.map(getRowId)));\r\n };\r\n const toggleRow = (id: RowId) => {\r\n if (!onSelectionChange) return;\r\n const next = new Set(selectedSet);\r\n if (next.has(id)) next.delete(id);\r\n else next.add(id);\r\n onSelectionChange(next);\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) => (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!onRowClick) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onRowClick(row);\r\n }\r\n };\r\n\r\n const scrollContainerSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n overflow: \"auto\",\r\n maxHeight: maxBodyHeight,\r\n width: \"100%\",\r\n }),\r\n [maxBodyHeight]\r\n );\r\n\r\n /* R2 — Computed table min-width. Each column's contribution is clamped\r\n * to COL_MINWIDTH_CAP; unsized columns contribute UNSIZED_COL_MIN_DEFAULT;\r\n * the checkbox column adds ~48px. The rowActions cell contributes 0. */\r\n const tableMinWidth = React.useMemo(() => {\r\n let sum = 0;\r\n for (const col of columns) {\r\n const w = widthToNumber(col.width);\r\n const contribution =\r\n w > 0 ? Math.min(w, COL_MINWIDTH_CAP) : UNSIZED_COL_MIN_DEFAULT;\r\n sum += contribution;\r\n }\r\n if (showCheckbox) sum += 48;\r\n return sum;\r\n }, [columns, showCheckbox]);\r\n\r\n // R2 — tableLayout:\"auto\" + computed minWidth. (SxProps-typed so the\r\n // tableLayout literal stays typed; the density base is narrowed to a\r\n // SystemStyleObject at the spread to avoid the fn/array arms of SxProps.)\r\n const tableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...((TABLE_BY_DENSITY[density] ||\r\n TABLE_BY_DENSITY.comfortable) as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n minWidth: tableMinWidth,\r\n tableLayout: \"auto\",\r\n }),\r\n [density, tableMinWidth]\r\n );\r\n\r\n /* DG-1 (perf) — the desktop body renders EVERY row (no virtualization), so\r\n * building the cell sx inline per row × per column allocated N×M fresh style\r\n * objects each render and forced Emotion to re-serialise them. The cell sx is\r\n * a pure function of the column (wrap / mono / numeric / maxWidth / hoverOnly)\r\n * and the column's effective width — never of the row — so compute it once per\r\n * column and reuse the reference across all rows. Keyed on columns + live\r\n * widths (the latter only changes during an active resize drag).\r\n * --text-body (14px) is the explicit inheritance that replaced a dangling\r\n * `var(--text-fs)` token typo (no fallback). */\r\n const columnCellSx = React.useMemo(() => {\r\n const byKey = new Map<string, SxProps<Theme>>();\r\n for (const col of columns) {\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ?? col.width;\r\n byKey.set(col.key, {\r\n fontSize: \"var(--text-body)\",\r\n whiteSpace: col.wrap ? \"normal\" : \"nowrap\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono\r\n ? { fontVariantNumeric: \"tabular-nums\" }\r\n : {}),\r\n ...(effectiveWidth != null ? { width: effectiveWidth } : {}),\r\n // When a column wraps, allow long unbroken tokens to break.\r\n ...(col.wrap\r\n ? ({\r\n overflowWrap: \"anywhere\",\r\n wordBreak: \"break-word\",\r\n } satisfies SxProps<Theme>)\r\n : {}),\r\n ...(col.maxWidth != null ? { maxWidth: col.maxWidth } : {}),\r\n ...(col.hoverOnly ? HOVER_ONLY_CELL_SX : {}),\r\n });\r\n }\r\n return byKey;\r\n }, [columns, resize.liveWidths]);\r\n\r\n /* ── Mobile card view body (R1 mobile) ─────────────────────────\r\n * Built only when useCardView is true. `renderCard` is the narrowed,\r\n * guaranteed-present renderer passed in from the return site. */\r\n const renderCardBody = (\r\n renderCard: (row: T, ctx: DataGridMobileCardContext) => React.ReactNode\r\n ): React.ReactNode => {\r\n if (showSkeleton) {\r\n return (\r\n <Box role=\"list\" aria-busy=\"true\" aria-label={tableAria} sx={CARD_STACK_SX}>\r\n {Array.from({ length: 6 }, (_, i) => (\r\n <Box key={`sk-${i}`} aria-hidden=\"true\" sx={CARD_SKELETON_SX} />\r\n ))}\r\n </Box>\r\n );\r\n }\r\n\r\n if (error) {\r\n return <Box sx={CARD_EMPTY_WRAPPER_SX}>{errorState}</Box>;\r\n }\r\n\r\n if (rows.length === 0) {\r\n return (\r\n <Box sx={CARD_EMPTY_WRAPPER_SX}>\r\n {filtered ? filteredEmptyState : emptyState}\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box\r\n role=\"list\"\r\n aria-label={tableAria}\r\n aria-busy={loading || undefined}\r\n sx={CARD_STACK_SX}\r\n >\r\n {rows.map((row) => {\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const isActive =\r\n activeRowId !== undefined &&\r\n activeRowId !== null &&\r\n id === activeRowId;\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n const ctx: DataGridMobileCardContext = { isActive, isSelected };\r\n return (\r\n <Box\r\n key={id}\r\n role={clickable ? \"button\" : \"listitem\"}\r\n tabIndex={clickable ? 0 : undefined}\r\n data-selected={isSelected || undefined}\r\n data-active={isActive || undefined}\r\n className={flash ? \"pui-row-updated\" : undefined}\r\n onClick={clickable ? () => onRowClick?.(row) : undefined}\r\n onKeyDown={clickable ? handleRowKeyDown(row) : undefined}\r\n sx={clickable ? CARD_CLICKABLE_SX : CARD_BASE_SX}\r\n >\r\n {renderCard(row, ctx)}\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n );\r\n };\r\n\r\n /* ── Table body (desktop / no card opt-in) ─────────────────── */\r\n let body: React.ReactNode;\r\n if (showSkeleton) {\r\n body = (\r\n <TableBody aria-busy=\"true\">\r\n {Array.from({ length: 6 }, (_, i) => (\r\n <SkeletonRow\r\n key={`sk-${i}`}\r\n cols={columns.length}\r\n withCheckbox={showCheckbox}\r\n withActions={hasRowActions}\r\n />\r\n ))}\r\n </TableBody>\r\n );\r\n } else if (error) {\r\n body = (\r\n <TableBody>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>{errorState}</Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else if (rows.length === 0) {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>\r\n {filtered ? filteredEmptyState : emptyState}\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n {rows.map((row) => {\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const isActive =\r\n activeRowId !== undefined &&\r\n activeRowId !== null &&\r\n id === activeRowId;\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n return (\r\n <TableRow\r\n key={id}\r\n hover\r\n data-selected={isSelected || undefined}\r\n data-active={isActive || undefined}\r\n className={flash ? \"pui-row-updated\" : undefined}\r\n onClick={clickable ? () => onRowClick?.(row) : undefined}\r\n onKeyDown={clickable ? handleRowKeyDown(row) : undefined}\r\n tabIndex={clickable ? 0 : undefined}\r\n sx={clickable ? ROW_CLICKABLE_SX : ROW_STATIC_SX}\r\n >\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={BODY_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={isSelected}\r\n onChange={(e) => {\r\n e.stopPropagation();\r\n toggleRow(id);\r\n }}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={(e) => e.stopPropagation()}\r\n slotProps={{ input: { \"aria-label\": L.selectRow(id) } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const value = col.getValue\r\n ? col.getValue(row)\r\n : readCellValue(row, col.key);\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n sx={columnCellSx.get(col.key)}\r\n >\r\n {col.render\r\n ? col.render(row)\r\n : (value as React.ReactNode) ?? \"—\"}\r\n </TableCell>\r\n );\r\n })}\r\n <TableCell sx={FILLER_CELL_SX} aria-hidden=\"true\" />\r\n {hasRowActions && rowActions && (\r\n <TableCell\r\n sx={ROW_ACTIONS_CELL_SX}\r\n /* See the note at ROW_ACTIONS_CELL_SX: an action must not\r\n * also fire the row click. Mirrors the checkbox cell. */\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={(e) => e.stopPropagation()}\r\n >\r\n <Box sx={ROW_ACTIONS_OVERLAY_SX}>{rowActions(row)}</Box>\r\n </TableCell>\r\n )}\r\n </TableRow>\r\n );\r\n })}\r\n </TableBody>\r\n );\r\n }\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n {useCardView && renderMobileCard ? (\r\n renderCardBody(renderMobileCard)\r\n ) : (\r\n <Box sx={scrollContainerSx}>\r\n <Table\r\n aria-label={tableAria}\r\n size={density === \"compact\" ? \"small\" : \"medium\"}\r\n stickyHeader\r\n sx={tableSx}\r\n >\r\n <TableHead>\r\n <TableRow>\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={HEADER_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={allSelected}\r\n indeterminate={someSelected}\r\n onChange={toggleAll}\r\n slotProps={{ input: { \"aria-label\": L.selectAll } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const isSortable = sortable(col);\r\n const isResizable = resizable && col.resizable !== false;\r\n const isReorderable =\r\n reorderable && col.reorderable !== false;\r\n const ariaSort = isSortable\r\n ? getAriaSort(sort, col.key)\r\n : undefined;\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ??\r\n col.width;\r\n const reorderHandlers = isReorderable\r\n ? reorder.cellHandlers(col.key)\r\n : null;\r\n const reorderFeedbackSx = isReorderable\r\n ? reorder.cellSx(col.key)\r\n : undefined;\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n aria-sort={ariaSort}\r\n {...(reorderHandlers || {})}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(effectiveWidth != null\r\n ? { width: effectiveWidth }\r\n : {}),\r\n ...(reorderFeedbackSx\r\n ? (reorderFeedbackSx as SystemStyleObject<Theme>)\r\n : {}),\r\n }}\r\n >\r\n {isSortable && onSortChange ? (\r\n <SortableHeader\r\n sortKey={col.key}\r\n sort={sort}\r\n setSort={onSortChange}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n >\r\n {col.header}\r\n </SortableHeader>\r\n ) : (\r\n col.header\r\n )}\r\n\r\n {isReorderable && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n data-reorder-grip={col.key}\r\n aria-label=\"Réorganiser la colonne\"\r\n aria-keyshortcuts=\"ArrowLeft ArrowRight Home End\"\r\n onKeyDown={(e) => {\r\n if (\r\n e.key === \"ArrowLeft\" ||\r\n e.key === \"ArrowRight\" ||\r\n e.key === \"Home\" ||\r\n e.key === \"End\"\r\n ) {\r\n pendingReorderFocusRef.current = col.key;\r\n }\r\n reorder.handleKeyDown(col.key)(e);\r\n }}\r\n sx={REORDER_GRIP_SX}\r\n >\r\n <DragIndicatorIcon sx={{ fontSize: 14 }} />\r\n </Box>\r\n )}\r\n\r\n {isResizable && (\r\n <Box\r\n role=\"separator\"\r\n aria-orientation=\"vertical\"\r\n aria-label=\"Redimensionner la colonne\"\r\n tabIndex={0}\r\n aria-valuenow={\r\n typeof effectiveWidth === \"number\"\r\n ? Math.round(effectiveWidth)\r\n : undefined\r\n }\r\n aria-valuemin={resize.minWidth}\r\n draggable=\"false\"\r\n onMouseDown={resize.handleMouseDown(col.key)}\r\n onKeyDown={resize.handleKeyDown(col.key)}\r\n sx={{\r\n position: \"absolute\",\r\n top: 0,\r\n insetInlineEnd: 0,\r\n width: 8,\r\n height: \"100%\",\r\n cursor: \"col-resize\",\r\n userSelect: \"none\",\r\n touchAction: \"none\",\r\n zIndex: 2,\r\n \"&:hover\": {\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n \"&:active\": {\r\n background: \"var(--state-pressed-overlay)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n }}\r\n />\r\n )}\r\n </TableCell>\r\n );\r\n })}\r\n <TableCell sx={FILLER_HEAD_CELL_SX} aria-hidden=\"true\" />\r\n {hasRowActions && (\r\n /* WCAG 1.3.1 / axe-core `empty-table-header` — the\r\n visually-hidden span names the actions column in the\r\n a11y tree. Label from labels.actionsHeader. */\r\n <TableCell sx={ROW_ACTIONS_HEAD_CELL_SX} scope=\"col\">\r\n <Box component=\"span\" sx={VISUALLY_HIDDEN_SX}>\r\n {L.actionsHeader}\r\n </Box>\r\n </TableCell>\r\n )}\r\n </TableRow>\r\n </TableHead>\r\n {body}\r\n </Table>\r\n </Box>\r\n )}\r\n {pagination && (\r\n <Pagination\r\n {...pagination}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport { applySort };\r\nexport default DataGrid;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -43,8 +43,20 @@ import type { DataGridColumn } from "../types/datagrid";
|
|
|
43
43
|
* recommended when the toolbar has enough horizontal space and the
|
|
44
44
|
* affordance benefits from a named action (e.g. "Configurer").
|
|
45
45
|
* When omitted, the trigger falls back to the compact IconButton.
|
|
46
|
+
*
|
|
47
|
+
* D-8: in that named form the button is NOT given an aria-label.
|
|
48
|
+
* It used to carry `labels.button` as well, and aria-label wins over
|
|
49
|
+
* visible text — so the trigger displayed "Configurer" and announced
|
|
50
|
+
* "Options du tableau", failing WCAG 2.5.3 Label in Name and breaking
|
|
51
|
+
* voice control ("click Configurer" matched nothing). The button's own
|
|
52
|
+
* text now names it, so the two agree by construction. `labels.button`
|
|
53
|
+
* still names the icon-only trigger, where it is the only naming route.
|
|
46
54
|
*/
|
|
47
55
|
export interface DataGridSettingsMenuLabels {
|
|
56
|
+
/**
|
|
57
|
+
* Accessible name of the ICON-ONLY trigger. Not applied when `label` is
|
|
58
|
+
* passed — there the visible text is the name (D-8).
|
|
59
|
+
*/
|
|
48
60
|
button?: string | undefined;
|
|
49
61
|
title?: string | undefined;
|
|
50
62
|
columnsHeading?: string | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridSettingsMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD
|
|
1
|
+
{"version":3,"file":"DataGridSettingsMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiDG;AAEH,MAAM,WAAW,0BAA0B;IACzC;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACnD,qBAAqB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAC/C,MAAM,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAyFD,iBAAS,oBAAoB,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,OAAO,EACP,eAAe,EACf,cAAc,EACd,MAAM,EACN,KAAK,GACN,EAAE,yBAAyB,qBAkO3B;AAED,eAAe,oBAAoB,CAAC"}
|