@portnet/ui 5.0.32 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +524 -0
- package/README.md +101 -38
- package/dist/esm/index.js +196 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +144 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +333 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/esm/v2/__tests__/apiError.test.js +181 -0
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +147 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +230 -0
- package/dist/esm/v2/components/Accordion.js.map +1 -0
- package/dist/esm/v2/components/ActionStrip.js +146 -0
- package/dist/esm/v2/components/ActionStrip.js.map +1 -0
- package/dist/esm/v2/components/Banner.js +254 -0
- package/dist/esm/v2/components/Banner.js.map +1 -0
- package/dist/esm/v2/components/Busy.js +97 -0
- package/dist/esm/v2/components/Busy.js.map +1 -0
- package/dist/esm/v2/components/Button.js +114 -0
- package/dist/esm/v2/components/Button.js.map +1 -0
- package/dist/esm/v2/components/CategoryTag.js +81 -0
- package/dist/esm/v2/components/CategoryTag.js.map +1 -0
- package/dist/esm/v2/components/Checkbox.js +124 -0
- package/dist/esm/v2/components/Checkbox.js.map +1 -0
- package/dist/esm/v2/components/Chip.js +124 -0
- package/dist/esm/v2/components/Chip.js.map +1 -0
- package/dist/esm/v2/components/Combobox.js +394 -0
- package/dist/esm/v2/components/Combobox.js.map +1 -0
- package/dist/esm/v2/components/CommandPalette.js +660 -0
- package/dist/esm/v2/components/CommandPalette.js.map +1 -0
- package/dist/esm/v2/components/ConfirmDialog.js +144 -0
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/esm/v2/components/DatePicker.js +200 -0
- package/dist/esm/v2/components/DatePicker.js.map +1 -0
- package/dist/esm/v2/components/DateRangePicker.js +289 -0
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
- package/dist/esm/v2/components/DateTimePicker.js +182 -0
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
- package/dist/esm/v2/components/Drawer.js +333 -0
- package/dist/esm/v2/components/Drawer.js.map +1 -0
- package/dist/esm/v2/components/Dropzone.js +540 -0
- package/dist/esm/v2/components/Dropzone.js.map +1 -0
- package/dist/esm/v2/components/EmptyState.js +102 -0
- package/dist/esm/v2/components/EmptyState.js.map +1 -0
- package/dist/esm/v2/components/FavoriteToggle.js +127 -0
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/esm/v2/components/Field.js +197 -0
- package/dist/esm/v2/components/Field.js.map +1 -0
- package/dist/esm/v2/components/FieldError.js +124 -0
- package/dist/esm/v2/components/FieldError.js.map +1 -0
- package/dist/esm/v2/components/FieldHelp.js +202 -0
- package/dist/esm/v2/components/FieldHelp.js.map +1 -0
- package/dist/esm/v2/components/FileCard.js +162 -0
- package/dist/esm/v2/components/FileCard.js.map +1 -0
- package/dist/esm/v2/components/FilterTab.js +138 -0
- package/dist/esm/v2/components/FilterTab.js.map +1 -0
- package/dist/esm/v2/components/ForbiddenPage.js +74 -0
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/esm/v2/components/FormGrid.js +179 -0
- package/dist/esm/v2/components/FormGrid.js.map +1 -0
- package/dist/esm/v2/components/FormikDisplay.js +118 -0
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
- package/dist/esm/v2/components/Input.js +107 -0
- package/dist/esm/v2/components/Input.js.map +1 -0
- package/dist/esm/v2/components/KPICard.js +237 -0
- package/dist/esm/v2/components/KPICard.js.map +1 -0
- package/dist/esm/v2/components/KPIStrip.js +84 -0
- package/dist/esm/v2/components/KPIStrip.js.map +1 -0
- package/dist/esm/v2/components/KV.js +75 -0
- package/dist/esm/v2/components/KV.js.map +1 -0
- package/dist/esm/v2/components/KVGrid.js +74 -0
- package/dist/esm/v2/components/KVGrid.js.map +1 -0
- package/dist/esm/v2/components/Layout.js +284 -0
- package/dist/esm/v2/components/Layout.js.map +1 -0
- package/dist/esm/v2/components/MobileRowCard.js +314 -0
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
- package/dist/esm/v2/components/Modal.js +276 -0
- package/dist/esm/v2/components/Modal.js.map +1 -0
- package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/esm/v2/components/NotFoundPage.js +58 -0
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
- package/dist/esm/v2/components/NumberInput.js +309 -0
- package/dist/esm/v2/components/NumberInput.js.map +1 -0
- package/dist/esm/v2/components/OverflowMenu.js +184 -0
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
- package/dist/esm/v2/components/PdfViewer.js +122 -0
- package/dist/esm/v2/components/PdfViewer.js.map +1 -0
- package/dist/esm/v2/components/ProgressBar.js +202 -0
- package/dist/esm/v2/components/ProgressBar.js.map +1 -0
- package/dist/esm/v2/components/Radio.js +228 -0
- package/dist/esm/v2/components/Radio.js.map +1 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/esm/v2/components/SectionHeader.js +132 -0
- package/dist/esm/v2/components/SectionHeader.js.map +1 -0
- package/dist/esm/v2/components/Segmented.js +254 -0
- package/dist/esm/v2/components/Segmented.js.map +1 -0
- package/dist/esm/v2/components/Select.js +490 -0
- package/dist/esm/v2/components/Select.js.map +1 -0
- package/dist/esm/v2/components/ServerErrorPage.js +74 -0
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/esm/v2/components/Skeleton.js +269 -0
- package/dist/esm/v2/components/Skeleton.js.map +1 -0
- package/dist/esm/v2/components/SkipLink.js +49 -0
- package/dist/esm/v2/components/SkipLink.js.map +1 -0
- package/dist/esm/v2/components/Spinner.js +69 -0
- package/dist/esm/v2/components/Spinner.js.map +1 -0
- package/dist/esm/v2/components/Status.js +64 -0
- package/dist/esm/v2/components/Status.js.map +1 -0
- package/dist/esm/v2/components/Stepper.js +432 -0
- package/dist/esm/v2/components/Stepper.js.map +1 -0
- package/dist/esm/v2/components/Surface.js +159 -0
- package/dist/esm/v2/components/Surface.js.map +1 -0
- package/dist/esm/v2/components/Switch.js +128 -0
- package/dist/esm/v2/components/Switch.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +150 -0
- package/dist/esm/v2/components/Tabs.js.map +1 -0
- package/dist/esm/v2/components/TelInput.js +274 -0
- package/dist/esm/v2/components/TelInput.js.map +1 -0
- package/dist/esm/v2/components/Textarea.js +72 -0
- package/dist/esm/v2/components/Textarea.js.map +1 -0
- package/dist/esm/v2/components/TimePicker.js +134 -0
- package/dist/esm/v2/components/TimePicker.js.map +1 -0
- package/dist/esm/v2/components/Toast.js +376 -0
- package/dist/esm/v2/components/Toast.js.map +1 -0
- package/dist/esm/v2/components/Tooltip.js +161 -0
- package/dist/esm/v2/components/Tooltip.js.map +1 -0
- package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/esm/v2/components/_pickerShared.js +60 -0
- package/dist/esm/v2/components/_pickerShared.js.map +1 -0
- package/dist/esm/v2/components/index.js +244 -0
- package/dist/esm/v2/components/index.js.map +1 -0
- package/dist/esm/v2/hooks/index.js +10 -0
- package/dist/esm/v2/hooks/index.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/esm/v2/hooks/useDensity.js +119 -0
- package/dist/esm/v2/hooks/useDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useSortedRows.js +32 -0
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/esm/v2/hooks/useTabLoading.js +79 -0
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/esm/v2/index.js +121 -0
- package/dist/esm/v2/index.js.map +1 -0
- package/dist/esm/v2/modalContext.js +108 -0
- package/dist/esm/v2/modalContext.js.map +1 -0
- package/dist/esm/v2/models/favorite.js +2 -0
- package/dist/esm/v2/models/favorite.js.map +1 -0
- package/dist/esm/v2/models/index.js +12 -0
- package/dist/esm/v2/models/index.js.map +1 -0
- package/dist/esm/v2/models/personalization.js +2 -0
- package/dist/esm/v2/models/personalization.js.map +1 -0
- package/dist/esm/v2/models/referentiel.js +2 -0
- package/dist/esm/v2/models/referentiel.js.map +1 -0
- package/dist/esm/v2/models/savedFilter.js +2 -0
- package/dist/esm/v2/models/savedFilter.js.map +1 -0
- package/dist/esm/v2/patterns/ActionBar.js +603 -0
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/esm/v2/patterns/DataGrid.js +820 -0
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +164 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormPageShell.js +126 -0
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/FormSection.js +190 -0
- package/dist/esm/v2/patterns/FormSection.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCombobox.js +115 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +196 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +148 -0
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
- package/dist/esm/v2/patterns/FormikInput.js +127 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/FormikSelect.js +159 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +76 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +195 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/esm/v2/patterns/PageContent.js +62 -0
- package/dist/esm/v2/patterns/PageContent.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +615 -0
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/SortableHeader.js +179 -0
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/esm/v2/patterns/Tour.js +471 -0
- package/dist/esm/v2/patterns/Tour.js.map +1 -0
- package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +112 -0
- package/dist/esm/v2/patterns/_sort.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +95 -0
- package/dist/esm/v2/patterns/index.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/index.js +11 -0
- package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +17 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/esm/v2/personalization/index.js +46 -0
- package/dist/esm/v2/personalization/index.js.map +1 -0
- package/dist/esm/v2/personalization/personalizationContext.js +108 -0
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/esm/v2/personalization/schema.js +92 -0
- package/dist/esm/v2/personalization/schema.js.map +1 -0
- package/dist/esm/v2/personalization/types.js +2 -0
- package/dist/esm/v2/personalization/types.js.map +1 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/esm/v2/referentiel/index.js +15 -0
- package/dist/esm/v2/referentiel/index.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/esm/v2/styles/base.css +425 -0
- package/dist/esm/v2/styles/css.d.ts +10 -0
- package/dist/esm/v2/styles/index.js +12 -0
- package/dist/esm/v2/styles/index.js.map +1 -0
- package/dist/esm/v2/theme/_brand.js +64 -0
- package/dist/esm/v2/theme/_brand.js.map +1 -0
- package/dist/esm/v2/theme/_brandSecondary.js +60 -0
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/esm/v2/theme/cssVariables.js +198 -0
- package/dist/esm/v2/theme/cssVariables.js.map +1 -0
- package/dist/esm/v2/theme/index.js +32 -0
- package/dist/esm/v2/theme/index.js.map +1 -0
- package/dist/esm/v2/tokens/breakpoints.js +106 -0
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +219 -0
- package/dist/esm/v2/tokens/colors.js.map +1 -0
- package/dist/esm/v2/tokens/density.js +98 -0
- package/dist/esm/v2/tokens/density.js.map +1 -0
- package/dist/esm/v2/tokens/index.js +80 -0
- package/dist/esm/v2/tokens/index.js.map +1 -0
- package/dist/esm/v2/tokens/motion.js +88 -0
- package/dist/esm/v2/tokens/motion.js.map +1 -0
- package/dist/esm/v2/tokens/radius.js +22 -0
- package/dist/esm/v2/tokens/radius.js.map +1 -0
- package/dist/esm/v2/tokens/shadows.js +40 -0
- package/dist/esm/v2/tokens/shadows.js.map +1 -0
- package/dist/esm/v2/tokens/spacing.js +51 -0
- package/dist/esm/v2/tokens/spacing.js.map +1 -0
- package/dist/esm/v2/tokens/state.js +41 -0
- package/dist/esm/v2/tokens/state.js.map +1 -0
- package/dist/esm/v2/tokens/statusPalette.js +66 -0
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
- package/dist/esm/v2/tokens/tokens.json +153 -0
- package/dist/esm/v2/tokens/typography.js +149 -0
- package/dist/esm/v2/tokens/typography.js.map +1 -0
- package/dist/esm/v2/tokens/zIndex.js +44 -0
- package/dist/esm/v2/tokens/zIndex.js.map +1 -0
- package/dist/esm/v2/types/common.js +2 -0
- package/dist/esm/v2/types/common.js.map +1 -0
- package/dist/esm/v2/types/datagrid.js +2 -0
- package/dist/esm/v2/types/datagrid.js.map +1 -0
- package/dist/esm/v2/types/index.js +12 -0
- package/dist/esm/v2/types/index.js.map +1 -0
- package/dist/esm/v2/utils/apiError.js +281 -0
- package/dist/esm/v2/utils/apiError.js.map +1 -0
- package/dist/esm/v2/utils/contrast.js +157 -0
- package/dist/esm/v2/utils/contrast.js.map +1 -0
- package/dist/esm/v2/utils/cx.js +38 -0
- package/dist/esm/v2/utils/cx.js.map +1 -0
- package/dist/esm/v2/utils/fileDownload.js +226 -0
- package/dist/esm/v2/utils/fileDownload.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +78 -0
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
- package/dist/esm/v2/utils/index.js +43 -0
- package/dist/esm/v2/utils/index.js.map +1 -0
- package/dist/esm/v2/utils/mergeLabels.js +86 -0
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
- package/dist/esm/v2/utils/networkStatus.js +114 -0
- package/dist/esm/v2/utils/networkStatus.js.map +1 -0
- package/dist/index.d.ts +60 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +183 -191
- package/dist/index.js.map +1 -0
- package/dist/v2/__tests__/FieldError.test.js +164 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +148 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +337 -0
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/__tests__/apiError.test.js +182 -0
- package/dist/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/v2/__tests__/banned-patterns.test.js +272 -0
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +225 -0
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/v2/__tests__/cssVariables.test.js +158 -0
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +153 -0
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/v2/__tests__/locale-fallback.test.js +111 -0
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +517 -0
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/v2/components/Accordion.d.ts +56 -0
- package/dist/v2/components/Accordion.d.ts.map +1 -0
- package/dist/v2/components/Accordion.js +238 -0
- package/dist/v2/components/Accordion.js.map +1 -0
- package/dist/v2/components/ActionStrip.d.ts +67 -0
- package/dist/v2/components/ActionStrip.d.ts.map +1 -0
- package/dist/v2/components/ActionStrip.js +154 -0
- package/dist/v2/components/ActionStrip.js.map +1 -0
- package/dist/v2/components/Banner.d.ts +88 -0
- package/dist/v2/components/Banner.d.ts.map +1 -0
- package/dist/v2/components/Banner.js +264 -0
- package/dist/v2/components/Banner.js.map +1 -0
- package/dist/v2/components/Busy.d.ts +18 -0
- package/dist/v2/components/Busy.d.ts.map +1 -0
- package/dist/v2/components/Busy.js +104 -0
- package/dist/v2/components/Busy.js.map +1 -0
- package/dist/v2/components/Button.d.ts +36 -0
- package/dist/v2/components/Button.d.ts.map +1 -0
- package/dist/v2/components/Button.js +122 -0
- package/dist/v2/components/Button.js.map +1 -0
- package/dist/v2/components/CategoryTag.d.ts +45 -0
- package/dist/v2/components/CategoryTag.d.ts.map +1 -0
- package/dist/v2/components/CategoryTag.js +89 -0
- package/dist/v2/components/CategoryTag.js.map +1 -0
- package/dist/v2/components/Checkbox.d.ts +59 -0
- package/dist/v2/components/Checkbox.d.ts.map +1 -0
- package/dist/v2/components/Checkbox.js +134 -0
- package/dist/v2/components/Checkbox.js.map +1 -0
- package/dist/v2/components/Chip.d.ts +48 -0
- package/dist/v2/components/Chip.d.ts.map +1 -0
- package/dist/v2/components/Chip.js +132 -0
- package/dist/v2/components/Chip.js.map +1 -0
- package/dist/v2/components/Combobox.d.ts +134 -0
- package/dist/v2/components/Combobox.d.ts.map +1 -0
- package/dist/v2/components/Combobox.js +400 -0
- package/dist/v2/components/Combobox.js.map +1 -0
- package/dist/v2/components/CommandPalette.d.ts +36 -0
- package/dist/v2/components/CommandPalette.d.ts.map +1 -0
- package/dist/v2/components/CommandPalette.js +668 -0
- package/dist/v2/components/CommandPalette.js.map +1 -0
- package/dist/v2/components/ConfirmDialog.d.ts +23 -0
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/v2/components/ConfirmDialog.js +151 -0
- package/dist/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/v2/components/DatePicker.d.ts +21 -0
- package/dist/v2/components/DatePicker.d.ts.map +1 -0
- package/dist/v2/components/DatePicker.js +207 -0
- package/dist/v2/components/DatePicker.js.map +1 -0
- package/dist/v2/components/DateRangePicker.d.ts +81 -0
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -0
- package/dist/v2/components/DateRangePicker.js +296 -0
- package/dist/v2/components/DateRangePicker.js.map +1 -0
- package/dist/v2/components/DateTimePicker.d.ts +21 -0
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -0
- package/dist/v2/components/DateTimePicker.js +189 -0
- package/dist/v2/components/DateTimePicker.js.map +1 -0
- package/dist/v2/components/Drawer.d.ts +34 -0
- package/dist/v2/components/Drawer.d.ts.map +1 -0
- package/dist/v2/components/Drawer.js +340 -0
- package/dist/v2/components/Drawer.js.map +1 -0
- package/dist/v2/components/Dropzone.d.ts +150 -0
- package/dist/v2/components/Dropzone.d.ts.map +1 -0
- package/dist/v2/components/Dropzone.js +547 -0
- package/dist/v2/components/Dropzone.js.map +1 -0
- package/dist/v2/components/EmptyState.d.ts +36 -0
- package/dist/v2/components/EmptyState.d.ts.map +1 -0
- package/dist/v2/components/EmptyState.js +112 -0
- package/dist/v2/components/EmptyState.js.map +1 -0
- package/dist/v2/components/FavoriteToggle.d.ts +22 -0
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -0
- package/dist/v2/components/FavoriteToggle.js +135 -0
- package/dist/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/v2/components/Field.d.ts +63 -0
- package/dist/v2/components/Field.d.ts.map +1 -0
- package/dist/v2/components/Field.js +204 -0
- package/dist/v2/components/Field.js.map +1 -0
- 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 +54 -0
- package/dist/v2/components/FieldHelp.d.ts.map +1 -0
- package/dist/v2/components/FieldHelp.js +209 -0
- package/dist/v2/components/FieldHelp.js.map +1 -0
- 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 +35 -0
- package/dist/v2/components/FilterTab.d.ts.map +1 -0
- package/dist/v2/components/FilterTab.js +145 -0
- package/dist/v2/components/FilterTab.js.map +1 -0
- package/dist/v2/components/ForbiddenPage.d.ts +40 -0
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -0
- package/dist/v2/components/ForbiddenPage.js +81 -0
- package/dist/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/v2/components/FormGrid.d.ts +81 -0
- package/dist/v2/components/FormGrid.d.ts.map +1 -0
- package/dist/v2/components/FormGrid.js +187 -0
- package/dist/v2/components/FormGrid.js.map +1 -0
- package/dist/v2/components/FormikDisplay.d.ts +38 -0
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -0
- package/dist/v2/components/FormikDisplay.js +125 -0
- package/dist/v2/components/FormikDisplay.js.map +1 -0
- package/dist/v2/components/Input.d.ts +62 -0
- package/dist/v2/components/Input.d.ts.map +1 -0
- package/dist/v2/components/Input.js +115 -0
- package/dist/v2/components/Input.js.map +1 -0
- package/dist/v2/components/KPICard.d.ts +52 -0
- package/dist/v2/components/KPICard.d.ts.map +1 -0
- package/dist/v2/components/KPICard.js +244 -0
- package/dist/v2/components/KPICard.js.map +1 -0
- 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 +25 -0
- package/dist/v2/components/KV.d.ts.map +1 -0
- package/dist/v2/components/KV.js +82 -0
- package/dist/v2/components/KV.js.map +1 -0
- package/dist/v2/components/KVGrid.d.ts +44 -0
- package/dist/v2/components/KVGrid.d.ts.map +1 -0
- package/dist/v2/components/KVGrid.js +80 -0
- package/dist/v2/components/KVGrid.js.map +1 -0
- package/dist/v2/components/Layout.d.ts +78 -0
- package/dist/v2/components/Layout.d.ts.map +1 -0
- package/dist/v2/components/Layout.js +284 -0
- package/dist/v2/components/Layout.js.map +1 -0
- package/dist/v2/components/MobileRowCard.d.ts +63 -0
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -0
- package/dist/v2/components/MobileRowCard.js +321 -0
- package/dist/v2/components/MobileRowCard.js.map +1 -0
- package/dist/v2/components/Modal.d.ts +21 -0
- package/dist/v2/components/Modal.d.ts.map +1 -0
- package/dist/v2/components/Modal.js +281 -0
- package/dist/v2/components/Modal.js.map +1 -0
- package/dist/v2/components/NetworkErrorPage.d.ts +11 -0
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -0
- package/dist/v2/components/NetworkErrorPage.js +86 -0
- package/dist/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/v2/components/NotFoundPage.d.ts +9 -0
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -0
- package/dist/v2/components/NotFoundPage.js +66 -0
- package/dist/v2/components/NotFoundPage.js.map +1 -0
- package/dist/v2/components/NumberInput.d.ts +83 -0
- package/dist/v2/components/NumberInput.d.ts.map +1 -0
- package/dist/v2/components/NumberInput.js +317 -0
- package/dist/v2/components/NumberInput.js.map +1 -0
- package/dist/v2/components/OverflowMenu.d.ts +55 -0
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -0
- package/dist/v2/components/OverflowMenu.js +192 -0
- package/dist/v2/components/OverflowMenu.js.map +1 -0
- package/dist/v2/components/PdfViewer.d.ts +56 -0
- package/dist/v2/components/PdfViewer.d.ts.map +1 -0
- package/dist/v2/components/PdfViewer.js +132 -0
- package/dist/v2/components/PdfViewer.js.map +1 -0
- package/dist/v2/components/ProgressBar.d.ts +53 -0
- package/dist/v2/components/ProgressBar.d.ts.map +1 -0
- package/dist/v2/components/ProgressBar.js +209 -0
- package/dist/v2/components/ProgressBar.js.map +1 -0
- package/dist/v2/components/Radio.d.ts +78 -0
- package/dist/v2/components/Radio.d.ts.map +1 -0
- package/dist/v2/components/Radio.js +238 -0
- package/dist/v2/components/Radio.js.map +1 -0
- 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 +53 -0
- package/dist/v2/components/SectionHeader.d.ts.map +1 -0
- package/dist/v2/components/SectionHeader.js +140 -0
- package/dist/v2/components/SectionHeader.js.map +1 -0
- package/dist/v2/components/Segmented.d.ts +61 -0
- package/dist/v2/components/Segmented.d.ts.map +1 -0
- package/dist/v2/components/Segmented.js +261 -0
- package/dist/v2/components/Segmented.js.map +1 -0
- package/dist/v2/components/Select.d.ts +90 -0
- package/dist/v2/components/Select.d.ts.map +1 -0
- package/dist/v2/components/Select.js +499 -0
- package/dist/v2/components/Select.js.map +1 -0
- package/dist/v2/components/ServerErrorPage.d.ts +11 -0
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -0
- package/dist/v2/components/ServerErrorPage.js +82 -0
- package/dist/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/v2/components/Skeleton.d.ts +56 -0
- package/dist/v2/components/Skeleton.d.ts.map +1 -0
- package/dist/v2/components/Skeleton.js +281 -0
- package/dist/v2/components/Skeleton.js.map +1 -0
- package/dist/v2/components/SkipLink.d.ts +30 -0
- package/dist/v2/components/SkipLink.d.ts.map +1 -0
- package/dist/v2/components/SkipLink.js +58 -0
- package/dist/v2/components/SkipLink.js.map +1 -0
- package/dist/v2/components/Spinner.d.ts +40 -0
- package/dist/v2/components/Spinner.d.ts.map +1 -0
- package/dist/v2/components/Spinner.js +76 -0
- package/dist/v2/components/Spinner.js.map +1 -0
- package/dist/v2/components/Status.d.ts +42 -0
- package/dist/v2/components/Status.d.ts.map +1 -0
- package/dist/v2/components/Status.js +71 -0
- package/dist/v2/components/Status.js.map +1 -0
- package/dist/v2/components/Stepper.d.ts +142 -0
- package/dist/v2/components/Stepper.d.ts.map +1 -0
- package/dist/v2/components/Stepper.js +441 -0
- package/dist/v2/components/Stepper.js.map +1 -0
- 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 +30 -0
- package/dist/v2/components/Switch.d.ts.map +1 -0
- package/dist/v2/components/Switch.js +136 -0
- package/dist/v2/components/Switch.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +49 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -0
- package/dist/v2/components/Tabs.js +160 -0
- package/dist/v2/components/Tabs.js.map +1 -0
- package/dist/v2/components/TelInput.d.ts +33 -0
- package/dist/v2/components/TelInput.d.ts.map +1 -0
- package/dist/v2/components/TelInput.js +282 -0
- package/dist/v2/components/TelInput.js.map +1 -0
- package/dist/v2/components/Textarea.d.ts +23 -0
- package/dist/v2/components/Textarea.d.ts.map +1 -0
- package/dist/v2/components/Textarea.js +80 -0
- package/dist/v2/components/Textarea.js.map +1 -0
- package/dist/v2/components/TimePicker.d.ts +21 -0
- package/dist/v2/components/TimePicker.d.ts.map +1 -0
- package/dist/v2/components/TimePicker.js +141 -0
- package/dist/v2/components/TimePicker.js.map +1 -0
- package/dist/v2/components/Toast.d.ts +32 -0
- package/dist/v2/components/Toast.d.ts.map +1 -0
- package/dist/v2/components/Toast.js +385 -0
- package/dist/v2/components/Toast.js.map +1 -0
- package/dist/v2/components/Tooltip.d.ts +9 -0
- package/dist/v2/components/Tooltip.d.ts.map +1 -0
- package/dist/v2/components/Tooltip.js +169 -0
- package/dist/v2/components/Tooltip.js.map +1 -0
- package/dist/v2/components/_ErrorPageBody.d.ts +48 -0
- package/dist/v2/components/_ErrorPageBody.d.ts.map +1 -0
- package/dist/v2/components/_ErrorPageBody.js +96 -0
- package/dist/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/v2/components/_pickerShared.d.ts +47 -0
- package/dist/v2/components/_pickerShared.d.ts.map +1 -0
- package/dist/v2/components/_pickerShared.js +68 -0
- package/dist/v2/components/_pickerShared.js.map +1 -0
- package/dist/v2/components/index.d.ts +226 -0
- package/dist/v2/components/index.d.ts.map +1 -0
- package/dist/v2/components/index.js +512 -0
- package/dist/v2/components/index.js.map +1 -0
- package/dist/v2/hooks/index.d.ts +11 -0
- package/dist/v2/hooks/index.d.ts.map +1 -0
- package/dist/v2/hooks/index.js +85 -0
- package/dist/v2/hooks/index.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.d.ts +22 -0
- package/dist/v2/hooks/useDelayedFlag.d.ts.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +60 -0
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/v2/hooks/useDensity.d.ts +23 -0
- package/dist/v2/hooks/useDensity.d.ts.map +1 -0
- package/dist/v2/hooks/useDensity.js +124 -0
- package/dist/v2/hooks/useDensity.js.map +1 -0
- package/dist/v2/hooks/useFocusFirstError.d.ts +121 -0
- package/dist/v2/hooks/useFocusFirstError.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusFirstError.js +203 -0
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.d.ts +3 -0
- package/dist/v2/hooks/useFocusTrap.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +207 -0
- package/dist/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/v2/hooks/useFormAutoSave.d.ts +42 -0
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -0
- package/dist/v2/hooks/useFormAutoSave.js +186 -0
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +52 -0
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -0
- package/dist/v2/hooks/useFormCompletionProgress.js +136 -0
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.d.ts +31 -0
- package/dist/v2/hooks/useResolvedDensity.d.ts.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +50 -0
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/v2/hooks/useSortedRows.d.ts +25 -0
- package/dist/v2/hooks/useSortedRows.d.ts.map +1 -0
- package/dist/v2/hooks/useSortedRows.js +38 -0
- package/dist/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/v2/hooks/useTabLoading.d.ts +39 -0
- package/dist/v2/hooks/useTabLoading.d.ts.map +1 -0
- package/dist/v2/hooks/useTabLoading.js +85 -0
- package/dist/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/v2/index.d.ts +115 -0
- package/dist/v2/index.d.ts.map +1 -0
- package/dist/v2/index.js +1127 -0
- package/dist/v2/index.js.map +1 -0
- package/dist/v2/modalContext.d.ts +96 -0
- package/dist/v2/modalContext.d.ts.map +1 -0
- package/dist/v2/modalContext.js +113 -0
- package/dist/v2/modalContext.js.map +1 -0
- package/dist/v2/models/favorite.d.ts +14 -0
- package/dist/v2/models/favorite.d.ts.map +1 -0
- package/dist/v2/models/favorite.js +6 -0
- package/dist/v2/models/favorite.js.map +1 -0
- package/dist/v2/models/index.d.ts +11 -0
- package/dist/v2/models/index.d.ts.map +1 -0
- package/dist/v2/models/index.js +50 -0
- package/dist/v2/models/index.js.map +1 -0
- package/dist/v2/models/personalization.d.ts +65 -0
- package/dist/v2/models/personalization.d.ts.map +1 -0
- package/dist/v2/models/personalization.js +6 -0
- package/dist/v2/models/personalization.js.map +1 -0
- package/dist/v2/models/referentiel.d.ts +67 -0
- package/dist/v2/models/referentiel.d.ts.map +1 -0
- package/dist/v2/models/referentiel.js +6 -0
- package/dist/v2/models/referentiel.js.map +1 -0
- package/dist/v2/models/savedFilter.d.ts +22 -0
- package/dist/v2/models/savedFilter.d.ts.map +1 -0
- package/dist/v2/models/savedFilter.js +6 -0
- package/dist/v2/models/savedFilter.js.map +1 -0
- package/dist/v2/patterns/ActionBar.d.ts +137 -0
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -0
- package/dist/v2/patterns/ActionBar.js +602 -0
- package/dist/v2/patterns/ActionBar.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.d.ts +63 -0
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +154 -0
- package/dist/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +62 -0
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +306 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/v2/patterns/ColumnsToggle.d.ts +55 -0
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -0
- package/dist/v2/patterns/ColumnsToggle.js +310 -0
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/v2/patterns/DataGrid.d.ts +7 -0
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -0
- package/dist/v2/patterns/DataGrid.js +834 -0
- package/dist/v2/patterns/DataGrid.js.map +1 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +68 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridSettingsMenu.js +382 -0
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/v2/patterns/DataGridToolbar.d.ts +81 -0
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridToolbar.js +256 -0
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/v2/patterns/DataGridVirtualized.d.ts +76 -0
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridVirtualized.js +528 -0
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +46 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +77 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts +72 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.js +171 -0
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/v2/patterns/FavoritesFilter.d.ts +51 -0
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -0
- package/dist/v2/patterns/FavoritesFilter.js +98 -0
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.d.ts +39 -0
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +111 -0
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormPageShell.d.ts +55 -0
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -0
- package/dist/v2/patterns/FormPageShell.js +133 -0
- package/dist/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/v2/patterns/FormSection.d.ts +64 -0
- package/dist/v2/patterns/FormSection.d.ts.map +1 -0
- package/dist/v2/patterns/FormSection.js +197 -0
- package/dist/v2/patterns/FormSection.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +51 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.js +117 -0
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/v2/patterns/FormikCombobox.d.ts +43 -0
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCombobox.js +121 -0
- package/dist/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/v2/patterns/FormikDatePicker.d.ts +115 -0
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDatePicker.js +203 -0
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts +59 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.js +83 -0
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +43 -0
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -0
- package/dist/v2/patterns/FormikFile.js +156 -0
- package/dist/v2/patterns/FormikFile.js.map +1 -0
- package/dist/v2/patterns/FormikInput.d.ts +72 -0
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -0
- package/dist/v2/patterns/FormikInput.js +135 -0
- package/dist/v2/patterns/FormikInput.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +33 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.js +124 -0
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/v2/patterns/FormikSelect.d.ts +61 -0
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -0
- package/dist/v2/patterns/FormikSelect.js +165 -0
- package/dist/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/v2/patterns/FormikTextarea.d.ts +31 -0
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -0
- package/dist/v2/patterns/FormikTextarea.js +84 -0
- package/dist/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +44 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +203 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +26 -0
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -0
- package/dist/v2/patterns/NetworkErrorBanner.js +82 -0
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/v2/patterns/PageContent.d.ts +40 -0
- package/dist/v2/patterns/PageContent.d.ts.map +1 -0
- package/dist/v2/patterns/PageContent.js +69 -0
- package/dist/v2/patterns/PageContent.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +118 -0
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -0
- package/dist/v2/patterns/ReferentielField.js +618 -0
- package/dist/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts +68 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.js +204 -0
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +74 -0
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -0
- package/dist/v2/patterns/SavedFiltersMenu.js +413 -0
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/v2/patterns/SkeletonPageShell.d.ts +76 -0
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -0
- package/dist/v2/patterns/SkeletonPageShell.js +347 -0
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/v2/patterns/SortableHeader.d.ts +47 -0
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -0
- package/dist/v2/patterns/SortableHeader.js +193 -0
- package/dist/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/v2/patterns/Tour.d.ts +55 -0
- package/dist/v2/patterns/Tour.d.ts.map +1 -0
- package/dist/v2/patterns/Tour.js +474 -0
- package/dist/v2/patterns/Tour.js.map +1 -0
- package/dist/v2/patterns/_dataGridShared.d.ts +144 -0
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -0
- package/dist/v2/patterns/_dataGridShared.js +440 -0
- package/dist/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/v2/patterns/_sort.d.ts +22 -0
- package/dist/v2/patterns/_sort.d.ts.map +1 -0
- package/dist/v2/patterns/_sort.js +118 -0
- package/dist/v2/patterns/_sort.js.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts +69 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.js +264 -0
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/v2/patterns/_useColumnResize.d.ts +49 -0
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -0
- package/dist/v2/patterns/_useColumnResize.js +198 -0
- package/dist/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +89 -0
- package/dist/v2/patterns/index.d.ts.map +1 -0
- package/dist/v2/patterns/index.js +246 -0
- package/dist/v2/patterns/index.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts +80 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.js +177 -0
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/v2/personalization/adapters/_storageKey.d.ts +35 -0
- package/dist/v2/personalization/adapters/_storageKey.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/_storageKey.js +69 -0
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +31 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +128 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +25 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +76 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/v2/personalization/adapters/index.d.ts +10 -0
- package/dist/v2/personalization/adapters/index.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/index.js +21 -0
- package/dist/v2/personalization/adapters/index.js.map +1 -0
- package/dist/v2/personalization/capabilities/favorites.d.ts +53 -0
- package/dist/v2/personalization/capabilities/favorites.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/favorites.js +223 -0
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +58 -0
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/favoritesView.js +121 -0
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +16 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/index.js +69 -0
- package/dist/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +61 -0
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +297 -0
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/v2/personalization/createPersonalizationStore.d.ts +76 -0
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -0
- package/dist/v2/personalization/createPersonalizationStore.js +475 -0
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/v2/personalization/index.d.ts +33 -0
- package/dist/v2/personalization/index.d.ts.map +1 -0
- package/dist/v2/personalization/index.js +111 -0
- package/dist/v2/personalization/index.js.map +1 -0
- package/dist/v2/personalization/personalizationContext.d.ts +78 -0
- package/dist/v2/personalization/personalizationContext.d.ts.map +1 -0
- package/dist/v2/personalization/personalizationContext.js +121 -0
- package/dist/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/v2/personalization/schema.d.ts +60 -0
- package/dist/v2/personalization/schema.d.ts.map +1 -0
- package/dist/v2/personalization/schema.js +102 -0
- package/dist/v2/personalization/schema.js.map +1 -0
- package/dist/v2/personalization/types.d.ts +81 -0
- package/dist/v2/personalization/types.d.ts.map +1 -0
- package/dist/v2/personalization/types.js +6 -0
- package/dist/v2/personalization/types.js.map +1 -0
- package/dist/v2/referentiel/ReferentielProvider.d.ts +53 -0
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -0
- package/dist/v2/referentiel/ReferentielProvider.js +94 -0
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/v2/referentiel/index.d.ts +18 -0
- package/dist/v2/referentiel/index.d.ts.map +1 -0
- package/dist/v2/referentiel/index.js +44 -0
- package/dist/v2/referentiel/index.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.d.ts +15 -0
- package/dist/v2/referentiel/useReferentielClient.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +46 -0
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/v2/referentiel/useReferentielOptions.d.ts +40 -0
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielOptions.js +177 -0
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/v2/referentiel/useReferentielSearch.d.ts +76 -0
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielSearch.js +140 -0
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/v2/styles/base.css +425 -0
- package/dist/v2/styles/css.d.ts +10 -0
- package/dist/v2/styles/index.d.ts +12 -0
- package/dist/v2/styles/index.d.ts.map +1 -0
- package/dist/v2/styles/index.js +4 -0
- package/dist/v2/styles/index.js.map +1 -0
- package/dist/v2/theme/_brand.d.ts +29 -0
- package/dist/v2/theme/_brand.d.ts.map +1 -0
- package/dist/v2/theme/_brand.js +69 -0
- package/dist/v2/theme/_brand.js.map +1 -0
- package/dist/v2/theme/_brandSecondary.d.ts +26 -0
- package/dist/v2/theme/_brandSecondary.d.ts.map +1 -0
- package/dist/v2/theme/_brandSecondary.js +65 -0
- package/dist/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/v2/theme/createPortnetTheme.d.ts +75 -0
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -0
- package/dist/v2/theme/createPortnetTheme.js +553 -0
- package/dist/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/v2/theme/cssVariables.d.ts +41 -0
- package/dist/v2/theme/cssVariables.d.ts.map +1 -0
- package/dist/v2/theme/cssVariables.js +205 -0
- package/dist/v2/theme/cssVariables.js.map +1 -0
- package/dist/v2/theme/index.d.ts +33 -0
- package/dist/v2/theme/index.d.ts.map +1 -0
- package/dist/v2/theme/index.js +60 -0
- package/dist/v2/theme/index.js.map +1 -0
- package/dist/v2/tokens/breakpoints.d.ts +74 -0
- package/dist/v2/tokens/breakpoints.d.ts.map +1 -0
- package/dist/v2/tokens/breakpoints.js +114 -0
- package/dist/v2/tokens/breakpoints.js.map +1 -0
- package/dist/v2/tokens/colors.d.ts +228 -0
- package/dist/v2/tokens/colors.d.ts.map +1 -0
- package/dist/v2/tokens/colors.js +225 -0
- package/dist/v2/tokens/colors.js.map +1 -0
- package/dist/v2/tokens/density.d.ts +142 -0
- package/dist/v2/tokens/density.d.ts.map +1 -0
- package/dist/v2/tokens/density.js +111 -0
- package/dist/v2/tokens/density.js.map +1 -0
- package/dist/v2/tokens/index.d.ts +556 -0
- package/dist/v2/tokens/index.d.ts.map +1 -0
- package/dist/v2/tokens/index.js +313 -0
- package/dist/v2/tokens/index.js.map +1 -0
- package/dist/v2/tokens/motion.d.ts +85 -0
- package/dist/v2/tokens/motion.d.ts.map +1 -0
- package/dist/v2/tokens/motion.js +94 -0
- package/dist/v2/tokens/motion.js.map +1 -0
- package/dist/v2/tokens/radius.d.ts +18 -0
- package/dist/v2/tokens/radius.d.ts.map +1 -0
- package/dist/v2/tokens/radius.js +28 -0
- package/dist/v2/tokens/radius.js.map +1 -0
- package/dist/v2/tokens/shadows.d.ts +25 -0
- package/dist/v2/tokens/shadows.d.ts.map +1 -0
- package/dist/v2/tokens/shadows.js +46 -0
- package/dist/v2/tokens/shadows.js.map +1 -0
- package/dist/v2/tokens/spacing.d.ts +38 -0
- package/dist/v2/tokens/spacing.d.ts.map +1 -0
- package/dist/v2/tokens/spacing.js +57 -0
- package/dist/v2/tokens/spacing.js.map +1 -0
- package/dist/v2/tokens/state.d.ts +40 -0
- package/dist/v2/tokens/state.d.ts.map +1 -0
- package/dist/v2/tokens/state.js +47 -0
- package/dist/v2/tokens/state.js.map +1 -0
- package/dist/v2/tokens/statusPalette.d.ts +54 -0
- package/dist/v2/tokens/statusPalette.d.ts.map +1 -0
- package/dist/v2/tokens/statusPalette.js +72 -0
- package/dist/v2/tokens/statusPalette.js.map +1 -0
- package/dist/v2/tokens/tokens.json +153 -0
- package/dist/v2/tokens/typography.d.ts +206 -0
- package/dist/v2/tokens/typography.d.ts.map +1 -0
- package/dist/v2/tokens/typography.js +155 -0
- package/dist/v2/tokens/typography.js.map +1 -0
- package/dist/v2/tokens/zIndex.d.ts +33 -0
- package/dist/v2/tokens/zIndex.d.ts.map +1 -0
- package/dist/v2/tokens/zIndex.js +50 -0
- package/dist/v2/tokens/zIndex.js.map +1 -0
- package/dist/v2/types/common.d.ts +24 -0
- package/dist/v2/types/common.d.ts.map +1 -0
- package/dist/v2/types/common.js +6 -0
- package/dist/v2/types/common.js.map +1 -0
- package/dist/v2/types/datagrid.d.ts +131 -0
- package/dist/v2/types/datagrid.d.ts.map +1 -0
- package/dist/v2/types/datagrid.js +6 -0
- package/dist/v2/types/datagrid.js.map +1 -0
- package/dist/v2/types/index.d.ts +11 -0
- package/dist/v2/types/index.d.ts.map +1 -0
- package/dist/v2/types/index.js +28 -0
- package/dist/v2/types/index.js.map +1 -0
- package/dist/v2/utils/apiError.d.ts +151 -0
- package/dist/v2/utils/apiError.d.ts.map +1 -0
- package/dist/v2/utils/apiError.js +290 -0
- package/dist/v2/utils/apiError.js.map +1 -0
- package/dist/v2/utils/contrast.d.ts +68 -0
- package/dist/v2/utils/contrast.d.ts.map +1 -0
- package/dist/v2/utils/contrast.js +167 -0
- package/dist/v2/utils/contrast.js.map +1 -0
- package/dist/v2/utils/cx.d.ts +9 -0
- package/dist/v2/utils/cx.d.ts.map +1 -0
- package/dist/v2/utils/cx.js +45 -0
- package/dist/v2/utils/cx.js.map +1 -0
- package/dist/v2/utils/fileDownload.d.ts +94 -0
- package/dist/v2/utils/fileDownload.d.ts.map +1 -0
- package/dist/v2/utils/fileDownload.js +236 -0
- package/dist/v2/utils/fileDownload.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +28 -0
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -0
- package/dist/v2/utils/fmtMoney.js +84 -0
- package/dist/v2/utils/fmtMoney.js.map +1 -0
- package/dist/v2/utils/index.d.ts +9 -0
- package/dist/v2/utils/index.d.ts.map +1 -0
- package/dist/v2/utils/index.js +97 -0
- package/dist/v2/utils/index.js.map +1 -0
- 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/dist/v2/utils/networkStatus.d.ts +88 -0
- package/dist/v2/utils/networkStatus.d.ts.map +1 -0
- package/dist/v2/utils/networkStatus.js +121 -0
- package/dist/v2/utils/networkStatus.js.map +1 -0
- package/package.json +198 -76
- package/dist/api/guideApi.js +0 -12
- package/dist/api/guideImageService.js +0 -119
- package/dist/api/reclamationApi.js +0 -119
- package/dist/assets/guides/FAQ.json +0 -118
- package/dist/assets/guides/index.js +0 -11
- package/dist/assets/images/tijariaLogo.ico +0 -0
- package/dist/components/buttons/PuiButton.js +0 -217
- package/dist/components/buttons/PuiIconButton.js +0 -98
- package/dist/components/common/PuiAlertContext.js +0 -12
- package/dist/components/common/PuiHelpWidgetContext.js +0 -17
- package/dist/components/common/StyledMuiButton.js +0 -48
- package/dist/components/common/StyledMuiTextField.js +0 -180
- package/dist/components/inputs/PuiAutocomplete.js +0 -352
- package/dist/components/inputs/PuiCheckbox.js +0 -308
- package/dist/components/inputs/PuiCheckboxGroup.js +0 -215
- package/dist/components/inputs/PuiCheckboxItem.js +0 -162
- package/dist/components/inputs/PuiDateField.js +0 -280
- package/dist/components/inputs/PuiDateTimeField.js +0 -276
- package/dist/components/inputs/PuiFileField.js +0 -265
- package/dist/components/inputs/PuiRadioGroup.js +0 -197
- package/dist/components/inputs/PuiRadioItem.js +0 -100
- package/dist/components/inputs/PuiSelect.js +0 -427
- package/dist/components/inputs/PuiTextField.js +0 -263
- package/dist/components/others/PuiBadge.js +0 -58
- package/dist/components/others/PuiChip.js +0 -150
- package/dist/components/others/PuiDialog.js +0 -102
- package/dist/components/others/PuiFormikForm.js +0 -70
- package/dist/components/others/PuiGrid.js +0 -23
- package/dist/components/others/PuiIcon.js +0 -92
- package/dist/components/others/PuiLoadingBackdrop.js +0 -32
- package/dist/components/others/PuiMainContainer.js +0 -41
- package/dist/components/others/PuiNavigation.js +0 -68
- package/dist/components/others/PuiSection.js +0 -187
- package/dist/components/others/PuiTooltip.js +0 -86
- package/dist/components/providers/PuiAlertProvider.js +0 -134
- package/dist/components/providers/PuiHelpWidgetProvider.js +0 -91
- package/dist/components/providers/PuiLocalizationProvider.js +0 -34
- package/dist/components/referentiel/common/ReferetielContext.js +0 -12
- package/dist/components/referentiel/common/constants/specificReferentielsApis.js +0 -22
- package/dist/components/referentiel/common/constants/specificReferentielsBaseColumns.js +0 -691
- package/dist/components/referentiel/common/constants/specificReferentielsBaseFilters.js +0 -598
- package/dist/components/referentiel/common/constants/specificReferentielsInitialValues.js +0 -80
- package/dist/components/referentiel/common/constants/specificReferentielsKeys.js +0 -18
- package/dist/components/referentiel/common/constants/specificReferentielsTitles.js +0 -22
- package/dist/components/referentiel/common/constants/specificReferentielsValidationSchemas.js +0 -85
- package/dist/components/referentiel/components/PuiBasePopupReferentielField.js +0 -356
- package/dist/components/referentiel/components/PuiCustomPopupReferentielField.js +0 -181
- package/dist/components/referentiel/components/PuiSimplePopupReferentielField.js +0 -325
- package/dist/components/referentiel/components/PuiSimpleReferentielField.js +0 -203
- package/dist/components/referentiel/components/PuiSpecificReferentielField.js +0 -352
- package/dist/components/referentiel/providers/PuiReferentielProvider.js +0 -66
- package/dist/components/tab/PuiTab.js +0 -25
- package/dist/components/tab/PuiTabs.js +0 -148
- package/dist/components/table/PuiTable.js +0 -643
- package/dist/components/table/PuiTableAction.js +0 -75
- package/dist/components/typography/PuiDefinition.js +0 -42
- package/dist/components/typography/PuiIndication.js +0 -80
- package/dist/components/typography/PuiMainTitle.js +0 -144
- package/dist/components/ui/dialogs/PuiSearchDialog.js +0 -106
- package/dist/components/ui/pages/errors/PuiErrorBasePage.js +0 -73
- package/dist/components/ui/pages/errors/PuiForbiddenErrorPage.js +0 -36
- package/dist/components/ui/pages/errors/PuiNetworkErrorPage.js +0 -36
- package/dist/components/ui/pages/errors/PuiNotFoundErrorPage.js +0 -30
- package/dist/components/ui/pages/errors/PuiServerErrorPage.js +0 -37
- package/dist/components/ui/pages/general/PuiDefaultPage.js +0 -68
- package/dist/components/ui/pages/general/PuiSearchPage.js +0 -203
- package/dist/components/widgets/GuideImage.js +0 -251
- package/dist/components/widgets/PuiHelpWidget.js +0 -4276
- package/dist/config/apperance.js +0 -26
- package/dist/config/mapping.js +0 -26
- package/dist/config/referentiel.js +0 -10
- package/dist/general/yupValidationErrors.js +0 -8
- package/dist/hooks/useAlert.js +0 -19
- package/dist/hooks/useAxios.js +0 -23
- package/dist/hooks/useQuery.js +0 -21
- package/dist/hooks/useReclamation.js +0 -116
- package/dist/styles/ReclamationFormModal.css +0 -629
- package/dist/styles/help-widget.css +0 -621
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGrid.js","names":["React","Box","Table","TableHead","TableBody","TableRow","TableCell","Checkbox","DragIndicatorIcon","useMediaQuery","useTheme","SkeletonRow","SortableHeader","applySort","getAriaSort","useDelayedFlag","DEFAULT_MAX_BODY_HEIGHT","mergeLabels","useColumnsStabilityWarn","applyColumnOrder","CONTAINER_SX","TABLE_BY_DENSITY","ROW_CLICKABLE_SX","ROW_STATIC_SX","HEADER_CHECKBOX_CELL_SX","BODY_CHECKBOX_CELL_SX","HOVER_ONLY_CELL_SX","ERROR_CELL_SX","ERROR_INNER_SX","Pagination","useColumnResize","useColumnReorder","jsx","_jsx","jsxs","_jsxs","useAriaLabelWarn","ariaLabel","labelsTableAria","useEffect","process","env","hasAriaLabel","trim","length","hasLabelsAria","console","warn","ROW_ACTIONS_CELL_SX","Object","freeze","position","right","zIndex","width","minWidth","maxWidth","padding","background","borderBottom","overflow","ROW_ACTIONS_HEAD_CELL_SX","top","VISUALLY_HIDDEN_SX","height","margin","clip","whiteSpace","borderWidth","ROW_ACTIONS_OVERLAY_SX","transform","display","alignItems","justifyContent","gap","opacity","pointerEvents","transition","borderRadius","boxShadow","FILLER_CELL_SX","FILLER_HEAD_CELL_SX","REORDER_GRIP_SX","insetInlineStart","border","color","cursor","fontFamily","outline","outlineOffset","CARD_STACK_SX","flexDirection","CARD_BASE_SX","minHeight","CARD_CLICKABLE_SX","_objectSpread","borderColor","CARD_SKELETON_SX","animation","CARD_EMPTY_WRAPPER_SX","UNSIZED_COL_MIN_DEFAULT","COL_MINWIDTH_CAP","widthToNumber","w","Number","isFinite","parsed","parseFloat","isNaN","readCellValue","row","key","defaultGetRowId","id","DataGrid","_ref","_ref$rows","rows","_ref$columns","columns","rawColumns","_ref$loading","loading","_ref$error","error","_ref$sort","sort","onSortChange","selection","onSelectionChange","pagination","emptyState","filteredEmptyState","errorState","_ref$getRowId","getRowId","onRowClick","rowFlashId","activeRowId","rowActions","hiddenColumns","_ref$filtered","filtered","_ref$density","density","_ref$locale","locale","labels","_ref$maxBodyHeight","maxBodyHeight","_ref$resizable","resizable","columnWidths","onColumnWidthsChange","_ref$reorderable","reorderable","columnOrder","onColumnOrderChange","renderMobileCard","_ref$mobileBreakpoint","mobileBreakpoint","tableAria","L","useMemo","showSkeleton","theme","isBelowBreakpoint","breakpoints","down","useCardView","orderedColumns","hiddenSet","Set","filter","c","has","resize","reorder","resizeIsActive","isResizing","pendingReorderFocusRef","useRef","current","document","escaped","window","CSS","escape","el","querySelector","concat","HTMLElement","focus","showCheckbox","hasRowActions","colCount","sortable","col","selectedSet","allSelected","every","r","someSelected","some","toggleAll","map","toggleRow","next","add","handleRowKeyDown","e","preventDefault","scrollContainerSx","maxHeight","tableMinWidth","sum","_iterator","_createForOfIteratorHelper","_step","s","n","done","value","contribution","Math","min","err","f","tableSx","comfortable","tableLayout","columnCellSx","byKey","Map","_iterator2","_step2","_ref2","effectiveWidth","liveWidths","set","fontSize","wrap","textOverflow","mono","numeric","fontVariantNumeric","overflowWrap","wordBreak","hoverOnly","renderCardBody","renderCard","role","sx","children","Array","from","_","i","undefined","isSelected","isActive","flash","clickable","ctx","tabIndex","className","onClick","onKeyDown","body","cols","withCheckbox","withActions","colSpan","hover","size","checked","onChange","stopPropagation","slotProps","input","selectRow","_ref3","getValue","align","get","render","stickyHeader","indeterminate","selectAll","_ref4","isSortable","isResizable","isReorderable","ariaSort","reorderHandlers","cellHandlers","reorderFeedbackSx","cellSx","sortKey","setSort","header","component","type","handleKeyDown","round","draggable","onMouseDown","handleMouseDown","insetInlineEnd","userSelect","touchAction","scope","actionsHeader"],"sources":["../../../../src/lib/v2/patterns/DataGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport DragIndicatorIcon from \"@mui/icons-material/DragIndicator\";\r\nimport useMediaQuery from \"@mui/material/useMediaQuery\";\r\nimport { useTheme } from \"@mui/material/styles\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\nimport { SkeletonRow } from \"../components/Skeleton\";\r\nimport SortableHeader, { applySort, getAriaSort } from \"./SortableHeader\";\r\nimport useDelayedFlag from \"../hooks/useDelayedFlag\";\r\nimport {\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n mergeLabels,\r\n useColumnsStabilityWarn,\r\n applyColumnOrder,\r\n CONTAINER_SX,\r\n TABLE_BY_DENSITY,\r\n ROW_CLICKABLE_SX,\r\n ROW_STATIC_SX,\r\n HEADER_CHECKBOX_CELL_SX,\r\n BODY_CHECKBOX_CELL_SX,\r\n HOVER_ONLY_CELL_SX,\r\n ERROR_CELL_SX,\r\n ERROR_INNER_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport useColumnResize from \"./_useColumnResize\";\r\nimport useColumnReorder from \"./_useColumnReorder\";\r\nimport type {\r\n DataGridProps,\r\n DataGridColumn,\r\n DataGridMobileCardContext,\r\n} from \"../types/datagrid\";\r\nimport type { RowId } from \"../types/common\";\r\n\r\n/**\r\n * DataGrid - Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · Component \"DataGrid · Table\". Refactor of legacy PuiTable.\r\n *\r\n * Column sizing (R2, canonical):\r\n * - tableLayout: \"auto\" — columns grow proportionally from preferred widths.\r\n * - Table carries computed `min-width` = Σ (clamped) explicit widths\r\n * + (UNSIZED_COL_MIN_DEFAULT × unsized cols) + checkbox if any.\r\n * Each column's contribution is clamped to COL_MINWIDTH_CAP so a wide\r\n * preferred width can't force the whole table to overflow its container.\r\n * - When container >= min-width → table fills to 100%, columns expand\r\n * proportionally toward their preferred widths, no empty trailing strip.\r\n * - When container < min-width → horizontal scroll on the container.\r\n *\r\n * Row actions (R2 robust):\r\n * - The actions cell is rendered at width:0 — it contributes nothing\r\n * to the column-width distribution. The actions themselves render\r\n * as an ABSOLUTELY positioned overlay anchored to the row's right\r\n * edge, invisible by default and revealed on hover / focus-within /\r\n * coarse pointer. On hover, the overlay carries a background that\r\n * masks the data column(s) it covers.\r\n * - The actions column header carries a visually-hidden accessible\r\n * name from labels.actionsHeader (default \"Actions\").\r\n *\r\n * Mobile card view (R1 mobile, opt-in):\r\n * - When `renderMobileCard` is provided AND viewport is below\r\n * `mobileBreakpoint` (default \"sm\"), DataGrid swaps the <Table> for\r\n * a vertical stack of cards. Host owns the card layout.\r\n *\r\n * Accessible name (WCAG 1.3.1 / 4.1.2):\r\n * - Resolution chain: ariaLabel prop → labels.tableAria → mergeLabels()\r\n * default. When both explicit sources are missing, useAriaLabelWarn\r\n * fires a dev console.warn.\r\n */\r\n\r\n/**\r\n * Dev-only hook — warn once on mount when neither `ariaLabel` nor\r\n * `labels.tableAria` carries a contextual name for the table. Fires only\r\n * in non-production builds; the inline check is dead-code-eliminated by\r\n * minifiers when NODE_ENV is set to production at build time. Empty\r\n * strings are treated as \"not provided\". Charter R-DG + WCAG 2.2 AA.\r\n */\r\nfunction useAriaLabelWarn(\r\n ariaLabel: string | undefined,\r\n labelsTableAria: string | undefined\r\n): void {\r\n React.useEffect(() => {\r\n if (process.env[\"NODE_ENV\"] === \"production\") return;\r\n\r\n const hasAriaLabel =\r\n typeof ariaLabel === \"string\" && ariaLabel.trim().length > 0;\r\n const hasLabelsAria =\r\n typeof labelsTableAria === \"string\" && labelsTableAria.trim().length > 0;\r\n\r\n if (hasAriaLabel || hasLabelsAria) return;\r\n\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n \"[v2.DataGrid] No explicit `ariaLabel` prop or `labels.tableAria` — \" +\r\n \"falling back to the lib default. WCAG 1.3.1 + Charter R-DG require \" +\r\n \"a contextual table name. Pass `ariaLabel` describing the data \" +\r\n \"(e.g. 'Marchandises du titre', 'Liste des titres d\\\\'importation') \" +\r\n \"or set `labels.tableAria` if the same name is reused module-wide.\"\r\n );\r\n // fire once on mount — re-renders shouldn't re-warn even if the caller\r\n // changes ariaLabel/labels.tableAria later; a first-paint miss is the\r\n // signal we care about, not every subsequent render.\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n}\r\n\r\n/* R2 — Actions cell is a 0-width anchor for the absolute overlay.\r\n * position:sticky right:0 glues the overlay's positioned ancestor to the\r\n * visible right edge during horizontal scroll and provides a focus\r\n * container. The strict 0 width makes the cell contribute nothing to\r\n * layout; overflow:visible lets the absolute overlay render outside it. */\r\nconst ROW_ACTIONS_CELL_SX = Object.freeze({\r\n position: \"sticky\",\r\n right: 0,\r\n zIndex: 1,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n padding: 0,\r\n background: \"transparent\",\r\n borderBottom: \"1px solid var(--border)\",\r\n overflow: \"visible\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ROW_ACTIONS_HEAD_CELL_SX = Object.freeze({\r\n position: \"sticky\",\r\n right: 0,\r\n top: 0,\r\n zIndex: 3,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n padding: 0,\r\n background: \"var(--bg-subtle)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* a11y — Standard sr-only / visually-hidden recipe. Gives the\r\n * auto-generated actions column header an accessible name without adding\r\n * visible text. clip-rect keeps it painted into the a11y tree while\r\n * removing it from visual layout. */\r\nconst VISUALLY_HIDDEN_SX = Object.freeze({\r\n position: \"absolute\",\r\n width: \"1px\",\r\n height: \"1px\",\r\n padding: 0,\r\n margin: \"-1px\",\r\n overflow: \"hidden\",\r\n clip: \"rect(0, 0, 0, 0)\",\r\n whiteSpace: \"nowrap\",\r\n borderWidth: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\n/* R2 — Overlay floats over the row's right edge. Invisible by default,\r\n * visible on hover / focus-within / coarse pointer. The parent\r\n * ROW_ACTIONS_CELL_SX (position:sticky) is the containing block. */\r\nconst ROW_ACTIONS_OVERLAY_SX = Object.freeze({\r\n position: \"absolute\",\r\n right: \"var(--s-3)\",\r\n top: \"50%\",\r\n transform: \"translateY(-50%)\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n gap: \"var(--s-1)\",\r\n whiteSpace: \"nowrap\",\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n // Visible \"pill\" that masks the data column(s) underneath when revealed\r\n background: \"var(--bg-hover)\",\r\n padding: \"var(--s-1) var(--s-2)\",\r\n borderRadius: \"var(--r-md)\",\r\n boxShadow: \"var(--shadow-sm)\",\r\n \"tr:hover &, tr:focus-within &\": {\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n \"@media (pointer: coarse)\": {\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\n/* R2 — Filler cells stay at width:0 so they don't take any proportional\r\n * residual under tableLayout:auto. (Local width:0 variants — distinct\r\n * from _dataGridShared's exports, which are not imported here.) */\r\nconst FILLER_CELL_SX = Object.freeze({\r\n padding: 0,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n borderBottom: \"1px solid var(--border)\",\r\n});\r\n\r\nconst FILLER_HEAD_CELL_SX = Object.freeze({\r\n padding: 0,\r\n width: 0,\r\n minWidth: 0,\r\n maxWidth: 0,\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n background: \"var(--bg-subtle)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* DG-R1 — reorder grip button. Hidden (opacity 0) until the header is hovered /\r\n * focus-within, and always revealed while itself focus-visible so it stays\r\n * Tab-reachable. Absolutely positioned in the header cell's inline-start\r\n * padding; background matches the header so it masks the sliver it overlaps. */\r\nconst REORDER_GRIP_SX = Object.freeze({\r\n position: \"absolute\",\r\n insetInlineStart: 2,\r\n top: \"50%\",\r\n transform: \"translateY(-50%)\",\r\n zIndex: 2,\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"center\",\r\n width: 18,\r\n height: 18,\r\n padding: 0,\r\n border: \"none\",\r\n borderRadius: \"var(--r-sm)\",\r\n background: \"var(--bg-subtle)\",\r\n color: \"var(--fg-subtle)\",\r\n cursor: \"grab\",\r\n opacity: 0,\r\n pointerEvents: \"none\",\r\n transition: \"opacity var(--duration-fast, 120ms) ease\",\r\n fontFamily: \"inherit\",\r\n \"th:hover &, th:focus-within &\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"@media (pointer: coarse)\": { opacity: 1, pointerEvents: \"auto\" },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n opacity: 1,\r\n pointerEvents: \"auto\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\n/* ── Mobile card view SX (R1 mobile) ─────────────────────────────── */\r\n\r\nconst CARD_STACK_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n padding: \"var(--s-3)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CARD_BASE_SX = Object.freeze({\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-md)\",\r\n boxShadow: \"var(--shadow-xs)\",\r\n transition: \"background 60ms ease, border-color 60ms ease\",\r\n minHeight: 44,\r\n});\r\n\r\nconst CARD_CLICKABLE_SX = Object.freeze({\r\n ...CARD_BASE_SX,\r\n cursor: \"pointer\",\r\n \"&:hover\": {\r\n background: \"var(--bg-hover)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n // --pui-outline-offset (2px in base.css :root) — aligns this focus\r\n // ring with the rest of the v2 surface.\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n \"&[data-active]\": {\r\n background: \"var(--accent-soft)\",\r\n borderColor: \"var(--accent)\",\r\n },\r\n \"&[data-selected]\": {\r\n background: \"var(--accent-soft)\",\r\n borderColor: \"var(--accent)\",\r\n },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CARD_SKELETON_SX = Object.freeze({\r\n height: 90,\r\n background: \"var(--bg-subtle)\",\r\n borderRadius: \"var(--r-md)\",\r\n animation: \"pui-skeleton-shimmer 1.4s ease-in-out infinite\",\r\n \"@media (prefers-reduced-motion: reduce)\": {\r\n animation: \"none\",\r\n },\r\n});\r\n\r\nconst CARD_EMPTY_WRAPPER_SX = Object.freeze({\r\n padding: \"var(--s-6) var(--s-4)\",\r\n});\r\n\r\n/* R2 — Default min-width contribution for a column without an explicit\r\n * `width`. 120 px is a sensible floor for a typical data cell. */\r\nconst UNSIZED_COL_MIN_DEFAULT = 120;\r\n\r\n/* R2 — Upper bound on how much ANY single column may contribute to the\r\n * table's hard min-width. A column may DECLARE a large preferred width and\r\n * tableLayout:auto grows it toward that when the container has room, but\r\n * its preferred width must not drag the table's min-width past this cap\r\n * (below which horizontal scroll kicks in). */\r\nconst COL_MINWIDTH_CAP = 220;\r\n\r\nfunction widthToNumber(w: number | string | undefined): number {\r\n if (typeof w === \"number\" && Number.isFinite(w)) return w;\r\n if (typeof w === \"string\") {\r\n const parsed = parseFloat(w);\r\n if (!Number.isNaN(parsed)) return parsed;\r\n }\r\n return 0;\r\n}\r\n\r\n/* Default value accessor (`row[key]`) for an unconstrained row type. Typed\r\n * against `unknown` so the single unknown->record assertion is legal\r\n * without a double cast; noUncheckedIndexedAccess makes the result\r\n * `unknown`, which the caller narrows / asserts at the render site. */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`). Typed against `unknown` so the single\r\n * assertion is legal; `(unknown) => RowId` is assignable to the declared\r\n * `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction DataGrid<T>({\r\n rows = [],\r\n columns: rawColumns = [],\r\n loading = false,\r\n error = null,\r\n sort = [],\r\n onSortChange,\r\n selection,\r\n onSelectionChange,\r\n pagination,\r\n emptyState,\r\n filteredEmptyState,\r\n errorState,\r\n getRowId = defaultGetRowId,\r\n onRowClick,\r\n rowFlashId,\r\n activeRowId,\r\n rowActions,\r\n hiddenColumns,\r\n filtered = false,\r\n density = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n resizable = false,\r\n columnWidths,\r\n onColumnWidthsChange,\r\n reorderable = false,\r\n columnOrder,\r\n onColumnOrderChange,\r\n renderMobileCard,\r\n mobileBreakpoint = \"sm\",\r\n}: DataGridProps<T>) {\r\n // WCAG 1.3.1 / 4.1.2 — dev guard: warn once on mount when no contextual\r\n // table name has been provided by the caller.\r\n useAriaLabelWarn(ariaLabel, labels?.tableAria);\r\n\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n\r\n const showSkeleton = useDelayedFlag(loading);\r\n\r\n useColumnsStabilityWarn(rawColumns);\r\n\r\n // R1 mobile — detect xs viewport. Switch to card view only when the host\r\n // opted in by passing renderMobileCard.\r\n const theme = useTheme();\r\n const isBelowBreakpoint = useMediaQuery(\r\n theme.breakpoints.down(mobileBreakpoint)\r\n );\r\n const useCardView =\r\n isBelowBreakpoint && typeof renderMobileCard === \"function\";\r\n\r\n const orderedColumns = React.useMemo(\r\n () => applyColumnOrder(rawColumns, columnOrder),\r\n [rawColumns, columnOrder]\r\n );\r\n\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n const columns = React.useMemo(\r\n () => orderedColumns.filter((c) => !hiddenSet.has(c.key)),\r\n [orderedColumns, hiddenSet]\r\n );\r\n\r\n const resize = useColumnResize(columnWidths, onColumnWidthsChange);\r\n const reorder = useColumnReorder(columns, columnOrder, onColumnOrderChange, {\r\n resizeIsActive: resize.isResizing,\r\n });\r\n\r\n // DG-R1 — after a keyboard reorder the moved column's grip is re-rendered at\r\n // a new position and the browser drops focus; re-focus it so repeated Arrow\r\n // presses keep moving the same column. Keyed on the host-controlled order.\r\n const pendingReorderFocusRef = React.useRef<string | null>(null);\r\n React.useEffect(() => {\r\n const key = pendingReorderFocusRef.current;\r\n if (!key || typeof document === \"undefined\") return;\r\n pendingReorderFocusRef.current = null;\r\n const escaped =\r\n typeof window !== \"undefined\" &&\r\n window.CSS &&\r\n typeof window.CSS.escape === \"function\"\r\n ? window.CSS.escape(key)\r\n : key;\r\n const el = document.querySelector(`[data-reorder-grip=\"${escaped}\"]`);\r\n if (el instanceof HTMLElement) el.focus();\r\n }, [columnOrder]);\r\n\r\n const showCheckbox = !!onSelectionChange;\r\n const hasRowActions = typeof rowActions === \"function\";\r\n const colCount =\r\n columns.length + (showCheckbox ? 1 : 0) + 1 + (hasRowActions ? 1 : 0);\r\n\r\n const sortable = (col: DataGridColumn<T>): boolean =>\r\n col.sortable !== false && !!col.key && !!onSortChange;\r\n\r\n const selectedSet = React.useMemo(\r\n () => (selection instanceof Set ? selection : new Set(selection || [])),\r\n [selection]\r\n );\r\n const allSelected =\r\n rows.length > 0 && rows.every((r) => selectedSet.has(getRowId(r)));\r\n const someSelected =\r\n !allSelected && rows.some((r) => selectedSet.has(getRowId(r)));\r\n\r\n const toggleAll = () => {\r\n if (!onSelectionChange) return;\r\n if (allSelected) onSelectionChange(new Set<RowId>());\r\n else onSelectionChange(new Set(rows.map(getRowId)));\r\n };\r\n const toggleRow = (id: RowId) => {\r\n if (!onSelectionChange) return;\r\n const next = new Set(selectedSet);\r\n if (next.has(id)) next.delete(id);\r\n else next.add(id);\r\n onSelectionChange(next);\r\n };\r\n\r\n const handleRowKeyDown =\r\n (row: T) => (e: React.KeyboardEvent<HTMLElement>) => {\r\n if (!onRowClick) return;\r\n if (e.key === \"Enter\" || e.key === \" \") {\r\n e.preventDefault();\r\n onRowClick(row);\r\n }\r\n };\r\n\r\n const scrollContainerSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n overflow: \"auto\",\r\n maxHeight: maxBodyHeight,\r\n width: \"100%\",\r\n }),\r\n [maxBodyHeight]\r\n );\r\n\r\n /* R2 — Computed table min-width. Each column's contribution is clamped\r\n * to COL_MINWIDTH_CAP; unsized columns contribute UNSIZED_COL_MIN_DEFAULT;\r\n * the checkbox column adds ~48px. The rowActions cell contributes 0. */\r\n const tableMinWidth = React.useMemo(() => {\r\n let sum = 0;\r\n for (const col of columns) {\r\n const w = widthToNumber(col.width);\r\n const contribution =\r\n w > 0 ? Math.min(w, COL_MINWIDTH_CAP) : UNSIZED_COL_MIN_DEFAULT;\r\n sum += contribution;\r\n }\r\n if (showCheckbox) sum += 48;\r\n return sum;\r\n }, [columns, showCheckbox]);\r\n\r\n // R2 — tableLayout:\"auto\" + computed minWidth. (SxProps-typed so the\r\n // tableLayout literal stays typed; the density base is narrowed to a\r\n // SystemStyleObject at the spread to avoid the fn/array arms of SxProps.)\r\n const tableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...((TABLE_BY_DENSITY[density] ||\r\n TABLE_BY_DENSITY.comfortable) as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n minWidth: tableMinWidth,\r\n tableLayout: \"auto\",\r\n }),\r\n [density, tableMinWidth]\r\n );\r\n\r\n /* DG-1 (perf) — the desktop body renders EVERY row (no virtualization), so\r\n * building the cell sx inline per row × per column allocated N×M fresh style\r\n * objects each render and forced Emotion to re-serialise them. The cell sx is\r\n * a pure function of the column (wrap / mono / numeric / maxWidth / hoverOnly)\r\n * and the column's effective width — never of the row — so compute it once per\r\n * column and reuse the reference across all rows. Keyed on columns + live\r\n * widths (the latter only changes during an active resize drag).\r\n * --text-body (14px) is the explicit inheritance that replaced a dangling\r\n * `var(--text-fs)` token typo (no fallback). */\r\n const columnCellSx = React.useMemo(() => {\r\n const byKey = new Map<string, SxProps<Theme>>();\r\n for (const col of columns) {\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ?? col.width;\r\n byKey.set(col.key, {\r\n fontSize: \"var(--text-body)\",\r\n whiteSpace: col.wrap ? \"normal\" : \"nowrap\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono\r\n ? { fontVariantNumeric: \"tabular-nums\" }\r\n : {}),\r\n ...(effectiveWidth != null ? { width: effectiveWidth } : {}),\r\n // When a column wraps, allow long unbroken tokens to break.\r\n ...(col.wrap\r\n ? ({\r\n overflowWrap: \"anywhere\",\r\n wordBreak: \"break-word\",\r\n } satisfies SxProps<Theme>)\r\n : {}),\r\n ...(col.maxWidth != null ? { maxWidth: col.maxWidth } : {}),\r\n ...(col.hoverOnly ? HOVER_ONLY_CELL_SX : {}),\r\n });\r\n }\r\n return byKey;\r\n }, [columns, resize.liveWidths]);\r\n\r\n /* ── Mobile card view body (R1 mobile) ─────────────────────────\r\n * Built only when useCardView is true. `renderCard` is the narrowed,\r\n * guaranteed-present renderer passed in from the return site. */\r\n const renderCardBody = (\r\n renderCard: (row: T, ctx: DataGridMobileCardContext) => React.ReactNode\r\n ): React.ReactNode => {\r\n if (showSkeleton) {\r\n return (\r\n <Box role=\"list\" aria-busy=\"true\" aria-label={tableAria} sx={CARD_STACK_SX}>\r\n {Array.from({ length: 6 }, (_, i) => (\r\n <Box key={`sk-${i}`} aria-hidden=\"true\" sx={CARD_SKELETON_SX} />\r\n ))}\r\n </Box>\r\n );\r\n }\r\n\r\n if (error) {\r\n return <Box sx={CARD_EMPTY_WRAPPER_SX}>{errorState}</Box>;\r\n }\r\n\r\n if (rows.length === 0) {\r\n return (\r\n <Box sx={CARD_EMPTY_WRAPPER_SX}>\r\n {filtered ? filteredEmptyState : emptyState}\r\n </Box>\r\n );\r\n }\r\n\r\n return (\r\n <Box\r\n role=\"list\"\r\n aria-label={tableAria}\r\n aria-busy={loading || undefined}\r\n sx={CARD_STACK_SX}\r\n >\r\n {rows.map((row) => {\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const isActive =\r\n activeRowId !== undefined &&\r\n activeRowId !== null &&\r\n id === activeRowId;\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n const ctx: DataGridMobileCardContext = { isActive, isSelected };\r\n return (\r\n <Box\r\n key={id}\r\n role={clickable ? \"button\" : \"listitem\"}\r\n tabIndex={clickable ? 0 : undefined}\r\n data-selected={isSelected || undefined}\r\n data-active={isActive || undefined}\r\n className={flash ? \"pui-row-updated\" : undefined}\r\n onClick={clickable ? () => onRowClick?.(row) : undefined}\r\n onKeyDown={clickable ? handleRowKeyDown(row) : undefined}\r\n sx={clickable ? CARD_CLICKABLE_SX : CARD_BASE_SX}\r\n >\r\n {renderCard(row, ctx)}\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n );\r\n };\r\n\r\n /* ── Table body (desktop / no card opt-in) ─────────────────── */\r\n let body: React.ReactNode;\r\n if (showSkeleton) {\r\n body = (\r\n <TableBody aria-busy=\"true\">\r\n {Array.from({ length: 6 }, (_, i) => (\r\n <SkeletonRow\r\n key={`sk-${i}`}\r\n cols={columns.length}\r\n withCheckbox={showCheckbox}\r\n withActions={hasRowActions}\r\n />\r\n ))}\r\n </TableBody>\r\n );\r\n } else if (error) {\r\n body = (\r\n <TableBody>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>{errorState}</Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else if (rows.length === 0) {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n <TableRow>\r\n <TableCell colSpan={colCount} sx={ERROR_CELL_SX}>\r\n <Box sx={ERROR_INNER_SX}>\r\n {filtered ? filteredEmptyState : emptyState}\r\n </Box>\r\n </TableCell>\r\n </TableRow>\r\n </TableBody>\r\n );\r\n } else {\r\n body = (\r\n <TableBody aria-busy={loading || undefined}>\r\n {rows.map((row) => {\r\n const id = getRowId(row);\r\n const isSelected = selectedSet.has(id);\r\n const isActive =\r\n activeRowId !== undefined &&\r\n activeRowId !== null &&\r\n id === activeRowId;\r\n const flash = rowFlashId === id;\r\n const clickable = !!onRowClick;\r\n return (\r\n <TableRow\r\n key={id}\r\n hover\r\n data-selected={isSelected || undefined}\r\n data-active={isActive || undefined}\r\n className={flash ? \"pui-row-updated\" : undefined}\r\n onClick={clickable ? () => onRowClick?.(row) : undefined}\r\n onKeyDown={clickable ? handleRowKeyDown(row) : undefined}\r\n tabIndex={clickable ? 0 : undefined}\r\n sx={clickable ? ROW_CLICKABLE_SX : ROW_STATIC_SX}\r\n >\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={BODY_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={isSelected}\r\n onChange={(e) => {\r\n e.stopPropagation();\r\n toggleRow(id);\r\n }}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={(e) => e.stopPropagation()}\r\n slotProps={{ input: { \"aria-label\": L.selectRow(id) } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const value = col.getValue\r\n ? col.getValue(row)\r\n : readCellValue(row, col.key);\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n sx={columnCellSx.get(col.key)}\r\n >\r\n {col.render\r\n ? col.render(row)\r\n : (value as React.ReactNode) ?? \"—\"}\r\n </TableCell>\r\n );\r\n })}\r\n <TableCell sx={FILLER_CELL_SX} aria-hidden=\"true\" />\r\n {hasRowActions && rowActions && (\r\n <TableCell sx={ROW_ACTIONS_CELL_SX}>\r\n <Box sx={ROW_ACTIONS_OVERLAY_SX}>{rowActions(row)}</Box>\r\n </TableCell>\r\n )}\r\n </TableRow>\r\n );\r\n })}\r\n </TableBody>\r\n );\r\n }\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n {useCardView && renderMobileCard ? (\r\n renderCardBody(renderMobileCard)\r\n ) : (\r\n <Box sx={scrollContainerSx}>\r\n <Table\r\n aria-label={tableAria}\r\n size={density === \"compact\" ? \"small\" : \"medium\"}\r\n stickyHeader\r\n sx={tableSx}\r\n >\r\n <TableHead>\r\n <TableRow>\r\n {showCheckbox && (\r\n <TableCell padding=\"checkbox\" sx={HEADER_CHECKBOX_CELL_SX}>\r\n <Checkbox\r\n size=\"small\"\r\n checked={allSelected}\r\n indeterminate={someSelected}\r\n onChange={toggleAll}\r\n slotProps={{ input: { \"aria-label\": L.selectAll } }}\r\n />\r\n </TableCell>\r\n )}\r\n {columns.map((col) => {\r\n const isSortable = sortable(col);\r\n const isResizable = resizable && col.resizable !== false;\r\n const isReorderable =\r\n reorderable && col.reorderable !== false;\r\n const ariaSort = isSortable\r\n ? getAriaSort(sort, col.key)\r\n : undefined;\r\n const effectiveWidth =\r\n (resize.liveWidths && resize.liveWidths[col.key]) ??\r\n col.width;\r\n const reorderHandlers = isReorderable\r\n ? reorder.cellHandlers(col.key)\r\n : null;\r\n const reorderFeedbackSx = isReorderable\r\n ? reorder.cellSx(col.key)\r\n : undefined;\r\n return (\r\n <TableCell\r\n key={col.key}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n aria-sort={ariaSort}\r\n {...(reorderHandlers || {})}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(effectiveWidth != null\r\n ? { width: effectiveWidth }\r\n : {}),\r\n ...(reorderFeedbackSx\r\n ? (reorderFeedbackSx as SystemStyleObject<Theme>)\r\n : {}),\r\n }}\r\n >\r\n {isSortable && onSortChange ? (\r\n <SortableHeader\r\n sortKey={col.key}\r\n sort={sort}\r\n setSort={onSortChange}\r\n align={col.align || (col.numeric ? \"right\" : \"left\")}\r\n >\r\n {col.header}\r\n </SortableHeader>\r\n ) : (\r\n col.header\r\n )}\r\n\r\n {isReorderable && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n data-reorder-grip={col.key}\r\n aria-label=\"Réorganiser la colonne\"\r\n aria-keyshortcuts=\"ArrowLeft ArrowRight Home End\"\r\n onKeyDown={(e) => {\r\n if (\r\n e.key === \"ArrowLeft\" ||\r\n e.key === \"ArrowRight\" ||\r\n e.key === \"Home\" ||\r\n e.key === \"End\"\r\n ) {\r\n pendingReorderFocusRef.current = col.key;\r\n }\r\n reorder.handleKeyDown(col.key)(e);\r\n }}\r\n sx={REORDER_GRIP_SX}\r\n >\r\n <DragIndicatorIcon sx={{ fontSize: 14 }} />\r\n </Box>\r\n )}\r\n\r\n {isResizable && (\r\n <Box\r\n role=\"separator\"\r\n aria-orientation=\"vertical\"\r\n aria-label=\"Redimensionner la colonne\"\r\n tabIndex={0}\r\n aria-valuenow={\r\n typeof effectiveWidth === \"number\"\r\n ? Math.round(effectiveWidth)\r\n : undefined\r\n }\r\n aria-valuemin={resize.minWidth}\r\n draggable=\"false\"\r\n onMouseDown={resize.handleMouseDown(col.key)}\r\n onKeyDown={resize.handleKeyDown(col.key)}\r\n sx={{\r\n position: \"absolute\",\r\n top: 0,\r\n insetInlineEnd: 0,\r\n width: 8,\r\n height: \"100%\",\r\n cursor: \"col-resize\",\r\n userSelect: \"none\",\r\n touchAction: \"none\",\r\n zIndex: 2,\r\n \"&:hover\": {\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n \"&:active\": {\r\n background: \"var(--state-pressed-overlay)\",\r\n },\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"-1px\",\r\n background: \"var(--state-hover-overlay)\",\r\n },\r\n }}\r\n />\r\n )}\r\n </TableCell>\r\n );\r\n })}\r\n <TableCell sx={FILLER_HEAD_CELL_SX} aria-hidden=\"true\" />\r\n {hasRowActions && (\r\n /* WCAG 1.3.1 / axe-core `empty-table-header` — the\r\n visually-hidden span names the actions column in the\r\n a11y tree. Label from labels.actionsHeader. */\r\n <TableCell sx={ROW_ACTIONS_HEAD_CELL_SX} scope=\"col\">\r\n <Box component=\"span\" sx={VISUALLY_HIDDEN_SX}>\r\n {L.actionsHeader}\r\n </Box>\r\n </TableCell>\r\n )}\r\n </TableRow>\r\n </TableHead>\r\n {body}\r\n </Table>\r\n </Box>\r\n )}\r\n {pagination && (\r\n <Pagination\r\n {...pagination}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport { applySort };\r\nexport default DataGrid;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,375 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
import * as React from "react";
|
|
14
|
+
import Box from "@mui/material/Box";
|
|
15
|
+
import IconButton from "@mui/material/IconButton";
|
|
16
|
+
import Popover from "@mui/material/Popover";
|
|
17
|
+
import Checkbox from "@mui/material/Checkbox";
|
|
18
|
+
import FormControlLabel from "@mui/material/FormControlLabel";
|
|
19
|
+
import TuneIcon from "@mui/icons-material/Tune";
|
|
20
|
+
import Button from "../components/Button";
|
|
21
|
+
import Segmented from "../components/Segmented";
|
|
22
|
+
import { extractHeaderText } from "./ColumnsToggle";
|
|
23
|
+
import { mergeLabels } from "../utils/mergeLabels";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* DataGridSettingsMenu - Portnet UI v2 (pattern)
|
|
27
|
+
*
|
|
28
|
+
* Combined "table options" popover wrapping two DataGrid-adjacent
|
|
29
|
+
* preferences: column visibility and row density. Single trigger
|
|
30
|
+
* (Tune icon button) opens a popover with both sections inline.
|
|
31
|
+
*
|
|
32
|
+
* <DataGridSettingsMenu
|
|
33
|
+
* columns={cols}
|
|
34
|
+
* hiddenColumns={hiddenSet}
|
|
35
|
+
* onHiddenColumnsChange={setHiddenSet}
|
|
36
|
+
* density={density}
|
|
37
|
+
* onDensityChange={setDensity}
|
|
38
|
+
* densityOptions={DENSITY_OPTIONS}
|
|
39
|
+
* label="Configurer" // optional — shows text label on trigger
|
|
40
|
+
* />
|
|
41
|
+
*
|
|
42
|
+
* Use this when the host wants BOTH affordances behind one
|
|
43
|
+
* compact toolbar entry. For columns-only use cases, prefer the
|
|
44
|
+
* atomic `<ColumnsToggle>` pattern.
|
|
45
|
+
*
|
|
46
|
+
* The component is pure presentation — host owns the state for
|
|
47
|
+
* both columns visibility (hiddenColumns Set) and density (the
|
|
48
|
+
* current value, typically "comfortable" or "compact").
|
|
49
|
+
*
|
|
50
|
+
* Mental model: checkbox represents VISIBILITY (checked = visible,
|
|
51
|
+
* not in hiddenSet). Same contract as ColumnsToggle to avoid
|
|
52
|
+
* cognitive load when a host switches between the two patterns.
|
|
53
|
+
*
|
|
54
|
+
* `col.toggleable: false` on a column excludes it from the popover
|
|
55
|
+
* entirely — useful for identity columns or system-pinned columns
|
|
56
|
+
* that should not be user-hideable. DataGrid itself doesn't read
|
|
57
|
+
* this flag; it's a contract between the host schema and any
|
|
58
|
+
* settings-UI consumer.
|
|
59
|
+
*
|
|
60
|
+
* `label` prop (optional string):
|
|
61
|
+
* When provided, the trigger becomes a v2.Button (secondary, sm)
|
|
62
|
+
* with the icon + text label visible in the toolbar. This is
|
|
63
|
+
* recommended when the toolbar has enough horizontal space and the
|
|
64
|
+
* affordance benefits from a named action (e.g. "Configurer").
|
|
65
|
+
* When omitted, the trigger falls back to the compact IconButton.
|
|
66
|
+
*/
|
|
67
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
68
|
+
var DEFAULT_LABELS = Object.freeze({
|
|
69
|
+
button: "Options du tableau",
|
|
70
|
+
title: "Options du tableau",
|
|
71
|
+
columnsHeading: "Affichage des colonnes",
|
|
72
|
+
densityHeading: "Densité d'affichage",
|
|
73
|
+
showAll: "Tout afficher",
|
|
74
|
+
hideAll: "Tout masquer",
|
|
75
|
+
densityAriaLabel: "Densité d'affichage"
|
|
76
|
+
});
|
|
77
|
+
|
|
78
|
+
/* ── Default density options ─────────────────────────────────────────
|
|
79
|
+
* Used only when the host doesn't pass its own densityOptions.
|
|
80
|
+
* Hosts SHOULD pass an icon-laden version for visual richness; the
|
|
81
|
+
* label-only fallback exists to keep this component crash-free.
|
|
82
|
+
* (Frozen for defensiveness; typed mutable via one readonly→mutable
|
|
83
|
+
* assertion since Segmented reads options and never mutates.) */
|
|
84
|
+
var FALLBACK_DENSITY_OPTIONS = Object.freeze([{
|
|
85
|
+
value: "comfortable",
|
|
86
|
+
label: "Confortable"
|
|
87
|
+
}, {
|
|
88
|
+
value: "compact",
|
|
89
|
+
label: "Compact"
|
|
90
|
+
}]);
|
|
91
|
+
|
|
92
|
+
/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */
|
|
93
|
+
|
|
94
|
+
var POPOVER_PAPER_SX = Object.freeze({
|
|
95
|
+
borderRadius: "var(--r-lg)",
|
|
96
|
+
boxShadow: "var(--shadow-md)",
|
|
97
|
+
border: "1px solid var(--border)"
|
|
98
|
+
});
|
|
99
|
+
var POPOVER_BODY_SX = Object.freeze({
|
|
100
|
+
padding: "var(--s-3) var(--s-4)",
|
|
101
|
+
minWidth: 280,
|
|
102
|
+
maxHeight: 480,
|
|
103
|
+
overflowY: "auto",
|
|
104
|
+
display: "flex",
|
|
105
|
+
flexDirection: "column",
|
|
106
|
+
gap: "var(--s-2)"
|
|
107
|
+
});
|
|
108
|
+
var SECTION_HEADING_SX = Object.freeze({
|
|
109
|
+
fontSize: "var(--text-xs)",
|
|
110
|
+
fontWeight: "var(--fw-semibold)",
|
|
111
|
+
color: "var(--fg-muted)",
|
|
112
|
+
textTransform: "uppercase",
|
|
113
|
+
letterSpacing: "0.04em",
|
|
114
|
+
paddingBottom: "var(--s-2)",
|
|
115
|
+
borderBottom: "1px solid var(--border)"
|
|
116
|
+
});
|
|
117
|
+
var SECTION_BODY_SX = Object.freeze({
|
|
118
|
+
display: "flex",
|
|
119
|
+
flexDirection: "column",
|
|
120
|
+
gap: "var(--s-1)",
|
|
121
|
+
paddingTop: "var(--s-2)",
|
|
122
|
+
paddingBottom: "var(--s-2)"
|
|
123
|
+
});
|
|
124
|
+
var SECTION_SEPARATOR_SX = Object.freeze({
|
|
125
|
+
borderTop: "1px solid var(--border)"
|
|
126
|
+
});
|
|
127
|
+
var CHECKBOX_LABEL_SX = Object.freeze({
|
|
128
|
+
marginLeft: 0,
|
|
129
|
+
marginRight: 0,
|
|
130
|
+
"& .MuiFormControlLabel-label": {
|
|
131
|
+
fontSize: "var(--text-sm)",
|
|
132
|
+
color: "var(--fg)"
|
|
133
|
+
}
|
|
134
|
+
});
|
|
135
|
+
var COLUMNS_FOOTER_SX = Object.freeze({
|
|
136
|
+
display: "flex",
|
|
137
|
+
justifyContent: "space-between",
|
|
138
|
+
gap: "var(--s-2)",
|
|
139
|
+
paddingTop: "var(--s-1)"
|
|
140
|
+
});
|
|
141
|
+
var BADGE_SX = Object.freeze({
|
|
142
|
+
position: "absolute",
|
|
143
|
+
top: 2,
|
|
144
|
+
insetInlineEnd: 2,
|
|
145
|
+
width: 8,
|
|
146
|
+
height: 8,
|
|
147
|
+
borderRadius: "var(--r-full)",
|
|
148
|
+
background: "var(--accent)"
|
|
149
|
+
});
|
|
150
|
+
function DataGridSettingsMenu(_ref) {
|
|
151
|
+
var columns = _ref.columns,
|
|
152
|
+
hiddenColumns = _ref.hiddenColumns,
|
|
153
|
+
onHiddenColumnsChange = _ref.onHiddenColumnsChange,
|
|
154
|
+
density = _ref.density,
|
|
155
|
+
onDensityChange = _ref.onDensityChange,
|
|
156
|
+
densityOptions = _ref.densityOptions,
|
|
157
|
+
labels = _ref.labels,
|
|
158
|
+
label = _ref.label;
|
|
159
|
+
var L = mergeLabels(DEFAULT_LABELS, labels);
|
|
160
|
+
var _React$useState = React.useState(null),
|
|
161
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
162
|
+
anchor = _React$useState2[0],
|
|
163
|
+
setAnchor = _React$useState2[1];
|
|
164
|
+
|
|
165
|
+
// Normalise hiddenColumns to a Set once. Same contract as DataGrid
|
|
166
|
+
// / ColumnsToggle — accepts Set or Array (or undefined).
|
|
167
|
+
var hiddenSet = React.useMemo(function () {
|
|
168
|
+
return hiddenColumns instanceof Set ? hiddenColumns : new Set(hiddenColumns || []);
|
|
169
|
+
}, [hiddenColumns]);
|
|
170
|
+
|
|
171
|
+
// Toggleable subset — the only columns this UI exposes. System-
|
|
172
|
+
// pinned columns (col.toggleable === false) are excluded entirely.
|
|
173
|
+
var toggleableColumns = React.useMemo(function () {
|
|
174
|
+
return columns.filter(function (c) {
|
|
175
|
+
return c.toggleable !== false;
|
|
176
|
+
});
|
|
177
|
+
}, [columns]);
|
|
178
|
+
|
|
179
|
+
// Count among toggleable for the trigger badge dot.
|
|
180
|
+
var hiddenCount = React.useMemo(function () {
|
|
181
|
+
return toggleableColumns.filter(function (c) {
|
|
182
|
+
return hiddenSet.has(c.key);
|
|
183
|
+
}).length;
|
|
184
|
+
}, [toggleableColumns, hiddenSet]);
|
|
185
|
+
|
|
186
|
+
// Indicates the user has changed something from defaults — used
|
|
187
|
+
// to surface a discreet badge dot on the trigger. We use a single
|
|
188
|
+
// visual dot rather than a numeric badge because there are TWO
|
|
189
|
+
// pref axes (columns + density) that contribute; a counter would
|
|
190
|
+
// be misleading.
|
|
191
|
+
var hasCustomisation = hiddenCount > 0 || density != null && density !== "comfortable";
|
|
192
|
+
var open = Boolean(anchor);
|
|
193
|
+
var handleOpen = function handleOpen(e) {
|
|
194
|
+
return setAnchor(e.currentTarget);
|
|
195
|
+
};
|
|
196
|
+
var handleClose = function handleClose() {
|
|
197
|
+
return setAnchor(null);
|
|
198
|
+
};
|
|
199
|
+
var toggleColumn = function toggleColumn(key) {
|
|
200
|
+
var next = new Set(hiddenSet);
|
|
201
|
+
if (next.has(key)) next["delete"](key);else next.add(key);
|
|
202
|
+
onHiddenColumnsChange(next);
|
|
203
|
+
};
|
|
204
|
+
var showAll = function showAll() {
|
|
205
|
+
return onHiddenColumnsChange(new Set());
|
|
206
|
+
};
|
|
207
|
+
var hideAll = function hideAll() {
|
|
208
|
+
return onHiddenColumnsChange(new Set(toggleableColumns.map(function (c) {
|
|
209
|
+
return c.key;
|
|
210
|
+
})));
|
|
211
|
+
};
|
|
212
|
+
var effectiveDensityOptions = densityOptions || FALLBACK_DENSITY_OPTIONS;
|
|
213
|
+
|
|
214
|
+
// MUI v9: slot bag for the Popover paper. Carries the dialog
|
|
215
|
+
// ARIA contract (role + aria-label) — host-customisable via the
|
|
216
|
+
// `labels.title` override. Memoised so the slotProps reference
|
|
217
|
+
// stays stable when L.title is unchanged.
|
|
218
|
+
var popoverSlotProps = React.useMemo(function () {
|
|
219
|
+
return {
|
|
220
|
+
paper: {
|
|
221
|
+
sx: POPOVER_PAPER_SX,
|
|
222
|
+
role: "dialog",
|
|
223
|
+
"aria-label": L.title
|
|
224
|
+
}
|
|
225
|
+
};
|
|
226
|
+
}, [L.title]);
|
|
227
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
228
|
+
children: [label ?
|
|
229
|
+
/*#__PURE__*/
|
|
230
|
+
/* Named trigger — renders a v2.Button with icon + text label.
|
|
231
|
+
* Used when the toolbar benefits from an explicit action name
|
|
232
|
+
* (e.g. "Configurer"). Badge dot uses absolute positioning
|
|
233
|
+
* inside the button's bounding box via sx={{ position: "relative" }}. */
|
|
234
|
+
_jsxs(Box, {
|
|
235
|
+
sx: {
|
|
236
|
+
position: "relative",
|
|
237
|
+
display: "inline-flex"
|
|
238
|
+
},
|
|
239
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
240
|
+
size: "sm",
|
|
241
|
+
variant: "secondary",
|
|
242
|
+
type: "button",
|
|
243
|
+
icon: /*#__PURE__*/_jsx(TuneIcon, {
|
|
244
|
+
fontSize: "small"
|
|
245
|
+
}),
|
|
246
|
+
onClick: handleOpen,
|
|
247
|
+
"aria-label": L.button,
|
|
248
|
+
"aria-haspopup": "dialog",
|
|
249
|
+
"aria-expanded": open,
|
|
250
|
+
children: label
|
|
251
|
+
}), hasCustomisation && /*#__PURE__*/_jsx(Box, {
|
|
252
|
+
component: "span",
|
|
253
|
+
sx: _objectSpread(_objectSpread({}, BADGE_SX), {}, {
|
|
254
|
+
top: 4,
|
|
255
|
+
insetInlineEnd: 4,
|
|
256
|
+
pointerEvents: "none"
|
|
257
|
+
}),
|
|
258
|
+
"aria-hidden": "true"
|
|
259
|
+
})]
|
|
260
|
+
}) :
|
|
261
|
+
/*#__PURE__*/
|
|
262
|
+
/* Icon-only trigger — compact fallback for callers that don't
|
|
263
|
+
* pass a label (backward-compatible default). */
|
|
264
|
+
_jsxs(IconButton, {
|
|
265
|
+
size: "small",
|
|
266
|
+
type: "button",
|
|
267
|
+
onClick: handleOpen,
|
|
268
|
+
"aria-label": L.button,
|
|
269
|
+
"aria-haspopup": "dialog",
|
|
270
|
+
"aria-expanded": open,
|
|
271
|
+
sx: {
|
|
272
|
+
color: "var(--fg-muted)",
|
|
273
|
+
position: "relative",
|
|
274
|
+
"&:hover": {
|
|
275
|
+
background: "var(--bg-hover)",
|
|
276
|
+
color: "var(--fg)"
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
children: [/*#__PURE__*/_jsx(TuneIcon, {
|
|
280
|
+
fontSize: "small"
|
|
281
|
+
}), hasCustomisation && /*#__PURE__*/_jsx(Box, {
|
|
282
|
+
component: "span",
|
|
283
|
+
sx: BADGE_SX,
|
|
284
|
+
"aria-hidden": "true"
|
|
285
|
+
})]
|
|
286
|
+
}), /*#__PURE__*/_jsx(Popover, {
|
|
287
|
+
open: open,
|
|
288
|
+
anchorEl: anchor,
|
|
289
|
+
onClose: handleClose,
|
|
290
|
+
anchorOrigin: {
|
|
291
|
+
vertical: "bottom",
|
|
292
|
+
horizontal: "right"
|
|
293
|
+
},
|
|
294
|
+
transformOrigin: {
|
|
295
|
+
vertical: "top",
|
|
296
|
+
horizontal: "right"
|
|
297
|
+
},
|
|
298
|
+
slotProps: popoverSlotProps,
|
|
299
|
+
children: /*#__PURE__*/_jsxs(Box, {
|
|
300
|
+
sx: POPOVER_BODY_SX,
|
|
301
|
+
children: [/*#__PURE__*/_jsxs(Box, {
|
|
302
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
303
|
+
component: "div",
|
|
304
|
+
sx: SECTION_HEADING_SX,
|
|
305
|
+
children: L.columnsHeading
|
|
306
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
307
|
+
sx: SECTION_BODY_SX,
|
|
308
|
+
children: toggleableColumns.map(function (col) {
|
|
309
|
+
var isVisible = !hiddenSet.has(col.key);
|
|
310
|
+
// DGS-1 — accessible name = the header's visible text (reuses
|
|
311
|
+
// ColumnsToggle's SET-1 extractor) so it matches the rendered
|
|
312
|
+
// label (WCAG 2.5.3); only icon-only headers fall back to key.
|
|
313
|
+
var headerText = extractHeaderText(col.header).trim();
|
|
314
|
+
var labelText = headerText || col.key;
|
|
315
|
+
return /*#__PURE__*/_jsx(FormControlLabel, {
|
|
316
|
+
control: /*#__PURE__*/_jsx(Checkbox, {
|
|
317
|
+
size: "small",
|
|
318
|
+
checked: isVisible,
|
|
319
|
+
onChange: function onChange() {
|
|
320
|
+
return toggleColumn(col.key);
|
|
321
|
+
},
|
|
322
|
+
slotProps: {
|
|
323
|
+
input: {
|
|
324
|
+
"aria-label": labelText
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}),
|
|
328
|
+
label: col.header,
|
|
329
|
+
sx: CHECKBOX_LABEL_SX
|
|
330
|
+
}, col.key);
|
|
331
|
+
})
|
|
332
|
+
}), /*#__PURE__*/_jsxs(Box, {
|
|
333
|
+
sx: COLUMNS_FOOTER_SX,
|
|
334
|
+
children: [/*#__PURE__*/_jsx(Button, {
|
|
335
|
+
size: "sm",
|
|
336
|
+
variant: "ghost",
|
|
337
|
+
type: "button",
|
|
338
|
+
onClick: showAll,
|
|
339
|
+
disabled: hiddenCount === 0,
|
|
340
|
+
children: L.showAll
|
|
341
|
+
}), /*#__PURE__*/_jsx(Button, {
|
|
342
|
+
size: "sm",
|
|
343
|
+
variant: "ghost",
|
|
344
|
+
type: "button",
|
|
345
|
+
onClick: hideAll,
|
|
346
|
+
disabled: hiddenCount === toggleableColumns.length,
|
|
347
|
+
children: L.hideAll
|
|
348
|
+
})]
|
|
349
|
+
})]
|
|
350
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
351
|
+
sx: SECTION_SEPARATOR_SX
|
|
352
|
+
}), /*#__PURE__*/_jsxs(Box, {
|
|
353
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
354
|
+
component: "div",
|
|
355
|
+
sx: SECTION_HEADING_SX,
|
|
356
|
+
children: L.densityHeading
|
|
357
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
358
|
+
sx: SECTION_BODY_SX,
|
|
359
|
+
children: /*#__PURE__*/_jsx(Segmented, {
|
|
360
|
+
value: density !== null && density !== void 0 ? density : "comfortable",
|
|
361
|
+
onChange: function onChange(value) {
|
|
362
|
+
return onDensityChange(value);
|
|
363
|
+
},
|
|
364
|
+
options: effectiveDensityOptions,
|
|
365
|
+
size: "sm",
|
|
366
|
+
"aria-label": L.densityAriaLabel
|
|
367
|
+
})
|
|
368
|
+
})]
|
|
369
|
+
})]
|
|
370
|
+
})
|
|
371
|
+
})]
|
|
372
|
+
});
|
|
373
|
+
}
|
|
374
|
+
export default DataGridSettingsMenu;
|
|
375
|
+
//# sourceMappingURL=DataGridSettingsMenu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DataGridSettingsMenu.js","names":["React","Box","IconButton","Popover","Checkbox","FormControlLabel","TuneIcon","Button","Segmented","extractHeaderText","mergeLabels","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DEFAULT_LABELS","Object","freeze","button","title","columnsHeading","densityHeading","showAll","hideAll","densityAriaLabel","FALLBACK_DENSITY_OPTIONS","value","label","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","maxHeight","overflowY","display","flexDirection","gap","SECTION_HEADING_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","SECTION_BODY_SX","paddingTop","SECTION_SEPARATOR_SX","borderTop","CHECKBOX_LABEL_SX","marginLeft","marginRight","COLUMNS_FOOTER_SX","justifyContent","BADGE_SX","position","top","insetInlineEnd","width","height","background","DataGridSettingsMenu","_ref","columns","hiddenColumns","onHiddenColumnsChange","density","onDensityChange","densityOptions","labels","L","_React$useState","useState","_React$useState2","_slicedToArray","anchor","setAnchor","hiddenSet","useMemo","Set","toggleableColumns","filter","c","toggleable","hiddenCount","has","key","length","hasCustomisation","open","Boolean","handleOpen","e","currentTarget","handleClose","toggleColumn","next","add","map","effectiveDensityOptions","popoverSlotProps","paper","sx","role","children","size","variant","type","icon","onClick","component","_objectSpread","pointerEvents","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","col","isVisible","headerText","header","trim","labelText","control","checked","onChange","input","disabled","options"],"sources":["../../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport TuneIcon from \"@mui/icons-material/Tune\";\r\nimport Button from \"../components/Button\";\r\nimport Segmented from \"../components/Segmented\";\r\nimport type { SegmentedOption } from \"../components/Segmented\";\r\nimport { extractHeaderText } from \"./ColumnsToggle\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { Density } from \"../types/common\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * DataGridSettingsMenu - Portnet UI v2 (pattern)\r\n *\r\n * Combined \"table options\" popover wrapping two DataGrid-adjacent\r\n * preferences: column visibility and row density. Single trigger\r\n * (Tune icon button) opens a popover with both sections inline.\r\n *\r\n * <DataGridSettingsMenu\r\n * columns={cols}\r\n * hiddenColumns={hiddenSet}\r\n * onHiddenColumnsChange={setHiddenSet}\r\n * density={density}\r\n * onDensityChange={setDensity}\r\n * densityOptions={DENSITY_OPTIONS}\r\n * label=\"Configurer\" // optional — shows text label on trigger\r\n * />\r\n *\r\n * Use this when the host wants BOTH affordances behind one\r\n * compact toolbar entry. For columns-only use cases, prefer the\r\n * atomic `<ColumnsToggle>` pattern.\r\n *\r\n * The component is pure presentation — host owns the state for\r\n * both columns visibility (hiddenColumns Set) and density (the\r\n * current value, typically \"comfortable\" or \"compact\").\r\n *\r\n * Mental model: checkbox represents VISIBILITY (checked = visible,\r\n * not in hiddenSet). Same contract as ColumnsToggle to avoid\r\n * cognitive load when a host switches between the two patterns.\r\n *\r\n * `col.toggleable: false` on a column excludes it from the popover\r\n * entirely — useful for identity columns or system-pinned columns\r\n * that should not be user-hideable. DataGrid itself doesn't read\r\n * this flag; it's a contract between the host schema and any\r\n * settings-UI consumer.\r\n *\r\n * `label` prop (optional string):\r\n * When provided, the trigger becomes a v2.Button (secondary, sm)\r\n * with the icon + text label visible in the toolbar. This is\r\n * recommended when the toolbar has enough horizontal space and the\r\n * affordance benefits from a named action (e.g. \"Configurer\").\r\n * When omitted, the trigger falls back to the compact IconButton.\r\n */\r\n\r\nexport interface DataGridSettingsMenuLabels {\r\n button?: string | undefined;\r\n title?: string | undefined;\r\n columnsHeading?: string | undefined;\r\n densityHeading?: string | undefined;\r\n showAll?: string | undefined;\r\n hideAll?: string | undefined;\r\n densityAriaLabel?: string | undefined;\r\n}\r\n\r\nexport interface DataGridSettingsMenuProps {\r\n columns: ReadonlyArray<Pick<DataGridColumn<unknown>, \"key\" | \"header\" | \"toggleable\">>;\r\n hiddenColumns?: Set<string> | string[] | undefined;\r\n onHiddenColumnsChange: (hidden: Set<string>) => void;\r\n density?: Density | undefined;\r\n onDensityChange: (density: Density) => void;\r\n densityOptions?: SegmentedOption[] | undefined;\r\n labels?: DataGridSettingsMenuLabels | undefined;\r\n label?: string | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Options du tableau\",\r\n title: \"Options du tableau\",\r\n columnsHeading: \"Affichage des colonnes\",\r\n densityHeading: \"Densité d'affichage\",\r\n showAll: \"Tout afficher\",\r\n hideAll: \"Tout masquer\",\r\n densityAriaLabel: \"Densité d'affichage\",\r\n});\r\n\r\n/* ── Default density options ─────────────────────────────────────────\r\n * Used only when the host doesn't pass its own densityOptions.\r\n * Hosts SHOULD pass an icon-laden version for visual richness; the\r\n * label-only fallback exists to keep this component crash-free.\r\n * (Frozen for defensiveness; typed mutable via one readonly→mutable\r\n * assertion since Segmented reads options and never mutates.) */\r\nconst FALLBACK_DENSITY_OPTIONS: SegmentedOption[] = Object.freeze([\r\n { value: \"comfortable\", label: \"Confortable\" },\r\n { value: \"compact\", label: \"Compact\" },\r\n]) as SegmentedOption[];\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 280,\r\n maxHeight: 480,\r\n overflowY: \"auto\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_HEADING_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_BODY_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n paddingTop: \"var(--s-2)\",\r\n paddingBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SECTION_SEPARATOR_SX = Object.freeze({\r\n borderTop: \"1px solid var(--border)\",\r\n});\r\n\r\nconst CHECKBOX_LABEL_SX = Object.freeze({\r\n marginLeft: 0,\r\n marginRight: 0,\r\n \"& .MuiFormControlLabel-label\": {\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n },\r\n});\r\n\r\nconst COLUMNS_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n paddingTop: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst BADGE_SX = Object.freeze({\r\n position: \"absolute\",\r\n top: 2,\r\n insetInlineEnd: 2,\r\n width: 8,\r\n height: 8,\r\n borderRadius: \"var(--r-full)\",\r\n background: \"var(--accent)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nfunction DataGridSettingsMenu({\r\n columns,\r\n hiddenColumns,\r\n onHiddenColumnsChange,\r\n density,\r\n onDensityChange,\r\n densityOptions,\r\n labels,\r\n label,\r\n}: DataGridSettingsMenuProps) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n\r\n // Normalise hiddenColumns to a Set once. Same contract as DataGrid\r\n // / ColumnsToggle — accepts Set or Array (or undefined).\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n // Toggleable subset — the only columns this UI exposes. System-\r\n // pinned columns (col.toggleable === false) are excluded entirely.\r\n const toggleableColumns = React.useMemo(\r\n () => columns.filter((c) => c.toggleable !== false),\r\n [columns]\r\n );\r\n\r\n // Count among toggleable for the trigger badge dot.\r\n const hiddenCount = React.useMemo(\r\n () => toggleableColumns.filter((c) => hiddenSet.has(c.key)).length,\r\n [toggleableColumns, hiddenSet]\r\n );\r\n\r\n // Indicates the user has changed something from defaults — used\r\n // to surface a discreet badge dot on the trigger. We use a single\r\n // visual dot rather than a numeric badge because there are TWO\r\n // pref axes (columns + density) that contribute; a counter would\r\n // be misleading.\r\n const hasCustomisation =\r\n hiddenCount > 0 ||\r\n (density != null && density !== \"comfortable\");\r\n\r\n const open = Boolean(anchor);\r\n\r\n const handleOpen = (e: React.MouseEvent<HTMLButtonElement>) => setAnchor(e.currentTarget);\r\n const handleClose = () => setAnchor(null);\r\n\r\n const toggleColumn = (key: string) => {\r\n const next = new Set(hiddenSet);\r\n if (next.has(key)) next.delete(key);\r\n else next.add(key);\r\n onHiddenColumnsChange(next);\r\n };\r\n\r\n const showAll = () => onHiddenColumnsChange(new Set<string>());\r\n const hideAll = () =>\r\n onHiddenColumnsChange(new Set(toggleableColumns.map((c) => c.key)));\r\n\r\n const effectiveDensityOptions = densityOptions || FALLBACK_DENSITY_OPTIONS;\r\n\r\n // MUI v9: slot bag for the Popover paper. Carries the dialog\r\n // ARIA contract (role + aria-label) — host-customisable via the\r\n // `labels.title` override. Memoised so the slotProps reference\r\n // stays stable when L.title is unchanged.\r\n const popoverSlotProps = React.useMemo(\r\n () => ({\r\n paper: {\r\n sx: POPOVER_PAPER_SX,\r\n role: \"dialog\",\r\n \"aria-label\": L.title,\r\n },\r\n }),\r\n [L.title]\r\n );\r\n\r\n return (\r\n <>\r\n {label ? (\r\n /* Named trigger — renders a v2.Button with icon + text label.\r\n * Used when the toolbar benefits from an explicit action name\r\n * (e.g. \"Configurer\"). Badge dot uses absolute positioning\r\n * inside the button's bounding box via sx={{ position: \"relative\" }}. */\r\n <Box sx={{ position: \"relative\", display: \"inline-flex\" }}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"secondary\"\r\n type=\"button\"\r\n icon={<TuneIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={L.button}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {label}\r\n </Button>\r\n {hasCustomisation && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n ...BADGE_SX,\r\n top: 4,\r\n insetInlineEnd: 4,\r\n pointerEvents: \"none\",\r\n }}\r\n aria-hidden=\"true\"\r\n />\r\n )}\r\n </Box>\r\n ) : (\r\n /* Icon-only trigger — compact fallback for callers that don't\r\n * pass a label (backward-compatible default). */\r\n <IconButton\r\n size=\"small\"\r\n type=\"button\"\r\n onClick={handleOpen}\r\n aria-label={L.button}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n sx={{\r\n color: \"var(--fg-muted)\",\r\n position: \"relative\",\r\n \"&:hover\": {\r\n background: \"var(--bg-hover)\",\r\n color: \"var(--fg)\",\r\n },\r\n }}\r\n >\r\n <TuneIcon fontSize=\"small\" />\r\n {hasCustomisation && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\" />\r\n )}\r\n </IconButton>\r\n )}\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"right\" }}\r\n transformOrigin={{ vertical: \"top\", horizontal: \"right\" }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n {/* ── Section: Columns ─────────────────────────────────── */}\r\n <Box>\r\n <Box component=\"div\" sx={SECTION_HEADING_SX}>\r\n {L.columnsHeading}\r\n </Box>\r\n <Box sx={SECTION_BODY_SX}>\r\n {toggleableColumns.map((col) => {\r\n const isVisible = !hiddenSet.has(col.key);\r\n // DGS-1 — accessible name = the header's visible text (reuses\r\n // ColumnsToggle's SET-1 extractor) so it matches the rendered\r\n // label (WCAG 2.5.3); only icon-only headers fall back to key.\r\n const headerText = extractHeaderText(col.header).trim();\r\n const labelText = headerText || col.key;\r\n return (\r\n <FormControlLabel\r\n key={col.key}\r\n control={\r\n <Checkbox\r\n size=\"small\"\r\n checked={isVisible}\r\n onChange={() => toggleColumn(col.key)}\r\n slotProps={{\r\n input: { \"aria-label\": labelText },\r\n }}\r\n />\r\n }\r\n label={col.header}\r\n sx={CHECKBOX_LABEL_SX}\r\n />\r\n );\r\n })}\r\n </Box>\r\n <Box sx={COLUMNS_FOOTER_SX}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={showAll}\r\n disabled={hiddenCount === 0}\r\n >\r\n {L.showAll}\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={hideAll}\r\n disabled={hiddenCount === toggleableColumns.length}\r\n >\r\n {L.hideAll}\r\n </Button>\r\n </Box>\r\n </Box>\r\n\r\n {/* ── Section separator ─────────────────────────────────── */}\r\n <Box sx={SECTION_SEPARATOR_SX} />\r\n\r\n {/* ── Section: Density ─────────────────────────────────── */}\r\n <Box>\r\n <Box component=\"div\" sx={SECTION_HEADING_SX}>\r\n {L.densityHeading}\r\n </Box>\r\n <Box sx={SECTION_BODY_SX}>\r\n <Segmented\r\n value={density ?? \"comfortable\"}\r\n onChange={(value) => onDensityChange(value as Density)}\r\n options={effectiveDensityOptions}\r\n size=\"sm\"\r\n aria-label={L.densityAriaLabel}\r\n />\r\n </Box>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n </>\r\n );\r\n}\r\n\r\nexport default DataGridSettingsMenu;\r\n"],"mappings":"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","ignoreList":[]}
|