@portnet/ui 6.0.1 → 6.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +737 -0
- package/dist/esm/index.js +90 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
- package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/esm/v2/__tests__/apiError.test.js +50 -69
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
- package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
- package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
- package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +48 -70
- package/dist/esm/v2/components/Accordion.js.map +1 -1
- package/dist/esm/v2/components/ActionStrip.js +31 -43
- package/dist/esm/v2/components/ActionStrip.js.map +1 -1
- package/dist/esm/v2/components/Banner.js +25 -22
- package/dist/esm/v2/components/Banner.js.map +1 -1
- package/dist/esm/v2/components/Busy.js +14 -19
- package/dist/esm/v2/components/Busy.js.map +1 -1
- package/dist/esm/v2/components/Button.js +34 -45
- package/dist/esm/v2/components/Button.js.map +1 -1
- package/dist/esm/v2/components/CategoryTag.js +44 -27
- package/dist/esm/v2/components/CategoryTag.js.map +1 -1
- package/dist/esm/v2/components/Checkbox.js +32 -38
- package/dist/esm/v2/components/Checkbox.js.map +1 -1
- package/dist/esm/v2/components/Chip.js +23 -36
- package/dist/esm/v2/components/Chip.js.map +1 -1
- package/dist/esm/v2/components/Combobox.js +112 -136
- package/dist/esm/v2/components/Combobox.js.map +1 -1
- package/dist/esm/v2/components/CommandPalette.js +113 -198
- package/dist/esm/v2/components/CommandPalette.js.map +1 -1
- package/dist/esm/v2/components/ConfirmDialog.js +36 -45
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/esm/v2/components/DatePicker.js +78 -81
- package/dist/esm/v2/components/DatePicker.js.map +1 -1
- package/dist/esm/v2/components/DateRangePicker.js +63 -74
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
- package/dist/esm/v2/components/DateTimePicker.js +118 -90
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
- package/dist/esm/v2/components/Drawer.js +71 -65
- package/dist/esm/v2/components/Drawer.js.map +1 -1
- package/dist/esm/v2/components/Dropzone.js +130 -177
- package/dist/esm/v2/components/Dropzone.js.map +1 -1
- package/dist/esm/v2/components/EmptyState.js +9 -9
- package/dist/esm/v2/components/EmptyState.js.map +1 -1
- package/dist/esm/v2/components/FavoriteToggle.js +24 -33
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/esm/v2/components/Field.js +210 -52
- package/dist/esm/v2/components/Field.js.map +1 -1
- package/dist/esm/v2/components/FieldError.js +9 -13
- package/dist/esm/v2/components/FieldError.js.map +1 -1
- package/dist/esm/v2/components/FieldHelp.js +28 -49
- package/dist/esm/v2/components/FieldHelp.js.map +1 -1
- package/dist/esm/v2/components/FileCard.js +14 -19
- package/dist/esm/v2/components/FileCard.js.map +1 -1
- package/dist/esm/v2/components/FilterTab.js +22 -31
- package/dist/esm/v2/components/FilterTab.js.map +1 -1
- package/dist/esm/v2/components/ForbiddenPage.js +28 -8
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/esm/v2/components/FormGrid.js +48 -54
- package/dist/esm/v2/components/FormGrid.js.map +1 -1
- package/dist/esm/v2/components/FormikDisplay.js +98 -24
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
- package/dist/esm/v2/components/Input.js +75 -34
- package/dist/esm/v2/components/Input.js.map +1 -1
- package/dist/esm/v2/components/KPICard.js +42 -51
- package/dist/esm/v2/components/KPICard.js.map +1 -1
- package/dist/esm/v2/components/KPIStrip.js +9 -15
- package/dist/esm/v2/components/KPIStrip.js.map +1 -1
- package/dist/esm/v2/components/KV.js +16 -23
- package/dist/esm/v2/components/KV.js.map +1 -1
- package/dist/esm/v2/components/KVGrid.js +15 -23
- package/dist/esm/v2/components/KVGrid.js.map +1 -1
- package/dist/esm/v2/components/Layout.js +81 -117
- package/dist/esm/v2/components/Layout.js.map +1 -1
- package/dist/esm/v2/components/MobileRowCard.js +64 -75
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
- package/dist/esm/v2/components/Modal.js +44 -53
- package/dist/esm/v2/components/Modal.js.map +1 -1
- package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/esm/v2/components/NotFoundPage.js +28 -9
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
- package/dist/esm/v2/components/NumberInput.js +77 -107
- package/dist/esm/v2/components/NumberInput.js.map +1 -1
- package/dist/esm/v2/components/OverflowMenu.js +24 -42
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
- package/dist/esm/v2/components/PdfViewer.js +24 -33
- package/dist/esm/v2/components/PdfViewer.js.map +1 -1
- package/dist/esm/v2/components/ProgressBar.js +28 -36
- package/dist/esm/v2/components/ProgressBar.js.map +1 -1
- package/dist/esm/v2/components/Radio.js +49 -57
- package/dist/esm/v2/components/Radio.js.map +1 -1
- package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/esm/v2/components/SectionHeader.js +24 -31
- package/dist/esm/v2/components/SectionHeader.js.map +1 -1
- package/dist/esm/v2/components/Segmented.js +59 -84
- package/dist/esm/v2/components/Segmented.js.map +1 -1
- package/dist/esm/v2/components/Select.js +100 -138
- package/dist/esm/v2/components/Select.js.map +1 -1
- package/dist/esm/v2/components/ServerErrorPage.js +27 -10
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/esm/v2/components/Skeleton.js +81 -96
- package/dist/esm/v2/components/Skeleton.js.map +1 -1
- package/dist/esm/v2/components/SkipLink.js +6 -7
- package/dist/esm/v2/components/SkipLink.js.map +1 -1
- package/dist/esm/v2/components/Spinner.js +13 -22
- package/dist/esm/v2/components/Spinner.js.map +1 -1
- package/dist/esm/v2/components/Status.js +14 -25
- package/dist/esm/v2/components/Status.js.map +1 -1
- package/dist/esm/v2/components/Stepper.js +68 -71
- package/dist/esm/v2/components/Stepper.js.map +1 -1
- package/dist/esm/v2/components/Surface.js +25 -44
- package/dist/esm/v2/components/Surface.js.map +1 -1
- package/dist/esm/v2/components/Switch.js +21 -29
- package/dist/esm/v2/components/Switch.js.map +1 -1
- package/dist/esm/v2/components/TabPanel.js +84 -0
- package/dist/esm/v2/components/TabPanel.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +43 -19
- package/dist/esm/v2/components/Tabs.js.map +1 -1
- package/dist/esm/v2/components/TelInput.js +75 -108
- package/dist/esm/v2/components/TelInput.js.map +1 -1
- package/dist/esm/v2/components/Textarea.js +21 -30
- package/dist/esm/v2/components/Textarea.js.map +1 -1
- package/dist/esm/v2/components/TimePicker.js +59 -69
- package/dist/esm/v2/components/TimePicker.js.map +1 -1
- package/dist/esm/v2/components/Toast.js +109 -163
- package/dist/esm/v2/components/Toast.js.map +1 -1
- package/dist/esm/v2/components/Tooltip.js +18 -31
- package/dist/esm/v2/components/Tooltip.js.map +1 -1
- package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/esm/v2/components/_pickerShared.js +2 -2
- package/dist/esm/v2/components/_pickerShared.js.map +1 -1
- package/dist/esm/v2/components/index.js +64 -0
- package/dist/esm/v2/components/index.js.map +1 -1
- package/dist/esm/v2/hooks/index.js +62 -0
- package/dist/esm/v2/hooks/index.js.map +1 -1
- package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
- package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/esm/v2/hooks/useDensity.js +13 -17
- package/dist/esm/v2/hooks/useDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useSortedRows.js +3 -5
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/esm/v2/hooks/useTabLoading.js +6 -21
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/esm/v2/index.js +14 -4
- package/dist/esm/v2/index.js.map +1 -1
- package/dist/esm/v2/modalContext.js +2 -2
- package/dist/esm/v2/modalContext.js.map +1 -1
- package/dist/esm/v2/models/favorite.js.map +1 -1
- package/dist/esm/v2/models/personalization.js.map +1 -1
- package/dist/esm/v2/models/referentiel.js.map +1 -1
- package/dist/esm/v2/models/savedFilter.js.map +1 -1
- package/dist/esm/v2/patterns/ActionBar.js +115 -159
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/AppMain.js +108 -0
- package/dist/esm/v2/patterns/AppMain.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/ChartFigure.js +151 -0
- package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/esm/v2/patterns/DataGrid.js +221 -255
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/esm/v2/patterns/DetailSplit.js +108 -0
- package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
- package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/esm/v2/patterns/FormPageShell.js +43 -41
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/FormSection.js +30 -38
- package/dist/esm/v2/patterns/FormSection.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
- package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +94 -78
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
- package/dist/esm/v2/patterns/FormikInput.js +40 -50
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/FormikSelect.js +64 -84
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/esm/v2/patterns/PageContent.js +10 -14
- package/dist/esm/v2/patterns/PageContent.js.map +1 -1
- package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
- package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +327 -312
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/SortableHeader.js +22 -45
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/esm/v2/patterns/Tour.js +94 -120
- package/dist/esm/v2/patterns/Tour.js.map +1 -1
- package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +17 -33
- package/dist/esm/v2/patterns/_sort.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/esm/v2/patterns/filterCriteria.js +102 -0
- package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +235 -0
- package/dist/esm/v2/patterns/index.js.map +1 -1
- package/dist/esm/v2/patterns/rowActions.js +223 -0
- package/dist/esm/v2/patterns/rowActions.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +5 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/esm/v2/personalization/index.js +35 -0
- package/dist/esm/v2/personalization/index.js.map +1 -1
- package/dist/esm/v2/personalization/personalizationContext.js +9 -9
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/esm/v2/personalization/schema.js +8 -9
- package/dist/esm/v2/personalization/schema.js.map +1 -1
- package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/esm/v2/referentiel/types.js +2 -0
- package/dist/esm/v2/referentiel/types.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/esm/v2/theme/_brand.js +8 -24
- package/dist/esm/v2/theme/_brand.js.map +1 -1
- package/dist/esm/v2/theme/_brandSecondary.js +8 -24
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/esm/v2/theme/cssVariables.js +62 -69
- package/dist/esm/v2/theme/cssVariables.js.map +1 -1
- package/dist/esm/v2/theme/index.js +5 -5
- package/dist/esm/v2/theme/index.js.map +1 -1
- package/dist/esm/v2/tokens/breakpoints.js +14 -14
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
- package/dist/esm/v2/tokens/chart.js +261 -0
- package/dist/esm/v2/tokens/chart.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +22 -22
- package/dist/esm/v2/tokens/colors.js.map +1 -1
- package/dist/esm/v2/tokens/density.js +62 -7
- package/dist/esm/v2/tokens/density.js.map +1 -1
- package/dist/esm/v2/tokens/index.js +49 -34
- package/dist/esm/v2/tokens/index.js.map +1 -1
- package/dist/esm/v2/tokens/motion.js +12 -20
- package/dist/esm/v2/tokens/motion.js.map +1 -1
- package/dist/esm/v2/tokens/radius.js +1 -1
- package/dist/esm/v2/tokens/radius.js.map +1 -1
- package/dist/esm/v2/tokens/shadows.js +6 -6
- package/dist/esm/v2/tokens/shadows.js.map +1 -1
- package/dist/esm/v2/tokens/spacing.js +2 -2
- package/dist/esm/v2/tokens/spacing.js.map +1 -1
- package/dist/esm/v2/tokens/state.js +1 -1
- package/dist/esm/v2/tokens/state.js.map +1 -1
- package/dist/esm/v2/tokens/statusPalette.js +17 -21
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
- package/dist/esm/v2/tokens/tokens.json +6 -1
- package/dist/esm/v2/tokens/typography.js +13 -13
- package/dist/esm/v2/tokens/typography.js.map +1 -1
- package/dist/esm/v2/tokens/zIndex.js +1 -1
- package/dist/esm/v2/tokens/zIndex.js.map +1 -1
- package/dist/esm/v2/types/datagrid.js.map +1 -1
- package/dist/esm/v2/utils/apiError.js +16 -37
- package/dist/esm/v2/utils/apiError.js.map +1 -1
- package/dist/esm/v2/utils/contrast.js +31 -32
- package/dist/esm/v2/utils/contrast.js.map +1 -1
- package/dist/esm/v2/utils/cx.js +5 -25
- package/dist/esm/v2/utils/cx.js.map +1 -1
- package/dist/esm/v2/utils/fileDownload.js +23 -26
- package/dist/esm/v2/utils/fileDownload.js.map +1 -1
- package/dist/esm/v2/utils/fileValidation.js +209 -0
- package/dist/esm/v2/utils/fileValidation.js.map +1 -0
- package/dist/esm/v2/utils/fmtDate.js +111 -0
- package/dist/esm/v2/utils/fmtDate.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +8 -10
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
- package/dist/esm/v2/utils/formikErrors.js +78 -0
- package/dist/esm/v2/utils/formikErrors.js.map +1 -0
- package/dist/esm/v2/utils/index.js +35 -2
- package/dist/esm/v2/utils/index.js.map +1 -1
- package/dist/esm/v2/utils/mergeLabels.js +7 -12
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
- package/dist/esm/v2/utils/networkStatus.js +12 -12
- package/dist/esm/v2/utils/networkStatus.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -47
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/AppMain.test.js +133 -0
- package/dist/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/v2/__tests__/ChartFigure.test.js +183 -0
- package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/v2/__tests__/FieldError.test.js +98 -69
- package/dist/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/v2/__tests__/FieldNaming.test.js +161 -0
- package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +148 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +45 -48
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
- package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/v2/__tests__/apiError.test.js +50 -69
- package/dist/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/v2/__tests__/banned-patterns.test.js +42 -123
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/v2/__tests__/chart-palette.test.js +205 -0
- package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/v2/__tests__/fileValidation.test.js +136 -0
- package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/v2/__tests__/filterCriteria.test.js +324 -0
- package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/fmtDate.test.js +69 -0
- package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +38 -46
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/__tests__/locale-fallback.test.js +47 -52
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
- package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/rowActions.test.js +186 -0
- package/dist/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/v2/components/Accordion.js +60 -82
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.js +40 -52
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.js +42 -41
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.js +22 -27
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.js +39 -50
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js +49 -32
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.js +39 -45
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.js +29 -42
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.js +122 -144
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.js +138 -225
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +46 -56
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.js +81 -86
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.js +77 -87
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +121 -95
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +93 -88
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.js +150 -196
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.js +18 -20
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +28 -39
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +121 -5
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +221 -62
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.js +18 -21
- package/dist/v2/components/FieldError.js.map +1 -1
- package/dist/v2/components/FieldHelp.js +40 -60
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.js +27 -31
- package/dist/v2/components/FileCard.js.map +1 -1
- package/dist/v2/components/FilterTab.js +30 -38
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/ForbiddenPage.d.ts +25 -1
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
- package/dist/v2/components/ForbiddenPage.js +37 -17
- package/dist/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/v2/components/FormGrid.js +53 -59
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +50 -1
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js +108 -33
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +40 -0
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js +81 -41
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.js +57 -67
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.js +16 -22
- package/dist/v2/components/KPIStrip.js.map +1 -1
- package/dist/v2/components/KV.js +25 -31
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.js +19 -26
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.js +91 -120
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.js +79 -91
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.js +61 -69
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js +38 -21
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NotFoundPage.d.ts +17 -1
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
- package/dist/v2/components/NotFoundPage.js +37 -18
- package/dist/v2/components/NotFoundPage.js.map +1 -1
- package/dist/v2/components/NumberInput.js +88 -118
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.js +38 -56
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.js +34 -45
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.js +42 -49
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.js +59 -67
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.js +90 -135
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/v2/components/SectionHeader.js +34 -41
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.js +69 -93
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +26 -2
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +120 -155
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +27 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js +37 -20
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.js +86 -100
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.js +9 -12
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Spinner.js +16 -25
- package/dist/v2/components/Spinner.js.map +1 -1
- package/dist/v2/components/Status.js +18 -29
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.js +80 -82
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.js +34 -49
- package/dist/v2/components/Surface.js.map +1 -1
- package/dist/v2/components/Switch.js +29 -37
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/TabPanel.d.ts +17 -0
- package/dist/v2/components/TabPanel.d.ts.map +1 -0
- package/dist/v2/components/TabPanel.js +90 -0
- package/dist/v2/components/TabPanel.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +25 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js +53 -29
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.js +80 -115
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.js +26 -35
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.js +62 -74
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.js +119 -174
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.js +23 -38
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/_ErrorPageBody.js +15 -16
- package/dist/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/v2/components/_pickerShared.js +5 -5
- package/dist/v2/components/_pickerShared.js.map +1 -1
- package/dist/v2/components/index.d.ts +67 -1
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +153 -136
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/hooks/index.d.ts +65 -0
- package/dist/v2/hooks/index.d.ts.map +1 -1
- package/dist/v2/hooks/index.js +63 -24
- package/dist/v2/hooks/index.js.map +1 -1
- package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
- package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
- package/dist/v2/hooks/useAppliedFilters.js +117 -0
- package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.js +87 -0
- package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +6 -20
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/v2/hooks/useDensity.d.ts.map +1 -1
- package/dist/v2/hooks/useDensity.js +14 -18
- package/dist/v2/hooks/useDensity.js.map +1 -1
- package/dist/v2/hooks/useFocusFirstError.js +26 -34
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +20 -24
- package/dist/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.js +39 -54
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +5 -13
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/v2/hooks/useSortedRows.js +4 -6
- package/dist/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/v2/hooks/useTabLoading.js +7 -22
- package/dist/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js +143 -145
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/modalContext.js +2 -2
- package/dist/v2/modalContext.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +8 -9
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/index.js +4 -4
- package/dist/v2/models/index.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +44 -48
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +32 -50
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -17
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.js +152 -187
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/AppMain.d.ts +109 -0
- package/dist/v2/patterns/AppMain.d.ts.map +1 -0
- package/dist/v2/patterns/AppMain.js +115 -0
- package/dist/v2/patterns/AppMain.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +40 -42
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/ChartFigure.d.ts +124 -0
- package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
- package/dist/v2/patterns/ChartFigure.js +159 -0
- package/dist/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +60 -94
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/DataGrid.js +262 -297
- package/dist/v2/patterns/DataGrid.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +103 -106
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js +179 -217
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/DetailSplit.d.ts +87 -0
- package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
- package/dist/v2/patterns/DetailSplit.js +116 -0
- package/dist/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +32 -80
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +36 -44
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
- package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
- package/dist/v2/patterns/FilterTabBar.js +120 -0
- package/dist/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +20 -23
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.js +53 -50
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +8 -3
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +44 -51
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +138 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +55 -69
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +59 -106
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
- package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.js +25 -26
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
- package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorSummary.js +97 -0
- package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +14 -1
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js +99 -83
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +11 -1
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +45 -55
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
- package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikRadioGroup.js +137 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js +54 -64
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +9 -1
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +70 -89
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -48
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.js +17 -20
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
- package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
- package/dist/v2/patterns/PreviewDrawer.js +159 -0
- package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +86 -2
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +347 -327
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.js +50 -77
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js +122 -143
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.js +35 -57
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.js +121 -142
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +131 -147
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +80 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_sort.js +17 -33
- package/dist/v2/patterns/_sort.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js +124 -163
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js +80 -99
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/filterCriteria.d.ts +78 -0
- package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
- package/dist/v2/patterns/filterCriteria.js +110 -0
- package/dist/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +247 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +182 -70
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/patterns/rowActions.d.ts +150 -0
- package/dist/v2/patterns/rowActions.d.ts.map +1 -0
- package/dist/v2/patterns/rowActions.js +232 -0
- package/dist/v2/patterns/rowActions.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js +57 -53
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/index.js +5 -5
- package/dist/v2/personalization/adapters/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/favorites.js +39 -62
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +6 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +23 -10
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js +81 -182
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +34 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +41 -21
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/personalizationContext.js +10 -12
- package/dist/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/v2/personalization/schema.js +8 -9
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js +31 -45
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/index.js +11 -13
- package/dist/v2/referentiel/index.js.map +1 -1
- package/dist/v2/referentiel/types.d.ts +105 -0
- package/dist/v2/referentiel/types.d.ts.map +1 -0
- package/dist/v2/referentiel/types.js +6 -0
- package/dist/v2/referentiel/types.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +13 -16
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js +63 -120
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js +40 -95
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/_brand.js +12 -26
- package/dist/v2/theme/_brand.js.map +1 -1
- package/dist/v2/theme/_brandSecondary.js +12 -26
- package/dist/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +41 -49
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/theme/cssVariables.d.ts +3 -3
- package/dist/v2/theme/cssVariables.d.ts.map +1 -1
- package/dist/v2/theme/cssVariables.js +65 -70
- package/dist/v2/theme/cssVariables.js.map +1 -1
- package/dist/v2/theme/index.js +10 -10
- package/dist/v2/theme/index.js.map +1 -1
- package/dist/v2/tokens/breakpoints.js +16 -16
- package/dist/v2/tokens/breakpoints.js.map +1 -1
- package/dist/v2/tokens/chart.d.ts +103 -0
- package/dist/v2/tokens/chart.d.ts.map +1 -0
- package/dist/v2/tokens/chart.js +270 -0
- package/dist/v2/tokens/chart.js.map +1 -0
- package/dist/v2/tokens/colors.js +24 -24
- package/dist/v2/tokens/colors.js.map +1 -1
- package/dist/v2/tokens/density.d.ts +104 -0
- package/dist/v2/tokens/density.d.ts.map +1 -1
- package/dist/v2/tokens/density.js +67 -12
- package/dist/v2/tokens/density.js.map +1 -1
- package/dist/v2/tokens/index.d.ts +50 -1
- package/dist/v2/tokens/index.d.ts.map +1 -1
- package/dist/v2/tokens/index.js +116 -68
- package/dist/v2/tokens/index.js.map +1 -1
- package/dist/v2/tokens/motion.js +16 -22
- package/dist/v2/tokens/motion.js.map +1 -1
- package/dist/v2/tokens/radius.js +3 -3
- package/dist/v2/tokens/radius.js.map +1 -1
- package/dist/v2/tokens/shadows.js +8 -8
- package/dist/v2/tokens/shadows.js.map +1 -1
- package/dist/v2/tokens/spacing.js +4 -4
- package/dist/v2/tokens/spacing.js.map +1 -1
- package/dist/v2/tokens/state.js +3 -3
- package/dist/v2/tokens/state.js.map +1 -1
- package/dist/v2/tokens/statusPalette.js +21 -23
- package/dist/v2/tokens/statusPalette.js.map +1 -1
- package/dist/v2/tokens/tokens.json +6 -1
- package/dist/v2/tokens/typography.js +15 -15
- package/dist/v2/tokens/typography.js.map +1 -1
- package/dist/v2/tokens/zIndex.js +3 -3
- package/dist/v2/tokens/zIndex.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +9 -1
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/types/index.js +2 -2
- package/dist/v2/types/index.js.map +1 -1
- package/dist/v2/utils/apiError.js +16 -37
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/contrast.js +31 -32
- package/dist/v2/utils/contrast.js.map +1 -1
- package/dist/v2/utils/cx.js +7 -27
- package/dist/v2/utils/cx.js.map +1 -1
- package/dist/v2/utils/fileDownload.js +25 -28
- package/dist/v2/utils/fileDownload.js.map +1 -1
- package/dist/v2/utils/fileValidation.d.ts +116 -0
- package/dist/v2/utils/fileValidation.d.ts.map +1 -0
- package/dist/v2/utils/fileValidation.js +220 -0
- package/dist/v2/utils/fileValidation.js.map +1 -0
- package/dist/v2/utils/fmtDate.d.ts +103 -0
- package/dist/v2/utils/fmtDate.d.ts.map +1 -0
- package/dist/v2/utils/fmtDate.js +119 -0
- package/dist/v2/utils/fmtDate.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +3 -3
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
- package/dist/v2/utils/fmtMoney.js +9 -11
- package/dist/v2/utils/fmtMoney.js.map +1 -1
- package/dist/v2/utils/formikErrors.d.ts +67 -0
- package/dist/v2/utils/formikErrors.d.ts.map +1 -0
- package/dist/v2/utils/formikErrors.js +85 -0
- package/dist/v2/utils/formikErrors.js.map +1 -0
- package/dist/v2/utils/index.d.ts +5 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +67 -18
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.js +9 -14
- package/dist/v2/utils/mergeLabels.js.map +1 -1
- package/dist/v2/utils/networkStatus.js +14 -14
- package/dist/v2/utils/networkStatus.js.map +1 -1
- package/package.json +26 -9
|
@@ -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"}
|