@portnet/ui 6.0.0 → 6.0.1
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/dist/esm/index.js +196 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +144 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +333 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/esm/v2/__tests__/apiError.test.js +181 -0
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +147 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +230 -0
- package/dist/esm/v2/components/Accordion.js.map +1 -0
- package/dist/esm/v2/components/ActionStrip.js +146 -0
- package/dist/esm/v2/components/ActionStrip.js.map +1 -0
- package/dist/esm/v2/components/Banner.js +254 -0
- package/dist/esm/v2/components/Banner.js.map +1 -0
- package/dist/esm/v2/components/Busy.js +97 -0
- package/dist/esm/v2/components/Busy.js.map +1 -0
- package/dist/esm/v2/components/Button.js +114 -0
- package/dist/esm/v2/components/Button.js.map +1 -0
- package/dist/esm/v2/components/CategoryTag.js +81 -0
- package/dist/esm/v2/components/CategoryTag.js.map +1 -0
- package/dist/esm/v2/components/Checkbox.js +124 -0
- package/dist/esm/v2/components/Checkbox.js.map +1 -0
- package/dist/esm/v2/components/Chip.js +124 -0
- package/dist/esm/v2/components/Chip.js.map +1 -0
- package/dist/esm/v2/components/Combobox.js +394 -0
- package/dist/esm/v2/components/Combobox.js.map +1 -0
- package/dist/esm/v2/components/CommandPalette.js +660 -0
- package/dist/esm/v2/components/CommandPalette.js.map +1 -0
- package/dist/esm/v2/components/ConfirmDialog.js +144 -0
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/esm/v2/components/DatePicker.js +200 -0
- package/dist/esm/v2/components/DatePicker.js.map +1 -0
- package/dist/esm/v2/components/DateRangePicker.js +289 -0
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
- package/dist/esm/v2/components/DateTimePicker.js +182 -0
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
- package/dist/esm/v2/components/Drawer.js +333 -0
- package/dist/esm/v2/components/Drawer.js.map +1 -0
- package/dist/esm/v2/components/Dropzone.js +540 -0
- package/dist/esm/v2/components/Dropzone.js.map +1 -0
- package/dist/esm/v2/components/EmptyState.js +102 -0
- package/dist/esm/v2/components/EmptyState.js.map +1 -0
- package/dist/esm/v2/components/FavoriteToggle.js +127 -0
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/esm/v2/components/Field.js +197 -0
- package/dist/esm/v2/components/Field.js.map +1 -0
- package/dist/esm/v2/components/FieldError.js +124 -0
- package/dist/esm/v2/components/FieldError.js.map +1 -0
- package/dist/esm/v2/components/FieldHelp.js +202 -0
- package/dist/esm/v2/components/FieldHelp.js.map +1 -0
- package/dist/esm/v2/components/FileCard.js +162 -0
- package/dist/esm/v2/components/FileCard.js.map +1 -0
- package/dist/esm/v2/components/FilterTab.js +138 -0
- package/dist/esm/v2/components/FilterTab.js.map +1 -0
- package/dist/esm/v2/components/ForbiddenPage.js +74 -0
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/esm/v2/components/FormGrid.js +179 -0
- package/dist/esm/v2/components/FormGrid.js.map +1 -0
- package/dist/esm/v2/components/FormikDisplay.js +118 -0
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
- package/dist/esm/v2/components/Input.js +107 -0
- package/dist/esm/v2/components/Input.js.map +1 -0
- package/dist/esm/v2/components/KPICard.js +237 -0
- package/dist/esm/v2/components/KPICard.js.map +1 -0
- package/dist/esm/v2/components/KPIStrip.js +84 -0
- package/dist/esm/v2/components/KPIStrip.js.map +1 -0
- package/dist/esm/v2/components/KV.js +75 -0
- package/dist/esm/v2/components/KV.js.map +1 -0
- package/dist/esm/v2/components/KVGrid.js +74 -0
- package/dist/esm/v2/components/KVGrid.js.map +1 -0
- package/dist/esm/v2/components/Layout.js +284 -0
- package/dist/esm/v2/components/Layout.js.map +1 -0
- package/dist/esm/v2/components/MobileRowCard.js +314 -0
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
- package/dist/esm/v2/components/Modal.js +276 -0
- package/dist/esm/v2/components/Modal.js.map +1 -0
- package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/esm/v2/components/NotFoundPage.js +58 -0
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
- package/dist/esm/v2/components/NumberInput.js +309 -0
- package/dist/esm/v2/components/NumberInput.js.map +1 -0
- package/dist/esm/v2/components/OverflowMenu.js +184 -0
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
- package/dist/esm/v2/components/PdfViewer.js +122 -0
- package/dist/esm/v2/components/PdfViewer.js.map +1 -0
- package/dist/esm/v2/components/ProgressBar.js +202 -0
- package/dist/esm/v2/components/ProgressBar.js.map +1 -0
- package/dist/esm/v2/components/Radio.js +228 -0
- package/dist/esm/v2/components/Radio.js.map +1 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/esm/v2/components/SectionHeader.js +132 -0
- package/dist/esm/v2/components/SectionHeader.js.map +1 -0
- package/dist/esm/v2/components/Segmented.js +254 -0
- package/dist/esm/v2/components/Segmented.js.map +1 -0
- package/dist/esm/v2/components/Select.js +490 -0
- package/dist/esm/v2/components/Select.js.map +1 -0
- package/dist/esm/v2/components/ServerErrorPage.js +74 -0
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/esm/v2/components/Skeleton.js +269 -0
- package/dist/esm/v2/components/Skeleton.js.map +1 -0
- package/dist/esm/v2/components/SkipLink.js +49 -0
- package/dist/esm/v2/components/SkipLink.js.map +1 -0
- package/dist/esm/v2/components/Spinner.js +69 -0
- package/dist/esm/v2/components/Spinner.js.map +1 -0
- package/dist/esm/v2/components/Status.js +64 -0
- package/dist/esm/v2/components/Status.js.map +1 -0
- package/dist/esm/v2/components/Stepper.js +432 -0
- package/dist/esm/v2/components/Stepper.js.map +1 -0
- package/dist/esm/v2/components/Surface.js +159 -0
- package/dist/esm/v2/components/Surface.js.map +1 -0
- package/dist/esm/v2/components/Switch.js +128 -0
- package/dist/esm/v2/components/Switch.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +150 -0
- package/dist/esm/v2/components/Tabs.js.map +1 -0
- package/dist/esm/v2/components/TelInput.js +274 -0
- package/dist/esm/v2/components/TelInput.js.map +1 -0
- package/dist/esm/v2/components/Textarea.js +72 -0
- package/dist/esm/v2/components/Textarea.js.map +1 -0
- package/dist/esm/v2/components/TimePicker.js +134 -0
- package/dist/esm/v2/components/TimePicker.js.map +1 -0
- package/dist/esm/v2/components/Toast.js +376 -0
- package/dist/esm/v2/components/Toast.js.map +1 -0
- package/dist/esm/v2/components/Tooltip.js +161 -0
- package/dist/esm/v2/components/Tooltip.js.map +1 -0
- package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/esm/v2/components/_pickerShared.js +60 -0
- package/dist/esm/v2/components/_pickerShared.js.map +1 -0
- package/dist/esm/v2/components/index.js +244 -0
- package/dist/esm/v2/components/index.js.map +1 -0
- package/dist/esm/v2/hooks/index.js +10 -0
- package/dist/esm/v2/hooks/index.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/esm/v2/hooks/useDensity.js +119 -0
- package/dist/esm/v2/hooks/useDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useSortedRows.js +32 -0
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/esm/v2/hooks/useTabLoading.js +79 -0
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/esm/v2/index.js +121 -0
- package/dist/esm/v2/index.js.map +1 -0
- package/dist/esm/v2/modalContext.js +108 -0
- package/dist/esm/v2/modalContext.js.map +1 -0
- package/dist/esm/v2/models/favorite.js +2 -0
- package/dist/esm/v2/models/favorite.js.map +1 -0
- package/dist/esm/v2/models/index.js +12 -0
- package/dist/esm/v2/models/index.js.map +1 -0
- package/dist/esm/v2/models/personalization.js +2 -0
- package/dist/esm/v2/models/personalization.js.map +1 -0
- package/dist/esm/v2/models/referentiel.js +2 -0
- package/dist/esm/v2/models/referentiel.js.map +1 -0
- package/dist/esm/v2/models/savedFilter.js +2 -0
- package/dist/esm/v2/models/savedFilter.js.map +1 -0
- package/dist/esm/v2/patterns/ActionBar.js +603 -0
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/esm/v2/patterns/DataGrid.js +820 -0
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +164 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormPageShell.js +126 -0
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/FormSection.js +190 -0
- package/dist/esm/v2/patterns/FormSection.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCombobox.js +115 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +196 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +148 -0
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
- package/dist/esm/v2/patterns/FormikInput.js +127 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/FormikSelect.js +159 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +76 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +195 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/esm/v2/patterns/PageContent.js +62 -0
- package/dist/esm/v2/patterns/PageContent.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +615 -0
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/SortableHeader.js +179 -0
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/esm/v2/patterns/Tour.js +471 -0
- package/dist/esm/v2/patterns/Tour.js.map +1 -0
- package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +112 -0
- package/dist/esm/v2/patterns/_sort.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +95 -0
- package/dist/esm/v2/patterns/index.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/index.js +11 -0
- package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +17 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/esm/v2/personalization/index.js +46 -0
- package/dist/esm/v2/personalization/index.js.map +1 -0
- package/dist/esm/v2/personalization/personalizationContext.js +108 -0
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/esm/v2/personalization/schema.js +92 -0
- package/dist/esm/v2/personalization/schema.js.map +1 -0
- package/dist/esm/v2/personalization/types.js +2 -0
- package/dist/esm/v2/personalization/types.js.map +1 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/esm/v2/referentiel/index.js +15 -0
- package/dist/esm/v2/referentiel/index.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/esm/v2/styles/base.css +425 -0
- package/dist/esm/v2/styles/css.d.ts +10 -0
- package/dist/esm/v2/styles/index.js +12 -0
- package/dist/esm/v2/styles/index.js.map +1 -0
- package/dist/esm/v2/theme/_brand.js +64 -0
- package/dist/esm/v2/theme/_brand.js.map +1 -0
- package/dist/esm/v2/theme/_brandSecondary.js +60 -0
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/esm/v2/theme/cssVariables.js +198 -0
- package/dist/esm/v2/theme/cssVariables.js.map +1 -0
- package/dist/esm/v2/theme/index.js +32 -0
- package/dist/esm/v2/theme/index.js.map +1 -0
- package/dist/esm/v2/tokens/breakpoints.js +106 -0
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +219 -0
- package/dist/esm/v2/tokens/colors.js.map +1 -0
- package/dist/esm/v2/tokens/density.js +98 -0
- package/dist/esm/v2/tokens/density.js.map +1 -0
- package/dist/esm/v2/tokens/index.js +80 -0
- package/dist/esm/v2/tokens/index.js.map +1 -0
- package/dist/esm/v2/tokens/motion.js +88 -0
- package/dist/esm/v2/tokens/motion.js.map +1 -0
- package/dist/esm/v2/tokens/radius.js +22 -0
- package/dist/esm/v2/tokens/radius.js.map +1 -0
- package/dist/esm/v2/tokens/shadows.js +40 -0
- package/dist/esm/v2/tokens/shadows.js.map +1 -0
- package/dist/esm/v2/tokens/spacing.js +51 -0
- package/dist/esm/v2/tokens/spacing.js.map +1 -0
- package/dist/esm/v2/tokens/state.js +41 -0
- package/dist/esm/v2/tokens/state.js.map +1 -0
- package/dist/esm/v2/tokens/statusPalette.js +66 -0
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
- package/dist/esm/v2/tokens/tokens.json +153 -0
- package/dist/esm/v2/tokens/typography.js +149 -0
- package/dist/esm/v2/tokens/typography.js.map +1 -0
- package/dist/esm/v2/tokens/zIndex.js +44 -0
- package/dist/esm/v2/tokens/zIndex.js.map +1 -0
- package/dist/esm/v2/types/common.js +2 -0
- package/dist/esm/v2/types/common.js.map +1 -0
- package/dist/esm/v2/types/datagrid.js +2 -0
- package/dist/esm/v2/types/datagrid.js.map +1 -0
- package/dist/esm/v2/types/index.js +12 -0
- package/dist/esm/v2/types/index.js.map +1 -0
- package/dist/esm/v2/utils/apiError.js +281 -0
- package/dist/esm/v2/utils/apiError.js.map +1 -0
- package/dist/esm/v2/utils/contrast.js +157 -0
- package/dist/esm/v2/utils/contrast.js.map +1 -0
- package/dist/esm/v2/utils/cx.js +38 -0
- package/dist/esm/v2/utils/cx.js.map +1 -0
- package/dist/esm/v2/utils/fileDownload.js +226 -0
- package/dist/esm/v2/utils/fileDownload.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +78 -0
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
- package/dist/esm/v2/utils/index.js +43 -0
- package/dist/esm/v2/utils/index.js.map +1 -0
- package/dist/esm/v2/utils/mergeLabels.js +86 -0
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
- package/dist/esm/v2/utils/networkStatus.js +114 -0
- package/dist/esm/v2/utils/networkStatus.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/FieldError.test.js +164 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +148 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/components/Accordion.d.ts +6 -6
- package/dist/v2/components/Accordion.d.ts.map +1 -1
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.d.ts +12 -12
- package/dist/v2/components/ActionStrip.d.ts.map +1 -1
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.d.ts +48 -9
- package/dist/v2/components/Banner.d.ts.map +1 -1
- package/dist/v2/components/Banner.js +116 -35
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.d.ts +3 -3
- package/dist/v2/components/Busy.d.ts.map +1 -1
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.d.ts +6 -6
- package/dist/v2/components/Button.d.ts.map +1 -1
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts +3 -3
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.d.ts +11 -11
- package/dist/v2/components/Checkbox.d.ts.map +1 -1
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.d.ts +8 -8
- package/dist/v2/components/Chip.d.ts.map +1 -1
- package/dist/v2/components/Chip.js +2 -1
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.d.ts +27 -27
- package/dist/v2/components/Combobox.d.ts.map +1 -1
- package/dist/v2/components/Combobox.js +3 -2
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.d.ts +20 -20
- package/dist/v2/components/CommandPalette.d.ts.map +1 -1
- package/dist/v2/components/CommandPalette.js +2 -6
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.d.ts +13 -13
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +2 -1
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.d.ts +11 -11
- package/dist/v2/components/DatePicker.d.ts.map +1 -1
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.d.ts +16 -16
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
- package/dist/v2/components/DateRangePicker.js +2 -1
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts +11 -11
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts +18 -18
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +2 -1
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.d.ts +34 -34
- package/dist/v2/components/Dropzone.d.ts.map +1 -1
- package/dist/v2/components/Dropzone.js +11 -3
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.d.ts +7 -7
- package/dist/v2/components/EmptyState.d.ts.map +1 -1
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.d.ts +7 -7
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +2 -1
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +17 -12
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +25 -7
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.d.ts +78 -0
- package/dist/v2/components/FieldError.d.ts.map +1 -0
- package/dist/v2/components/FieldError.js +131 -0
- package/dist/v2/components/FieldError.js.map +1 -0
- package/dist/v2/components/FieldHelp.d.ts +7 -7
- package/dist/v2/components/FieldHelp.d.ts.map +1 -1
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.d.ts +75 -0
- package/dist/v2/components/FileCard.d.ts.map +1 -0
- package/dist/v2/components/FileCard.js +169 -0
- package/dist/v2/components/FileCard.js.map +1 -0
- package/dist/v2/components/FilterTab.d.ts +9 -9
- package/dist/v2/components/FilterTab.d.ts.map +1 -1
- package/dist/v2/components/FilterTab.js +2 -1
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/FormGrid.d.ts +9 -4
- package/dist/v2/components/FormGrid.d.ts.map +1 -1
- package/dist/v2/components/FormGrid.js +11 -1
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +6 -6
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +6 -6
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.d.ts +43 -13
- package/dist/v2/components/KPICard.d.ts.map +1 -1
- package/dist/v2/components/KPICard.js +53 -14
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.d.ts +68 -0
- package/dist/v2/components/KPIStrip.d.ts.map +1 -0
- package/dist/v2/components/KPIStrip.js +92 -0
- package/dist/v2/components/KPIStrip.js.map +1 -0
- package/dist/v2/components/KV.d.ts +3 -3
- package/dist/v2/components/KV.d.ts.map +1 -1
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.d.ts +2 -2
- package/dist/v2/components/KVGrid.d.ts.map +1 -1
- package/dist/v2/components/KVGrid.js +8 -1
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.d.ts +7 -7
- package/dist/v2/components/Layout.d.ts.map +1 -1
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.d.ts +13 -13
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.d.ts +12 -12
- package/dist/v2/components/Modal.d.ts.map +1 -1
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NumberInput.d.ts +14 -14
- package/dist/v2/components/NumberInput.d.ts.map +1 -1
- package/dist/v2/components/NumberInput.js +7 -6
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.d.ts +14 -14
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
- package/dist/v2/components/OverflowMenu.js +4 -8
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.d.ts +9 -9
- package/dist/v2/components/PdfViewer.d.ts.map +1 -1
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.d.ts +10 -10
- package/dist/v2/components/ProgressBar.d.ts.map +1 -1
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.d.ts +7 -7
- package/dist/v2/components/Radio.d.ts.map +1 -1
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
- package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
- package/dist/v2/components/SectionErrorBoundary.js +221 -0
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/v2/components/SectionHeader.d.ts +5 -5
- package/dist/v2/components/SectionHeader.d.ts.map +1 -1
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.d.ts +11 -11
- package/dist/v2/components/Segmented.d.ts.map +1 -1
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +33 -15
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +147 -30
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.d.ts +15 -15
- package/dist/v2/components/Skeleton.d.ts.map +1 -1
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.d.ts +2 -2
- package/dist/v2/components/SkipLink.d.ts.map +1 -1
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Status.d.ts +3 -3
- package/dist/v2/components/Status.d.ts.map +1 -1
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.d.ts +28 -22
- package/dist/v2/components/Stepper.d.ts.map +1 -1
- package/dist/v2/components/Stepper.js +31 -5
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.d.ts +94 -0
- package/dist/v2/components/Surface.d.ts.map +1 -0
- package/dist/v2/components/Surface.js +163 -0
- package/dist/v2/components/Surface.js.map +1 -0
- package/dist/v2/components/Switch.d.ts +4 -4
- package/dist/v2/components/Switch.d.ts.map +1 -1
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/Tabs.d.ts +6 -6
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.d.ts +8 -8
- package/dist/v2/components/TelInput.d.ts.map +1 -1
- package/dist/v2/components/TelInput.js +18 -18
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.d.ts +1 -1
- package/dist/v2/components/Textarea.d.ts.map +1 -1
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.d.ts +11 -11
- package/dist/v2/components/TimePicker.d.ts.map +1 -1
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.d.ts +6 -6
- package/dist/v2/components/Toast.d.ts.map +1 -1
- package/dist/v2/components/Toast.js +9 -8
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.d.ts +1 -1
- package/dist/v2/components/Tooltip.d.ts.map +1 -1
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/index.d.ts +143 -0
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +35 -0
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +1 -1
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +13 -13
- 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 +11 -11
- 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 -8
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.d.ts +33 -33
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/ActionBar.js +2 -1
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/BulkActionBar.js +2 -1
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +4 -8
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +2 -1
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.d.ts +6 -6
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +2 -1
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.d.ts +4 -4
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +19 -8
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +106 -71
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +11 -11
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +36 -8
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +27 -1
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikFile.d.ts +8 -8
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +41 -6
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +49 -1
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +33 -12
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +28 -2
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +5 -5
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +7 -7
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +2 -6
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.d.ts +3 -3
- package/dist/v2/patterns/PageContent.d.ts.map +1 -1
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/ReferentielField.d.ts +49 -49
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +2 -1
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +9 -8
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.d.ts +12 -12
- package/dist/v2/patterns/Tour.d.ts.map +1 -1
- package/dist/v2/patterns/Tour.js +9 -8
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +37 -3
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/index.d.ts +27 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/schema.d.ts +2 -2
- package/dist/v2/personalization/schema.d.ts.map +1 -1
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/personalization/types.d.ts +19 -19
- package/dist/v2/personalization/types.d.ts.map +1 -1
- package/dist/v2/personalization/types.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +25 -1
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +59 -59
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/utils/apiError.d.ts +65 -4
- package/dist/v2/utils/apiError.d.ts.map +1 -1
- package/dist/v2/utils/apiError.js +69 -6
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/index.d.ts +1 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +7 -0
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.d.ts +59 -0
- package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
- package/dist/v2/utils/mergeLabels.js +93 -0
- package/dist/v2/utils/mergeLabels.js.map +1 -0
- package/package.json +23 -15
|
@@ -0,0 +1,523 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import Box from "@mui/material/Box";
|
|
9
|
+
import Table from "@mui/material/Table";
|
|
10
|
+
import TableHead from "@mui/material/TableHead";
|
|
11
|
+
import TableBody from "@mui/material/TableBody";
|
|
12
|
+
import TableRow from "@mui/material/TableRow";
|
|
13
|
+
import TableCell from "@mui/material/TableCell";
|
|
14
|
+
import Checkbox from "@mui/material/Checkbox";
|
|
15
|
+
import DragIndicatorIcon from "@mui/icons-material/DragIndicator";
|
|
16
|
+
import { useVirtualizer } from "@tanstack/react-virtual";
|
|
17
|
+
import { SkeletonRow } from "../components/Skeleton";
|
|
18
|
+
import SortableHeader, { getAriaSort } from "./SortableHeader";
|
|
19
|
+
import useDelayedFlag from "../hooks/useDelayedFlag";
|
|
20
|
+
import { density } from "../tokens";
|
|
21
|
+
import { DEFAULT_MAX_BODY_HEIGHT, mergeLabels, useColumnsStabilityWarn, applyColumnOrder, CONTAINER_SX, TABLE_BY_DENSITY, ROW_CLICKABLE_SX, ROW_STATIC_SX, HEADER_CHECKBOX_CELL_SX, BODY_CHECKBOX_CELL_SX, ERROR_CELL_SX, ERROR_INNER_SX, Pagination } from "./_dataGridShared";
|
|
22
|
+
import useColumnResize from "./_useColumnResize";
|
|
23
|
+
import useColumnReorder from "./_useColumnReorder";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* DataGridVirtualized - Portnet UI v2 (pattern)
|
|
27
|
+
*
|
|
28
|
+
* Same public API as DataGrid + four virtualization-specific props
|
|
29
|
+
* + the resize/reorder opt-ins (mirrors DataGrid):
|
|
30
|
+
*
|
|
31
|
+
* rowHeight, overscan — virtualization
|
|
32
|
+
* resizable, columnWidths, onColumnWidthsChange — resize
|
|
33
|
+
* reorderable, columnOrder, onColumnOrderChange — reorder
|
|
34
|
+
*
|
|
35
|
+
* When to use:
|
|
36
|
+
* - 1000+ rows where pagination would feel artificial.
|
|
37
|
+
* - Audit logs / ledgers / "view all" flows.
|
|
38
|
+
*
|
|
39
|
+
* When NOT to use:
|
|
40
|
+
* - <100 rows: DataGrid is simpler.
|
|
41
|
+
* - Variable-height rows: NOT supported (uniform rowHeight only).
|
|
42
|
+
*
|
|
43
|
+
* Virtualization caveats:
|
|
44
|
+
* - rowFlashId only fires when the target row is in the current window.
|
|
45
|
+
* For confirmations that survive scroll, use a Toast.
|
|
46
|
+
* - Sort + filter cost is host-side.
|
|
47
|
+
*
|
|
48
|
+
* A11y (DG-V1): the table advertises aria-rowcount over the FULL dataset while
|
|
49
|
+
* only the windowed rows are in the DOM, so every rendered row carries an
|
|
50
|
+
* explicit aria-rowindex (header = 1, data row = virtualItem.index + 2) so SR
|
|
51
|
+
* users hear their true position. aria-hidden spacer rows stay unindexed.
|
|
52
|
+
* DG-2: the resize grip is a focusable role="separator" (tabIndex 0,
|
|
53
|
+
* aria-valuenow/valuemin) operable by pointer AND keyboard (Arrow / Home).
|
|
54
|
+
* DG-R1: reorderable columns expose a hover/focus-revealed grip button
|
|
55
|
+
* (aria-keyshortcuts Arrow/Home/End → useColumnReorder.handleKeyDown) so column
|
|
56
|
+
* reorder is keyboard-operable, not drag-only; focus follows the moved column.
|
|
57
|
+
*/
|
|
58
|
+
|
|
59
|
+
/** Row-height density tiers for the virtualizer — a distinct, wider set than
|
|
60
|
+
* the canonical 2-tier Density (which governs table cell padding). */
|
|
61
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
62
|
+
/** Default row height by density tier. */
|
|
63
|
+
var DEFAULT_ROW_HEIGHT_BY_DENSITY = Object.freeze({
|
|
64
|
+
spacious: density.spacious.row,
|
|
65
|
+
// 56
|
|
66
|
+
comfortable: density.comfortable.row,
|
|
67
|
+
// 44
|
|
68
|
+
compact: density.compact.row,
|
|
69
|
+
// 36
|
|
70
|
+
ultraCompact: density.ultraCompact.row // 28
|
|
71
|
+
});
|
|
72
|
+
var PADDING_CELL_SX = Object.freeze({
|
|
73
|
+
padding: 0,
|
|
74
|
+
border: 0
|
|
75
|
+
});
|
|
76
|
+
|
|
77
|
+
/* DG-R1 — reorder grip button. Hidden (opacity 0) until the header is hovered /
|
|
78
|
+
* focus-within, and always revealed while itself focus-visible so it stays
|
|
79
|
+
* Tab-reachable. Absolutely positioned in the header cell's inline-start
|
|
80
|
+
* padding; background matches the header so it masks the sliver it overlaps. */
|
|
81
|
+
var REORDER_GRIP_SX = Object.freeze({
|
|
82
|
+
position: "absolute",
|
|
83
|
+
insetInlineStart: 2,
|
|
84
|
+
top: "50%",
|
|
85
|
+
transform: "translateY(-50%)",
|
|
86
|
+
zIndex: 2,
|
|
87
|
+
display: "inline-flex",
|
|
88
|
+
alignItems: "center",
|
|
89
|
+
justifyContent: "center",
|
|
90
|
+
width: 18,
|
|
91
|
+
height: 18,
|
|
92
|
+
padding: 0,
|
|
93
|
+
border: "none",
|
|
94
|
+
borderRadius: "var(--r-sm)",
|
|
95
|
+
background: "var(--bg-subtle)",
|
|
96
|
+
color: "var(--fg-subtle)",
|
|
97
|
+
cursor: "grab",
|
|
98
|
+
opacity: 0,
|
|
99
|
+
pointerEvents: "none",
|
|
100
|
+
transition: "opacity var(--duration-fast, 120ms) ease",
|
|
101
|
+
fontFamily: "inherit",
|
|
102
|
+
"th:hover &, th:focus-within &": {
|
|
103
|
+
opacity: 1,
|
|
104
|
+
pointerEvents: "auto"
|
|
105
|
+
},
|
|
106
|
+
"@media (pointer: coarse)": {
|
|
107
|
+
opacity: 1,
|
|
108
|
+
pointerEvents: "auto"
|
|
109
|
+
},
|
|
110
|
+
"&:focus-visible": {
|
|
111
|
+
outline: "2px solid var(--accent)",
|
|
112
|
+
outlineOffset: "-1px",
|
|
113
|
+
opacity: 1,
|
|
114
|
+
pointerEvents: "auto"
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
|
|
118
|
+
/* Default value accessor for an unconstrained row type — typed against
|
|
119
|
+
* `unknown` so the single assertion is legal (mirrors DataGrid). */
|
|
120
|
+
function readCellValue(row, key) {
|
|
121
|
+
return row[key];
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to
|
|
125
|
+
* the declared `(row: T) => RowId` by parameter contravariance. */
|
|
126
|
+
var defaultGetRowId = function defaultGetRowId(row) {
|
|
127
|
+
return row.id;
|
|
128
|
+
};
|
|
129
|
+
function DataGridVirtualized(_ref) {
|
|
130
|
+
var _ref2;
|
|
131
|
+
var _ref$rows = _ref.rows,
|
|
132
|
+
rows = _ref$rows === void 0 ? [] : _ref$rows,
|
|
133
|
+
_ref$columns = _ref.columns,
|
|
134
|
+
rawColumns = _ref$columns === void 0 ? [] : _ref$columns,
|
|
135
|
+
_ref$loading = _ref.loading,
|
|
136
|
+
loading = _ref$loading === void 0 ? false : _ref$loading,
|
|
137
|
+
_ref$error = _ref.error,
|
|
138
|
+
error = _ref$error === void 0 ? null : _ref$error,
|
|
139
|
+
_ref$sort = _ref.sort,
|
|
140
|
+
sort = _ref$sort === void 0 ? [] : _ref$sort,
|
|
141
|
+
onSortChange = _ref.onSortChange,
|
|
142
|
+
selection = _ref.selection,
|
|
143
|
+
onSelectionChange = _ref.onSelectionChange,
|
|
144
|
+
pagination = _ref.pagination,
|
|
145
|
+
emptyState = _ref.emptyState,
|
|
146
|
+
filteredEmptyState = _ref.filteredEmptyState,
|
|
147
|
+
errorState = _ref.errorState,
|
|
148
|
+
_ref$getRowId = _ref.getRowId,
|
|
149
|
+
getRowId = _ref$getRowId === void 0 ? defaultGetRowId : _ref$getRowId,
|
|
150
|
+
onRowClick = _ref.onRowClick,
|
|
151
|
+
rowFlashId = _ref.rowFlashId,
|
|
152
|
+
_ref$filtered = _ref.filtered,
|
|
153
|
+
filtered = _ref$filtered === void 0 ? false : _ref$filtered,
|
|
154
|
+
_ref$density = _ref.density,
|
|
155
|
+
densityProp = _ref$density === void 0 ? "comfortable" : _ref$density,
|
|
156
|
+
ariaLabel = _ref.ariaLabel,
|
|
157
|
+
_ref$locale = _ref.locale,
|
|
158
|
+
locale = _ref$locale === void 0 ? "fr-FR" : _ref$locale,
|
|
159
|
+
labels = _ref.labels,
|
|
160
|
+
_ref$maxBodyHeight = _ref.maxBodyHeight,
|
|
161
|
+
maxBodyHeight = _ref$maxBodyHeight === void 0 ? DEFAULT_MAX_BODY_HEIGHT : _ref$maxBodyHeight,
|
|
162
|
+
rowHeight = _ref.rowHeight,
|
|
163
|
+
_ref$overscan = _ref.overscan,
|
|
164
|
+
overscan = _ref$overscan === void 0 ? 10 : _ref$overscan,
|
|
165
|
+
_ref$resizable = _ref.resizable,
|
|
166
|
+
resizable = _ref$resizable === void 0 ? false : _ref$resizable,
|
|
167
|
+
columnWidths = _ref.columnWidths,
|
|
168
|
+
onColumnWidthsChange = _ref.onColumnWidthsChange,
|
|
169
|
+
_ref$reorderable = _ref.reorderable,
|
|
170
|
+
reorderable = _ref$reorderable === void 0 ? false : _ref$reorderable,
|
|
171
|
+
columnOrder = _ref.columnOrder,
|
|
172
|
+
onColumnOrderChange = _ref.onColumnOrderChange;
|
|
173
|
+
var L = React.useMemo(function () {
|
|
174
|
+
return mergeLabels(labels);
|
|
175
|
+
}, [labels]);
|
|
176
|
+
var tableAria = ariaLabel != null ? ariaLabel : L.tableAria;
|
|
177
|
+
var showSkeleton = useDelayedFlag(loading);
|
|
178
|
+
useColumnsStabilityWarn(rawColumns);
|
|
179
|
+
|
|
180
|
+
// Apply host-supplied column order (defensive, see _dataGridShared).
|
|
181
|
+
var columns = React.useMemo(function () {
|
|
182
|
+
return applyColumnOrder(rawColumns, columnOrder);
|
|
183
|
+
}, [rawColumns, columnOrder]);
|
|
184
|
+
|
|
185
|
+
// Resize + reorder hooks. Cross-coupled via resizeIsActive.
|
|
186
|
+
var resize = useColumnResize(columnWidths, onColumnWidthsChange);
|
|
187
|
+
var reorder = useColumnReorder(columns, columnOrder, onColumnOrderChange, {
|
|
188
|
+
resizeIsActive: resize.isResizing
|
|
189
|
+
});
|
|
190
|
+
|
|
191
|
+
// DG-R1 — after a keyboard reorder the moved column's grip is re-rendered at
|
|
192
|
+
// a new position and the browser drops focus; re-focus it so repeated Arrow
|
|
193
|
+
// presses keep moving the same column. Keyed on the host-controlled order.
|
|
194
|
+
var pendingReorderFocusRef = React.useRef(null);
|
|
195
|
+
React.useEffect(function () {
|
|
196
|
+
var key = pendingReorderFocusRef.current;
|
|
197
|
+
if (!key || typeof document === "undefined") return;
|
|
198
|
+
pendingReorderFocusRef.current = null;
|
|
199
|
+
var escaped = typeof window !== "undefined" && window.CSS && typeof window.CSS.escape === "function" ? window.CSS.escape(key) : key;
|
|
200
|
+
var el = document.querySelector("[data-reorder-grip=\"".concat(escaped, "\"]"));
|
|
201
|
+
if (el instanceof HTMLElement) el.focus();
|
|
202
|
+
}, [columnOrder]);
|
|
203
|
+
|
|
204
|
+
// Effective row height: prop wins, otherwise density default.
|
|
205
|
+
var effectiveRowHeight = (_ref2 = rowHeight !== null && rowHeight !== void 0 ? rowHeight : DEFAULT_ROW_HEIGHT_BY_DENSITY[densityProp]) !== null && _ref2 !== void 0 ? _ref2 : DEFAULT_ROW_HEIGHT_BY_DENSITY.comfortable;
|
|
206
|
+
var showCheckbox = !!onSelectionChange;
|
|
207
|
+
var colCount = columns.length + (showCheckbox ? 1 : 0);
|
|
208
|
+
var sortable = function sortable(col) {
|
|
209
|
+
return col.sortable !== false && !!col.key && !!onSortChange;
|
|
210
|
+
};
|
|
211
|
+
var selectedSet = React.useMemo(function () {
|
|
212
|
+
return selection instanceof Set ? selection : new Set(selection || []);
|
|
213
|
+
}, [selection]);
|
|
214
|
+
var allSelected = rows.length > 0 && rows.every(function (r) {
|
|
215
|
+
return selectedSet.has(getRowId(r));
|
|
216
|
+
});
|
|
217
|
+
var someSelected = !allSelected && rows.some(function (r) {
|
|
218
|
+
return selectedSet.has(getRowId(r));
|
|
219
|
+
});
|
|
220
|
+
var toggleAll = function toggleAll() {
|
|
221
|
+
if (!onSelectionChange) return;
|
|
222
|
+
if (allSelected) onSelectionChange(new Set());else onSelectionChange(new Set(rows.map(getRowId)));
|
|
223
|
+
};
|
|
224
|
+
var toggleRow = function toggleRow(id) {
|
|
225
|
+
if (!onSelectionChange) return;
|
|
226
|
+
var next = new Set(selectedSet);
|
|
227
|
+
if (next.has(id)) next["delete"](id);else next.add(id);
|
|
228
|
+
onSelectionChange(next);
|
|
229
|
+
};
|
|
230
|
+
var handleRowKeyDown = function handleRowKeyDown(row) {
|
|
231
|
+
return function (e) {
|
|
232
|
+
if (!onRowClick) return;
|
|
233
|
+
if (e.key === "Enter" || e.key === " ") {
|
|
234
|
+
e.preventDefault();
|
|
235
|
+
onRowClick(row);
|
|
236
|
+
}
|
|
237
|
+
};
|
|
238
|
+
};
|
|
239
|
+
var scrollRef = React.useRef(null);
|
|
240
|
+
var virtualizer = useVirtualizer({
|
|
241
|
+
count: rows.length,
|
|
242
|
+
getScrollElement: function getScrollElement() {
|
|
243
|
+
return scrollRef.current;
|
|
244
|
+
},
|
|
245
|
+
estimateSize: function estimateSize() {
|
|
246
|
+
return effectiveRowHeight;
|
|
247
|
+
},
|
|
248
|
+
overscan: overscan
|
|
249
|
+
});
|
|
250
|
+
var virtualItems = virtualizer.getVirtualItems();
|
|
251
|
+
var totalSize = virtualizer.getTotalSize();
|
|
252
|
+
var firstItem = virtualItems[0];
|
|
253
|
+
var lastItem = virtualItems[virtualItems.length - 1];
|
|
254
|
+
var paddingTop = firstItem ? firstItem.start : 0;
|
|
255
|
+
var paddingBottom = lastItem ? totalSize - lastItem.end : 0;
|
|
256
|
+
var scrollContainerSx = React.useMemo(function () {
|
|
257
|
+
return {
|
|
258
|
+
overflow: "auto",
|
|
259
|
+
maxHeight: maxBodyHeight
|
|
260
|
+
};
|
|
261
|
+
}, [maxBodyHeight]);
|
|
262
|
+
// TABLE_BY_DENSITY is keyed by the 2-tier Density; map the wider tier down
|
|
263
|
+
// (matches the JS `TABLE_BY_DENSITY[dp] || .comfortable` fallback).
|
|
264
|
+
var tableDensityKey = densityProp === "compact" ? "compact" : "comfortable";
|
|
265
|
+
var tableSx = TABLE_BY_DENSITY[tableDensityKey];
|
|
266
|
+
|
|
267
|
+
// ── Body branches ──────────────────────────────────────────────
|
|
268
|
+
var body;
|
|
269
|
+
if (showSkeleton) {
|
|
270
|
+
body = /*#__PURE__*/_jsx(TableBody, {
|
|
271
|
+
"aria-busy": "true",
|
|
272
|
+
children: Array.from({
|
|
273
|
+
length: 6
|
|
274
|
+
}, function (_, i) {
|
|
275
|
+
return /*#__PURE__*/_jsx(SkeletonRow, {
|
|
276
|
+
cols: columns.length,
|
|
277
|
+
withCheckbox: showCheckbox,
|
|
278
|
+
withActions: false
|
|
279
|
+
}, "sk-".concat(i));
|
|
280
|
+
})
|
|
281
|
+
});
|
|
282
|
+
} else if (error) {
|
|
283
|
+
body = /*#__PURE__*/_jsx(TableBody, {
|
|
284
|
+
children: /*#__PURE__*/_jsx(TableRow, {
|
|
285
|
+
children: /*#__PURE__*/_jsx(TableCell, {
|
|
286
|
+
colSpan: colCount,
|
|
287
|
+
sx: ERROR_CELL_SX,
|
|
288
|
+
children: /*#__PURE__*/_jsx(Box, {
|
|
289
|
+
sx: ERROR_INNER_SX,
|
|
290
|
+
children: errorState
|
|
291
|
+
})
|
|
292
|
+
})
|
|
293
|
+
})
|
|
294
|
+
});
|
|
295
|
+
} else if (rows.length === 0) {
|
|
296
|
+
body = /*#__PURE__*/_jsx(TableBody, {
|
|
297
|
+
"aria-busy": loading || undefined,
|
|
298
|
+
children: /*#__PURE__*/_jsx(TableRow, {
|
|
299
|
+
children: /*#__PURE__*/_jsx(TableCell, {
|
|
300
|
+
colSpan: colCount,
|
|
301
|
+
sx: ERROR_CELL_SX,
|
|
302
|
+
children: /*#__PURE__*/_jsx(Box, {
|
|
303
|
+
sx: ERROR_INNER_SX,
|
|
304
|
+
children: filtered ? filteredEmptyState : emptyState
|
|
305
|
+
})
|
|
306
|
+
})
|
|
307
|
+
})
|
|
308
|
+
});
|
|
309
|
+
} else {
|
|
310
|
+
body = /*#__PURE__*/_jsxs(TableBody, {
|
|
311
|
+
"aria-busy": loading || undefined,
|
|
312
|
+
children: [paddingTop > 0 && /*#__PURE__*/_jsx(TableRow, {
|
|
313
|
+
"aria-hidden": "true",
|
|
314
|
+
style: {
|
|
315
|
+
height: paddingTop
|
|
316
|
+
},
|
|
317
|
+
children: /*#__PURE__*/_jsx(TableCell, {
|
|
318
|
+
colSpan: colCount,
|
|
319
|
+
sx: PADDING_CELL_SX
|
|
320
|
+
})
|
|
321
|
+
}), virtualItems.map(function (virtualItem) {
|
|
322
|
+
var row = rows[virtualItem.index];
|
|
323
|
+
if (!row) return null;
|
|
324
|
+
var id = getRowId(row);
|
|
325
|
+
var isSelected = selectedSet.has(id);
|
|
326
|
+
var flash = rowFlashId === id;
|
|
327
|
+
var clickable = !!onRowClick;
|
|
328
|
+
return /*#__PURE__*/_jsxs(TableRow, {
|
|
329
|
+
"data-index": virtualItem.index,
|
|
330
|
+
"aria-rowindex": virtualItem.index + 2,
|
|
331
|
+
hover: true,
|
|
332
|
+
"data-selected": isSelected || undefined,
|
|
333
|
+
className: flash ? "pui-row-updated" : undefined,
|
|
334
|
+
onClick: clickable ? function () {
|
|
335
|
+
return onRowClick === null || onRowClick === void 0 ? void 0 : onRowClick(row);
|
|
336
|
+
} : undefined,
|
|
337
|
+
onKeyDown: clickable ? handleRowKeyDown(row) : undefined,
|
|
338
|
+
tabIndex: clickable ? 0 : undefined,
|
|
339
|
+
style: {
|
|
340
|
+
height: virtualItem.size
|
|
341
|
+
},
|
|
342
|
+
sx: clickable ? ROW_CLICKABLE_SX : ROW_STATIC_SX,
|
|
343
|
+
children: [showCheckbox && /*#__PURE__*/_jsx(TableCell, {
|
|
344
|
+
padding: "checkbox",
|
|
345
|
+
sx: BODY_CHECKBOX_CELL_SX,
|
|
346
|
+
children: /*#__PURE__*/_jsx(Checkbox, {
|
|
347
|
+
size: "small",
|
|
348
|
+
checked: isSelected,
|
|
349
|
+
onChange: function onChange(e) {
|
|
350
|
+
e.stopPropagation();
|
|
351
|
+
toggleRow(id);
|
|
352
|
+
},
|
|
353
|
+
onClick: function onClick(e) {
|
|
354
|
+
return e.stopPropagation();
|
|
355
|
+
},
|
|
356
|
+
onKeyDown: function onKeyDown(e) {
|
|
357
|
+
return e.stopPropagation();
|
|
358
|
+
},
|
|
359
|
+
slotProps: {
|
|
360
|
+
input: {
|
|
361
|
+
"aria-label": L.selectRow(id)
|
|
362
|
+
}
|
|
363
|
+
}
|
|
364
|
+
})
|
|
365
|
+
}), columns.map(function (col) {
|
|
366
|
+
var _ref3, _ref4;
|
|
367
|
+
var value = col.getValue ? col.getValue(row) : readCellValue(row, col.key);
|
|
368
|
+
var effectiveWidth = (_ref3 = resize.liveWidths && resize.liveWidths[col.key]) !== null && _ref3 !== void 0 ? _ref3 : col.width;
|
|
369
|
+
// --text-body (14px) — was `var(--text-fs)`, a token typo
|
|
370
|
+
// with no fallback; making the inheritance explicit preserves
|
|
371
|
+
// the rendering while removing the dangling reference.
|
|
372
|
+
var cellSx = _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
373
|
+
fontSize: "var(--text-body)",
|
|
374
|
+
whiteSpace: col.wrap ? "normal" : "nowrap",
|
|
375
|
+
overflow: "hidden",
|
|
376
|
+
textOverflow: "ellipsis"
|
|
377
|
+
}, col.mono ? {
|
|
378
|
+
fontFamily: "var(--font-mono)"
|
|
379
|
+
} : {}), col.numeric || col.mono ? {
|
|
380
|
+
fontVariantNumeric: "tabular-nums"
|
|
381
|
+
} : {}), effectiveWidth != null ? {
|
|
382
|
+
width: effectiveWidth
|
|
383
|
+
} : {}), col.maxWidth != null ? {
|
|
384
|
+
maxWidth: col.maxWidth
|
|
385
|
+
} : {});
|
|
386
|
+
return /*#__PURE__*/_jsx(TableCell, {
|
|
387
|
+
align: col.align || (col.numeric ? "right" : "left"),
|
|
388
|
+
sx: cellSx,
|
|
389
|
+
children: col.render ? col.render(row) : (_ref4 = value) !== null && _ref4 !== void 0 ? _ref4 : "—"
|
|
390
|
+
}, col.key);
|
|
391
|
+
})]
|
|
392
|
+
}, virtualItem.key);
|
|
393
|
+
}), paddingBottom > 0 && /*#__PURE__*/_jsx(TableRow, {
|
|
394
|
+
"aria-hidden": "true",
|
|
395
|
+
style: {
|
|
396
|
+
height: paddingBottom
|
|
397
|
+
},
|
|
398
|
+
children: /*#__PURE__*/_jsx(TableCell, {
|
|
399
|
+
colSpan: colCount,
|
|
400
|
+
sx: PADDING_CELL_SX
|
|
401
|
+
})
|
|
402
|
+
})]
|
|
403
|
+
});
|
|
404
|
+
}
|
|
405
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
406
|
+
sx: CONTAINER_SX,
|
|
407
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
408
|
+
ref: scrollRef,
|
|
409
|
+
sx: scrollContainerSx,
|
|
410
|
+
children: /*#__PURE__*/_jsxs(Table, {
|
|
411
|
+
"aria-label": tableAria,
|
|
412
|
+
"aria-rowcount": rows.length ? rows.length + 1 : undefined,
|
|
413
|
+
size: densityProp === "compact" ? "small" : "medium",
|
|
414
|
+
stickyHeader: true,
|
|
415
|
+
sx: tableSx,
|
|
416
|
+
children: [/*#__PURE__*/_jsx(TableHead, {
|
|
417
|
+
children: /*#__PURE__*/_jsxs(TableRow, {
|
|
418
|
+
"aria-rowindex": 1,
|
|
419
|
+
children: [showCheckbox && /*#__PURE__*/_jsx(TableCell, {
|
|
420
|
+
padding: "checkbox",
|
|
421
|
+
sx: HEADER_CHECKBOX_CELL_SX,
|
|
422
|
+
children: /*#__PURE__*/_jsx(Checkbox, {
|
|
423
|
+
size: "small",
|
|
424
|
+
checked: allSelected,
|
|
425
|
+
indeterminate: someSelected,
|
|
426
|
+
onChange: toggleAll,
|
|
427
|
+
slotProps: {
|
|
428
|
+
input: {
|
|
429
|
+
"aria-label": L.selectAll
|
|
430
|
+
}
|
|
431
|
+
}
|
|
432
|
+
})
|
|
433
|
+
}), columns.map(function (col) {
|
|
434
|
+
var _ref5;
|
|
435
|
+
var isSortable = sortable(col);
|
|
436
|
+
var isResizable = resizable && col.resizable !== false;
|
|
437
|
+
var isReorderable = reorderable && col.reorderable !== false;
|
|
438
|
+
var ariaSort = isSortable ? getAriaSort(sort, col.key) : undefined;
|
|
439
|
+
var effectiveWidth = (_ref5 = resize.liveWidths && resize.liveWidths[col.key]) !== null && _ref5 !== void 0 ? _ref5 : col.width;
|
|
440
|
+
var reorderHandlers = isReorderable ? reorder.cellHandlers(col.key) : null;
|
|
441
|
+
var reorderFeedbackSx = isReorderable ? reorder.cellSx(col.key) : undefined;
|
|
442
|
+
return /*#__PURE__*/_jsxs(TableCell, _objectSpread(_objectSpread({
|
|
443
|
+
align: col.align || (col.numeric ? "right" : "left"),
|
|
444
|
+
"aria-sort": ariaSort
|
|
445
|
+
}, reorderHandlers || {}), {}, {
|
|
446
|
+
sx: _objectSpread(_objectSpread({
|
|
447
|
+
position: "sticky",
|
|
448
|
+
top: 0,
|
|
449
|
+
zIndex: 1
|
|
450
|
+
}, effectiveWidth != null ? {
|
|
451
|
+
width: effectiveWidth
|
|
452
|
+
} : {}), reorderFeedbackSx ? reorderFeedbackSx : {}),
|
|
453
|
+
children: [isSortable && onSortChange ? /*#__PURE__*/_jsx(SortableHeader, {
|
|
454
|
+
sortKey: col.key,
|
|
455
|
+
sort: sort,
|
|
456
|
+
setSort: onSortChange,
|
|
457
|
+
align: col.align || (col.numeric ? "right" : "left"),
|
|
458
|
+
children: col.header
|
|
459
|
+
}) : col.header, isReorderable && /*#__PURE__*/_jsx(Box, {
|
|
460
|
+
component: "button",
|
|
461
|
+
type: "button",
|
|
462
|
+
"data-reorder-grip": col.key,
|
|
463
|
+
"aria-label": "R\xE9organiser la colonne",
|
|
464
|
+
"aria-keyshortcuts": "ArrowLeft ArrowRight Home End",
|
|
465
|
+
onKeyDown: function onKeyDown(e) {
|
|
466
|
+
if (e.key === "ArrowLeft" || e.key === "ArrowRight" || e.key === "Home" || e.key === "End") {
|
|
467
|
+
pendingReorderFocusRef.current = col.key;
|
|
468
|
+
}
|
|
469
|
+
reorder.handleKeyDown(col.key)(e);
|
|
470
|
+
},
|
|
471
|
+
sx: REORDER_GRIP_SX,
|
|
472
|
+
children: /*#__PURE__*/_jsx(DragIndicatorIcon, {
|
|
473
|
+
sx: {
|
|
474
|
+
fontSize: 14
|
|
475
|
+
}
|
|
476
|
+
})
|
|
477
|
+
}), isResizable && /*#__PURE__*/_jsx(Box, {
|
|
478
|
+
role: "separator",
|
|
479
|
+
"aria-orientation": "vertical",
|
|
480
|
+
"aria-label": "Redimensionner la colonne",
|
|
481
|
+
tabIndex: 0,
|
|
482
|
+
"aria-valuenow": typeof effectiveWidth === "number" ? Math.round(effectiveWidth) : undefined,
|
|
483
|
+
"aria-valuemin": resize.minWidth,
|
|
484
|
+
draggable: "false",
|
|
485
|
+
onMouseDown: resize.handleMouseDown(col.key),
|
|
486
|
+
onKeyDown: resize.handleKeyDown(col.key),
|
|
487
|
+
sx: {
|
|
488
|
+
position: "absolute",
|
|
489
|
+
top: 0,
|
|
490
|
+
insetInlineEnd: 0,
|
|
491
|
+
width: 8,
|
|
492
|
+
height: "100%",
|
|
493
|
+
cursor: "col-resize",
|
|
494
|
+
userSelect: "none",
|
|
495
|
+
touchAction: "none",
|
|
496
|
+
zIndex: 2,
|
|
497
|
+
"&:hover": {
|
|
498
|
+
background: "var(--state-hover-overlay)"
|
|
499
|
+
},
|
|
500
|
+
"&:active": {
|
|
501
|
+
background: "var(--state-pressed-overlay)"
|
|
502
|
+
},
|
|
503
|
+
"&:focus-visible": {
|
|
504
|
+
outline: "2px solid var(--accent)",
|
|
505
|
+
outlineOffset: "-1px",
|
|
506
|
+
background: "var(--state-hover-overlay)"
|
|
507
|
+
}
|
|
508
|
+
}
|
|
509
|
+
})]
|
|
510
|
+
}), col.key);
|
|
511
|
+
})]
|
|
512
|
+
})
|
|
513
|
+
}), body]
|
|
514
|
+
})
|
|
515
|
+
}), pagination && /*#__PURE__*/_jsx(Pagination, _objectSpread(_objectSpread({}, pagination), {}, {
|
|
516
|
+
loading: loading,
|
|
517
|
+
locale: locale,
|
|
518
|
+
labels: L.pagination
|
|
519
|
+
}))]
|
|
520
|
+
});
|
|
521
|
+
}
|
|
522
|
+
export default DataGridVirtualized;
|
|
523
|
+
//# sourceMappingURL=DataGridVirtualized.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridVirtualized.js","names":["React","Box","Table","TableHead","TableBody","TableRow","TableCell","Checkbox","DragIndicatorIcon","useVirtualizer","SkeletonRow","SortableHeader","getAriaSort","useDelayedFlag","density","DEFAULT_MAX_BODY_HEIGHT","mergeLabels","useColumnsStabilityWarn","applyColumnOrder","CONTAINER_SX","TABLE_BY_DENSITY","ROW_CLICKABLE_SX","ROW_STATIC_SX","HEADER_CHECKBOX_CELL_SX","BODY_CHECKBOX_CELL_SX","ERROR_CELL_SX","ERROR_INNER_SX","Pagination","useColumnResize","useColumnReorder","jsx","_jsx","jsxs","_jsxs","DEFAULT_ROW_HEIGHT_BY_DENSITY","Object","freeze","spacious","row","comfortable","compact","ultraCompact","PADDING_CELL_SX","padding","border","REORDER_GRIP_SX","position","insetInlineStart","top","transform","zIndex","display","alignItems","justifyContent","width","height","borderRadius","background","color","cursor","opacity","pointerEvents","transition","fontFamily","outline","outlineOffset","readCellValue","key","defaultGetRowId","id","DataGridVirtualized","_ref","_ref2","_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","_ref$filtered","filtered","_ref$density","densityProp","ariaLabel","_ref$locale","locale","labels","_ref$maxBodyHeight","maxBodyHeight","rowHeight","_ref$overscan","overscan","_ref$resizable","resizable","columnWidths","onColumnWidthsChange","_ref$reorderable","reorderable","columnOrder","onColumnOrderChange","L","useMemo","tableAria","showSkeleton","resize","reorder","resizeIsActive","isResizing","pendingReorderFocusRef","useRef","useEffect","current","document","escaped","window","CSS","escape","el","querySelector","concat","HTMLElement","focus","effectiveRowHeight","showCheckbox","colCount","length","sortable","col","selectedSet","Set","allSelected","every","r","has","someSelected","some","toggleAll","map","toggleRow","next","add","handleRowKeyDown","e","preventDefault","scrollRef","virtualizer","count","getScrollElement","estimateSize","virtualItems","getVirtualItems","totalSize","getTotalSize","firstItem","lastItem","paddingTop","start","paddingBottom","end","scrollContainerSx","overflow","maxHeight","tableDensityKey","tableSx","body","children","Array","from","_","i","cols","withCheckbox","withActions","colSpan","sx","undefined","style","virtualItem","index","isSelected","flash","clickable","hover","className","onClick","onKeyDown","tabIndex","size","checked","onChange","stopPropagation","slotProps","input","selectRow","_ref3","_ref4","value","getValue","effectiveWidth","liveWidths","cellSx","_objectSpread","fontSize","whiteSpace","wrap","textOverflow","mono","numeric","fontVariantNumeric","maxWidth","align","render","ref","stickyHeader","indeterminate","selectAll","_ref5","isSortable","isResizable","isReorderable","ariaSort","reorderHandlers","cellHandlers","reorderFeedbackSx","sortKey","setSort","header","component","type","handleKeyDown","role","Math","round","minWidth","draggable","onMouseDown","handleMouseDown","insetInlineEnd","userSelect","touchAction"],"sources":["../../../../src/lib/v2/patterns/DataGridVirtualized.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 type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\r\nimport { SkeletonRow } from \"../components/Skeleton\";\r\nimport SortableHeader, { getAriaSort } from \"./SortableHeader\";\r\nimport useDelayedFlag from \"../hooks/useDelayedFlag\";\r\nimport { density } from \"../tokens\";\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 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 DataGridColumn,\r\n DataGridLabels,\r\n DataGridPagination,\r\n} from \"../types/datagrid\";\r\nimport type { Density, RowId, SortDescriptor } from \"../types/common\";\r\n\r\n/**\r\n * DataGridVirtualized - Portnet UI v2 (pattern)\r\n *\r\n * Same public API as DataGrid + four virtualization-specific props\r\n * + the resize/reorder opt-ins (mirrors DataGrid):\r\n *\r\n * rowHeight, overscan — virtualization\r\n * resizable, columnWidths, onColumnWidthsChange — resize\r\n * reorderable, columnOrder, onColumnOrderChange — reorder\r\n *\r\n * When to use:\r\n * - 1000+ rows where pagination would feel artificial.\r\n * - Audit logs / ledgers / \"view all\" flows.\r\n *\r\n * When NOT to use:\r\n * - <100 rows: DataGrid is simpler.\r\n * - Variable-height rows: NOT supported (uniform rowHeight only).\r\n *\r\n * Virtualization caveats:\r\n * - rowFlashId only fires when the target row is in the current window.\r\n * For confirmations that survive scroll, use a Toast.\r\n * - Sort + filter cost is host-side.\r\n *\r\n * A11y (DG-V1): the table advertises aria-rowcount over the FULL dataset while\r\n * only the windowed rows are in the DOM, so every rendered row carries an\r\n * explicit aria-rowindex (header = 1, data row = virtualItem.index + 2) so SR\r\n * users hear their true position. aria-hidden spacer rows stay unindexed.\r\n * DG-2: the resize grip is a focusable role=\"separator\" (tabIndex 0,\r\n * aria-valuenow/valuemin) operable by pointer AND keyboard (Arrow / Home).\r\n * DG-R1: reorderable columns expose a hover/focus-revealed grip button\r\n * (aria-keyshortcuts Arrow/Home/End → useColumnReorder.handleKeyDown) so column\r\n * reorder is keyboard-operable, not drag-only; focus follows the moved column.\r\n */\r\n\r\n/** Row-height density tiers for the virtualizer — a distinct, wider set than\r\n * the canonical 2-tier Density (which governs table cell padding). */\r\nexport type DataGridVirtualizedDensity =\r\n | \"spacious\"\r\n | \"comfortable\"\r\n | \"compact\"\r\n | \"ultraCompact\";\r\n\r\nexport interface DataGridVirtualizedProps<T> {\r\n rows?: T[] | undefined;\r\n columns: DataGridColumn<T>[];\r\n loading?: boolean | undefined;\r\n /** Any truthy value switches the grid to its error branch. */\r\n error?: unknown;\r\n sort?: SortDescriptor[] | undefined;\r\n onSortChange?: React.Dispatch<React.SetStateAction<SortDescriptor[]>> | undefined;\r\n selection?: Set<RowId> | RowId[] | undefined;\r\n onSelectionChange?: ((selection: Set<RowId>) => void) | undefined;\r\n pagination?: DataGridPagination | undefined;\r\n emptyState?: React.ReactNode | undefined;\r\n filteredEmptyState?: React.ReactNode | undefined;\r\n errorState?: React.ReactNode | undefined;\r\n getRowId?: ((row: T) => RowId) | undefined;\r\n onRowClick?: ((row: T) => void) | undefined;\r\n rowFlashId?: RowId | undefined;\r\n filtered?: boolean | undefined;\r\n density?: DataGridVirtualizedDensity | undefined;\r\n ariaLabel?: string | undefined;\r\n locale?: string | undefined;\r\n labels?: DataGridLabels | undefined;\r\n maxBodyHeight?: number | string | undefined;\r\n /** Uniform row height in px (overrides the density default). */\r\n rowHeight?: number | undefined;\r\n /** Rows rendered beyond the visible window on each side. */\r\n overscan?: number | undefined;\r\n resizable?: boolean | undefined;\r\n columnWidths?: Record<string, number> | undefined;\r\n onColumnWidthsChange?: ((widths: Record<string, number>) => void) | undefined;\r\n reorderable?: boolean | undefined;\r\n columnOrder?: string[] | undefined;\r\n onColumnOrderChange?: ((order: string[]) => void) | undefined;\r\n}\r\n\r\n/** Default row height by density tier. */\r\nconst DEFAULT_ROW_HEIGHT_BY_DENSITY: Record<DataGridVirtualizedDensity, number> =\r\n Object.freeze({\r\n spacious: density.spacious.row, // 56\r\n comfortable: density.comfortable.row, // 44\r\n compact: density.compact.row, // 36\r\n ultraCompact: density.ultraCompact.row, // 28\r\n });\r\n\r\nconst PADDING_CELL_SX = Object.freeze({ padding: 0, border: 0 });\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/* Default value accessor for an unconstrained row type — typed against\r\n * `unknown` so the single assertion is legal (mirrors DataGrid). */\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`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction DataGridVirtualized<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 filtered = false,\r\n density: densityProp = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n // Virtualization\r\n rowHeight,\r\n overscan = 10,\r\n // Resize\r\n resizable = false,\r\n columnWidths,\r\n onColumnWidthsChange,\r\n // Reorder\r\n reorderable = false,\r\n columnOrder,\r\n onColumnOrderChange,\r\n}: DataGridVirtualizedProps<T>) {\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 // Apply host-supplied column order (defensive, see _dataGridShared).\r\n const columns = React.useMemo(\r\n () => applyColumnOrder(rawColumns, columnOrder),\r\n [rawColumns, columnOrder]\r\n );\r\n\r\n // Resize + reorder hooks. Cross-coupled via resizeIsActive.\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 // Effective row height: prop wins, otherwise density default.\r\n const effectiveRowHeight =\r\n rowHeight ??\r\n DEFAULT_ROW_HEIGHT_BY_DENSITY[densityProp] ??\r\n DEFAULT_ROW_HEIGHT_BY_DENSITY.comfortable;\r\n\r\n const showCheckbox = !!onSelectionChange;\r\n const colCount = columns.length + (showCheckbox ? 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 scrollRef = React.useRef<HTMLDivElement>(null);\r\n\r\n const virtualizer = useVirtualizer({\r\n count: rows.length,\r\n getScrollElement: () => scrollRef.current,\r\n estimateSize: () => effectiveRowHeight,\r\n overscan,\r\n });\r\n\r\n const virtualItems = virtualizer.getVirtualItems();\r\n const totalSize = virtualizer.getTotalSize();\r\n const firstItem = virtualItems[0];\r\n const lastItem = virtualItems[virtualItems.length - 1];\r\n const paddingTop = firstItem ? firstItem.start : 0;\r\n const paddingBottom = lastItem ? totalSize - lastItem.end : 0;\r\n\r\n const scrollContainerSx = React.useMemo<SxProps<Theme>>(\r\n () => ({ overflow: \"auto\", maxHeight: maxBodyHeight }),\r\n [maxBodyHeight]\r\n );\r\n // TABLE_BY_DENSITY is keyed by the 2-tier Density; map the wider tier down\r\n // (matches the JS `TABLE_BY_DENSITY[dp] || .comfortable` fallback).\r\n const tableDensityKey: Density =\r\n densityProp === \"compact\" ? \"compact\" : \"comfortable\";\r\n const tableSx = TABLE_BY_DENSITY[tableDensityKey];\r\n\r\n // ── Body branches ──────────────────────────────────────────────\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={false}\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 {paddingTop > 0 && (\r\n <TableRow aria-hidden=\"true\" style={{ height: paddingTop }}>\r\n <TableCell colSpan={colCount} sx={PADDING_CELL_SX} />\r\n </TableRow>\r\n )}\r\n {virtualItems.map((virtualItem) => {\r\n const row = rows[virtualItem.index];\r\n if (!row) return null;\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n return (\r\n <TableRow\r\n key={virtualItem.key}\r\n data-index={virtualItem.index}\r\n aria-rowindex={virtualItem.index + 2}\r\n hover\r\n data-selected={isSelected || 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 style={{ height: virtualItem.size }}\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 const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ??\r\n col.width;\r\n // --text-body (14px) — was `var(--text-fs)`, a token typo\r\n // with no fallback; making the inheritance explicit preserves\r\n // the rendering while removing the dangling reference.\r\n const cellSx: SxProps<Theme> = {\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 ...(col.maxWidth != null ? { maxWidth: col.maxWidth } : {}),\r\n };\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n sx={cellSx}\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 </TableRow>\r\n );\r\n })}\r\n {paddingBottom > 0 && (\r\n <TableRow aria-hidden=\"true\" style={{ height: paddingBottom }}>\r\n <TableCell colSpan={colCount} sx={PADDING_CELL_SX} />\r\n </TableRow>\r\n )}\r\n </TableBody>\r\n );\r\n }\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n <Box ref={scrollRef} sx={scrollContainerSx}>\r\n <Table\r\n aria-label={tableAria}\r\n aria-rowcount={rows.length ? rows.length + 1 : undefined}\r\n size={densityProp === \"compact\" ? \"small\" : \"medium\"}\r\n stickyHeader\r\n sx={tableSx}\r\n >\r\n <TableHead>\r\n <TableRow aria-rowindex={1}>\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 = 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 </TableRow>\r\n </TableHead>\r\n {body}\r\n </Table>\r\n </Box>\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 default DataGridVirtualized;\r\n"],"mappings":"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","ignoreList":[]}
|