@portnet/ui 6.0.2 → 6.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +652 -0
- package/dist/esm/index.js +72 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
- package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +71 -38
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +11 -11
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +118 -199
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/esm/v2/__tests__/apiError.test.js +50 -69
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
- package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
- package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +17 -21
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
- package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +48 -70
- package/dist/esm/v2/components/Accordion.js.map +1 -1
- package/dist/esm/v2/components/ActionStrip.js +31 -43
- package/dist/esm/v2/components/ActionStrip.js.map +1 -1
- package/dist/esm/v2/components/Banner.js +25 -22
- package/dist/esm/v2/components/Banner.js.map +1 -1
- package/dist/esm/v2/components/Busy.js +14 -19
- package/dist/esm/v2/components/Busy.js.map +1 -1
- package/dist/esm/v2/components/Button.js +34 -45
- package/dist/esm/v2/components/Button.js.map +1 -1
- package/dist/esm/v2/components/CategoryTag.js +44 -27
- package/dist/esm/v2/components/CategoryTag.js.map +1 -1
- package/dist/esm/v2/components/Checkbox.js +32 -38
- package/dist/esm/v2/components/Checkbox.js.map +1 -1
- package/dist/esm/v2/components/Chip.js +23 -36
- package/dist/esm/v2/components/Chip.js.map +1 -1
- package/dist/esm/v2/components/Combobox.js +112 -136
- package/dist/esm/v2/components/Combobox.js.map +1 -1
- package/dist/esm/v2/components/CommandPalette.js +113 -198
- package/dist/esm/v2/components/CommandPalette.js.map +1 -1
- package/dist/esm/v2/components/ConfirmDialog.js +36 -45
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/esm/v2/components/DatePicker.js +78 -81
- package/dist/esm/v2/components/DatePicker.js.map +1 -1
- package/dist/esm/v2/components/DateRangePicker.js +63 -74
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
- package/dist/esm/v2/components/DateTimePicker.js +81 -86
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
- package/dist/esm/v2/components/Drawer.js +71 -65
- package/dist/esm/v2/components/Drawer.js.map +1 -1
- package/dist/esm/v2/components/Dropzone.js +130 -177
- package/dist/esm/v2/components/Dropzone.js.map +1 -1
- package/dist/esm/v2/components/EmptyState.js +9 -9
- package/dist/esm/v2/components/EmptyState.js.map +1 -1
- package/dist/esm/v2/components/FavoriteToggle.js +24 -33
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/esm/v2/components/Field.js +155 -59
- package/dist/esm/v2/components/Field.js.map +1 -1
- package/dist/esm/v2/components/FieldError.js +9 -13
- package/dist/esm/v2/components/FieldError.js.map +1 -1
- package/dist/esm/v2/components/FieldHelp.js +28 -49
- package/dist/esm/v2/components/FieldHelp.js.map +1 -1
- package/dist/esm/v2/components/FileCard.js +14 -19
- package/dist/esm/v2/components/FileCard.js.map +1 -1
- package/dist/esm/v2/components/FilterTab.js +22 -31
- package/dist/esm/v2/components/FilterTab.js.map +1 -1
- package/dist/esm/v2/components/ForbiddenPage.js +28 -8
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/esm/v2/components/FormGrid.js +48 -54
- package/dist/esm/v2/components/FormGrid.js.map +1 -1
- package/dist/esm/v2/components/FormikDisplay.js +98 -24
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
- package/dist/esm/v2/components/Input.js +75 -34
- package/dist/esm/v2/components/Input.js.map +1 -1
- package/dist/esm/v2/components/KPICard.js +42 -51
- package/dist/esm/v2/components/KPICard.js.map +1 -1
- package/dist/esm/v2/components/KPIStrip.js +9 -15
- package/dist/esm/v2/components/KPIStrip.js.map +1 -1
- package/dist/esm/v2/components/KV.js +16 -23
- package/dist/esm/v2/components/KV.js.map +1 -1
- package/dist/esm/v2/components/KVGrid.js +15 -23
- package/dist/esm/v2/components/KVGrid.js.map +1 -1
- package/dist/esm/v2/components/Layout.js +81 -117
- package/dist/esm/v2/components/Layout.js.map +1 -1
- package/dist/esm/v2/components/MobileRowCard.js +64 -75
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
- package/dist/esm/v2/components/Modal.js +44 -53
- package/dist/esm/v2/components/Modal.js.map +1 -1
- package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/esm/v2/components/NotFoundPage.js +28 -9
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
- package/dist/esm/v2/components/NumberInput.js +77 -107
- package/dist/esm/v2/components/NumberInput.js.map +1 -1
- package/dist/esm/v2/components/OverflowMenu.js +24 -42
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
- package/dist/esm/v2/components/PdfViewer.js +24 -33
- package/dist/esm/v2/components/PdfViewer.js.map +1 -1
- package/dist/esm/v2/components/ProgressBar.js +28 -36
- package/dist/esm/v2/components/ProgressBar.js.map +1 -1
- package/dist/esm/v2/components/Radio.js +49 -57
- package/dist/esm/v2/components/Radio.js.map +1 -1
- package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/esm/v2/components/SectionHeader.js +24 -31
- package/dist/esm/v2/components/SectionHeader.js.map +1 -1
- package/dist/esm/v2/components/Segmented.js +59 -84
- package/dist/esm/v2/components/Segmented.js.map +1 -1
- package/dist/esm/v2/components/Select.js +100 -138
- package/dist/esm/v2/components/Select.js.map +1 -1
- package/dist/esm/v2/components/ServerErrorPage.js +27 -10
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/esm/v2/components/Skeleton.js +81 -96
- package/dist/esm/v2/components/Skeleton.js.map +1 -1
- package/dist/esm/v2/components/SkipLink.js +6 -7
- package/dist/esm/v2/components/SkipLink.js.map +1 -1
- package/dist/esm/v2/components/Spinner.js +13 -22
- package/dist/esm/v2/components/Spinner.js.map +1 -1
- package/dist/esm/v2/components/Status.js +14 -25
- package/dist/esm/v2/components/Status.js.map +1 -1
- package/dist/esm/v2/components/Stepper.js +68 -71
- package/dist/esm/v2/components/Stepper.js.map +1 -1
- package/dist/esm/v2/components/Surface.js +25 -44
- package/dist/esm/v2/components/Surface.js.map +1 -1
- package/dist/esm/v2/components/Switch.js +21 -29
- package/dist/esm/v2/components/Switch.js.map +1 -1
- package/dist/esm/v2/components/TabPanel.js +84 -0
- package/dist/esm/v2/components/TabPanel.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +43 -19
- package/dist/esm/v2/components/Tabs.js.map +1 -1
- package/dist/esm/v2/components/TelInput.js +75 -108
- package/dist/esm/v2/components/TelInput.js.map +1 -1
- package/dist/esm/v2/components/Textarea.js +21 -30
- package/dist/esm/v2/components/Textarea.js.map +1 -1
- package/dist/esm/v2/components/TimePicker.js +59 -69
- package/dist/esm/v2/components/TimePicker.js.map +1 -1
- package/dist/esm/v2/components/Toast.js +109 -163
- package/dist/esm/v2/components/Toast.js.map +1 -1
- package/dist/esm/v2/components/Tooltip.js +18 -31
- package/dist/esm/v2/components/Tooltip.js.map +1 -1
- package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/esm/v2/components/_pickerShared.js +2 -2
- package/dist/esm/v2/components/_pickerShared.js.map +1 -1
- package/dist/esm/v2/components/index.js +37 -0
- package/dist/esm/v2/components/index.js.map +1 -1
- package/dist/esm/v2/hooks/index.js +62 -0
- package/dist/esm/v2/hooks/index.js.map +1 -1
- package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
- package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/esm/v2/hooks/useDensity.js +13 -17
- package/dist/esm/v2/hooks/useDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useSortedRows.js +3 -5
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/esm/v2/hooks/useTabLoading.js +6 -21
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/esm/v2/index.js +2 -3
- package/dist/esm/v2/index.js.map +1 -1
- package/dist/esm/v2/modalContext.js +2 -2
- package/dist/esm/v2/modalContext.js.map +1 -1
- package/dist/esm/v2/models/favorite.js.map +1 -1
- package/dist/esm/v2/models/personalization.js.map +1 -1
- package/dist/esm/v2/models/referentiel.js.map +1 -1
- package/dist/esm/v2/models/savedFilter.js.map +1 -1
- package/dist/esm/v2/patterns/ActionBar.js +115 -159
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/AppMain.js +108 -0
- package/dist/esm/v2/patterns/AppMain.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/ChartFigure.js +151 -0
- package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/esm/v2/patterns/DataGrid.js +221 -255
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/esm/v2/patterns/DetailSplit.js +108 -0
- package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +15 -17
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
- package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/esm/v2/patterns/FormPageShell.js +43 -41
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/FormSection.js +30 -38
- package/dist/esm/v2/patterns/FormSection.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckbox.js +29 -39
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCombobox.js +51 -69
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
- package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +94 -78
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
- package/dist/esm/v2/patterns/FormikInput.js +40 -53
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/FormikSelect.js +64 -87
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/esm/v2/patterns/PageContent.js +10 -14
- package/dist/esm/v2/patterns/PageContent.js.map +1 -1
- package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
- package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +327 -312
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +27 -22
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
- package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/SortableHeader.js +22 -45
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/esm/v2/patterns/Tour.js +94 -120
- package/dist/esm/v2/patterns/Tour.js.map +1 -1
- package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/esm/v2/patterns/_pickerSerialisation.js +6 -8
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
- package/dist/esm/v2/patterns/_sort.js +17 -33
- package/dist/esm/v2/patterns/_sort.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/esm/v2/patterns/filterCriteria.js +102 -0
- package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +152 -0
- package/dist/esm/v2/patterns/index.js.map +1 -1
- package/dist/esm/v2/patterns/rowActions.js +223 -0
- package/dist/esm/v2/patterns/rowActions.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +28 -34
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/esm/v2/personalization/index.js +17 -0
- package/dist/esm/v2/personalization/index.js.map +1 -1
- package/dist/esm/v2/personalization/personalizationContext.js +9 -9
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/esm/v2/personalization/schema.js +8 -9
- package/dist/esm/v2/personalization/schema.js.map +1 -1
- package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/esm/v2/referentiel/types.js +2 -0
- package/dist/esm/v2/referentiel/types.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/esm/v2/theme/_brand.js +8 -24
- package/dist/esm/v2/theme/_brand.js.map +1 -1
- package/dist/esm/v2/theme/_brandSecondary.js +8 -24
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/esm/v2/theme/cssVariables.js +62 -69
- package/dist/esm/v2/theme/cssVariables.js.map +1 -1
- package/dist/esm/v2/theme/index.js +5 -5
- package/dist/esm/v2/theme/index.js.map +1 -1
- package/dist/esm/v2/tokens/breakpoints.js +14 -14
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
- package/dist/esm/v2/tokens/chart.js +261 -0
- package/dist/esm/v2/tokens/chart.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +22 -22
- package/dist/esm/v2/tokens/colors.js.map +1 -1
- package/dist/esm/v2/tokens/density.js +62 -7
- package/dist/esm/v2/tokens/density.js.map +1 -1
- package/dist/esm/v2/tokens/index.js +49 -34
- package/dist/esm/v2/tokens/index.js.map +1 -1
- package/dist/esm/v2/tokens/motion.js +12 -20
- package/dist/esm/v2/tokens/motion.js.map +1 -1
- package/dist/esm/v2/tokens/radius.js +1 -1
- package/dist/esm/v2/tokens/radius.js.map +1 -1
- package/dist/esm/v2/tokens/shadows.js +6 -6
- package/dist/esm/v2/tokens/shadows.js.map +1 -1
- package/dist/esm/v2/tokens/spacing.js +2 -2
- package/dist/esm/v2/tokens/spacing.js.map +1 -1
- package/dist/esm/v2/tokens/state.js +1 -1
- package/dist/esm/v2/tokens/state.js.map +1 -1
- package/dist/esm/v2/tokens/statusPalette.js +17 -21
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
- package/dist/esm/v2/tokens/tokens.json +6 -1
- package/dist/esm/v2/tokens/typography.js +13 -13
- package/dist/esm/v2/tokens/typography.js.map +1 -1
- package/dist/esm/v2/tokens/zIndex.js +1 -1
- package/dist/esm/v2/tokens/zIndex.js.map +1 -1
- package/dist/esm/v2/types/datagrid.js.map +1 -1
- package/dist/esm/v2/utils/apiError.js +16 -37
- package/dist/esm/v2/utils/apiError.js.map +1 -1
- package/dist/esm/v2/utils/contrast.js +31 -32
- package/dist/esm/v2/utils/contrast.js.map +1 -1
- package/dist/esm/v2/utils/cx.js +5 -25
- package/dist/esm/v2/utils/cx.js.map +1 -1
- package/dist/esm/v2/utils/fileDownload.js +23 -26
- package/dist/esm/v2/utils/fileDownload.js.map +1 -1
- package/dist/esm/v2/utils/fileValidation.js +209 -0
- package/dist/esm/v2/utils/fileValidation.js.map +1 -0
- package/dist/esm/v2/utils/fmtDate.js +111 -0
- package/dist/esm/v2/utils/fmtDate.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +8 -10
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
- package/dist/esm/v2/utils/formikErrors.js +78 -0
- package/dist/esm/v2/utils/formikErrors.js.map +1 -0
- package/dist/esm/v2/utils/index.js +35 -2
- package/dist/esm/v2/utils/index.js.map +1 -1
- package/dist/esm/v2/utils/mergeLabels.js +7 -12
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
- package/dist/esm/v2/utils/networkStatus.js +12 -12
- package/dist/esm/v2/utils/networkStatus.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +110 -49
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/AppMain.test.js +133 -0
- package/dist/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/v2/__tests__/ChartFigure.test.js +183 -0
- package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/v2/__tests__/FieldError.test.js +82 -49
- package/dist/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/v2/__tests__/FieldNaming.test.js +161 -0
- package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +23 -25
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
- package/dist/v2/__tests__/FileCard.test.js +29 -28
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
- package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +123 -204
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
- package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
- package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/v2/__tests__/apiError.test.js +50 -69
- package/dist/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/v2/__tests__/banned-patterns.test.js +42 -123
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/v2/__tests__/chart-palette.test.js +205 -0
- package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/v2/__tests__/fileValidation.test.js +136 -0
- package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/v2/__tests__/filterCriteria.test.js +324 -0
- package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/fmtDate.test.js +69 -0
- package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +23 -27
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/__tests__/locale-fallback.test.js +47 -52
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
- package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/rowActions.test.js +186 -0
- package/dist/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/v2/components/Accordion.js +60 -82
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.js +40 -52
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.js +42 -41
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.js +22 -27
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.js +39 -50
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js +49 -32
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.js +39 -45
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.js +29 -42
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.js +122 -144
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.js +138 -225
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +46 -56
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.js +81 -86
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.js +77 -87
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.js +84 -91
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +93 -88
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.js +150 -196
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.js +18 -20
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +28 -39
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +62 -4
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +169 -70
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.js +18 -21
- package/dist/v2/components/FieldError.js.map +1 -1
- package/dist/v2/components/FieldHelp.js +40 -60
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.js +27 -31
- package/dist/v2/components/FileCard.js.map +1 -1
- package/dist/v2/components/FilterTab.js +30 -38
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/ForbiddenPage.d.ts +25 -1
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
- package/dist/v2/components/ForbiddenPage.js +37 -17
- package/dist/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/v2/components/FormGrid.js +53 -59
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +50 -1
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js +108 -33
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +40 -0
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js +81 -41
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.js +57 -67
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.js +16 -22
- package/dist/v2/components/KPIStrip.js.map +1 -1
- package/dist/v2/components/KV.js +25 -31
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.js +19 -26
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.js +91 -120
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.js +79 -91
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.js +61 -69
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js +38 -21
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NotFoundPage.d.ts +17 -1
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
- package/dist/v2/components/NotFoundPage.js +37 -18
- package/dist/v2/components/NotFoundPage.js.map +1 -1
- package/dist/v2/components/NumberInput.js +88 -118
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.js +38 -56
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.js +34 -45
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.js +42 -49
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.js +59 -67
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.js +90 -135
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/v2/components/SectionHeader.js +34 -41
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.js +69 -93
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +26 -2
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +120 -155
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +27 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js +37 -20
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.js +86 -100
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.js +9 -12
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Spinner.js +16 -25
- package/dist/v2/components/Spinner.js.map +1 -1
- package/dist/v2/components/Status.js +18 -29
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.js +80 -82
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.js +34 -49
- package/dist/v2/components/Surface.js.map +1 -1
- package/dist/v2/components/Switch.js +29 -37
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/TabPanel.d.ts +17 -0
- package/dist/v2/components/TabPanel.d.ts.map +1 -0
- package/dist/v2/components/TabPanel.js +90 -0
- package/dist/v2/components/TabPanel.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +25 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js +53 -29
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.js +80 -115
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.js +26 -35
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.js +62 -74
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.js +119 -174
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.js +23 -38
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/_ErrorPageBody.js +15 -16
- package/dist/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/v2/components/_pickerShared.js +5 -5
- package/dist/v2/components/_pickerShared.js.map +1 -1
- package/dist/v2/components/index.d.ts +40 -1
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +153 -136
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/hooks/index.d.ts +65 -0
- package/dist/v2/hooks/index.d.ts.map +1 -1
- package/dist/v2/hooks/index.js +63 -24
- package/dist/v2/hooks/index.js.map +1 -1
- package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
- package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
- package/dist/v2/hooks/useAppliedFilters.js +117 -0
- package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.js +87 -0
- package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +6 -20
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/v2/hooks/useDensity.d.ts.map +1 -1
- package/dist/v2/hooks/useDensity.js +14 -18
- package/dist/v2/hooks/useDensity.js.map +1 -1
- package/dist/v2/hooks/useFocusFirstError.js +26 -34
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +20 -24
- package/dist/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.js +39 -54
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +5 -13
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/v2/hooks/useSortedRows.js +4 -6
- package/dist/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/v2/hooks/useTabLoading.js +7 -22
- package/dist/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/v2/index.js +143 -145
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/modalContext.js +2 -2
- package/dist/v2/modalContext.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +8 -9
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/index.js +4 -4
- package/dist/v2/models/index.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +44 -48
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +32 -50
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -17
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.js +152 -187
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/AppMain.d.ts +109 -0
- package/dist/v2/patterns/AppMain.d.ts.map +1 -0
- package/dist/v2/patterns/AppMain.js +115 -0
- package/dist/v2/patterns/AppMain.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +40 -42
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/ChartFigure.d.ts +124 -0
- package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
- package/dist/v2/patterns/ChartFigure.js +159 -0
- package/dist/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +60 -94
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/DataGrid.js +262 -297
- package/dist/v2/patterns/DataGrid.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +103 -106
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js +179 -217
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/DetailSplit.d.ts +87 -0
- package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
- package/dist/v2/patterns/DetailSplit.js +116 -0
- package/dist/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.js +22 -23
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +36 -44
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
- package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
- package/dist/v2/patterns/FilterTabBar.js +120 -0
- package/dist/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +20 -23
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.js +53 -50
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +8 -3
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +44 -51
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.js +36 -45
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +55 -72
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +50 -64
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js +25 -26
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
- package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorSummary.js +97 -0
- package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +14 -1
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js +99 -83
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.js +45 -58
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.js +45 -56
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js +54 -64
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +70 -92
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -51
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.js +17 -20
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
- package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
- package/dist/v2/patterns/PreviewDrawer.js +159 -0
- package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +86 -2
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +347 -327
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +6 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +50 -77
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js +122 -143
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.js +35 -57
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.js +121 -142
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +131 -147
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.js +9 -10
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
- package/dist/v2/patterns/_sort.js +17 -33
- package/dist/v2/patterns/_sort.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js +124 -163
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js +80 -99
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/filterCriteria.d.ts +78 -0
- package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
- package/dist/v2/patterns/filterCriteria.js +110 -0
- package/dist/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +160 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +157 -79
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/patterns/rowActions.d.ts +150 -0
- package/dist/v2/patterns/rowActions.d.ts.map +1 -0
- package/dist/v2/patterns/rowActions.js +232 -0
- package/dist/v2/patterns/rowActions.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js +57 -53
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/index.js +5 -5
- package/dist/v2/personalization/adapters/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/favorites.js +39 -62
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.js +31 -36
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +12 -12
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js +81 -182
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +16 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +30 -23
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/personalizationContext.js +10 -12
- package/dist/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/v2/personalization/schema.js +8 -9
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js +31 -45
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/index.js +11 -13
- package/dist/v2/referentiel/index.js.map +1 -1
- package/dist/v2/referentiel/types.d.ts +105 -0
- package/dist/v2/referentiel/types.d.ts.map +1 -0
- package/dist/v2/referentiel/types.js +6 -0
- package/dist/v2/referentiel/types.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +13 -16
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js +63 -120
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js +40 -95
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/_brand.js +12 -26
- package/dist/v2/theme/_brand.js.map +1 -1
- package/dist/v2/theme/_brandSecondary.js +12 -26
- package/dist/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +41 -49
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/theme/cssVariables.d.ts +3 -3
- package/dist/v2/theme/cssVariables.d.ts.map +1 -1
- package/dist/v2/theme/cssVariables.js +65 -70
- package/dist/v2/theme/cssVariables.js.map +1 -1
- package/dist/v2/theme/index.js +10 -10
- package/dist/v2/theme/index.js.map +1 -1
- package/dist/v2/tokens/breakpoints.js +16 -16
- package/dist/v2/tokens/breakpoints.js.map +1 -1
- package/dist/v2/tokens/chart.d.ts +103 -0
- package/dist/v2/tokens/chart.d.ts.map +1 -0
- package/dist/v2/tokens/chart.js +270 -0
- package/dist/v2/tokens/chart.js.map +1 -0
- package/dist/v2/tokens/colors.js +24 -24
- package/dist/v2/tokens/colors.js.map +1 -1
- package/dist/v2/tokens/density.d.ts +104 -0
- package/dist/v2/tokens/density.d.ts.map +1 -1
- package/dist/v2/tokens/density.js +67 -12
- package/dist/v2/tokens/density.js.map +1 -1
- package/dist/v2/tokens/index.d.ts +50 -1
- package/dist/v2/tokens/index.d.ts.map +1 -1
- package/dist/v2/tokens/index.js +116 -68
- package/dist/v2/tokens/index.js.map +1 -1
- package/dist/v2/tokens/motion.js +16 -22
- package/dist/v2/tokens/motion.js.map +1 -1
- package/dist/v2/tokens/radius.js +3 -3
- package/dist/v2/tokens/radius.js.map +1 -1
- package/dist/v2/tokens/shadows.js +8 -8
- package/dist/v2/tokens/shadows.js.map +1 -1
- package/dist/v2/tokens/spacing.js +4 -4
- package/dist/v2/tokens/spacing.js.map +1 -1
- package/dist/v2/tokens/state.js +3 -3
- package/dist/v2/tokens/state.js.map +1 -1
- package/dist/v2/tokens/statusPalette.js +21 -23
- package/dist/v2/tokens/statusPalette.js.map +1 -1
- package/dist/v2/tokens/tokens.json +6 -1
- package/dist/v2/tokens/typography.js +15 -15
- package/dist/v2/tokens/typography.js.map +1 -1
- package/dist/v2/tokens/zIndex.js +3 -3
- package/dist/v2/tokens/zIndex.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +9 -1
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/types/index.js +2 -2
- package/dist/v2/types/index.js.map +1 -1
- package/dist/v2/utils/apiError.js +16 -37
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/contrast.js +31 -32
- package/dist/v2/utils/contrast.js.map +1 -1
- package/dist/v2/utils/cx.js +7 -27
- package/dist/v2/utils/cx.js.map +1 -1
- package/dist/v2/utils/fileDownload.js +25 -28
- package/dist/v2/utils/fileDownload.js.map +1 -1
- package/dist/v2/utils/fileValidation.d.ts +116 -0
- package/dist/v2/utils/fileValidation.d.ts.map +1 -0
- package/dist/v2/utils/fileValidation.js +220 -0
- package/dist/v2/utils/fileValidation.js.map +1 -0
- package/dist/v2/utils/fmtDate.d.ts +103 -0
- package/dist/v2/utils/fmtDate.d.ts.map +1 -0
- package/dist/v2/utils/fmtDate.js +119 -0
- package/dist/v2/utils/fmtDate.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +3 -3
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
- package/dist/v2/utils/fmtMoney.js +9 -11
- package/dist/v2/utils/fmtMoney.js.map +1 -1
- package/dist/v2/utils/formikErrors.d.ts +67 -0
- package/dist/v2/utils/formikErrors.d.ts.map +1 -0
- package/dist/v2/utils/formikErrors.js +85 -0
- package/dist/v2/utils/formikErrors.js.map +1 -0
- package/dist/v2/utils/index.d.ts +5 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +67 -18
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.js +9 -14
- package/dist/v2/utils/mergeLabels.js.map +1 -1
- package/dist/v2/utils/networkStatus.js +14 -14
- package/dist/v2/utils/networkStatus.js.map +1 -1
- package/package.json +26 -9
|
@@ -1,18 +1,3 @@
|
|
|
1
|
-
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
2
|
-
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
3
|
-
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
4
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
5
|
-
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."); }
|
|
6
|
-
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); }
|
|
7
|
-
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; }
|
|
8
|
-
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; } }
|
|
9
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
10
|
-
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; }
|
|
11
|
-
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; }
|
|
12
|
-
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; }
|
|
13
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
14
|
-
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); }
|
|
15
|
-
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); }
|
|
16
1
|
import * as React from "react";
|
|
17
2
|
import Box from "@mui/material/Box";
|
|
18
3
|
import IconButton from "@mui/material/IconButton";
|
|
@@ -25,8 +10,11 @@ import DatePicker from "../components/DatePicker";
|
|
|
25
10
|
import Button from "../components/Button";
|
|
26
11
|
import Banner from "../components/Banner";
|
|
27
12
|
import Modal from "../components/Modal";
|
|
13
|
+
import Drawer from "../components/Drawer";
|
|
28
14
|
import DataGrid from "./DataGrid";
|
|
29
15
|
import EmptyState from "../components/EmptyState";
|
|
16
|
+
import KV from "../components/KV";
|
|
17
|
+
import KVGrid from "../components/KVGrid";
|
|
30
18
|
import { mergeLabels } from "../utils/mergeLabels";
|
|
31
19
|
|
|
32
20
|
/**
|
|
@@ -66,15 +54,13 @@ import { mergeLabels } from "../utils/mergeLabels";
|
|
|
66
54
|
/** One search criterion. combobox/date-only fields reuse the real
|
|
67
55
|
* component prop types so they stay exactly aligned. */
|
|
68
56
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
69
|
-
|
|
57
|
+
const DEFAULT_LABELS = Object.freeze({
|
|
70
58
|
searchAria: "Rechercher",
|
|
71
59
|
clearAria: "Effacer la sélection",
|
|
72
60
|
modalCancel: "Annuler",
|
|
73
61
|
modalConfirm: "Sélectionner",
|
|
74
62
|
searchSubmit: "Rechercher",
|
|
75
|
-
resultsHeading:
|
|
76
|
-
return "".concat(n, " r\xE9sultat").concat(n > 1 ? "s" : "");
|
|
77
|
-
},
|
|
63
|
+
resultsHeading: n => `${n} résultat${n > 1 ? "s" : ""}`,
|
|
78
64
|
initialEmptyTitle: "Aucune recherche",
|
|
79
65
|
initialEmptyHint: "Saisissez un critère puis lancez la recherche.",
|
|
80
66
|
noResultsTitle: "Aucun résultat",
|
|
@@ -84,125 +70,122 @@ var DEFAULT_LABELS = Object.freeze({
|
|
|
84
70
|
loadingHint: "Recherche en cours…",
|
|
85
71
|
placeholder: "Sélectionner…"
|
|
86
72
|
});
|
|
87
|
-
|
|
88
|
-
|
|
73
|
+
const DEFAULT_PAGE_SIZE = 25;
|
|
74
|
+
const DEFAULT_PAGE_SIZES = [25, 50, 100];
|
|
89
75
|
|
|
90
76
|
/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to
|
|
91
77
|
* the declared `(row: T) => RowId` by parameter contravariance. */
|
|
92
|
-
|
|
93
|
-
return row.id;
|
|
94
|
-
};
|
|
78
|
+
const defaultGetRowId = row => row.id;
|
|
95
79
|
|
|
96
80
|
/* B17 — render a single criterion based on its `kind` discriminator.
|
|
97
81
|
* Falls back to Input for unknown kinds. The draft value is `unknown`
|
|
98
82
|
* (criteria are heterogeneous); one assertion at each value seam. */
|
|
99
|
-
function renderCriterionField(c, value,
|
|
100
|
-
|
|
101
|
-
var kind = c.kind || "input";
|
|
83
|
+
function renderCriterionField(c, value, onChange) {
|
|
84
|
+
const kind = c.kind || "input";
|
|
102
85
|
switch (kind) {
|
|
103
86
|
case "combobox":
|
|
104
|
-
return /*#__PURE__*/_jsx(Combobox,
|
|
105
|
-
value: value
|
|
106
|
-
onChange:
|
|
107
|
-
var _target$value, _target;
|
|
87
|
+
return /*#__PURE__*/_jsx(Combobox, {
|
|
88
|
+
value: value ?? "",
|
|
89
|
+
onChange: next => {
|
|
108
90
|
// Combobox may emit either a raw value or an event-like object;
|
|
109
91
|
// extract defensively in a way that is sound for any shape.
|
|
110
|
-
|
|
111
|
-
|
|
92
|
+
const extracted = next && typeof next === "object" && "target" in next ? next.target?.value ?? next : next;
|
|
93
|
+
onChange(extracted);
|
|
112
94
|
},
|
|
113
|
-
options:
|
|
114
|
-
loading: Boolean(c.loading)
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
95
|
+
options: c.options ?? [],
|
|
96
|
+
loading: Boolean(c.loading),
|
|
97
|
+
...(c.getOptionLabel !== undefined ? {
|
|
98
|
+
getOptionLabel: c.getOptionLabel
|
|
99
|
+
} : {}),
|
|
100
|
+
...(c.placeholder !== undefined ? {
|
|
101
|
+
placeholder: c.placeholder
|
|
102
|
+
} : {})
|
|
103
|
+
});
|
|
120
104
|
case "date":
|
|
121
|
-
return /*#__PURE__*/_jsx(DatePicker,
|
|
105
|
+
return /*#__PURE__*/_jsx(DatePicker, {
|
|
122
106
|
name: c.name,
|
|
123
|
-
value: value
|
|
124
|
-
onChange:
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
} : {}));
|
|
107
|
+
value: value ?? null,
|
|
108
|
+
onChange: next => onChange(next),
|
|
109
|
+
disableFuture: Boolean(c.disableFuture),
|
|
110
|
+
...(c.placeholder !== undefined ? {
|
|
111
|
+
placeholder: c.placeholder
|
|
112
|
+
} : {})
|
|
113
|
+
});
|
|
131
114
|
case "input":
|
|
132
115
|
default:
|
|
133
116
|
return /*#__PURE__*/_jsx(Input, {
|
|
134
117
|
name: c.name,
|
|
135
|
-
value: value
|
|
136
|
-
onChange:
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
118
|
+
value: value ?? "",
|
|
119
|
+
onChange: e => onChange(e.target.value),
|
|
120
|
+
placeholder: c.placeholder,
|
|
121
|
+
...(c.maxLength != null ? {
|
|
122
|
+
inputProps: {
|
|
123
|
+
maxLength: c.maxLength
|
|
124
|
+
}
|
|
125
|
+
} : {})
|
|
140
126
|
});
|
|
141
127
|
}
|
|
142
128
|
}
|
|
143
|
-
function ReferentielField(
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
129
|
+
function ReferentielField({
|
|
130
|
+
value,
|
|
131
|
+
onChange,
|
|
132
|
+
// Display / trigger
|
|
133
|
+
getDisplayValue,
|
|
134
|
+
placeholder,
|
|
135
|
+
disabled = false,
|
|
136
|
+
readOnly = false,
|
|
137
|
+
clearable = true,
|
|
138
|
+
// Modal content
|
|
139
|
+
title = "Rechercher",
|
|
140
|
+
subtitle,
|
|
141
|
+
size = "lg",
|
|
142
|
+
modalProps,
|
|
143
|
+
container = "modal",
|
|
144
|
+
drawerWidth,
|
|
145
|
+
searchOnOpen = false,
|
|
146
|
+
// Search contract
|
|
147
|
+
search,
|
|
148
|
+
criteria = [],
|
|
149
|
+
initialCriteria,
|
|
150
|
+
columns = [],
|
|
151
|
+
pageSize: pageSizeProp = DEFAULT_PAGE_SIZE,
|
|
152
|
+
pageSizes = DEFAULT_PAGE_SIZES,
|
|
153
|
+
getRowId = defaultGetRowId,
|
|
154
|
+
// Selection UX
|
|
155
|
+
confirmOnSelection = false,
|
|
156
|
+
// Sort (delegated to DataGrid)
|
|
157
|
+
sort,
|
|
158
|
+
onSortChange,
|
|
159
|
+
// Localisation
|
|
160
|
+
labels,
|
|
161
|
+
locale,
|
|
162
|
+
renderMobileCard,
|
|
163
|
+
mobileBreakpoint = "sm",
|
|
164
|
+
// Forwarded down so Field can wire id / aria-* / name
|
|
165
|
+
id,
|
|
166
|
+
name,
|
|
167
|
+
"aria-invalid": ariaInvalid,
|
|
168
|
+
"aria-required": ariaRequired,
|
|
169
|
+
"aria-describedby": ariaDescribedBy
|
|
170
|
+
}) {
|
|
171
|
+
const L = React.useMemo(() => mergeLabels(DEFAULT_LABELS, labels), [labels]);
|
|
186
172
|
|
|
187
173
|
/* ── Modal lifecycle ──────────────────────────────────────── */
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
setOpen = _React$useState2[1];
|
|
192
|
-
var triggerRef = React.useRef(null);
|
|
193
|
-
var openModal = React.useCallback(function () {
|
|
174
|
+
const [open, setOpen] = React.useState(false);
|
|
175
|
+
const triggerRef = React.useRef(null);
|
|
176
|
+
const openModal = React.useCallback(() => {
|
|
194
177
|
if (disabled || readOnly) return;
|
|
195
178
|
setOpen(true);
|
|
196
179
|
}, [disabled, readOnly]);
|
|
197
|
-
|
|
180
|
+
const closeModal = React.useCallback(() => {
|
|
198
181
|
setOpen(false);
|
|
199
|
-
setTimeout(
|
|
182
|
+
setTimeout(() => {
|
|
200
183
|
// triggerRef's element type resolves to `{}` via React.ElementRef<typeof
|
|
201
184
|
// Input> (a TS inference gap, not a real absence of .focus at runtime —
|
|
202
185
|
// Input forwards its ref to a real focusable element). Cast narrowly at
|
|
203
186
|
// the point of use rather than widening the ref's declared type, so the
|
|
204
187
|
// `ref={triggerRef}` binding on <Input> below is unaffected.
|
|
205
|
-
|
|
188
|
+
const el = triggerRef.current;
|
|
206
189
|
if (el && typeof el.focus === "function") {
|
|
207
190
|
el.focus({
|
|
208
191
|
preventScroll: true
|
|
@@ -212,128 +195,60 @@ function ReferentielField(_ref) {
|
|
|
212
195
|
}, []);
|
|
213
196
|
|
|
214
197
|
/* ── Criteria draft + search state ───────────────────────── */
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
(criteria || []).forEach(
|
|
198
|
+
const seedCriteria = React.useMemo(() => {
|
|
199
|
+
const seed = {};
|
|
200
|
+
(criteria || []).forEach(c => {
|
|
218
201
|
seed[c.name] = initialCriteria && initialCriteria[c.name] || "";
|
|
219
202
|
});
|
|
220
203
|
return seed;
|
|
221
204
|
}, [criteria, initialCriteria]);
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
draft = _React$useState4[0],
|
|
225
|
-
setDraft = _React$useState4[1];
|
|
226
|
-
React.useEffect(function () {
|
|
205
|
+
const [draft, setDraft] = React.useState(seedCriteria);
|
|
206
|
+
React.useEffect(() => {
|
|
227
207
|
if (open) setDraft(seedCriteria);
|
|
228
208
|
}, [open, seedCriteria]);
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
var _React$useState9 = React.useState([]),
|
|
238
|
-
_React$useState0 = _slicedToArray(_React$useState9, 2),
|
|
239
|
-
items = _React$useState0[0],
|
|
240
|
-
setItems = _React$useState0[1];
|
|
241
|
-
var _React$useState1 = React.useState(0),
|
|
242
|
-
_React$useState10 = _slicedToArray(_React$useState1, 2),
|
|
243
|
-
total = _React$useState10[0],
|
|
244
|
-
setTotal = _React$useState10[1];
|
|
245
|
-
var _React$useState11 = React.useState(false),
|
|
246
|
-
_React$useState12 = _slicedToArray(_React$useState11, 2),
|
|
247
|
-
loading = _React$useState12[0],
|
|
248
|
-
setLoading = _React$useState12[1];
|
|
249
|
-
var _React$useState13 = React.useState(null),
|
|
250
|
-
_React$useState14 = _slicedToArray(_React$useState13, 2),
|
|
251
|
-
error = _React$useState14[0],
|
|
252
|
-
setError = _React$useState14[1];
|
|
253
|
-
var _React$useState15 = React.useState(false),
|
|
254
|
-
_React$useState16 = _slicedToArray(_React$useState15, 2),
|
|
255
|
-
hasSearched = _React$useState16[0],
|
|
256
|
-
setHasSearched = _React$useState16[1];
|
|
257
|
-
var _React$useState17 = React.useState(null),
|
|
258
|
-
_React$useState18 = _slicedToArray(_React$useState17, 2),
|
|
259
|
-
pendingSelection = _React$useState18[0],
|
|
260
|
-
setPendingSelection = _React$useState18[1];
|
|
209
|
+
const [page, setPage] = React.useState(1);
|
|
210
|
+
const [pageSize, setPageSize] = React.useState(pageSizeProp);
|
|
211
|
+
const [items, setItems] = React.useState([]);
|
|
212
|
+
const [total, setTotal] = React.useState(0);
|
|
213
|
+
const [loading, setLoading] = React.useState(false);
|
|
214
|
+
const [error, setError] = React.useState(null);
|
|
215
|
+
const [hasSearched, setHasSearched] = React.useState(false);
|
|
216
|
+
const [pendingSelection, setPendingSelection] = React.useState(null);
|
|
261
217
|
|
|
262
218
|
/* ── Search executor ─────────────────────────────────────── */
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
_context.prev = 8;
|
|
294
|
-
_context.next = 11;
|
|
295
|
-
return search(effective);
|
|
296
|
-
case 11:
|
|
297
|
-
result = _context.sent;
|
|
298
|
-
if (!(myReq !== requestSeq.current)) {
|
|
299
|
-
_context.next = 14;
|
|
300
|
-
break;
|
|
301
|
-
}
|
|
302
|
-
return _context.abrupt("return");
|
|
303
|
-
case 14:
|
|
304
|
-
setItems(Array.isArray(result.items) ? result.items : []);
|
|
305
|
-
nextTotal = typeof result.total === "number" && Number.isFinite(result.total) ? result.total : result.items.length;
|
|
306
|
-
setTotal(nextTotal);
|
|
307
|
-
setPage(effective.page);
|
|
308
|
-
setPageSize(effective.pageSize);
|
|
309
|
-
_context.next = 28;
|
|
310
|
-
break;
|
|
311
|
-
case 21:
|
|
312
|
-
_context.prev = 21;
|
|
313
|
-
_context.t0 = _context["catch"](8);
|
|
314
|
-
if (!(myReq !== requestSeq.current)) {
|
|
315
|
-
_context.next = 25;
|
|
316
|
-
break;
|
|
317
|
-
}
|
|
318
|
-
return _context.abrupt("return");
|
|
319
|
-
case 25:
|
|
320
|
-
setError(_context.t0 instanceof Error ? _context.t0 : new Error("search failed"));
|
|
321
|
-
setItems([]);
|
|
322
|
-
setTotal(0);
|
|
323
|
-
case 28:
|
|
324
|
-
_context.prev = 28;
|
|
325
|
-
if (myReq === requestSeq.current) setLoading(false);
|
|
326
|
-
return _context.finish(28);
|
|
327
|
-
case 31:
|
|
328
|
-
case "end":
|
|
329
|
-
return _context.stop();
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
}, _callee, null, [[8, 21, 28, 31]]);
|
|
333
|
-
})), [search, draft, pageSize, sort]);
|
|
219
|
+
const requestSeq = React.useRef(0);
|
|
220
|
+
const runSearch = React.useCallback(async (overrides = {}) => {
|
|
221
|
+
if (typeof search !== "function") return;
|
|
222
|
+
const myReq = ++requestSeq.current;
|
|
223
|
+
const effective = {
|
|
224
|
+
criteria: overrides.criteria ?? draft,
|
|
225
|
+
page: overrides.page ?? 1,
|
|
226
|
+
pageSize: overrides.pageSize ?? pageSize,
|
|
227
|
+
sort
|
|
228
|
+
};
|
|
229
|
+
setLoading(true);
|
|
230
|
+
setError(null);
|
|
231
|
+
setHasSearched(true);
|
|
232
|
+
try {
|
|
233
|
+
const result = await search(effective);
|
|
234
|
+
if (myReq !== requestSeq.current) return;
|
|
235
|
+
setItems(Array.isArray(result.items) ? result.items : []);
|
|
236
|
+
const nextTotal = typeof result.total === "number" && Number.isFinite(result.total) ? result.total : result.items.length;
|
|
237
|
+
setTotal(nextTotal);
|
|
238
|
+
setPage(effective.page);
|
|
239
|
+
setPageSize(effective.pageSize);
|
|
240
|
+
} catch (e) {
|
|
241
|
+
if (myReq !== requestSeq.current) return;
|
|
242
|
+
setError(e instanceof Error ? e : new Error("search failed"));
|
|
243
|
+
setItems([]);
|
|
244
|
+
setTotal(0);
|
|
245
|
+
} finally {
|
|
246
|
+
if (myReq === requestSeq.current) setLoading(false);
|
|
247
|
+
}
|
|
248
|
+
}, [search, draft, pageSize, sort]);
|
|
334
249
|
|
|
335
250
|
/* ── Form submission inside the modal ────────────────────── */
|
|
336
|
-
|
|
251
|
+
const onSubmitCriteria = e => {
|
|
337
252
|
e.preventDefault();
|
|
338
253
|
setPendingSelection(null);
|
|
339
254
|
runSearch({
|
|
@@ -341,12 +256,43 @@ function ReferentielField(_ref) {
|
|
|
341
256
|
page: 1
|
|
342
257
|
});
|
|
343
258
|
};
|
|
344
|
-
|
|
259
|
+
|
|
260
|
+
/**
|
|
261
|
+
* S-2 — une recherche à vide par ouverture, quand `searchOnOpen` est demandé.
|
|
262
|
+
*
|
|
263
|
+
* Placé APRÈS `runSearch` délibérément : un effet qui référence une valeur
|
|
264
|
+
* déclarée plus bas s'exécute correctement (les effets partent après le
|
|
265
|
+
* rendu) mais se lit mal, et `no-use-before-define` le refuserait.
|
|
266
|
+
*
|
|
267
|
+
* Le drapeau est un ref et non de l'état : `runSearch` dépend de `draft`,
|
|
268
|
+
* donc sans garde l'effet repartirait à chaque frappe dans un critère —
|
|
269
|
+
* exactement ce que le bouton « Rechercher » existe pour éviter. Une
|
|
270
|
+
* fermeture le réarme.
|
|
271
|
+
*
|
|
272
|
+
* Les critères semés sont passés EXPLICITEMENT : `runSearch` lirait sinon le
|
|
273
|
+
* `draft` du rendu courant, que le `setDraft` de l'effet d'ouverture n'a pas
|
|
274
|
+
* encore appliqué.
|
|
275
|
+
*/
|
|
276
|
+
const searchedOnOpenRef = React.useRef(false);
|
|
277
|
+
React.useEffect(() => {
|
|
278
|
+
if (!open) {
|
|
279
|
+
searchedOnOpenRef.current = false;
|
|
280
|
+
return;
|
|
281
|
+
}
|
|
282
|
+
if (!searchOnOpen || searchedOnOpenRef.current) return;
|
|
283
|
+
searchedOnOpenRef.current = true;
|
|
284
|
+
void runSearch({
|
|
285
|
+
criteria: seedCriteria,
|
|
286
|
+
page: 1
|
|
287
|
+
});
|
|
288
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
289
|
+
}, [open, searchOnOpen, seedCriteria]);
|
|
290
|
+
const onPageChange = nextPage => {
|
|
345
291
|
runSearch({
|
|
346
292
|
page: nextPage
|
|
347
293
|
});
|
|
348
294
|
};
|
|
349
|
-
|
|
295
|
+
const onPageSizeChange = nextPageSize => {
|
|
350
296
|
runSearch({
|
|
351
297
|
page: 1,
|
|
352
298
|
pageSize: nextPageSize
|
|
@@ -354,112 +300,140 @@ function ReferentielField(_ref) {
|
|
|
354
300
|
};
|
|
355
301
|
|
|
356
302
|
/* ── Selection ───────────────────────────────────────────── */
|
|
357
|
-
|
|
303
|
+
const handleRowClick = row => {
|
|
358
304
|
if (confirmOnSelection) {
|
|
359
305
|
setPendingSelection(row);
|
|
360
306
|
return;
|
|
361
307
|
}
|
|
362
|
-
onChange
|
|
308
|
+
onChange?.(row);
|
|
363
309
|
closeModal();
|
|
364
310
|
};
|
|
365
|
-
|
|
311
|
+
const handleConfirmSelection = () => {
|
|
366
312
|
if (!pendingSelection) return;
|
|
367
|
-
onChange
|
|
313
|
+
onChange?.(pendingSelection);
|
|
368
314
|
setPendingSelection(null);
|
|
369
315
|
closeModal();
|
|
370
316
|
};
|
|
371
|
-
|
|
317
|
+
const handleClear = e => {
|
|
372
318
|
e.stopPropagation();
|
|
373
319
|
if (disabled || readOnly) return;
|
|
374
|
-
onChange
|
|
320
|
+
onChange?.(null);
|
|
375
321
|
};
|
|
376
322
|
|
|
323
|
+
/* ── Result-grid mobile card (A9) ───────────────────────────
|
|
324
|
+
* Derived from the same `columns` the table uses, so the two cannot
|
|
325
|
+
* disagree. `getValue` is declared `(row) => unknown` by the grid contract,
|
|
326
|
+
* so its result is stringified here rather than handed to `KV` as a
|
|
327
|
+
* ReactNode; `render` already returns one. */
|
|
328
|
+
const cellContent = React.useCallback((col, row) => {
|
|
329
|
+
if (typeof col.render === "function") return col.render(row);
|
|
330
|
+
if (typeof col.getValue === "function") {
|
|
331
|
+
const v = col.getValue(row);
|
|
332
|
+
return v == null ? "" : String(v);
|
|
333
|
+
}
|
|
334
|
+
const raw = row?.[col.key];
|
|
335
|
+
return raw == null ? "" : String(raw);
|
|
336
|
+
}, []);
|
|
337
|
+
const effectiveMobileCard = React.useCallback(row => {
|
|
338
|
+
if (typeof renderMobileCard === "function") return renderMobileCard(row);
|
|
339
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
340
|
+
sx: {
|
|
341
|
+
display: "flex",
|
|
342
|
+
flexDirection: "column",
|
|
343
|
+
gap: "var(--s-2)"
|
|
344
|
+
},
|
|
345
|
+
children: /*#__PURE__*/_jsx(KVGrid, {
|
|
346
|
+
minColumnWidth: 140,
|
|
347
|
+
children: columns.map(col => /*#__PURE__*/_jsx(KV, {
|
|
348
|
+
label: col.header,
|
|
349
|
+
value: cellContent(col, row)
|
|
350
|
+
}, col.key))
|
|
351
|
+
})
|
|
352
|
+
});
|
|
353
|
+
}, [renderMobileCard, columns, cellContent]);
|
|
354
|
+
|
|
377
355
|
/* ── Trigger display ─────────────────────────────────────── */
|
|
378
|
-
|
|
356
|
+
const display = React.useMemo(() => {
|
|
379
357
|
if (value == null || value === "") return "";
|
|
380
358
|
if (typeof getDisplayValue === "function") {
|
|
381
359
|
try {
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
} catch (_unused) {
|
|
360
|
+
return getDisplayValue(value) ?? "";
|
|
361
|
+
} catch {
|
|
385
362
|
return "";
|
|
386
363
|
}
|
|
387
364
|
}
|
|
388
365
|
if (typeof value === "string") return value;
|
|
389
|
-
if (value &&
|
|
390
|
-
|
|
366
|
+
if (value && typeof value === "object") {
|
|
367
|
+
const v = value;
|
|
391
368
|
return v.description || v.label || v.name || v.code || "";
|
|
392
369
|
}
|
|
393
370
|
return String(value);
|
|
394
371
|
}, [value, getDisplayValue]);
|
|
395
372
|
|
|
396
373
|
/* ── DataGrid pagination contract ────────────────────────── */
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
};
|
|
406
|
-
},
|
|
374
|
+
const pagination = React.useMemo(() => ({
|
|
375
|
+
page,
|
|
376
|
+
pageSize,
|
|
377
|
+
total,
|
|
378
|
+
pageSizes,
|
|
379
|
+
onPageChange,
|
|
380
|
+
onPageSizeChange
|
|
381
|
+
}),
|
|
407
382
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
408
383
|
[page, pageSize, total, pageSizes]);
|
|
409
384
|
|
|
410
385
|
/* ── Empty / error states for DataGrid ───────────────────── */
|
|
411
|
-
|
|
386
|
+
const initialEmpty = /*#__PURE__*/_jsx(EmptyState, {
|
|
412
387
|
variant: "initial",
|
|
413
388
|
title: L.initialEmptyTitle,
|
|
414
389
|
description: L.initialEmptyHint
|
|
415
390
|
});
|
|
416
|
-
|
|
391
|
+
const filteredEmpty = /*#__PURE__*/_jsx(EmptyState, {
|
|
417
392
|
variant: "filtered",
|
|
418
393
|
title: L.noResultsTitle,
|
|
419
394
|
description: L.noResultsHint
|
|
420
395
|
});
|
|
421
|
-
|
|
396
|
+
const errorState = /*#__PURE__*/_jsx(Banner, {
|
|
422
397
|
variant: "error",
|
|
423
398
|
title: L.errorTitle,
|
|
424
399
|
action: {
|
|
425
400
|
label: L.errorRetry,
|
|
426
|
-
onClick:
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
});
|
|
430
|
-
}
|
|
401
|
+
onClick: () => runSearch({
|
|
402
|
+
page: 1
|
|
403
|
+
})
|
|
431
404
|
},
|
|
432
|
-
children:
|
|
405
|
+
children: error?.message || String(error || "")
|
|
433
406
|
});
|
|
434
407
|
|
|
435
408
|
/* ── Render the trigger ──────────────────────────────────── */
|
|
436
|
-
|
|
409
|
+
const showClear = clearable && !disabled && !readOnly && Boolean(display);
|
|
437
410
|
|
|
438
411
|
// B4-3 fix — bundle every aria-* attribute of the trigger so v2.Input
|
|
439
412
|
// routes them into slotProps.input → the native <input/>. Typed as
|
|
440
413
|
// AriaAttributes so "aria-haspopup":"dialog" stays a valid literal.
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
}, ariaInvalid != null ? {
|
|
414
|
+
const triggerAria = React.useMemo(() => ({
|
|
415
|
+
"aria-haspopup": "dialog",
|
|
416
|
+
"aria-expanded": open,
|
|
417
|
+
...(ariaInvalid != null ? {
|
|
446
418
|
"aria-invalid": ariaInvalid
|
|
447
|
-
} : {}),
|
|
419
|
+
} : {}),
|
|
420
|
+
...(ariaRequired != null ? {
|
|
448
421
|
"aria-required": ariaRequired
|
|
449
|
-
} : {}),
|
|
422
|
+
} : {}),
|
|
423
|
+
...(ariaDescribedBy ? {
|
|
450
424
|
"aria-describedby": ariaDescribedBy
|
|
451
|
-
} : {})
|
|
452
|
-
}, [open, ariaInvalid, ariaRequired, ariaDescribedBy]);
|
|
453
|
-
|
|
425
|
+
} : {})
|
|
426
|
+
}), [open, ariaInvalid, ariaRequired, ariaDescribedBy]);
|
|
427
|
+
const trigger = /*#__PURE__*/_jsx(Input, {
|
|
454
428
|
ref: triggerRef,
|
|
455
429
|
id: id,
|
|
456
430
|
name: name,
|
|
457
431
|
value: display,
|
|
458
|
-
placeholder: placeholder
|
|
432
|
+
placeholder: placeholder ?? L.placeholder,
|
|
459
433
|
readOnly: true,
|
|
460
434
|
disabled: disabled,
|
|
461
435
|
onClick: openModal,
|
|
462
|
-
onKeyDown:
|
|
436
|
+
onKeyDown: e => {
|
|
463
437
|
if (e.key === "Enter" || e.key === " ") {
|
|
464
438
|
e.preventDefault();
|
|
465
439
|
openModal();
|
|
@@ -493,7 +467,7 @@ function ReferentielField(_ref) {
|
|
|
493
467
|
}), /*#__PURE__*/_jsx(IconButton, {
|
|
494
468
|
type: "button",
|
|
495
469
|
size: "small",
|
|
496
|
-
onClick:
|
|
470
|
+
onClick: e => {
|
|
497
471
|
e.stopPropagation();
|
|
498
472
|
openModal();
|
|
499
473
|
},
|
|
@@ -511,7 +485,7 @@ function ReferentielField(_ref) {
|
|
|
511
485
|
});
|
|
512
486
|
|
|
513
487
|
/* ── Modal body ──────────────────────────────────────────── */
|
|
514
|
-
|
|
488
|
+
const criteriaRow = criteria.length > 0 && /*#__PURE__*/_jsxs(Box, {
|
|
515
489
|
component: "form",
|
|
516
490
|
onSubmit: onSubmitCriteria,
|
|
517
491
|
sx: {
|
|
@@ -520,22 +494,19 @@ function ReferentielField(_ref) {
|
|
|
520
494
|
gridTemplateColumns: {
|
|
521
495
|
xs: "1fr",
|
|
522
496
|
sm: criteria.length > 1 ? "1fr 1fr" : "1fr",
|
|
523
|
-
md:
|
|
497
|
+
md: `repeat(${Math.min(criteria.length, 3)}, 1fr) auto`
|
|
524
498
|
},
|
|
525
499
|
alignItems: "end",
|
|
526
500
|
marginBottom: "var(--s-4)"
|
|
527
501
|
},
|
|
528
|
-
children: [criteria.map(
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
})
|
|
537
|
-
}, c.name);
|
|
538
|
-
}), /*#__PURE__*/_jsx(Box, {
|
|
502
|
+
children: [criteria.map(c => /*#__PURE__*/_jsx(Field, {
|
|
503
|
+
label: c.label,
|
|
504
|
+
hint: c.hint,
|
|
505
|
+
children: renderCriterionField(c, draft[c.name], next => setDraft(d => ({
|
|
506
|
+
...d,
|
|
507
|
+
[c.name]: next
|
|
508
|
+
})))
|
|
509
|
+
}, c.name)), /*#__PURE__*/_jsx(Box, {
|
|
539
510
|
sx: {
|
|
540
511
|
display: "flex",
|
|
541
512
|
justifyContent: "flex-end"
|
|
@@ -548,25 +519,24 @@ function ReferentielField(_ref) {
|
|
|
548
519
|
})
|
|
549
520
|
})]
|
|
550
521
|
});
|
|
551
|
-
|
|
522
|
+
const liveResults = /*#__PURE__*/_jsx(Box, {
|
|
552
523
|
"aria-live": "polite",
|
|
553
524
|
"aria-atomic": "true",
|
|
554
525
|
className: "pui-sr-only",
|
|
555
526
|
children: hasSearched && !loading && !error ? L.resultsHeading(total) : ""
|
|
556
527
|
});
|
|
557
|
-
|
|
528
|
+
const decoratedRows = React.useMemo(() => {
|
|
558
529
|
if (!confirmOnSelection || !pendingSelection) return items;
|
|
559
|
-
|
|
560
|
-
return items.map(
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
});
|
|
530
|
+
const pendingId = getRowId(pendingSelection);
|
|
531
|
+
return items.map(r => getRowId(r) === pendingId ? {
|
|
532
|
+
...r,
|
|
533
|
+
__pending: true
|
|
534
|
+
} : r);
|
|
565
535
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
566
536
|
}, [items, pendingSelection, confirmOnSelection]);
|
|
567
537
|
|
|
568
538
|
/* ── Modal footer ────────────────────────────────────────── */
|
|
569
|
-
|
|
539
|
+
const footer = /*#__PURE__*/_jsxs(_Fragment, {
|
|
570
540
|
children: [/*#__PURE__*/_jsx(Button, {
|
|
571
541
|
variant: "ghost",
|
|
572
542
|
onClick: closeModal,
|
|
@@ -578,37 +548,82 @@ function ReferentielField(_ref) {
|
|
|
578
548
|
children: L.modalConfirm
|
|
579
549
|
})]
|
|
580
550
|
});
|
|
551
|
+
|
|
552
|
+
/* ── Corps commun aux deux conteneurs (S-1) ──────────────────────
|
|
553
|
+
*
|
|
554
|
+
* Extrait pour que `Modal` et `Drawer` reçoivent LE MÊME contenu : aucun
|
|
555
|
+
* comportement de recherche, de sélection ou de pagination ne peut diverger
|
|
556
|
+
* entre les deux conteneurs, puisqu'il n'en existe qu'une expression.
|
|
557
|
+
*
|
|
558
|
+
* Déclaré ICI et non plus haut : `criteriaRow`, `liveResults` et
|
|
559
|
+
* `decoratedRows` sont des `const` du même corps de fonction, évaluées
|
|
560
|
+
* PENDANT le rendu. Les lire avant leur déclaration est une vraie TDZ —
|
|
561
|
+
* contrairement à un effet, qui ne s'exécute qu'après. */
|
|
562
|
+
const pickerBody = /*#__PURE__*/_jsxs(_Fragment, {
|
|
563
|
+
children: [criteriaRow, liveResults, /*#__PURE__*/_jsx(DataGrid, {
|
|
564
|
+
rows: decoratedRows,
|
|
565
|
+
columns: columns,
|
|
566
|
+
loading: loading,
|
|
567
|
+
error: error,
|
|
568
|
+
onRowClick: handleRowClick,
|
|
569
|
+
pagination: pagination,
|
|
570
|
+
getRowId: getRowId,
|
|
571
|
+
emptyState: initialEmpty,
|
|
572
|
+
filteredEmptyState: filteredEmpty,
|
|
573
|
+
errorState: errorState,
|
|
574
|
+
filtered: hasSearched,
|
|
575
|
+
renderMobileCard: row => effectiveMobileCard(row),
|
|
576
|
+
mobileBreakpoint: mobileBreakpoint,
|
|
577
|
+
...(sort !== undefined ? {
|
|
578
|
+
sort
|
|
579
|
+
} : {}),
|
|
580
|
+
...(onSortChange !== undefined ? {
|
|
581
|
+
onSortChange
|
|
582
|
+
} : {}),
|
|
583
|
+
...(locale !== undefined ? {
|
|
584
|
+
locale
|
|
585
|
+
} : {}),
|
|
586
|
+
...(confirmOnSelection && pendingSelection ? {
|
|
587
|
+
rowFlashId: getRowId(pendingSelection)
|
|
588
|
+
} : {})
|
|
589
|
+
})]
|
|
590
|
+
});
|
|
581
591
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
582
|
-
children: [trigger,
|
|
592
|
+
children: [trigger, container === "drawer" ?
|
|
593
|
+
/*#__PURE__*/
|
|
594
|
+
/* S-1 — R-M.5 : un sélecteur à critères + grille paginée est à la fois
|
|
595
|
+
* « ≥ 3 champs » et « contenu défilable long ». Le corps est
|
|
596
|
+
* IDENTIQUE dans les deux branches : seule l'enveloppe change, donc
|
|
597
|
+
* aucun comportement de recherche, de sélection ou de pagination ne
|
|
598
|
+
* peut diverger entre les deux conteneurs.
|
|
599
|
+
*
|
|
600
|
+
* `footer` devient `actions` : c'est le nom du même emplacement sur
|
|
601
|
+
* `Drawer`. `size` n'a pas d'équivalent — un drawer est borné par sa
|
|
602
|
+
* largeur, pas par un gabarit de modale — et `modalProps` n'est
|
|
603
|
+
* délibérément PAS transmis ici : son type est celui de `Modal`, le
|
|
604
|
+
* faire fuiter sur un `Drawer` serait un mensonge de typage. */
|
|
605
|
+
_jsx(Drawer, {
|
|
606
|
+
open: open,
|
|
607
|
+
onClose: closeModal,
|
|
608
|
+
title: title,
|
|
609
|
+
...(subtitle !== undefined ? {
|
|
610
|
+
subtitle
|
|
611
|
+
} : {}),
|
|
612
|
+
...(drawerWidth !== undefined ? {
|
|
613
|
+
width: drawerWidth
|
|
614
|
+
} : {}),
|
|
615
|
+
actions: footer,
|
|
616
|
+
children: pickerBody
|
|
617
|
+
}) : /*#__PURE__*/_jsx(Modal, {
|
|
583
618
|
open: open,
|
|
584
619
|
onClose: closeModal,
|
|
585
620
|
title: title,
|
|
586
621
|
subtitle: subtitle,
|
|
587
622
|
size: size,
|
|
588
|
-
footer: footer
|
|
589
|
-
|
|
590
|
-
children:
|
|
591
|
-
|
|
592
|
-
columns: columns,
|
|
593
|
-
loading: loading,
|
|
594
|
-
error: error,
|
|
595
|
-
onRowClick: handleRowClick,
|
|
596
|
-
pagination: pagination,
|
|
597
|
-
getRowId: getRowId,
|
|
598
|
-
emptyState: initialEmpty,
|
|
599
|
-
filteredEmptyState: filteredEmpty,
|
|
600
|
-
errorState: errorState,
|
|
601
|
-
filtered: hasSearched
|
|
602
|
-
}, sort !== undefined ? {
|
|
603
|
-
sort: sort
|
|
604
|
-
} : {}), onSortChange !== undefined ? {
|
|
605
|
-
onSortChange: onSortChange
|
|
606
|
-
} : {}), locale !== undefined ? {
|
|
607
|
-
locale: locale
|
|
608
|
-
} : {}), confirmOnSelection && pendingSelection ? {
|
|
609
|
-
rowFlashId: getRowId(pendingSelection)
|
|
610
|
-
} : {}))]
|
|
611
|
-
}))]
|
|
623
|
+
footer: footer,
|
|
624
|
+
...modalProps,
|
|
625
|
+
children: pickerBody
|
|
626
|
+
})]
|
|
612
627
|
});
|
|
613
628
|
}
|
|
614
629
|
export default ReferentielField;
|