@portnet/ui 6.0.0 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -0
- package/dist/esm/index.js +214 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +159 -0
- package/dist/esm/v2/__tests__/FieldError.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 +143 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +265 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +248 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +380 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +332 -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 +146 -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 +215 -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 +259 -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 +271 -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 +132 -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 +117 -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/FormikCheckbox.js +140 -0
- package/dist/esm/v2/patterns/FormikCheckbox.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 +118 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +162 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +150 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.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 +130 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js +141 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.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 +162 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +79 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +212 -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/RowFavoriteToggle.js +122 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.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/_pickerSerialisation.js +74 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.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 +178 -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/gridPreferences.js +209 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +22 -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 +64 -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 +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/FieldError.test.js +160 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +150 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +144 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js +268 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +247 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +381 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +52 -56
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +20 -24
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- 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 +37 -4
- 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 +76 -13
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +87 -9
- 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 +170 -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/index.d.ts.map +1 -1
- package/dist/v2/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 +15 -15
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +14 -61
- 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/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +147 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- 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 +18 -12
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +5 -2
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +48 -8
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +58 -65
- 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 +158 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- 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 +51 -6
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +53 -2
- 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 +148 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- 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 +41 -12
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +32 -3
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +14 -6
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +5 -2
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +21 -8
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +27 -14
- 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/RowFavoriteToggle.d.ts +92 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- 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/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +81 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- 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 +114 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +34 -0
- 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/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +215 -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 +13 -0
- package/dist/v2/personalization/capabilities/index.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/index.d.ts +18 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +13 -0
- package/dist/v2/personalization/index.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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridVirtualized.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_Checkbox","_DragIndicator","_reactVirtual","_Skeleton","_SortableHeader","_useDelayedFlag","_tokens","_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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","DEFAULT_ROW_HEIGHT_BY_DENSITY","freeze","spacious","density","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","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","DEFAULT_MAX_BODY_HEIGHT","rowHeight","_ref$overscan","overscan","_ref$resizable","resizable","columnWidths","onColumnWidthsChange","_ref$reorderable","reorderable","columnOrder","onColumnOrderChange","L","useMemo","mergeLabels","tableAria","showSkeleton","useDelayedFlag","useColumnsStabilityWarn","applyColumnOrder","resize","useColumnResize","reorder","useColumnReorder","resizeIsActive","isResizing","pendingReorderFocusRef","useRef","useEffect","current","document","escaped","window","CSS","escape","el","querySelector","concat","HTMLElement","focus","effectiveRowHeight","showCheckbox","colCount","sortable","col","selectedSet","Set","allSelected","every","r","someSelected","some","toggleAll","map","toggleRow","next","add","handleRowKeyDown","e","preventDefault","scrollRef","virtualizer","useVirtualizer","count","getScrollElement","estimateSize","virtualItems","getVirtualItems","totalSize","getTotalSize","firstItem","lastItem","paddingTop","start","paddingBottom","end","scrollContainerSx","overflow","maxHeight","tableDensityKey","tableSx","TABLE_BY_DENSITY","body","jsx","children","Array","from","_","SkeletonRow","cols","withCheckbox","withActions","colSpan","sx","ERROR_CELL_SX","ERROR_INNER_SX","jsxs","style","virtualItem","index","isSelected","flash","clickable","hover","className","onClick","onKeyDown","tabIndex","size","ROW_CLICKABLE_SX","ROW_STATIC_SX","BODY_CHECKBOX_CELL_SX","checked","onChange","stopPropagation","slotProps","selectRow","_ref3","_ref4","getValue","effectiveWidth","liveWidths","cellSx","fontSize","whiteSpace","wrap","textOverflow","mono","numeric","fontVariantNumeric","maxWidth","align","render","CONTAINER_SX","ref","stickyHeader","HEADER_CHECKBOX_CELL_SX","indeterminate","selectAll","_ref5","isSortable","isResizable","isReorderable","ariaSort","getAriaSort","reorderHandlers","cellHandlers","reorderFeedbackSx","sortKey","setSort","header","component","type","handleKeyDown","role","Math","round","minWidth","draggable","onMouseDown","handleMouseDown","insetInlineEnd","userSelect","touchAction","Pagination","_default","exports"],"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[];\r\n columns: DataGridColumn<T>[];\r\n loading?: boolean;\r\n /** Any truthy value switches the grid to its error branch. */\r\n error?: unknown;\r\n sort?: SortDescriptor[];\r\n onSortChange?: React.Dispatch<React.SetStateAction<SortDescriptor[]>>;\r\n selection?: Set<RowId> | RowId[];\r\n onSelectionChange?: (selection: Set<RowId>) => void;\r\n pagination?: DataGridPagination;\r\n emptyState?: React.ReactNode;\r\n filteredEmptyState?: React.ReactNode;\r\n errorState?: React.ReactNode;\r\n getRowId?: (row: T) => RowId;\r\n onRowClick?: (row: T) => void;\r\n rowFlashId?: RowId;\r\n filtered?: boolean;\r\n density?: DataGridVirtualizedDensity;\r\n ariaLabel?: string;\r\n locale?: string;\r\n labels?: DataGridLabels;\r\n maxBodyHeight?: number | string;\r\n /** Uniform row height in px (overrides the density default). */\r\n rowHeight?: number;\r\n /** Rows rendered beyond the visible window on each side. */\r\n overscan?: number;\r\n resizable?: boolean;\r\n columnWidths?: Record<string, number>;\r\n onColumnWidthsChange?: (widths: Record<string, number>) => void;\r\n reorderable?: boolean;\r\n columnOrder?: string[];\r\n onColumnOrderChange?: (order: string[]) => void;\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":[]}
|
|
1
|
+
{"version":3,"file":"DataGridVirtualized.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_Checkbox","_DragIndicator","_reactVirtual","_Skeleton","_SortableHeader","_useDelayedFlag","_tokens","_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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","DEFAULT_ROW_HEIGHT_BY_DENSITY","freeze","spacious","density","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","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","DEFAULT_MAX_BODY_HEIGHT","rowHeight","_ref$overscan","overscan","_ref$resizable","resizable","columnWidths","onColumnWidthsChange","_ref$reorderable","reorderable","columnOrder","onColumnOrderChange","L","useMemo","mergeLabels","tableAria","showSkeleton","useDelayedFlag","useColumnsStabilityWarn","applyColumnOrder","resize","useColumnResize","reorder","useColumnReorder","resizeIsActive","isResizing","pendingReorderFocusRef","useRef","useEffect","current","document","escaped","window","CSS","escape","el","querySelector","concat","HTMLElement","focus","effectiveRowHeight","showCheckbox","colCount","sortable","col","selectedSet","Set","allSelected","every","r","someSelected","some","toggleAll","map","toggleRow","next","add","handleRowKeyDown","e","preventDefault","scrollRef","virtualizer","useVirtualizer","count","getScrollElement","estimateSize","virtualItems","getVirtualItems","totalSize","getTotalSize","firstItem","lastItem","paddingTop","start","paddingBottom","end","scrollContainerSx","overflow","maxHeight","tableDensityKey","tableSx","TABLE_BY_DENSITY","body","jsx","children","Array","from","_","SkeletonRow","cols","withCheckbox","withActions","colSpan","sx","ERROR_CELL_SX","ERROR_INNER_SX","jsxs","style","virtualItem","index","isSelected","flash","clickable","hover","className","onClick","onKeyDown","tabIndex","size","ROW_CLICKABLE_SX","ROW_STATIC_SX","BODY_CHECKBOX_CELL_SX","checked","onChange","stopPropagation","slotProps","selectRow","_ref3","_ref4","getValue","effectiveWidth","liveWidths","cellSx","fontSize","whiteSpace","wrap","textOverflow","mono","numeric","fontVariantNumeric","maxWidth","align","render","CONTAINER_SX","ref","stickyHeader","HEADER_CHECKBOX_CELL_SX","indeterminate","selectAll","_ref5","isSortable","isResizable","isReorderable","ariaSort","getAriaSort","reorderHandlers","cellHandlers","reorderFeedbackSx","sortKey","setSort","header","component","type","handleKeyDown","role","Math","round","minWidth","draggable","onMouseDown","handleMouseDown","insetInlineEnd","userSelect","touchAction","Pagination","_default","exports"],"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":[]}
|
|
@@ -35,11 +35,11 @@ export interface DeleteResourceConfirmDialogProps {
|
|
|
35
35
|
/** Fires on confirm (maps to ConfirmDialog's onConfirm). */
|
|
36
36
|
onDelete: ConfirmDialogProps["onConfirm"];
|
|
37
37
|
title: ConfirmDialogProps["title"];
|
|
38
|
-
description?: ConfirmDialogProps["description"];
|
|
39
|
-
impact?: ConfirmDialogProps["impact"];
|
|
40
|
-
confirmLabel?: ConfirmDialogProps["confirmLabel"];
|
|
41
|
-
cancelLabel?: ConfirmDialogProps["cancelLabel"];
|
|
42
|
-
loading?: ConfirmDialogProps["loading"];
|
|
38
|
+
description?: ConfirmDialogProps["description"] | undefined;
|
|
39
|
+
impact?: ConfirmDialogProps["impact"] | undefined;
|
|
40
|
+
confirmLabel?: ConfirmDialogProps["confirmLabel"] | undefined;
|
|
41
|
+
cancelLabel?: ConfirmDialogProps["cancelLabel"] | undefined;
|
|
42
|
+
loading?: ConfirmDialogProps["loading"] | undefined;
|
|
43
43
|
}
|
|
44
44
|
declare function DeleteResourceConfirmDialog({ isOpen, onClose, onDelete, title, description, impact, confirmLabel, cancelLabel, loading, }: DeleteResourceConfirmDialogProps): React.JSX.Element;
|
|
45
45
|
export default DeleteResourceConfirmDialog;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteResourceConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DeleteResourceConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,KAAK,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC;AAErE,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACvC,4DAA4D;IAC5D,QAAQ,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC1C,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"DeleteResourceConfirmDialog.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DeleteResourceConfirmDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,aAAa,MAAM,6BAA6B,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH,KAAK,kBAAkB,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,aAAa,CAAC,CAAC;AAErE,MAAM,WAAW,gCAAgC;IAC/C,MAAM,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACnC,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAC;IACvC,4DAA4D;IAC5D,QAAQ,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC1C,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IAC5D,MAAM,CAAC,EAAE,kBAAkB,CAAC,QAAQ,CAAC,GAAG,SAAS,CAAC;IAClD,YAAY,CAAC,EAAE,kBAAkB,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;IAC9D,WAAW,CAAC,EAAE,kBAAkB,CAAC,aAAa,CAAC,GAAG,SAAS,CAAC;IAC5D,OAAO,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;CACrD;AAED,iBAAS,2BAA2B,CAAC,EACnC,MAAM,EACN,OAAO,EACP,QAAQ,EACR,KAAK,EACL,WAAW,EACX,MAAM,EACN,YAA0B,EAC1B,WAAuB,EACvB,OAAe,GAChB,EAAE,gCAAgC,qBAelC;AAED,eAAe,2BAA2B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeleteResourceConfirmDialog.js","names":["React","_interopRequireWildcard","require","_ConfirmDialog","_interopRequireDefault","_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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","DeleteResourceConfirmDialog","_ref","isOpen","onClose","onDelete","title","description","impact","_ref$confirmLabel","confirmLabel","_ref$cancelLabel","cancelLabel","_ref$loading","loading","jsx","confirmVariant","open","onConfirm","_default","exports"],"sources":["../../../src/lib/v2/patterns/DeleteResourceConfirmDialog.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport ConfirmDialog from \"../components/ConfirmDialog\";\r\n\r\n/**\r\n * DeleteResourceConfirmDialog — Portnet UI v2\r\n *\r\n * Opinionated wrapper over v2.ConfirmDialog for irreversible delete actions\r\n * across the design system. Hard-wires the \"danger\" variant (Charter §09.3 —\r\n * the only correct choice for a destructive irreversible action) and sensible\r\n * FR defaults for the button labels.\r\n *\r\n * The prop names `isOpen` / `onDelete` are deliberately chosen over\r\n * v2.ConfirmDialog's `open` / `onConfirm` because call sites read more\r\n * naturally with action-specific verbs — every host-module audit converged on\r\n * this naming and the wrapper formalises it as the destructive-action\r\n * convention.\r\n *\r\n * <DeleteResourceConfirmDialog\r\n * isOpen // bool, REQUIRED\r\n * onClose // () => void, REQUIRED\r\n * onDelete // () => void, REQUIRED — fires on confirm\r\n * title // node, REQUIRED — surfaces the resource type\r\n * description? // node — single-sentence consequence\r\n * impact? // node[] — bullet-list of side effects (Charter R-5.1)\r\n * confirmLabel? // node, default \"Confirmer\"\r\n * cancelLabel? // node, default \"Annuler\"\r\n * loading? // bool — disables both buttons + spinner on confirm\r\n * />\r\n *\r\n * Charter R-5.1 + §09.3 + R-M.*. WCAG 2.4.7 (focus visible — inherited from Modal).\r\n */\r\n\r\ntype ConfirmDialogProps = React.ComponentProps<typeof ConfirmDialog>;\r\n\r\nexport interface DeleteResourceConfirmDialogProps {\r\n isOpen: ConfirmDialogProps[\"open\"];\r\n onClose: ConfirmDialogProps[\"onClose\"];\r\n /** Fires on confirm (maps to ConfirmDialog's onConfirm). */\r\n onDelete: ConfirmDialogProps[\"onConfirm\"];\r\n title: ConfirmDialogProps[\"title\"];\r\n description?: ConfirmDialogProps[\"description\"];\r\n impact?: ConfirmDialogProps[\"impact\"];\r\n confirmLabel?: ConfirmDialogProps[\"confirmLabel\"];\r\n cancelLabel?: ConfirmDialogProps[\"cancelLabel\"];\r\n loading?: ConfirmDialogProps[\"loading\"];\r\n}\r\n\r\nfunction DeleteResourceConfirmDialog({\r\n isOpen,\r\n onClose,\r\n onDelete,\r\n title,\r\n description,\r\n impact,\r\n confirmLabel = \"Confirmer\",\r\n cancelLabel = \"Annuler\",\r\n loading = false,\r\n}: DeleteResourceConfirmDialogProps) {\r\n return (\r\n <ConfirmDialog\r\n title={title}\r\n description={description}\r\n cancelLabel={cancelLabel}\r\n confirmLabel={confirmLabel}\r\n confirmVariant=\"danger\"\r\n loading={loading}\r\n {...(isOpen !== undefined ? { open: isOpen } : {})}\r\n {...(onClose !== undefined ? { onClose } : {})}\r\n {...(onDelete !== undefined ? { onConfirm: onDelete } : {})}\r\n {...(impact !== undefined ? { impact } : {})}\r\n />\r\n );\r\n}\r\n\r\nexport default DeleteResourceConfirmDialog;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DeleteResourceConfirmDialog.js","names":["React","_interopRequireWildcard","require","_ConfirmDialog","_interopRequireDefault","_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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","DeleteResourceConfirmDialog","_ref","isOpen","onClose","onDelete","title","description","impact","_ref$confirmLabel","confirmLabel","_ref$cancelLabel","cancelLabel","_ref$loading","loading","jsx","confirmVariant","open","onConfirm","_default","exports"],"sources":["../../../src/lib/v2/patterns/DeleteResourceConfirmDialog.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport ConfirmDialog from \"../components/ConfirmDialog\";\r\n\r\n/**\r\n * DeleteResourceConfirmDialog — Portnet UI v2\r\n *\r\n * Opinionated wrapper over v2.ConfirmDialog for irreversible delete actions\r\n * across the design system. Hard-wires the \"danger\" variant (Charter §09.3 —\r\n * the only correct choice for a destructive irreversible action) and sensible\r\n * FR defaults for the button labels.\r\n *\r\n * The prop names `isOpen` / `onDelete` are deliberately chosen over\r\n * v2.ConfirmDialog's `open` / `onConfirm` because call sites read more\r\n * naturally with action-specific verbs — every host-module audit converged on\r\n * this naming and the wrapper formalises it as the destructive-action\r\n * convention.\r\n *\r\n * <DeleteResourceConfirmDialog\r\n * isOpen // bool, REQUIRED\r\n * onClose // () => void, REQUIRED\r\n * onDelete // () => void, REQUIRED — fires on confirm\r\n * title // node, REQUIRED — surfaces the resource type\r\n * description? // node — single-sentence consequence\r\n * impact? // node[] — bullet-list of side effects (Charter R-5.1)\r\n * confirmLabel? // node, default \"Confirmer\"\r\n * cancelLabel? // node, default \"Annuler\"\r\n * loading? // bool — disables both buttons + spinner on confirm\r\n * />\r\n *\r\n * Charter R-5.1 + §09.3 + R-M.*. WCAG 2.4.7 (focus visible — inherited from Modal).\r\n */\r\n\r\ntype ConfirmDialogProps = React.ComponentProps<typeof ConfirmDialog>;\r\n\r\nexport interface DeleteResourceConfirmDialogProps {\r\n isOpen: ConfirmDialogProps[\"open\"];\r\n onClose: ConfirmDialogProps[\"onClose\"];\r\n /** Fires on confirm (maps to ConfirmDialog's onConfirm). */\r\n onDelete: ConfirmDialogProps[\"onConfirm\"];\r\n title: ConfirmDialogProps[\"title\"];\r\n description?: ConfirmDialogProps[\"description\"] | undefined;\r\n impact?: ConfirmDialogProps[\"impact\"] | undefined;\r\n confirmLabel?: ConfirmDialogProps[\"confirmLabel\"] | undefined;\r\n cancelLabel?: ConfirmDialogProps[\"cancelLabel\"] | undefined;\r\n loading?: ConfirmDialogProps[\"loading\"] | undefined;\r\n}\r\n\r\nfunction DeleteResourceConfirmDialog({\r\n isOpen,\r\n onClose,\r\n onDelete,\r\n title,\r\n description,\r\n impact,\r\n confirmLabel = \"Confirmer\",\r\n cancelLabel = \"Annuler\",\r\n loading = false,\r\n}: DeleteResourceConfirmDialogProps) {\r\n return (\r\n <ConfirmDialog\r\n title={title}\r\n description={description}\r\n cancelLabel={cancelLabel}\r\n confirmLabel={confirmLabel}\r\n confirmVariant=\"danger\"\r\n loading={loading}\r\n {...(isOpen !== undefined ? { open: isOpen } : {})}\r\n {...(onClose !== undefined ? { onClose } : {})}\r\n {...(onDelete !== undefined ? { onConfirm: onDelete } : {})}\r\n {...(impact !== undefined ? { impact } : {})}\r\n />\r\n );\r\n}\r\n\r\nexport default DeleteResourceConfirmDialog;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import FavoriteToggle from "../components/FavoriteToggle";
|
|
1
|
+
import type { FavoriteToggleSize, RowFavoriteToggleLabels } from "./RowFavoriteToggle";
|
|
3
2
|
import type { DataGridColumn } from "../types/datagrid";
|
|
4
3
|
import type { RowId } from "../types/common";
|
|
5
4
|
/**
|
|
@@ -40,33 +39,34 @@ import type { RowId } from "../types/common";
|
|
|
40
39
|
* `getRowId` MUST match the one passed to <DataGrid> so the follow id and
|
|
41
40
|
* the grid row id agree. Requires a <UserPersonalizationProvider>
|
|
42
41
|
* ancestor (useIsFavorite throws otherwise).
|
|
42
|
+
*
|
|
43
|
+
* The per-row star itself is `RowFavoriteToggle` (gap G-36). It used to be a
|
|
44
|
+
* private `FavoriteCell` in this file, which made the follow control reachable
|
|
45
|
+
* as a DataGrid column and nowhere else — so hosts rebuilt it by hand for the
|
|
46
|
+
* `MobileRowCard` `leading` slot that DataGrid switches to below its
|
|
47
|
+
* `mobileBreakpoint`, and the copies drifted on their accessible names. Both
|
|
48
|
+
* now render the same component, so desktop and mobile agree by construction.
|
|
43
49
|
*/
|
|
44
|
-
|
|
45
|
-
export interface FavoriteColumnLabels {
|
|
50
|
+
export interface FavoriteColumnLabels extends RowFavoriteToggleLabels {
|
|
46
51
|
columnHeader: string;
|
|
47
|
-
addFavorite: string;
|
|
48
|
-
removeFavorite: string;
|
|
49
|
-
statusFollowed: string;
|
|
50
|
-
statusNotFollowed: string;
|
|
51
52
|
}
|
|
52
53
|
export interface MakeFavoriteColumnOptions<T> {
|
|
53
54
|
/** Required — follow namespace. */
|
|
54
55
|
resourceKey: string;
|
|
55
56
|
/** MUST match the grid's getRowId. Defaults to (r) => r.id. */
|
|
56
|
-
getRowId?: (row: T) => RowId;
|
|
57
|
+
getRowId?: ((row: T) => RowId) | undefined;
|
|
57
58
|
/** Column key. @default "__favorite__" */
|
|
58
|
-
key?: string;
|
|
59
|
+
key?: string | undefined;
|
|
59
60
|
/** Toggle size (sm fits dense rows). @default "sm" */
|
|
60
|
-
size?: FavoriteToggleSize;
|
|
61
|
+
size?: FavoriteToggleSize | undefined;
|
|
61
62
|
/** Column width (narrow / compact). @default 44 */
|
|
62
|
-
width?: number | string;
|
|
63
|
+
width?: number | string | undefined;
|
|
63
64
|
/** (row) => string, enriches the per-row aria-label. */
|
|
64
|
-
getRowLabel?: (row: T) => string;
|
|
65
|
-
labels?: Partial<FavoriteColumnLabels
|
|
65
|
+
getRowLabel?: ((row: T) => string) | undefined;
|
|
66
|
+
labels?: Partial<FavoriteColumnLabels> | undefined;
|
|
66
67
|
}
|
|
67
68
|
/**
|
|
68
69
|
* Builds a v2 DataGrid column definition for the compact follow-star column.
|
|
69
70
|
*/
|
|
70
71
|
export default function makeFavoriteColumn<T>(options: MakeFavoriteColumnOptions<T>): DataGridColumn<T>;
|
|
71
|
-
export {};
|
|
72
72
|
//# sourceMappingURL=FavoriteColumn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FavoriteColumn.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FavoriteColumn.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"FavoriteColumn.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FavoriteColumn.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,kBAAkB,EAClB,uBAAuB,EACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AACxD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,MAAM,WAAW,oBAAqB,SAAQ,uBAAuB;IACnE,YAAY,EAAE,MAAM,CAAC;CACtB;AAoBD,MAAM,WAAW,yBAAyB,CAAC,CAAC;IAC1C,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,KAAK,CAAC,GAAG,SAAS,CAAC;IAC3C,0CAA0C;IAC1C,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,sDAAsD;IACtD,IAAI,CAAC,EAAE,kBAAkB,GAAG,SAAS,CAAC;IACtC,mDAAmD;IACnD,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,wDAAwD;IACxD,WAAW,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IAC/C,MAAM,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC,GAAG,SAAS,CAAC;CACpD;AAED;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,CAAC,EAC1C,OAAO,EAAE,yBAAyB,CAAC,CAAC,CAAC,GACpC,cAAc,CAAC,CAAC,CAAC,CAkDnB"}
|
|
@@ -6,9 +6,7 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports["default"] = makeFavoriteColumn;
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
9
|
-
var
|
|
10
|
-
var _Tooltip = _interopRequireDefault(require("../components/Tooltip"));
|
|
11
|
-
var _favorites = require("../personalization/capabilities/favorites");
|
|
9
|
+
var _RowFavoriteToggle = _interopRequireWildcard(require("./RowFavoriteToggle"));
|
|
12
10
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
11
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
14
12
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -56,14 +54,17 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
56
54
|
* `getRowId` MUST match the one passed to <DataGrid> so the follow id and
|
|
57
55
|
* the grid row id agree. Requires a <UserPersonalizationProvider>
|
|
58
56
|
* ancestor (useIsFavorite throws otherwise).
|
|
57
|
+
*
|
|
58
|
+
* The per-row star itself is `RowFavoriteToggle` (gap G-36). It used to be a
|
|
59
|
+
* private `FavoriteCell` in this file, which made the follow control reachable
|
|
60
|
+
* as a DataGrid column and nowhere else — so hosts rebuilt it by hand for the
|
|
61
|
+
* `MobileRowCard` `leading` slot that DataGrid switches to below its
|
|
62
|
+
* `mobileBreakpoint`, and the copies drifted on their accessible names. Both
|
|
63
|
+
* now render the same component, so desktop and mobile agree by construction.
|
|
59
64
|
*/
|
|
60
|
-
var DEFAULT_LABELS = Object.freeze({
|
|
61
|
-
columnHeader: "Suivis"
|
|
62
|
-
|
|
63
|
-
removeFavorite: "Ne plus suivre",
|
|
64
|
-
statusFollowed: "Suivi",
|
|
65
|
-
statusNotFollowed: "Non suivi"
|
|
66
|
-
});
|
|
65
|
+
var DEFAULT_LABELS = Object.freeze(_objectSpread(_objectSpread({}, _RowFavoriteToggle.DEFAULT_ROW_FAVORITE_LABELS), {}, {
|
|
66
|
+
columnHeader: "Suivis"
|
|
67
|
+
}));
|
|
67
68
|
|
|
68
69
|
/** Visually hidden, but exposed to assistive tech (the column's accessible name). */
|
|
69
70
|
var SR_ONLY_SX = Object.freeze({
|
|
@@ -77,51 +78,6 @@ var SR_ONLY_SX = Object.freeze({
|
|
|
77
78
|
whiteSpace: "nowrap",
|
|
78
79
|
border: 0
|
|
79
80
|
});
|
|
80
|
-
function FavoriteCell(props) {
|
|
81
|
-
var resourceKey = props.resourceKey,
|
|
82
|
-
id = props.id,
|
|
83
|
-
size = props.size,
|
|
84
|
-
addLabel = props.addLabel,
|
|
85
|
-
removeLabel = props.removeLabel,
|
|
86
|
-
followedLabel = props.followedLabel,
|
|
87
|
-
notFollowedLabel = props.notFollowedLabel,
|
|
88
|
-
rowLabel = props.rowLabel;
|
|
89
|
-
var _useIsFavorite = (0, _favorites.useIsFavorite)(resourceKey, id),
|
|
90
|
-
isFavorite = _useIsFavorite.isFavorite,
|
|
91
|
-
toggle = _useIsFavorite.toggle;
|
|
92
|
-
|
|
93
|
-
// Action-oriented accessible name (toggle convention); aria-pressed (set
|
|
94
|
-
// by FavoriteToggle) carries the state. Always provided, so the Tooltip
|
|
95
|
-
// never mirrors its title onto the trigger.
|
|
96
|
-
var action = isFavorite ? removeLabel : addLabel;
|
|
97
|
-
var ariaLabel = rowLabel ? action + " : " + rowLabel : action;
|
|
98
|
-
// Visible status shown on hover/focus.
|
|
99
|
-
var statusLabel = isFavorite ? followedLabel : notFollowedLabel;
|
|
100
|
-
var handleChange = function handleChange(_next, e) {
|
|
101
|
-
// Don't let the toggle's click bubble to the row's onRowClick.
|
|
102
|
-
if (e && typeof e.stopPropagation === "function") e.stopPropagation();
|
|
103
|
-
toggle();
|
|
104
|
-
};
|
|
105
|
-
var handleKeyDown = function handleKeyDown(e) {
|
|
106
|
-
// Prevent row-level Enter/Space (onRowClick) from also firing; the
|
|
107
|
-
// button's own native activation is unaffected.
|
|
108
|
-
e.stopPropagation();
|
|
109
|
-
};
|
|
110
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Tooltip["default"], {
|
|
111
|
-
title: statusLabel,
|
|
112
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_FavoriteToggle["default"], {
|
|
113
|
-
pressed: isFavorite,
|
|
114
|
-
onChange: handleChange,
|
|
115
|
-
onKeyDown: handleKeyDown,
|
|
116
|
-
size: size,
|
|
117
|
-
labels: {
|
|
118
|
-
addFavorite: addLabel,
|
|
119
|
-
removeFavorite: removeLabel
|
|
120
|
-
},
|
|
121
|
-
"aria-label": ariaLabel
|
|
122
|
-
})
|
|
123
|
-
});
|
|
124
|
-
}
|
|
125
81
|
/**
|
|
126
82
|
* Builds a v2 DataGrid column definition for the compact follow-star column.
|
|
127
83
|
*/
|
|
@@ -155,14 +111,11 @@ function makeFavoriteColumn(options) {
|
|
|
155
111
|
reorderable: false,
|
|
156
112
|
width: width,
|
|
157
113
|
render: function renderFavorite(row) {
|
|
158
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
114
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_RowFavoriteToggle["default"], {
|
|
159
115
|
resourceKey: resourceKey,
|
|
160
|
-
|
|
116
|
+
rowId: getRowId(row),
|
|
161
117
|
size: size,
|
|
162
|
-
|
|
163
|
-
removeLabel: L.removeFavorite,
|
|
164
|
-
followedLabel: L.statusFollowed,
|
|
165
|
-
notFollowedLabel: L.statusNotFollowed,
|
|
118
|
+
labels: L,
|
|
166
119
|
rowLabel: getRowLabel ? getRowLabel(row) : undefined
|
|
167
120
|
});
|
|
168
121
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FavoriteColumn.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_FavoriteToggle","_Tooltip","_favorites","_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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","DEFAULT_LABELS","freeze","columnHeader","addFavorite","removeFavorite","statusFollowed","statusNotFollowed","SR_ONLY_SX","position","width","height","padding","margin","overflow","clip","whiteSpace","border","FavoriteCell","props","resourceKey","id","size","addLabel","removeLabel","followedLabel","notFollowedLabel","rowLabel","_useIsFavorite","useIsFavorite","isFavorite","toggle","action","ariaLabel","statusLabel","handleChange","_next","e","stopPropagation","handleKeyDown","jsx","title","children","pressed","onChange","onKeyDown","labels","makeFavoriteColumn","options","opts","getRowId","defaultGetRowId","r","getRowLabel","L","process","env","console","warn","header","component","sx","align","sortable","toggleable","resizable","reorderable","render","renderFavorite","row"],"sources":["../../../src/lib/v2/patterns/FavoriteColumn.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\nimport FavoriteToggle from \"../components/FavoriteToggle\";\r\nimport Tooltip from \"../components/Tooltip\";\r\nimport { useIsFavorite } from \"../personalization/capabilities/favorites\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport type { RowId } from \"../types/common\";\r\n\r\n/**\r\n * FavoriteColumn - Portnet UI v2 (pattern)\r\n *\r\n * `makeFavoriteColumn(options)` builds a v2 DataGrid column definition for\r\n * a compact \"follow\" (suivi) star column. Spread it into the grid's\r\n * `columns` first so it sits at the LEFT of each row:\r\n *\r\n * const columns = [\r\n * makeFavoriteColumn({ resourceKey: \"ti:list\", getRowId: (r) => r.reference }),\r\n * { key: \"reference\", header: \"Référence\", ... },\r\n * ...\r\n * ];\r\n * <DataGrid columns={columns} rows={rows} getRowId={(r) => r.reference} ... />\r\n *\r\n * Behaviour:\r\n * - ALWAYS VISIBLE: the star is rendered on every row in both states\r\n * (filled ★ when followed, outline ☆ when not) — it is NOT\r\n * hover-revealed. It sits at the left of the row.\r\n * - COMPACT: no visible column header (the header carries only a\r\n * visually hidden accessible name \"Suivis\"), and a narrow 44px width,\r\n * so the column takes minimal space.\r\n * - STATUS TOOLTIP: hovering or focusing the star shows its current\r\n * status — \"Suivi\" when followed, \"Non suivi\" otherwise. The button's\r\n * accessible name stays action-oriented (\"Suivre\" / \"Ne plus suivre\",\r\n * optionally enriched with the row label) and aria-pressed conveys the\r\n * state, so screen-reader semantics are unaffected.\r\n * - `toggleable: false` keeps the column out of ColumnsToggle (the user\r\n * can't hide it); not sortable / resizable / reorderable (sorting BY\r\n * follow status is a separate concern — see useFavoritesView /\r\n * sortRowsByFavorites).\r\n * - Each cell reads useIsFavorite (a boolean selector), so toggling one\r\n * row re-renders only that row's star.\r\n * - Toggling never triggers the row's onRowClick (click + keydown\r\n * propagation stopped, mirroring the DataGrid selection checkbox).\r\n *\r\n * `getRowId` MUST match the one passed to <DataGrid> so the follow id and\r\n * the grid row id agree. Requires a <UserPersonalizationProvider>\r\n * ancestor (useIsFavorite throws otherwise).\r\n */\r\n\r\ntype FavoriteToggleSize = NonNullable<\r\n React.ComponentProps<typeof FavoriteToggle>[\"size\"]\r\n>;\r\n\r\nexport interface FavoriteColumnLabels {\r\n columnHeader: string;\r\n addFavorite: string;\r\n removeFavorite: string;\r\n statusFollowed: string;\r\n statusNotFollowed: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n columnHeader: \"Suivis\",\r\n addFavorite: \"Suivre\",\r\n removeFavorite: \"Ne plus suivre\",\r\n statusFollowed: \"Suivi\",\r\n statusNotFollowed: \"Non suivi\",\r\n} satisfies FavoriteColumnLabels);\r\n\r\n/** Visually hidden, but exposed to assistive tech (the column's accessible name). */\r\nconst SR_ONLY_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 border: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\ninterface FavoriteCellProps {\r\n resourceKey: string;\r\n id: RowId;\r\n size: FavoriteToggleSize;\r\n addLabel: string;\r\n removeLabel: string;\r\n followedLabel: string;\r\n notFollowedLabel: string;\r\n rowLabel?: string | undefined;\r\n}\r\n\r\nfunction FavoriteCell(props: FavoriteCellProps): React.JSX.Element {\r\n const {\r\n resourceKey,\r\n id,\r\n size,\r\n addLabel,\r\n removeLabel,\r\n followedLabel,\r\n notFollowedLabel,\r\n rowLabel,\r\n } = props;\r\n const { isFavorite, toggle } = useIsFavorite(resourceKey, id);\r\n\r\n // Action-oriented accessible name (toggle convention); aria-pressed (set\r\n // by FavoriteToggle) carries the state. Always provided, so the Tooltip\r\n // never mirrors its title onto the trigger.\r\n const action = isFavorite ? removeLabel : addLabel;\r\n const ariaLabel = rowLabel ? action + \" : \" + rowLabel : action;\r\n // Visible status shown on hover/focus.\r\n const statusLabel = isFavorite ? followedLabel : notFollowedLabel;\r\n\r\n const handleChange: NonNullable<\r\n React.ComponentProps<typeof FavoriteToggle>[\"onChange\"]\r\n > = function handleChange(_next, e) {\r\n // Don't let the toggle's click bubble to the row's onRowClick.\r\n if (e && typeof e.stopPropagation === \"function\") e.stopPropagation();\r\n toggle();\r\n };\r\n const handleKeyDown: NonNullable<\r\n React.ComponentProps<typeof FavoriteToggle>[\"onKeyDown\"]\r\n > = function handleKeyDown(e) {\r\n // Prevent row-level Enter/Space (onRowClick) from also firing; the\r\n // button's own native activation is unaffected.\r\n e.stopPropagation();\r\n };\r\n\r\n return (\r\n <Tooltip title={statusLabel}>\r\n <FavoriteToggle\r\n pressed={isFavorite}\r\n onChange={handleChange}\r\n onKeyDown={handleKeyDown}\r\n size={size}\r\n labels={{ addFavorite: addLabel, removeFavorite: removeLabel }}\r\n aria-label={ariaLabel}\r\n />\r\n </Tooltip>\r\n );\r\n}\r\n\r\nexport interface MakeFavoriteColumnOptions<T> {\r\n /** Required — follow namespace. */\r\n resourceKey: string;\r\n /** MUST match the grid's getRowId. Defaults to (r) => r.id. */\r\n getRowId?: (row: T) => RowId;\r\n /** Column key. @default \"__favorite__\" */\r\n key?: string;\r\n /** Toggle size (sm fits dense rows). @default \"sm\" */\r\n size?: FavoriteToggleSize;\r\n /** Column width (narrow / compact). @default 44 */\r\n width?: number | string;\r\n /** (row) => string, enriches the per-row aria-label. */\r\n getRowLabel?: (row: T) => string;\r\n labels?: Partial<FavoriteColumnLabels>;\r\n}\r\n\r\n/**\r\n * Builds a v2 DataGrid column definition for the compact follow-star column.\r\n */\r\nexport default function makeFavoriteColumn<T>(\r\n options: MakeFavoriteColumnOptions<T>\r\n): DataGridColumn<T> {\r\n const opts = options;\r\n const resourceKey = opts.resourceKey;\r\n const getRowId: (row: T) => RowId =\r\n typeof opts.getRowId === \"function\"\r\n ? opts.getRowId\r\n : function defaultGetRowId(r: T): RowId {\r\n return (r as { id: RowId }).id;\r\n };\r\n const key = opts.key || \"__favorite__\";\r\n const size = opts.size || \"sm\";\r\n const width: number | string = opts.width != null ? opts.width : 44;\r\n const getRowLabel =\r\n typeof opts.getRowLabel === \"function\" ? opts.getRowLabel : null;\r\n const L: FavoriteColumnLabels = opts.labels\r\n ? { ...DEFAULT_LABELS, ...opts.labels }\r\n : DEFAULT_LABELS;\r\n\r\n if (process.env[\"NODE_ENV\"] !== \"production\" && !resourceKey) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[@portnet/ui v2] makeFavoriteColumn: `resourceKey` is required to scope follows.\"\r\n );\r\n }\r\n\r\n return {\r\n key: key,\r\n header: (\r\n <Box component=\"span\" sx={SR_ONLY_SX}>\r\n {L.columnHeader}\r\n </Box>\r\n ),\r\n align: \"center\",\r\n sortable: false,\r\n toggleable: false, // kept out of ColumnsToggle (cannot be hidden)\r\n resizable: false,\r\n reorderable: false,\r\n width: width,\r\n render: function renderFavorite(row: T): React.ReactNode {\r\n return (\r\n <FavoriteCell\r\n resourceKey={resourceKey}\r\n id={getRowId(row)}\r\n size={size}\r\n addLabel={L.addFavorite}\r\n removeLabel={L.removeFavorite}\r\n followedLabel={L.statusFollowed}\r\n notFollowedLabel={L.statusNotFollowed}\r\n rowLabel={getRowLabel ? getRowLabel(row) : undefined}\r\n />\r\n );\r\n },\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FavoriteColumn.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_RowFavoriteToggle","_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","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","DEFAULT_LABELS","freeze","DEFAULT_ROW_FAVORITE_LABELS","columnHeader","SR_ONLY_SX","position","width","height","padding","margin","overflow","clip","whiteSpace","border","makeFavoriteColumn","options","opts","resourceKey","getRowId","defaultGetRowId","r","id","size","getRowLabel","L","labels","process","env","console","warn","header","jsx","component","sx","children","align","sortable","toggleable","resizable","reorderable","render","renderFavorite","row","rowId","rowLabel"],"sources":["../../../src/lib/v2/patterns/FavoriteColumn.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\nimport RowFavoriteToggle, {\r\n DEFAULT_ROW_FAVORITE_LABELS,\r\n} from \"./RowFavoriteToggle\";\r\nimport type {\r\n FavoriteToggleSize,\r\n RowFavoriteToggleLabels,\r\n} from \"./RowFavoriteToggle\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport type { RowId } from \"../types/common\";\r\n\r\n/**\r\n * FavoriteColumn - Portnet UI v2 (pattern)\r\n *\r\n * `makeFavoriteColumn(options)` builds a v2 DataGrid column definition for\r\n * a compact \"follow\" (suivi) star column. Spread it into the grid's\r\n * `columns` first so it sits at the LEFT of each row:\r\n *\r\n * const columns = [\r\n * makeFavoriteColumn({ resourceKey: \"ti:list\", getRowId: (r) => r.reference }),\r\n * { key: \"reference\", header: \"Référence\", ... },\r\n * ...\r\n * ];\r\n * <DataGrid columns={columns} rows={rows} getRowId={(r) => r.reference} ... />\r\n *\r\n * Behaviour:\r\n * - ALWAYS VISIBLE: the star is rendered on every row in both states\r\n * (filled ★ when followed, outline ☆ when not) — it is NOT\r\n * hover-revealed. It sits at the left of the row.\r\n * - COMPACT: no visible column header (the header carries only a\r\n * visually hidden accessible name \"Suivis\"), and a narrow 44px width,\r\n * so the column takes minimal space.\r\n * - STATUS TOOLTIP: hovering or focusing the star shows its current\r\n * status — \"Suivi\" when followed, \"Non suivi\" otherwise. The button's\r\n * accessible name stays action-oriented (\"Suivre\" / \"Ne plus suivre\",\r\n * optionally enriched with the row label) and aria-pressed conveys the\r\n * state, so screen-reader semantics are unaffected.\r\n * - `toggleable: false` keeps the column out of ColumnsToggle (the user\r\n * can't hide it); not sortable / resizable / reorderable (sorting BY\r\n * follow status is a separate concern — see useFavoritesView /\r\n * sortRowsByFavorites).\r\n * - Each cell reads useIsFavorite (a boolean selector), so toggling one\r\n * row re-renders only that row's star.\r\n * - Toggling never triggers the row's onRowClick (click + keydown\r\n * propagation stopped, mirroring the DataGrid selection checkbox).\r\n *\r\n * `getRowId` MUST match the one passed to <DataGrid> so the follow id and\r\n * the grid row id agree. Requires a <UserPersonalizationProvider>\r\n * ancestor (useIsFavorite throws otherwise).\r\n *\r\n * The per-row star itself is `RowFavoriteToggle` (gap G-36). It used to be a\r\n * private `FavoriteCell` in this file, which made the follow control reachable\r\n * as a DataGrid column and nowhere else — so hosts rebuilt it by hand for the\r\n * `MobileRowCard` `leading` slot that DataGrid switches to below its\r\n * `mobileBreakpoint`, and the copies drifted on their accessible names. Both\r\n * now render the same component, so desktop and mobile agree by construction.\r\n */\r\n\r\nexport interface FavoriteColumnLabels extends RowFavoriteToggleLabels {\r\n columnHeader: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n ...DEFAULT_ROW_FAVORITE_LABELS,\r\n columnHeader: \"Suivis\",\r\n} satisfies FavoriteColumnLabels);\r\n\r\n/** Visually hidden, but exposed to assistive tech (the column's accessible name). */\r\nconst SR_ONLY_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 border: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\nexport interface MakeFavoriteColumnOptions<T> {\r\n /** Required — follow namespace. */\r\n resourceKey: string;\r\n /** MUST match the grid's getRowId. Defaults to (r) => r.id. */\r\n getRowId?: ((row: T) => RowId) | undefined;\r\n /** Column key. @default \"__favorite__\" */\r\n key?: string | undefined;\r\n /** Toggle size (sm fits dense rows). @default \"sm\" */\r\n size?: FavoriteToggleSize | undefined;\r\n /** Column width (narrow / compact). @default 44 */\r\n width?: number | string | undefined;\r\n /** (row) => string, enriches the per-row aria-label. */\r\n getRowLabel?: ((row: T) => string) | undefined;\r\n labels?: Partial<FavoriteColumnLabels> | undefined;\r\n}\r\n\r\n/**\r\n * Builds a v2 DataGrid column definition for the compact follow-star column.\r\n */\r\nexport default function makeFavoriteColumn<T>(\r\n options: MakeFavoriteColumnOptions<T>\r\n): DataGridColumn<T> {\r\n const opts = options;\r\n const resourceKey = opts.resourceKey;\r\n const getRowId: (row: T) => RowId =\r\n typeof opts.getRowId === \"function\"\r\n ? opts.getRowId\r\n : function defaultGetRowId(r: T): RowId {\r\n return (r as { id: RowId }).id;\r\n };\r\n const key = opts.key || \"__favorite__\";\r\n const size = opts.size || \"sm\";\r\n const width: number | string = opts.width != null ? opts.width : 44;\r\n const getRowLabel =\r\n typeof opts.getRowLabel === \"function\" ? opts.getRowLabel : null;\r\n const L: FavoriteColumnLabels = opts.labels\r\n ? { ...DEFAULT_LABELS, ...opts.labels }\r\n : DEFAULT_LABELS;\r\n\r\n if (process.env[\"NODE_ENV\"] !== \"production\" && !resourceKey) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[@portnet/ui v2] makeFavoriteColumn: `resourceKey` is required to scope follows.\"\r\n );\r\n }\r\n\r\n return {\r\n key: key,\r\n header: (\r\n <Box component=\"span\" sx={SR_ONLY_SX}>\r\n {L.columnHeader}\r\n </Box>\r\n ),\r\n align: \"center\",\r\n sortable: false,\r\n toggleable: false, // kept out of ColumnsToggle (cannot be hidden)\r\n resizable: false,\r\n reorderable: false,\r\n width: width,\r\n render: function renderFavorite(row: T): React.ReactNode {\r\n return (\r\n <RowFavoriteToggle\r\n resourceKey={resourceKey}\r\n rowId={getRowId(row)}\r\n size={size}\r\n labels={L}\r\n rowLabel={getRowLabel ? getRowLabel(row) : undefined}\r\n />\r\n );\r\n },\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -30,21 +30,21 @@ export interface FavoritesFilterLabels {
|
|
|
30
30
|
}
|
|
31
31
|
export interface FavoritesFilterProps {
|
|
32
32
|
/** Current mode (matches FAVORITES_FILTER). @default "all" */
|
|
33
|
-
value?: FavoritesFilterMode;
|
|
33
|
+
value?: FavoritesFilterMode | undefined;
|
|
34
34
|
/** (mode) => void. */
|
|
35
|
-
onChange?: (value: FavoritesFilterMode) => void;
|
|
35
|
+
onChange?: ((value: FavoritesFilterMode) => void) | undefined;
|
|
36
36
|
/** Count shown on the "Suivis" segment. */
|
|
37
|
-
favoriteCount?: number;
|
|
37
|
+
favoriteCount?: number | undefined;
|
|
38
38
|
/** Count shown on the "Tous" segment. */
|
|
39
|
-
totalCount?: number;
|
|
40
|
-
showCounts?: boolean;
|
|
41
|
-
showIcon?: boolean;
|
|
42
|
-
size?: "sm" | "md";
|
|
39
|
+
totalCount?: number | undefined;
|
|
40
|
+
showCounts?: boolean | undefined;
|
|
41
|
+
showIcon?: boolean | undefined;
|
|
42
|
+
size?: "sm" | "md" | undefined;
|
|
43
43
|
/** Span the available width — useful on narrow / mobile toolbars. */
|
|
44
|
-
fullWidth?: boolean;
|
|
44
|
+
fullWidth?: boolean | undefined;
|
|
45
45
|
/** Localised labels (FR default; EN/AR supported). */
|
|
46
|
-
labels?: Partial<FavoritesFilterLabels
|
|
47
|
-
sx?: SxProps<Theme
|
|
46
|
+
labels?: Partial<FavoritesFilterLabels> | undefined;
|
|
47
|
+
sx?: SxProps<Theme> | undefined;
|
|
48
48
|
}
|
|
49
49
|
declare function FavoritesFilter(props: FavoritesFilterProps): React.JSX.Element;
|
|
50
50
|
export default FavoritesFilter;
|