@portnet/ui 6.0.1 → 6.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +737 -0
- package/dist/esm/index.js +90 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
- package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/esm/v2/__tests__/apiError.test.js +50 -69
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
- package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
- package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
- package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +48 -70
- package/dist/esm/v2/components/Accordion.js.map +1 -1
- package/dist/esm/v2/components/ActionStrip.js +31 -43
- package/dist/esm/v2/components/ActionStrip.js.map +1 -1
- package/dist/esm/v2/components/Banner.js +25 -22
- package/dist/esm/v2/components/Banner.js.map +1 -1
- package/dist/esm/v2/components/Busy.js +14 -19
- package/dist/esm/v2/components/Busy.js.map +1 -1
- package/dist/esm/v2/components/Button.js +34 -45
- package/dist/esm/v2/components/Button.js.map +1 -1
- package/dist/esm/v2/components/CategoryTag.js +44 -27
- package/dist/esm/v2/components/CategoryTag.js.map +1 -1
- package/dist/esm/v2/components/Checkbox.js +32 -38
- package/dist/esm/v2/components/Checkbox.js.map +1 -1
- package/dist/esm/v2/components/Chip.js +23 -36
- package/dist/esm/v2/components/Chip.js.map +1 -1
- package/dist/esm/v2/components/Combobox.js +112 -136
- package/dist/esm/v2/components/Combobox.js.map +1 -1
- package/dist/esm/v2/components/CommandPalette.js +113 -198
- package/dist/esm/v2/components/CommandPalette.js.map +1 -1
- package/dist/esm/v2/components/ConfirmDialog.js +36 -45
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/esm/v2/components/DatePicker.js +78 -81
- package/dist/esm/v2/components/DatePicker.js.map +1 -1
- package/dist/esm/v2/components/DateRangePicker.js +63 -74
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
- package/dist/esm/v2/components/DateTimePicker.js +118 -90
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
- package/dist/esm/v2/components/Drawer.js +71 -65
- package/dist/esm/v2/components/Drawer.js.map +1 -1
- package/dist/esm/v2/components/Dropzone.js +130 -177
- package/dist/esm/v2/components/Dropzone.js.map +1 -1
- package/dist/esm/v2/components/EmptyState.js +9 -9
- package/dist/esm/v2/components/EmptyState.js.map +1 -1
- package/dist/esm/v2/components/FavoriteToggle.js +24 -33
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/esm/v2/components/Field.js +210 -52
- package/dist/esm/v2/components/Field.js.map +1 -1
- package/dist/esm/v2/components/FieldError.js +9 -13
- package/dist/esm/v2/components/FieldError.js.map +1 -1
- package/dist/esm/v2/components/FieldHelp.js +28 -49
- package/dist/esm/v2/components/FieldHelp.js.map +1 -1
- package/dist/esm/v2/components/FileCard.js +14 -19
- package/dist/esm/v2/components/FileCard.js.map +1 -1
- package/dist/esm/v2/components/FilterTab.js +22 -31
- package/dist/esm/v2/components/FilterTab.js.map +1 -1
- package/dist/esm/v2/components/ForbiddenPage.js +28 -8
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/esm/v2/components/FormGrid.js +48 -54
- package/dist/esm/v2/components/FormGrid.js.map +1 -1
- package/dist/esm/v2/components/FormikDisplay.js +98 -24
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
- package/dist/esm/v2/components/Input.js +75 -34
- package/dist/esm/v2/components/Input.js.map +1 -1
- package/dist/esm/v2/components/KPICard.js +42 -51
- package/dist/esm/v2/components/KPICard.js.map +1 -1
- package/dist/esm/v2/components/KPIStrip.js +9 -15
- package/dist/esm/v2/components/KPIStrip.js.map +1 -1
- package/dist/esm/v2/components/KV.js +16 -23
- package/dist/esm/v2/components/KV.js.map +1 -1
- package/dist/esm/v2/components/KVGrid.js +15 -23
- package/dist/esm/v2/components/KVGrid.js.map +1 -1
- package/dist/esm/v2/components/Layout.js +81 -117
- package/dist/esm/v2/components/Layout.js.map +1 -1
- package/dist/esm/v2/components/MobileRowCard.js +64 -75
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
- package/dist/esm/v2/components/Modal.js +44 -53
- package/dist/esm/v2/components/Modal.js.map +1 -1
- package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/esm/v2/components/NotFoundPage.js +28 -9
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
- package/dist/esm/v2/components/NumberInput.js +77 -107
- package/dist/esm/v2/components/NumberInput.js.map +1 -1
- package/dist/esm/v2/components/OverflowMenu.js +24 -42
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
- package/dist/esm/v2/components/PdfViewer.js +24 -33
- package/dist/esm/v2/components/PdfViewer.js.map +1 -1
- package/dist/esm/v2/components/ProgressBar.js +28 -36
- package/dist/esm/v2/components/ProgressBar.js.map +1 -1
- package/dist/esm/v2/components/Radio.js +49 -57
- package/dist/esm/v2/components/Radio.js.map +1 -1
- package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/esm/v2/components/SectionHeader.js +24 -31
- package/dist/esm/v2/components/SectionHeader.js.map +1 -1
- package/dist/esm/v2/components/Segmented.js +59 -84
- package/dist/esm/v2/components/Segmented.js.map +1 -1
- package/dist/esm/v2/components/Select.js +100 -138
- package/dist/esm/v2/components/Select.js.map +1 -1
- package/dist/esm/v2/components/ServerErrorPage.js +27 -10
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/esm/v2/components/Skeleton.js +81 -96
- package/dist/esm/v2/components/Skeleton.js.map +1 -1
- package/dist/esm/v2/components/SkipLink.js +6 -7
- package/dist/esm/v2/components/SkipLink.js.map +1 -1
- package/dist/esm/v2/components/Spinner.js +13 -22
- package/dist/esm/v2/components/Spinner.js.map +1 -1
- package/dist/esm/v2/components/Status.js +14 -25
- package/dist/esm/v2/components/Status.js.map +1 -1
- package/dist/esm/v2/components/Stepper.js +68 -71
- package/dist/esm/v2/components/Stepper.js.map +1 -1
- package/dist/esm/v2/components/Surface.js +25 -44
- package/dist/esm/v2/components/Surface.js.map +1 -1
- package/dist/esm/v2/components/Switch.js +21 -29
- package/dist/esm/v2/components/Switch.js.map +1 -1
- package/dist/esm/v2/components/TabPanel.js +84 -0
- package/dist/esm/v2/components/TabPanel.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +43 -19
- package/dist/esm/v2/components/Tabs.js.map +1 -1
- package/dist/esm/v2/components/TelInput.js +75 -108
- package/dist/esm/v2/components/TelInput.js.map +1 -1
- package/dist/esm/v2/components/Textarea.js +21 -30
- package/dist/esm/v2/components/Textarea.js.map +1 -1
- package/dist/esm/v2/components/TimePicker.js +59 -69
- package/dist/esm/v2/components/TimePicker.js.map +1 -1
- package/dist/esm/v2/components/Toast.js +109 -163
- package/dist/esm/v2/components/Toast.js.map +1 -1
- package/dist/esm/v2/components/Tooltip.js +18 -31
- package/dist/esm/v2/components/Tooltip.js.map +1 -1
- package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/esm/v2/components/_pickerShared.js +2 -2
- package/dist/esm/v2/components/_pickerShared.js.map +1 -1
- package/dist/esm/v2/components/index.js +64 -0
- package/dist/esm/v2/components/index.js.map +1 -1
- package/dist/esm/v2/hooks/index.js +62 -0
- package/dist/esm/v2/hooks/index.js.map +1 -1
- package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
- package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/esm/v2/hooks/useDensity.js +13 -17
- package/dist/esm/v2/hooks/useDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useSortedRows.js +3 -5
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/esm/v2/hooks/useTabLoading.js +6 -21
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/esm/v2/index.js +14 -4
- package/dist/esm/v2/index.js.map +1 -1
- package/dist/esm/v2/modalContext.js +2 -2
- package/dist/esm/v2/modalContext.js.map +1 -1
- package/dist/esm/v2/models/favorite.js.map +1 -1
- package/dist/esm/v2/models/personalization.js.map +1 -1
- package/dist/esm/v2/models/referentiel.js.map +1 -1
- package/dist/esm/v2/models/savedFilter.js.map +1 -1
- package/dist/esm/v2/patterns/ActionBar.js +115 -159
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/AppMain.js +108 -0
- package/dist/esm/v2/patterns/AppMain.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/ChartFigure.js +151 -0
- package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/esm/v2/patterns/DataGrid.js +221 -255
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/esm/v2/patterns/DetailSplit.js +108 -0
- package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
- package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/esm/v2/patterns/FormPageShell.js +43 -41
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/FormSection.js +30 -38
- package/dist/esm/v2/patterns/FormSection.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
- package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +94 -78
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
- package/dist/esm/v2/patterns/FormikInput.js +40 -50
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/FormikSelect.js +64 -84
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/esm/v2/patterns/PageContent.js +10 -14
- package/dist/esm/v2/patterns/PageContent.js.map +1 -1
- package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
- package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +327 -312
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/SortableHeader.js +22 -45
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/esm/v2/patterns/Tour.js +94 -120
- package/dist/esm/v2/patterns/Tour.js.map +1 -1
- package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +17 -33
- package/dist/esm/v2/patterns/_sort.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/esm/v2/patterns/filterCriteria.js +102 -0
- package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +235 -0
- package/dist/esm/v2/patterns/index.js.map +1 -1
- package/dist/esm/v2/patterns/rowActions.js +223 -0
- package/dist/esm/v2/patterns/rowActions.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +5 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/esm/v2/personalization/index.js +35 -0
- package/dist/esm/v2/personalization/index.js.map +1 -1
- package/dist/esm/v2/personalization/personalizationContext.js +9 -9
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/esm/v2/personalization/schema.js +8 -9
- package/dist/esm/v2/personalization/schema.js.map +1 -1
- package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/esm/v2/referentiel/types.js +2 -0
- package/dist/esm/v2/referentiel/types.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/esm/v2/theme/_brand.js +8 -24
- package/dist/esm/v2/theme/_brand.js.map +1 -1
- package/dist/esm/v2/theme/_brandSecondary.js +8 -24
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/esm/v2/theme/cssVariables.js +62 -69
- package/dist/esm/v2/theme/cssVariables.js.map +1 -1
- package/dist/esm/v2/theme/index.js +5 -5
- package/dist/esm/v2/theme/index.js.map +1 -1
- package/dist/esm/v2/tokens/breakpoints.js +14 -14
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
- package/dist/esm/v2/tokens/chart.js +261 -0
- package/dist/esm/v2/tokens/chart.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +22 -22
- package/dist/esm/v2/tokens/colors.js.map +1 -1
- package/dist/esm/v2/tokens/density.js +62 -7
- package/dist/esm/v2/tokens/density.js.map +1 -1
- package/dist/esm/v2/tokens/index.js +49 -34
- package/dist/esm/v2/tokens/index.js.map +1 -1
- package/dist/esm/v2/tokens/motion.js +12 -20
- package/dist/esm/v2/tokens/motion.js.map +1 -1
- package/dist/esm/v2/tokens/radius.js +1 -1
- package/dist/esm/v2/tokens/radius.js.map +1 -1
- package/dist/esm/v2/tokens/shadows.js +6 -6
- package/dist/esm/v2/tokens/shadows.js.map +1 -1
- package/dist/esm/v2/tokens/spacing.js +2 -2
- package/dist/esm/v2/tokens/spacing.js.map +1 -1
- package/dist/esm/v2/tokens/state.js +1 -1
- package/dist/esm/v2/tokens/state.js.map +1 -1
- package/dist/esm/v2/tokens/statusPalette.js +17 -21
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
- package/dist/esm/v2/tokens/tokens.json +6 -1
- package/dist/esm/v2/tokens/typography.js +13 -13
- package/dist/esm/v2/tokens/typography.js.map +1 -1
- package/dist/esm/v2/tokens/zIndex.js +1 -1
- package/dist/esm/v2/tokens/zIndex.js.map +1 -1
- package/dist/esm/v2/types/datagrid.js.map +1 -1
- package/dist/esm/v2/utils/apiError.js +16 -37
- package/dist/esm/v2/utils/apiError.js.map +1 -1
- package/dist/esm/v2/utils/contrast.js +31 -32
- package/dist/esm/v2/utils/contrast.js.map +1 -1
- package/dist/esm/v2/utils/cx.js +5 -25
- package/dist/esm/v2/utils/cx.js.map +1 -1
- package/dist/esm/v2/utils/fileDownload.js +23 -26
- package/dist/esm/v2/utils/fileDownload.js.map +1 -1
- package/dist/esm/v2/utils/fileValidation.js +209 -0
- package/dist/esm/v2/utils/fileValidation.js.map +1 -0
- package/dist/esm/v2/utils/fmtDate.js +111 -0
- package/dist/esm/v2/utils/fmtDate.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +8 -10
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
- package/dist/esm/v2/utils/formikErrors.js +78 -0
- package/dist/esm/v2/utils/formikErrors.js.map +1 -0
- package/dist/esm/v2/utils/index.js +35 -2
- package/dist/esm/v2/utils/index.js.map +1 -1
- package/dist/esm/v2/utils/mergeLabels.js +7 -12
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
- package/dist/esm/v2/utils/networkStatus.js +12 -12
- package/dist/esm/v2/utils/networkStatus.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -47
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/AppMain.test.js +133 -0
- package/dist/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/v2/__tests__/ChartFigure.test.js +183 -0
- package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/v2/__tests__/FieldError.test.js +98 -69
- package/dist/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/v2/__tests__/FieldNaming.test.js +161 -0
- package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +148 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +45 -48
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
- package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/v2/__tests__/apiError.test.js +50 -69
- package/dist/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/v2/__tests__/banned-patterns.test.js +42 -123
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/v2/__tests__/chart-palette.test.js +205 -0
- package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/v2/__tests__/fileValidation.test.js +136 -0
- package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/v2/__tests__/filterCriteria.test.js +324 -0
- package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/fmtDate.test.js +69 -0
- package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +38 -46
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/__tests__/locale-fallback.test.js +47 -52
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
- package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/rowActions.test.js +186 -0
- package/dist/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/v2/components/Accordion.js +60 -82
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.js +40 -52
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.js +42 -41
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.js +22 -27
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.js +39 -50
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js +49 -32
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.js +39 -45
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.js +29 -42
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.js +122 -144
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.js +138 -225
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +46 -56
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.js +81 -86
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.js +77 -87
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +121 -95
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +93 -88
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.js +150 -196
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.js +18 -20
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +28 -39
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +121 -5
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +221 -62
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.js +18 -21
- package/dist/v2/components/FieldError.js.map +1 -1
- package/dist/v2/components/FieldHelp.js +40 -60
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.js +27 -31
- package/dist/v2/components/FileCard.js.map +1 -1
- package/dist/v2/components/FilterTab.js +30 -38
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/ForbiddenPage.d.ts +25 -1
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
- package/dist/v2/components/ForbiddenPage.js +37 -17
- package/dist/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/v2/components/FormGrid.js +53 -59
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +50 -1
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js +108 -33
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +40 -0
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js +81 -41
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.js +57 -67
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.js +16 -22
- package/dist/v2/components/KPIStrip.js.map +1 -1
- package/dist/v2/components/KV.js +25 -31
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.js +19 -26
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.js +91 -120
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.js +79 -91
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.js +61 -69
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js +38 -21
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NotFoundPage.d.ts +17 -1
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
- package/dist/v2/components/NotFoundPage.js +37 -18
- package/dist/v2/components/NotFoundPage.js.map +1 -1
- package/dist/v2/components/NumberInput.js +88 -118
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.js +38 -56
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.js +34 -45
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.js +42 -49
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.js +59 -67
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.js +90 -135
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/v2/components/SectionHeader.js +34 -41
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.js +69 -93
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +26 -2
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +120 -155
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +27 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js +37 -20
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.js +86 -100
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.js +9 -12
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Spinner.js +16 -25
- package/dist/v2/components/Spinner.js.map +1 -1
- package/dist/v2/components/Status.js +18 -29
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.js +80 -82
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.js +34 -49
- package/dist/v2/components/Surface.js.map +1 -1
- package/dist/v2/components/Switch.js +29 -37
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/TabPanel.d.ts +17 -0
- package/dist/v2/components/TabPanel.d.ts.map +1 -0
- package/dist/v2/components/TabPanel.js +90 -0
- package/dist/v2/components/TabPanel.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +25 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js +53 -29
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.js +80 -115
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.js +26 -35
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.js +62 -74
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.js +119 -174
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.js +23 -38
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/_ErrorPageBody.js +15 -16
- package/dist/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/v2/components/_pickerShared.js +5 -5
- package/dist/v2/components/_pickerShared.js.map +1 -1
- package/dist/v2/components/index.d.ts +67 -1
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +153 -136
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/hooks/index.d.ts +65 -0
- package/dist/v2/hooks/index.d.ts.map +1 -1
- package/dist/v2/hooks/index.js +63 -24
- package/dist/v2/hooks/index.js.map +1 -1
- package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
- package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
- package/dist/v2/hooks/useAppliedFilters.js +117 -0
- package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.js +87 -0
- package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +6 -20
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/v2/hooks/useDensity.d.ts.map +1 -1
- package/dist/v2/hooks/useDensity.js +14 -18
- package/dist/v2/hooks/useDensity.js.map +1 -1
- package/dist/v2/hooks/useFocusFirstError.js +26 -34
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +20 -24
- package/dist/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.js +39 -54
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +5 -13
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/v2/hooks/useSortedRows.js +4 -6
- package/dist/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/v2/hooks/useTabLoading.js +7 -22
- package/dist/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js +143 -145
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/modalContext.js +2 -2
- package/dist/v2/modalContext.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +8 -9
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/index.js +4 -4
- package/dist/v2/models/index.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +44 -48
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +32 -50
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -17
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.js +152 -187
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/AppMain.d.ts +109 -0
- package/dist/v2/patterns/AppMain.d.ts.map +1 -0
- package/dist/v2/patterns/AppMain.js +115 -0
- package/dist/v2/patterns/AppMain.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +40 -42
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/ChartFigure.d.ts +124 -0
- package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
- package/dist/v2/patterns/ChartFigure.js +159 -0
- package/dist/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +60 -94
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/DataGrid.js +262 -297
- package/dist/v2/patterns/DataGrid.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +103 -106
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js +179 -217
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/DetailSplit.d.ts +87 -0
- package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
- package/dist/v2/patterns/DetailSplit.js +116 -0
- package/dist/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +32 -80
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +36 -44
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
- package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
- package/dist/v2/patterns/FilterTabBar.js +120 -0
- package/dist/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +20 -23
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.js +53 -50
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +8 -3
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +44 -51
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +138 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +55 -69
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +59 -106
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
- package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.js +25 -26
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
- package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorSummary.js +97 -0
- package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +14 -1
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js +99 -83
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +11 -1
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +45 -55
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
- package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikRadioGroup.js +137 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js +54 -64
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +9 -1
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +70 -89
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -48
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.js +17 -20
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
- package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
- package/dist/v2/patterns/PreviewDrawer.js +159 -0
- package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +86 -2
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +347 -327
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.js +50 -77
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js +122 -143
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.js +35 -57
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.js +121 -142
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +131 -147
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +80 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_sort.js +17 -33
- package/dist/v2/patterns/_sort.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js +124 -163
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js +80 -99
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/filterCriteria.d.ts +78 -0
- package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
- package/dist/v2/patterns/filterCriteria.js +110 -0
- package/dist/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +247 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +182 -70
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/patterns/rowActions.d.ts +150 -0
- package/dist/v2/patterns/rowActions.d.ts.map +1 -0
- package/dist/v2/patterns/rowActions.js +232 -0
- package/dist/v2/patterns/rowActions.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js +57 -53
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/index.js +5 -5
- package/dist/v2/personalization/adapters/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/favorites.js +39 -62
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +6 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +23 -10
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js +81 -182
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +34 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +41 -21
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/personalizationContext.js +10 -12
- package/dist/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/v2/personalization/schema.js +8 -9
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js +31 -45
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/index.js +11 -13
- package/dist/v2/referentiel/index.js.map +1 -1
- package/dist/v2/referentiel/types.d.ts +105 -0
- package/dist/v2/referentiel/types.d.ts.map +1 -0
- package/dist/v2/referentiel/types.js +6 -0
- package/dist/v2/referentiel/types.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +13 -16
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js +63 -120
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js +40 -95
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/_brand.js +12 -26
- package/dist/v2/theme/_brand.js.map +1 -1
- package/dist/v2/theme/_brandSecondary.js +12 -26
- package/dist/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +41 -49
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/theme/cssVariables.d.ts +3 -3
- package/dist/v2/theme/cssVariables.d.ts.map +1 -1
- package/dist/v2/theme/cssVariables.js +65 -70
- package/dist/v2/theme/cssVariables.js.map +1 -1
- package/dist/v2/theme/index.js +10 -10
- package/dist/v2/theme/index.js.map +1 -1
- package/dist/v2/tokens/breakpoints.js +16 -16
- package/dist/v2/tokens/breakpoints.js.map +1 -1
- package/dist/v2/tokens/chart.d.ts +103 -0
- package/dist/v2/tokens/chart.d.ts.map +1 -0
- package/dist/v2/tokens/chart.js +270 -0
- package/dist/v2/tokens/chart.js.map +1 -0
- package/dist/v2/tokens/colors.js +24 -24
- package/dist/v2/tokens/colors.js.map +1 -1
- package/dist/v2/tokens/density.d.ts +104 -0
- package/dist/v2/tokens/density.d.ts.map +1 -1
- package/dist/v2/tokens/density.js +67 -12
- package/dist/v2/tokens/density.js.map +1 -1
- package/dist/v2/tokens/index.d.ts +50 -1
- package/dist/v2/tokens/index.d.ts.map +1 -1
- package/dist/v2/tokens/index.js +116 -68
- package/dist/v2/tokens/index.js.map +1 -1
- package/dist/v2/tokens/motion.js +16 -22
- package/dist/v2/tokens/motion.js.map +1 -1
- package/dist/v2/tokens/radius.js +3 -3
- package/dist/v2/tokens/radius.js.map +1 -1
- package/dist/v2/tokens/shadows.js +8 -8
- package/dist/v2/tokens/shadows.js.map +1 -1
- package/dist/v2/tokens/spacing.js +4 -4
- package/dist/v2/tokens/spacing.js.map +1 -1
- package/dist/v2/tokens/state.js +3 -3
- package/dist/v2/tokens/state.js.map +1 -1
- package/dist/v2/tokens/statusPalette.js +21 -23
- package/dist/v2/tokens/statusPalette.js.map +1 -1
- package/dist/v2/tokens/tokens.json +6 -1
- package/dist/v2/tokens/typography.js +15 -15
- package/dist/v2/tokens/typography.js.map +1 -1
- package/dist/v2/tokens/zIndex.js +3 -3
- package/dist/v2/tokens/zIndex.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +9 -1
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/types/index.js +2 -2
- package/dist/v2/types/index.js.map +1 -1
- package/dist/v2/utils/apiError.js +16 -37
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/contrast.js +31 -32
- package/dist/v2/utils/contrast.js.map +1 -1
- package/dist/v2/utils/cx.js +7 -27
- package/dist/v2/utils/cx.js.map +1 -1
- package/dist/v2/utils/fileDownload.js +25 -28
- package/dist/v2/utils/fileDownload.js.map +1 -1
- package/dist/v2/utils/fileValidation.d.ts +116 -0
- package/dist/v2/utils/fileValidation.d.ts.map +1 -0
- package/dist/v2/utils/fileValidation.js +220 -0
- package/dist/v2/utils/fileValidation.js.map +1 -0
- package/dist/v2/utils/fmtDate.d.ts +103 -0
- package/dist/v2/utils/fmtDate.d.ts.map +1 -0
- package/dist/v2/utils/fmtDate.js +119 -0
- package/dist/v2/utils/fmtDate.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +3 -3
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
- package/dist/v2/utils/fmtMoney.js +9 -11
- package/dist/v2/utils/fmtMoney.js.map +1 -1
- package/dist/v2/utils/formikErrors.d.ts +67 -0
- package/dist/v2/utils/formikErrors.d.ts.map +1 -0
- package/dist/v2/utils/formikErrors.js +85 -0
- package/dist/v2/utils/formikErrors.js.map +1 -0
- package/dist/v2/utils/index.d.ts +5 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +67 -18
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.js +9 -14
- package/dist/v2/utils/mergeLabels.js.map +1 -1
- package/dist/v2/utils/networkStatus.js +14 -14
- package/dist/v2/utils/networkStatus.js.map +1 -1
- package/package.json +26 -9
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
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); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports
|
|
6
|
+
exports.default = void 0;
|
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
|
9
8
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
10
9
|
var _Popover = _interopRequireDefault(require("@mui/material/Popover"));
|
|
@@ -19,20 +18,9 @@ var _SaveFilterDialog = _interopRequireDefault(require("./SaveFilterDialog"));
|
|
|
19
18
|
var _savedFilters = require("../personalization/capabilities/savedFilters");
|
|
20
19
|
var _mergeLabels = require("../utils/mergeLabels");
|
|
21
20
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
22
|
-
function _interopRequireDefault(
|
|
23
|
-
function
|
|
24
|
-
|
|
25
|
-
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; }
|
|
26
|
-
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; }
|
|
27
|
-
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; }
|
|
28
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
29
|
-
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); }
|
|
30
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
31
|
-
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."); }
|
|
32
|
-
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); }
|
|
33
|
-
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; }
|
|
34
|
-
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; } }
|
|
35
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
|
|
21
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
22
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
23
|
+
/**
|
|
36
24
|
* SavedFiltersMenu - Portnet UI v2 (pattern)
|
|
37
25
|
*
|
|
38
26
|
* Turn-key dropdown for the Saved Filters framework. Connected to the
|
|
@@ -62,7 +50,8 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
|
|
|
62
50
|
* @mui/icons-material@9 republish used by the consuming apps; the control's
|
|
63
51
|
* aria-label and --danger hover colour keep the delete semantics intact.
|
|
64
52
|
*/
|
|
65
|
-
|
|
53
|
+
|
|
54
|
+
const DEFAULT_LABELS = Object.freeze({
|
|
66
55
|
button: "Filtres enregistrés",
|
|
67
56
|
title: "Filtres enregistrés",
|
|
68
57
|
noSavedFilters: "Aucun filtre enregistré",
|
|
@@ -70,9 +59,9 @@ var DEFAULT_LABELS = Object.freeze({
|
|
|
70
59
|
apply: "Appliquer le filtre",
|
|
71
60
|
setDefault: "Définir par défaut",
|
|
72
61
|
unsetDefault: "Retirer le filtre par défaut",
|
|
73
|
-
|
|
62
|
+
delete: "Supprimer le filtre",
|
|
74
63
|
defaultBadge: "Par défaut",
|
|
75
|
-
countSuffix: function
|
|
64
|
+
countSuffix: function (n) {
|
|
76
65
|
return n + " enregistré" + (n > 1 ? "s" : "");
|
|
77
66
|
},
|
|
78
67
|
// Forwarded to SaveFilterDialog:
|
|
@@ -90,19 +79,19 @@ var DEFAULT_LABELS = Object.freeze({
|
|
|
90
79
|
|
|
91
80
|
/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */
|
|
92
81
|
|
|
93
|
-
|
|
82
|
+
const POPOVER_PAPER_SX = Object.freeze({
|
|
94
83
|
borderRadius: "var(--r-lg)",
|
|
95
84
|
boxShadow: "var(--shadow-md)",
|
|
96
85
|
border: "1px solid var(--border)"
|
|
97
86
|
});
|
|
98
|
-
|
|
87
|
+
const POPOVER_BODY_SX = Object.freeze({
|
|
99
88
|
padding: "var(--s-3) var(--s-4)",
|
|
100
89
|
minWidth: 280,
|
|
101
90
|
display: "flex",
|
|
102
91
|
flexDirection: "column",
|
|
103
92
|
gap: "var(--s-1)"
|
|
104
93
|
});
|
|
105
|
-
|
|
94
|
+
const POPOVER_TITLE_SX = Object.freeze({
|
|
106
95
|
fontSize: "var(--text-xs)",
|
|
107
96
|
fontWeight: "var(--fw-semibold)",
|
|
108
97
|
color: "var(--fg-muted)",
|
|
@@ -112,19 +101,19 @@ var POPOVER_TITLE_SX = Object.freeze({
|
|
|
112
101
|
borderBottom: "1px solid var(--border)",
|
|
113
102
|
marginBottom: "var(--s-2)"
|
|
114
103
|
});
|
|
115
|
-
|
|
104
|
+
const LIST_SX = Object.freeze({
|
|
116
105
|
display: "flex",
|
|
117
106
|
flexDirection: "column",
|
|
118
107
|
gap: "var(--s-1)",
|
|
119
108
|
maxHeight: 320,
|
|
120
109
|
overflowY: "auto"
|
|
121
110
|
});
|
|
122
|
-
|
|
111
|
+
const ROW_SX = Object.freeze({
|
|
123
112
|
display: "flex",
|
|
124
113
|
alignItems: "center",
|
|
125
114
|
gap: "var(--s-1)"
|
|
126
115
|
});
|
|
127
|
-
|
|
116
|
+
const APPLY_BTN_SX = Object.freeze({
|
|
128
117
|
display: "flex",
|
|
129
118
|
alignItems: "center",
|
|
130
119
|
gap: "var(--s-2)",
|
|
@@ -147,14 +136,14 @@ var APPLY_BTN_SX = Object.freeze({
|
|
|
147
136
|
boxShadow: "var(--shadow-focus)"
|
|
148
137
|
}
|
|
149
138
|
});
|
|
150
|
-
|
|
139
|
+
const APPLY_NAME_SX = Object.freeze({
|
|
151
140
|
flex: 1,
|
|
152
141
|
minWidth: 0,
|
|
153
142
|
overflow: "hidden",
|
|
154
143
|
textOverflow: "ellipsis",
|
|
155
144
|
whiteSpace: "nowrap"
|
|
156
145
|
});
|
|
157
|
-
|
|
146
|
+
const DEFAULT_BADGE_SX = Object.freeze({
|
|
158
147
|
flexShrink: 0,
|
|
159
148
|
background: "var(--accent)",
|
|
160
149
|
color: "var(--accent-fg)",
|
|
@@ -164,7 +153,7 @@ var DEFAULT_BADGE_SX = Object.freeze({
|
|
|
164
153
|
fontWeight: "var(--fw-semibold)",
|
|
165
154
|
lineHeight: 1.4
|
|
166
155
|
});
|
|
167
|
-
|
|
156
|
+
const BADGE_SX = Object.freeze({
|
|
168
157
|
marginInlineStart: "var(--s-1)",
|
|
169
158
|
background: "var(--accent)",
|
|
170
159
|
color: "var(--accent-fg)",
|
|
@@ -174,25 +163,25 @@ var BADGE_SX = Object.freeze({
|
|
|
174
163
|
fontWeight: "var(--fw-semibold)",
|
|
175
164
|
lineHeight: 1.4
|
|
176
165
|
});
|
|
177
|
-
|
|
166
|
+
const EMPTY_SX = Object.freeze({
|
|
178
167
|
fontSize: "var(--text-sm)",
|
|
179
168
|
color: "var(--fg-subtle)",
|
|
180
169
|
padding: "var(--s-3) var(--s-2)",
|
|
181
170
|
textAlign: "center"
|
|
182
171
|
});
|
|
183
|
-
|
|
172
|
+
const POPOVER_FOOTER_SX = Object.freeze({
|
|
184
173
|
display: "flex",
|
|
185
174
|
paddingTop: "var(--s-2)",
|
|
186
175
|
marginTop: "var(--s-2)",
|
|
187
176
|
borderTop: "1px solid var(--border)"
|
|
188
177
|
});
|
|
189
|
-
|
|
178
|
+
const ACTION_BTN_SX = Object.freeze({
|
|
190
179
|
color: "var(--fg-subtle)",
|
|
191
180
|
"&.Mui-focusVisible": {
|
|
192
181
|
boxShadow: "var(--shadow-focus)"
|
|
193
182
|
}
|
|
194
183
|
});
|
|
195
|
-
|
|
184
|
+
const DELETE_BTN_SX = Object.freeze({
|
|
196
185
|
color: "var(--fg-subtle)",
|
|
197
186
|
"&:hover": {
|
|
198
187
|
color: "var(--danger)"
|
|
@@ -202,66 +191,58 @@ var DELETE_BTN_SX = Object.freeze({
|
|
|
202
191
|
}
|
|
203
192
|
});
|
|
204
193
|
function SavedFiltersMenu(props) {
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
canSave =
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
setAnchor = _React$useState2[1];
|
|
230
|
-
var _React$useState3 = React.useState(false),
|
|
231
|
-
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
232
|
-
dialogOpen = _React$useState4[0],
|
|
233
|
-
setDialogOpen = _React$useState4[1];
|
|
234
|
-
var open = Boolean(anchor);
|
|
235
|
-
var count = filters.length;
|
|
236
|
-
var canSaveCurrent = canSave !== false && currentCriteria != null;
|
|
237
|
-
var handleOpen = function handleOpen(e) {
|
|
194
|
+
const {
|
|
195
|
+
resourceKey,
|
|
196
|
+
currentCriteria,
|
|
197
|
+
onApply,
|
|
198
|
+
canSave = true,
|
|
199
|
+
allowDefault = true,
|
|
200
|
+
allowShared = false,
|
|
201
|
+
align = "right",
|
|
202
|
+
labels
|
|
203
|
+
} = props;
|
|
204
|
+
const L = React.useMemo(() => (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels), [labels]);
|
|
205
|
+
const {
|
|
206
|
+
filters,
|
|
207
|
+
save,
|
|
208
|
+
remove,
|
|
209
|
+
setDefault,
|
|
210
|
+
clearDefault
|
|
211
|
+
} = (0, _savedFilters.useSavedFilters)(resourceKey);
|
|
212
|
+
const [anchor, setAnchor] = React.useState(null);
|
|
213
|
+
const [dialogOpen, setDialogOpen] = React.useState(false);
|
|
214
|
+
const open = Boolean(anchor);
|
|
215
|
+
const count = filters.length;
|
|
216
|
+
const canSaveCurrent = canSave !== false && currentCriteria != null;
|
|
217
|
+
const handleOpen = function handleOpen(e) {
|
|
238
218
|
setAnchor(e.currentTarget);
|
|
239
219
|
};
|
|
240
|
-
|
|
220
|
+
const handleClose = function handleClose() {
|
|
241
221
|
setAnchor(null);
|
|
242
222
|
};
|
|
243
|
-
|
|
223
|
+
const applyAndClose = function applyAndClose(filter) {
|
|
244
224
|
if (typeof onApply === "function") onApply(filter.criteria, filter);
|
|
245
225
|
setAnchor(null);
|
|
246
226
|
};
|
|
247
227
|
|
|
248
228
|
// Opening the dialog closes the popover so the two overlays don't stack.
|
|
249
|
-
|
|
229
|
+
const openSaveDialog = function openSaveDialog() {
|
|
250
230
|
setAnchor(null);
|
|
251
231
|
setDialogOpen(true);
|
|
252
232
|
};
|
|
253
|
-
|
|
254
|
-
save(
|
|
233
|
+
const handleSubmit = function handleSubmit(input) {
|
|
234
|
+
save({
|
|
255
235
|
name: input.name,
|
|
256
236
|
isDefault: input.isDefault,
|
|
257
|
-
shared: input.shared
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
237
|
+
shared: input.shared,
|
|
238
|
+
...(currentCriteria !== undefined ? {
|
|
239
|
+
criteria: currentCriteria
|
|
240
|
+
} : {})
|
|
241
|
+
});
|
|
261
242
|
setDialogOpen(false);
|
|
262
243
|
};
|
|
263
|
-
|
|
264
|
-
|
|
244
|
+
const triggerAria = count > 0 ? L.button + ", " + L.countSuffix(count) : L.button;
|
|
245
|
+
const dialogLabels = React.useMemo(function buildDialogLabels() {
|
|
265
246
|
return {
|
|
266
247
|
title: L.dialogTitle,
|
|
267
248
|
nameLabel: L.nameLabel,
|
|
@@ -275,7 +256,7 @@ function SavedFiltersMenu(props) {
|
|
|
275
256
|
save: L.save
|
|
276
257
|
};
|
|
277
258
|
}, [L]);
|
|
278
|
-
|
|
259
|
+
const popoverSlotProps = React.useMemo(function buildSlotProps() {
|
|
279
260
|
return {
|
|
280
261
|
paper: {
|
|
281
262
|
sx: POPOVER_PAPER_SX,
|
|
@@ -284,7 +265,7 @@ function SavedFiltersMenu(props) {
|
|
|
284
265
|
}
|
|
285
266
|
};
|
|
286
267
|
}, [L.title]);
|
|
287
|
-
|
|
268
|
+
const existingNames = React.useMemo(function buildExistingNames() {
|
|
288
269
|
return filters.map(function (f) {
|
|
289
270
|
return f.name;
|
|
290
271
|
}).filter(function isName(n) {
|
|
@@ -292,24 +273,24 @@ function SavedFiltersMenu(props) {
|
|
|
292
273
|
});
|
|
293
274
|
}, [filters]);
|
|
294
275
|
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
|
|
295
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button
|
|
276
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Button.default, {
|
|
296
277
|
variant: "ghost",
|
|
297
278
|
size: "sm",
|
|
298
279
|
type: "button",
|
|
299
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BookmarkBorder
|
|
280
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_BookmarkBorder.default, {
|
|
300
281
|
fontSize: "small"
|
|
301
282
|
}),
|
|
302
283
|
onClick: handleOpen,
|
|
303
284
|
"aria-label": triggerAria,
|
|
304
285
|
"aria-haspopup": "dialog",
|
|
305
286
|
"aria-expanded": open,
|
|
306
|
-
children: [L.button, count > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
287
|
+
children: [L.button, count > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
307
288
|
component: "span",
|
|
308
289
|
sx: BADGE_SX,
|
|
309
290
|
"aria-hidden": "true",
|
|
310
291
|
children: count
|
|
311
292
|
})]
|
|
312
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popover
|
|
293
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Popover.default, {
|
|
313
294
|
open: open,
|
|
314
295
|
anchorEl: anchor,
|
|
315
296
|
onClose: handleClose,
|
|
@@ -322,72 +303,73 @@ function SavedFiltersMenu(props) {
|
|
|
322
303
|
horizontal: align === "right" ? "right" : "left"
|
|
323
304
|
},
|
|
324
305
|
slotProps: popoverSlotProps,
|
|
325
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box
|
|
306
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
326
307
|
sx: POPOVER_BODY_SX,
|
|
327
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
308
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
328
309
|
sx: POPOVER_TITLE_SX,
|
|
329
310
|
children: L.title
|
|
330
|
-
}), count === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
311
|
+
}), count === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
331
312
|
sx: EMPTY_SX,
|
|
332
313
|
children: L.noSavedFilters
|
|
333
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
314
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
334
315
|
role: "list",
|
|
335
316
|
sx: LIST_SX,
|
|
336
317
|
children: filters.map(function (f) {
|
|
337
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box
|
|
318
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
338
319
|
role: "listitem",
|
|
339
320
|
sx: ROW_SX,
|
|
340
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box
|
|
321
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
341
322
|
component: "button",
|
|
342
323
|
type: "button",
|
|
343
|
-
onClick: function
|
|
324
|
+
onClick: function () {
|
|
344
325
|
applyAndClose(f);
|
|
345
326
|
},
|
|
346
327
|
"aria-label": L.apply + " : " + f.name + (f.isDefault ? " (" + L.defaultBadge + ")" : ""),
|
|
347
328
|
sx: APPLY_BTN_SX,
|
|
348
|
-
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
329
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
349
330
|
component: "span",
|
|
350
331
|
sx: APPLY_NAME_SX,
|
|
351
332
|
children: f.name
|
|
352
|
-
}), f.isDefault && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
333
|
+
}), f.isDefault && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
353
334
|
component: "span",
|
|
354
335
|
sx: DEFAULT_BADGE_SX,
|
|
355
336
|
children: L.defaultBadge
|
|
356
337
|
})]
|
|
357
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton
|
|
338
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
358
339
|
size: "small",
|
|
359
340
|
"aria-label": (f.isDefault ? L.unsetDefault : L.setDefault) + " : " + f.name,
|
|
360
|
-
onClick: function
|
|
341
|
+
onClick: function () {
|
|
361
342
|
if (f.isDefault) clearDefault();else setDefault(f.id);
|
|
362
343
|
},
|
|
363
|
-
sx: f.isDefault ?
|
|
344
|
+
sx: f.isDefault ? {
|
|
345
|
+
...ACTION_BTN_SX,
|
|
364
346
|
color: "var(--accent)"
|
|
365
|
-
}
|
|
366
|
-
children: f.isDefault ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PushPin
|
|
347
|
+
} : ACTION_BTN_SX,
|
|
348
|
+
children: f.isDefault ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PushPin.default, {
|
|
367
349
|
fontSize: "small"
|
|
368
|
-
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_PushPinOutlined
|
|
350
|
+
}) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_PushPinOutlined.default, {
|
|
369
351
|
fontSize: "small"
|
|
370
352
|
})
|
|
371
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton
|
|
353
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton.default, {
|
|
372
354
|
size: "small",
|
|
373
|
-
"aria-label": L
|
|
374
|
-
onClick: function
|
|
355
|
+
"aria-label": L.delete + " : " + f.name,
|
|
356
|
+
onClick: function () {
|
|
375
357
|
remove(f.id);
|
|
376
358
|
},
|
|
377
359
|
sx: DELETE_BTN_SX,
|
|
378
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close
|
|
360
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Close.default, {
|
|
379
361
|
fontSize: "small"
|
|
380
362
|
})
|
|
381
363
|
})]
|
|
382
364
|
}, f.id);
|
|
383
365
|
})
|
|
384
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
366
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
385
367
|
sx: POPOVER_FOOTER_SX,
|
|
386
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button
|
|
368
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Button.default, {
|
|
387
369
|
variant: "ghost",
|
|
388
370
|
size: "sm",
|
|
389
371
|
type: "button",
|
|
390
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Add
|
|
372
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Add.default, {
|
|
391
373
|
fontSize: "small"
|
|
392
374
|
}),
|
|
393
375
|
onClick: openSaveDialog,
|
|
@@ -396,9 +378,9 @@ function SavedFiltersMenu(props) {
|
|
|
396
378
|
})
|
|
397
379
|
})]
|
|
398
380
|
})
|
|
399
|
-
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SaveFilterDialog
|
|
381
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_SaveFilterDialog.default, {
|
|
400
382
|
open: dialogOpen,
|
|
401
|
-
onClose: function
|
|
383
|
+
onClose: function () {
|
|
402
384
|
setDialogOpen(false);
|
|
403
385
|
},
|
|
404
386
|
onSubmit: handleSubmit,
|
|
@@ -409,5 +391,5 @@ function SavedFiltersMenu(props) {
|
|
|
409
391
|
})]
|
|
410
392
|
});
|
|
411
393
|
}
|
|
412
|
-
var _default = exports
|
|
394
|
+
var _default = exports.default = SavedFiltersMenu;
|
|
413
395
|
//# sourceMappingURL=SavedFiltersMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SavedFiltersMenu.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Popover","_IconButton","_BookmarkBorder","_Add","_PushPin","_PushPinOutlined","_Close","_Button","_SaveFilterDialog","_savedFilters","_mergeLabels","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","DEFAULT_LABELS","freeze","button","title","noSavedFilters","saveCurrentFilter","setDefault","unsetDefault","defaultBadge","countSuffix","dialogTitle","nameLabel","namePlaceholder","nameRequired","duplicateHint","setAsDefault","shareLabel","shareHint","cancel","save","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","display","flexDirection","gap","POPOVER_TITLE_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","marginBottom","LIST_SX","maxHeight","overflowY","ROW_SX","alignItems","APPLY_BTN_SX","flex","textAlign","background","cursor","font","outline","APPLY_NAME_SX","overflow","textOverflow","whiteSpace","DEFAULT_BADGE_SX","flexShrink","lineHeight","BADGE_SX","marginInlineStart","EMPTY_SX","POPOVER_FOOTER_SX","paddingTop","marginTop","borderTop","ACTION_BTN_SX","DELETE_BTN_SX","SavedFiltersMenu","props","resourceKey","currentCriteria","onApply","_props$canSave","canSave","_props$allowDefault","allowDefault","_props$allowShared","allowShared","_props$align","align","labels","L","useMemo","mergeLabels","_useSavedFilters","useSavedFilters","filters","remove","clearDefault","_React$useState","useState","_React$useState2","anchor","setAnchor","_React$useState3","_React$useState4","dialogOpen","setDialogOpen","open","Boolean","count","canSaveCurrent","handleOpen","e","currentTarget","handleClose","applyAndClose","criteria","openSaveDialog","handleSubmit","isDefault","shared","triggerAria","dialogLabels","buildDialogLabels","popoverSlotProps","buildSlotProps","paper","sx","role","existingNames","buildExistingNames","map","f","isName","jsxs","Fragment","children","variant","size","type","icon","jsx","onClick","component","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","id","disabled","onSubmit","_default","exports"],"sources":["../../../src/lib/v2/patterns/SavedFiltersMenu.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport BookmarkBorderIcon from \"@mui/icons-material/BookmarkBorder\";\r\nimport AddIcon from \"@mui/icons-material/Add\";\r\nimport PushPinIcon from \"@mui/icons-material/PushPin\";\r\nimport PushPinOutlinedIcon from \"@mui/icons-material/PushPinOutlined\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\nimport Button from \"../components/Button\";\r\nimport SaveFilterDialog from \"./SaveFilterDialog\";\r\nimport type {\r\n SaveFilterDialogLabels,\r\n SaveFilterDialogSubmit,\r\n} from \"./SaveFilterDialog\";\r\nimport { useSavedFilters } from \"../personalization/capabilities/savedFilters\";\r\nimport type { SavedFilter } from \"../personalization/types\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * SavedFiltersMenu - Portnet UI v2 (pattern)\r\n *\r\n * Turn-key dropdown for the Saved Filters framework. Connected to the\r\n * savedFilters capability via useSavedFilters(resourceKey); the host only\r\n * supplies the live `currentCriteria` (to save) and an `onApply` callback\r\n * (to apply a recalled filter to its own state).\r\n *\r\n * <SavedFiltersMenu\r\n * resourceKey=\"ti:list\"\r\n * currentCriteria={filters}\r\n * onApply={(criteria) => setFilters(criteria)}\r\n * allowDefault\r\n * />\r\n *\r\n * The component owns the criteria neither in shape nor semantics — it\r\n * stores whatever the host passes and hands it back on apply, which is\r\n * what makes it reusable across every list.\r\n *\r\n * a11y: the Popover carries role=\"dialog\" + aria-label (like\r\n * ColumnsToggle); each filter row is a real <button> (apply), with a pin\r\n * toggle (default) and a delete control, all aria-labelled per filter.\r\n * For a default filter the apply button's accessible name appends the\r\n * visible \"Par défaut\" badge text (WCAG 2.5.3 Label in Name).\r\n *\r\n * Note (icons): the delete control uses CloseIcon (@mui/icons-material/Close)\r\n * rather than a trash glyph because DeleteOutline is absent from the internal\r\n * @mui/icons-material@9 republish used by the consuming apps; the control's\r\n * aria-label and --danger hover colour keep the delete semantics intact.\r\n */\r\n\r\nexport interface SavedFiltersMenuLabels {\r\n button: string;\r\n title: string;\r\n noSavedFilters: string;\r\n saveCurrentFilter: string;\r\n apply: string;\r\n setDefault: string;\r\n unsetDefault: string;\r\n delete: string;\r\n defaultBadge: string;\r\n countSuffix: (n: number) => string;\r\n // Forwarded to SaveFilterDialog:\r\n dialogTitle: string;\r\n nameLabel: string;\r\n namePlaceholder: string;\r\n nameRequired: string;\r\n duplicateHint: string;\r\n setAsDefault: string;\r\n shareLabel: string;\r\n shareHint: string;\r\n cancel: string;\r\n save: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Filtres enregistrés\",\r\n title: \"Filtres enregistrés\",\r\n noSavedFilters: \"Aucun filtre enregistré\",\r\n saveCurrentFilter: \"Enregistrer le filtre actuel…\",\r\n apply: \"Appliquer le filtre\",\r\n setDefault: \"Définir par défaut\",\r\n unsetDefault: \"Retirer le filtre par défaut\",\r\n delete: \"Supprimer le filtre\",\r\n defaultBadge: \"Par défaut\",\r\n countSuffix: function (n) {\r\n return n + \" enregistré\" + (n > 1 ? \"s\" : \"\");\r\n },\r\n // Forwarded to SaveFilterDialog:\r\n dialogTitle: \"Enregistrer le filtre\",\r\n nameLabel: \"Nom du filtre\",\r\n namePlaceholder: \"ex. Dossiers en attente\",\r\n nameRequired: \"Le nom est obligatoire.\",\r\n duplicateHint: \"Un filtre porte déjà ce nom.\",\r\n setAsDefault: \"Appliquer par défaut à l'ouverture\",\r\n shareLabel: \"Partager avec mon équipe\",\r\n shareHint: \"Visible par les autres utilisateurs (selon les droits).\",\r\n cancel: \"Annuler\",\r\n save: \"Enregistrer\",\r\n} satisfies SavedFiltersMenuLabels);\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 280,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_TITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n marginBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst LIST_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n maxHeight: 320,\r\n overflowY: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ROW_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst APPLY_BTN_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n flex: 1,\r\n minWidth: 0,\r\n textAlign: \"start\",\r\n background: \"transparent\",\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n font: \"inherit\",\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n padding: \"var(--s-2)\",\r\n borderRadius: \"var(--r-sm)\",\r\n \"&:hover\": { background: \"var(--bg-subtle)\" },\r\n \"&:focus-visible\": { outline: \"none\", boxShadow: \"var(--shadow-focus)\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst APPLY_NAME_SX = Object.freeze({\r\n flex: 1,\r\n minWidth: 0,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst DEFAULT_BADGE_SX = Object.freeze({\r\n flexShrink: 0,\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 8px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nconst BADGE_SX = Object.freeze({\r\n marginInlineStart: \"var(--s-1)\",\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 6px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nconst EMPTY_SX = Object.freeze({\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-subtle)\",\r\n padding: \"var(--s-3) var(--s-2)\",\r\n textAlign: \"center\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n paddingTop: \"var(--s-2)\",\r\n marginTop: \"var(--s-2)\",\r\n borderTop: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ACTION_BTN_SX = Object.freeze({\r\n color: \"var(--fg-subtle)\",\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst DELETE_BTN_SX = Object.freeze({\r\n color: \"var(--fg-subtle)\",\r\n \"&:hover\": { color: \"var(--danger)\" },\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n});\r\n\r\nexport interface SavedFiltersMenuProps {\r\n /** Namespaces saved filters per list/entity type. */\r\n resourceKey: string;\r\n /** The host's live filter payload — stored verbatim when saving. */\r\n currentCriteria?: Record<string, unknown> | undefined;\r\n /** Applied when a saved filter is recalled: (criteria, filter) => void. */\r\n onApply?: ((\r\n criteria: Record<string, unknown> | undefined,\r\n filter: SavedFilter\r\n ) => void) | undefined;\r\n /** Allow saving the current filter (also requires currentCriteria != null). */\r\n canSave?: boolean | undefined;\r\n /** Forwarded to SaveFilterDialog — show the \"set as default\" switch. */\r\n allowDefault?: boolean | undefined;\r\n /** Forwarded to SaveFilterDialog — show the \"share with team\" switch. */\r\n allowShared?: boolean | undefined;\r\n align?: \"left\" | \"right\" | undefined;\r\n /** Localised labels (FR default; EN/AR supported). */\r\n labels?: Partial<SavedFiltersMenuLabels> | undefined;\r\n}\r\n\r\nfunction SavedFiltersMenu(props: SavedFiltersMenuProps): React.JSX.Element {\r\n const {\r\n resourceKey,\r\n currentCriteria,\r\n onApply,\r\n canSave = true,\r\n allowDefault = true,\r\n allowShared = false,\r\n align = \"right\",\r\n labels,\r\n } = props;\r\n const L = React.useMemo<SavedFiltersMenuLabels>(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n const { filters, save, remove, setDefault, clearDefault } =\r\n useSavedFilters(resourceKey);\r\n\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n const [dialogOpen, setDialogOpen] = React.useState(false);\r\n const open = Boolean(anchor);\r\n const count = filters.length;\r\n\r\n const canSaveCurrent = canSave !== false && currentCriteria != null;\r\n\r\n const handleOpen = function handleOpen(\r\n e: React.MouseEvent<HTMLElement>\r\n ): void {\r\n setAnchor(e.currentTarget);\r\n };\r\n const handleClose = function handleClose(): void {\r\n setAnchor(null);\r\n };\r\n\r\n const applyAndClose = function applyAndClose(filter: SavedFilter): void {\r\n if (typeof onApply === \"function\") onApply(filter.criteria, filter);\r\n setAnchor(null);\r\n };\r\n\r\n // Opening the dialog closes the popover so the two overlays don't stack.\r\n const openSaveDialog = function openSaveDialog(): void {\r\n setAnchor(null);\r\n setDialogOpen(true);\r\n };\r\n\r\n const handleSubmit = function handleSubmit(\r\n input: SaveFilterDialogSubmit\r\n ): void {\r\n save({\r\n name: input.name,\r\n isDefault: input.isDefault,\r\n shared: input.shared,\r\n ...(currentCriteria !== undefined ? { criteria: currentCriteria } : {}),\r\n });\r\n setDialogOpen(false);\r\n };\r\n\r\n const triggerAria =\r\n count > 0 ? L.button + \", \" + L.countSuffix(count) : L.button;\r\n\r\n const dialogLabels = React.useMemo<SaveFilterDialogLabels>(\r\n function buildDialogLabels() {\r\n return {\r\n title: L.dialogTitle,\r\n nameLabel: L.nameLabel,\r\n namePlaceholder: L.namePlaceholder,\r\n nameRequired: L.nameRequired,\r\n duplicateHint: L.duplicateHint,\r\n setAsDefault: L.setAsDefault,\r\n shareLabel: L.shareLabel,\r\n shareHint: L.shareHint,\r\n cancel: L.cancel,\r\n save: L.save,\r\n };\r\n },\r\n [L]\r\n );\r\n\r\n const popoverSlotProps = React.useMemo<\r\n React.ComponentProps<typeof Popover>[\"slotProps\"]\r\n >(\r\n function buildSlotProps() {\r\n return {\r\n paper: { sx: POPOVER_PAPER_SX, role: \"dialog\", \"aria-label\": L.title },\r\n };\r\n },\r\n [L.title]\r\n );\r\n\r\n const existingNames = React.useMemo<string[]>(\r\n function buildExistingNames() {\r\n return filters\r\n .map(function (f) {\r\n return f.name;\r\n })\r\n .filter(function isName(n): n is string {\r\n return typeof n === \"string\";\r\n });\r\n },\r\n [filters]\r\n );\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<BookmarkBorderIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={triggerAria}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {L.button}\r\n {count > 0 && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\">\r\n {count}\r\n </Box>\r\n )}\r\n </Button>\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: align === \"right\" ? \"right\" : \"left\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: align === \"right\" ? \"right\" : \"left\",\r\n }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n <Box sx={POPOVER_TITLE_SX}>{L.title}</Box>\r\n\r\n {count === 0 ? (\r\n <Box sx={EMPTY_SX}>{L.noSavedFilters}</Box>\r\n ) : (\r\n <Box role=\"list\" sx={LIST_SX}>\r\n {filters.map(function (f) {\r\n return (\r\n <Box key={f.id} role=\"listitem\" sx={ROW_SX}>\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={function () {\r\n applyAndClose(f);\r\n }}\r\n aria-label={\r\n L.apply +\r\n \" : \" +\r\n f.name +\r\n (f.isDefault ? \" (\" + L.defaultBadge + \")\" : \"\")\r\n }\r\n sx={APPLY_BTN_SX}\r\n >\r\n <Box component=\"span\" sx={APPLY_NAME_SX}>\r\n {f.name}\r\n </Box>\r\n {f.isDefault && (\r\n <Box component=\"span\" sx={DEFAULT_BADGE_SX}>\r\n {L.defaultBadge}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n <IconButton\r\n size=\"small\"\r\n aria-label={\r\n (f.isDefault ? L.unsetDefault : L.setDefault) +\r\n \" : \" +\r\n f.name\r\n }\r\n onClick={function () {\r\n if (f.isDefault) clearDefault();\r\n else setDefault(f.id);\r\n }}\r\n sx={\r\n f.isDefault\r\n ? { ...ACTION_BTN_SX, color: \"var(--accent)\" }\r\n : ACTION_BTN_SX\r\n }\r\n >\r\n {f.isDefault ? (\r\n <PushPinIcon fontSize=\"small\" />\r\n ) : (\r\n <PushPinOutlinedIcon fontSize=\"small\" />\r\n )}\r\n </IconButton>\r\n\r\n <IconButton\r\n size=\"small\"\r\n aria-label={L.delete + \" : \" + f.name}\r\n onClick={function () {\r\n remove(f.id);\r\n }}\r\n sx={DELETE_BTN_SX}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n )}\r\n\r\n <Box sx={POPOVER_FOOTER_SX}>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<AddIcon fontSize=\"small\" />}\r\n onClick={openSaveDialog}\r\n disabled={!canSaveCurrent}\r\n >\r\n {L.saveCurrentFilter}\r\n </Button>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n\r\n <SaveFilterDialog\r\n open={dialogOpen}\r\n onClose={function () {\r\n setDialogOpen(false);\r\n }}\r\n onSubmit={handleSubmit}\r\n allowDefault={allowDefault}\r\n allowShared={allowShared}\r\n existingNames={existingNames}\r\n labels={dialogLabels}\r\n />\r\n </>\r\n );\r\n}\r\n\r\nexport default SavedFiltersMenu;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SavedFiltersMenu.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Popover","_IconButton","_BookmarkBorder","_Add","_PushPin","_PushPinOutlined","_Close","_Button","_SaveFilterDialog","_savedFilters","_mergeLabels","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_LABELS","freeze","button","title","noSavedFilters","saveCurrentFilter","apply","setDefault","unsetDefault","delete","defaultBadge","countSuffix","dialogTitle","nameLabel","namePlaceholder","nameRequired","duplicateHint","setAsDefault","shareLabel","shareHint","cancel","save","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","display","flexDirection","gap","POPOVER_TITLE_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","marginBottom","LIST_SX","maxHeight","overflowY","ROW_SX","alignItems","APPLY_BTN_SX","flex","textAlign","background","cursor","font","outline","APPLY_NAME_SX","overflow","textOverflow","whiteSpace","DEFAULT_BADGE_SX","flexShrink","lineHeight","BADGE_SX","marginInlineStart","EMPTY_SX","POPOVER_FOOTER_SX","paddingTop","marginTop","borderTop","ACTION_BTN_SX","DELETE_BTN_SX","SavedFiltersMenu","props","resourceKey","currentCriteria","onApply","canSave","allowDefault","allowShared","align","labels","L","useMemo","mergeLabels","filters","remove","clearDefault","useSavedFilters","anchor","setAnchor","useState","dialogOpen","setDialogOpen","open","Boolean","count","length","canSaveCurrent","handleOpen","currentTarget","handleClose","applyAndClose","filter","criteria","openSaveDialog","handleSubmit","input","name","isDefault","shared","undefined","triggerAria","dialogLabels","buildDialogLabels","popoverSlotProps","buildSlotProps","paper","sx","role","existingNames","buildExistingNames","map","isName","jsxs","Fragment","children","variant","size","type","icon","jsx","onClick","component","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","id","disabled","onSubmit","_default","exports"],"sources":["../../../src/lib/v2/patterns/SavedFiltersMenu.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport BookmarkBorderIcon from \"@mui/icons-material/BookmarkBorder\";\r\nimport AddIcon from \"@mui/icons-material/Add\";\r\nimport PushPinIcon from \"@mui/icons-material/PushPin\";\r\nimport PushPinOutlinedIcon from \"@mui/icons-material/PushPinOutlined\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\nimport Button from \"../components/Button\";\r\nimport SaveFilterDialog from \"./SaveFilterDialog\";\r\nimport type {\r\n SaveFilterDialogLabels,\r\n SaveFilterDialogSubmit,\r\n} from \"./SaveFilterDialog\";\r\nimport { useSavedFilters } from \"../personalization/capabilities/savedFilters\";\r\nimport type { SavedFilter } from \"../personalization/types\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * SavedFiltersMenu - Portnet UI v2 (pattern)\r\n *\r\n * Turn-key dropdown for the Saved Filters framework. Connected to the\r\n * savedFilters capability via useSavedFilters(resourceKey); the host only\r\n * supplies the live `currentCriteria` (to save) and an `onApply` callback\r\n * (to apply a recalled filter to its own state).\r\n *\r\n * <SavedFiltersMenu\r\n * resourceKey=\"ti:list\"\r\n * currentCriteria={filters}\r\n * onApply={(criteria) => setFilters(criteria)}\r\n * allowDefault\r\n * />\r\n *\r\n * The component owns the criteria neither in shape nor semantics — it\r\n * stores whatever the host passes and hands it back on apply, which is\r\n * what makes it reusable across every list.\r\n *\r\n * a11y: the Popover carries role=\"dialog\" + aria-label (like\r\n * ColumnsToggle); each filter row is a real <button> (apply), with a pin\r\n * toggle (default) and a delete control, all aria-labelled per filter.\r\n * For a default filter the apply button's accessible name appends the\r\n * visible \"Par défaut\" badge text (WCAG 2.5.3 Label in Name).\r\n *\r\n * Note (icons): the delete control uses CloseIcon (@mui/icons-material/Close)\r\n * rather than a trash glyph because DeleteOutline is absent from the internal\r\n * @mui/icons-material@9 republish used by the consuming apps; the control's\r\n * aria-label and --danger hover colour keep the delete semantics intact.\r\n */\r\n\r\nexport interface SavedFiltersMenuLabels {\r\n button: string;\r\n title: string;\r\n noSavedFilters: string;\r\n saveCurrentFilter: string;\r\n apply: string;\r\n setDefault: string;\r\n unsetDefault: string;\r\n delete: string;\r\n defaultBadge: string;\r\n countSuffix: (n: number) => string;\r\n // Forwarded to SaveFilterDialog:\r\n dialogTitle: string;\r\n nameLabel: string;\r\n namePlaceholder: string;\r\n nameRequired: string;\r\n duplicateHint: string;\r\n setAsDefault: string;\r\n shareLabel: string;\r\n shareHint: string;\r\n cancel: string;\r\n save: string;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Filtres enregistrés\",\r\n title: \"Filtres enregistrés\",\r\n noSavedFilters: \"Aucun filtre enregistré\",\r\n saveCurrentFilter: \"Enregistrer le filtre actuel…\",\r\n apply: \"Appliquer le filtre\",\r\n setDefault: \"Définir par défaut\",\r\n unsetDefault: \"Retirer le filtre par défaut\",\r\n delete: \"Supprimer le filtre\",\r\n defaultBadge: \"Par défaut\",\r\n countSuffix: function (n) {\r\n return n + \" enregistré\" + (n > 1 ? \"s\" : \"\");\r\n },\r\n // Forwarded to SaveFilterDialog:\r\n dialogTitle: \"Enregistrer le filtre\",\r\n nameLabel: \"Nom du filtre\",\r\n namePlaceholder: \"ex. Dossiers en attente\",\r\n nameRequired: \"Le nom est obligatoire.\",\r\n duplicateHint: \"Un filtre porte déjà ce nom.\",\r\n setAsDefault: \"Appliquer par défaut à l'ouverture\",\r\n shareLabel: \"Partager avec mon équipe\",\r\n shareHint: \"Visible par les autres utilisateurs (selon les droits).\",\r\n cancel: \"Annuler\",\r\n save: \"Enregistrer\",\r\n} satisfies SavedFiltersMenuLabels);\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 280,\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_TITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n marginBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst LIST_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n maxHeight: 320,\r\n overflowY: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ROW_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst APPLY_BTN_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n flex: 1,\r\n minWidth: 0,\r\n textAlign: \"start\",\r\n background: \"transparent\",\r\n border: \"none\",\r\n cursor: \"pointer\",\r\n font: \"inherit\",\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n padding: \"var(--s-2)\",\r\n borderRadius: \"var(--r-sm)\",\r\n \"&:hover\": { background: \"var(--bg-subtle)\" },\r\n \"&:focus-visible\": { outline: \"none\", boxShadow: \"var(--shadow-focus)\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst APPLY_NAME_SX = Object.freeze({\r\n flex: 1,\r\n minWidth: 0,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst DEFAULT_BADGE_SX = Object.freeze({\r\n flexShrink: 0,\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 8px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nconst BADGE_SX = Object.freeze({\r\n marginInlineStart: \"var(--s-1)\",\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 6px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nconst EMPTY_SX = Object.freeze({\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-subtle)\",\r\n padding: \"var(--s-3) var(--s-2)\",\r\n textAlign: \"center\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n paddingTop: \"var(--s-2)\",\r\n marginTop: \"var(--s-2)\",\r\n borderTop: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst ACTION_BTN_SX = Object.freeze({\r\n color: \"var(--fg-subtle)\",\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n} satisfies SxProps<Theme>);\r\n\r\nconst DELETE_BTN_SX = Object.freeze({\r\n color: \"var(--fg-subtle)\",\r\n \"&:hover\": { color: \"var(--danger)\" },\r\n \"&.Mui-focusVisible\": { boxShadow: \"var(--shadow-focus)\" },\r\n});\r\n\r\nexport interface SavedFiltersMenuProps {\r\n /** Namespaces saved filters per list/entity type. */\r\n resourceKey: string;\r\n /** The host's live filter payload — stored verbatim when saving. */\r\n currentCriteria?: Record<string, unknown> | undefined;\r\n /** Applied when a saved filter is recalled: (criteria, filter) => void. */\r\n onApply?: ((\r\n criteria: Record<string, unknown> | undefined,\r\n filter: SavedFilter\r\n ) => void) | undefined;\r\n /** Allow saving the current filter (also requires currentCriteria != null). */\r\n canSave?: boolean | undefined;\r\n /** Forwarded to SaveFilterDialog — show the \"set as default\" switch. */\r\n allowDefault?: boolean | undefined;\r\n /** Forwarded to SaveFilterDialog — show the \"share with team\" switch. */\r\n allowShared?: boolean | undefined;\r\n align?: \"left\" | \"right\" | undefined;\r\n /** Localised labels (FR default; EN/AR supported). */\r\n labels?: Partial<SavedFiltersMenuLabels> | undefined;\r\n}\r\n\r\nfunction SavedFiltersMenu(props: SavedFiltersMenuProps): React.JSX.Element {\r\n const {\r\n resourceKey,\r\n currentCriteria,\r\n onApply,\r\n canSave = true,\r\n allowDefault = true,\r\n allowShared = false,\r\n align = \"right\",\r\n labels,\r\n } = props;\r\n const L = React.useMemo<SavedFiltersMenuLabels>(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n const { filters, save, remove, setDefault, clearDefault } =\r\n useSavedFilters(resourceKey);\r\n\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n const [dialogOpen, setDialogOpen] = React.useState(false);\r\n const open = Boolean(anchor);\r\n const count = filters.length;\r\n\r\n const canSaveCurrent = canSave !== false && currentCriteria != null;\r\n\r\n const handleOpen = function handleOpen(\r\n e: React.MouseEvent<HTMLElement>\r\n ): void {\r\n setAnchor(e.currentTarget);\r\n };\r\n const handleClose = function handleClose(): void {\r\n setAnchor(null);\r\n };\r\n\r\n const applyAndClose = function applyAndClose(filter: SavedFilter): void {\r\n if (typeof onApply === \"function\") onApply(filter.criteria, filter);\r\n setAnchor(null);\r\n };\r\n\r\n // Opening the dialog closes the popover so the two overlays don't stack.\r\n const openSaveDialog = function openSaveDialog(): void {\r\n setAnchor(null);\r\n setDialogOpen(true);\r\n };\r\n\r\n const handleSubmit = function handleSubmit(\r\n input: SaveFilterDialogSubmit\r\n ): void {\r\n save({\r\n name: input.name,\r\n isDefault: input.isDefault,\r\n shared: input.shared,\r\n ...(currentCriteria !== undefined ? { criteria: currentCriteria } : {}),\r\n });\r\n setDialogOpen(false);\r\n };\r\n\r\n const triggerAria =\r\n count > 0 ? L.button + \", \" + L.countSuffix(count) : L.button;\r\n\r\n const dialogLabels = React.useMemo<SaveFilterDialogLabels>(\r\n function buildDialogLabels() {\r\n return {\r\n title: L.dialogTitle,\r\n nameLabel: L.nameLabel,\r\n namePlaceholder: L.namePlaceholder,\r\n nameRequired: L.nameRequired,\r\n duplicateHint: L.duplicateHint,\r\n setAsDefault: L.setAsDefault,\r\n shareLabel: L.shareLabel,\r\n shareHint: L.shareHint,\r\n cancel: L.cancel,\r\n save: L.save,\r\n };\r\n },\r\n [L]\r\n );\r\n\r\n const popoverSlotProps = React.useMemo<\r\n React.ComponentProps<typeof Popover>[\"slotProps\"]\r\n >(\r\n function buildSlotProps() {\r\n return {\r\n paper: { sx: POPOVER_PAPER_SX, role: \"dialog\", \"aria-label\": L.title },\r\n };\r\n },\r\n [L.title]\r\n );\r\n\r\n const existingNames = React.useMemo<string[]>(\r\n function buildExistingNames() {\r\n return filters\r\n .map(function (f) {\r\n return f.name;\r\n })\r\n .filter(function isName(n): n is string {\r\n return typeof n === \"string\";\r\n });\r\n },\r\n [filters]\r\n );\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<BookmarkBorderIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={triggerAria}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {L.button}\r\n {count > 0 && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\">\r\n {count}\r\n </Box>\r\n )}\r\n </Button>\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{\r\n vertical: \"bottom\",\r\n horizontal: align === \"right\" ? \"right\" : \"left\",\r\n }}\r\n transformOrigin={{\r\n vertical: \"top\",\r\n horizontal: align === \"right\" ? \"right\" : \"left\",\r\n }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n <Box sx={POPOVER_TITLE_SX}>{L.title}</Box>\r\n\r\n {count === 0 ? (\r\n <Box sx={EMPTY_SX}>{L.noSavedFilters}</Box>\r\n ) : (\r\n <Box role=\"list\" sx={LIST_SX}>\r\n {filters.map(function (f) {\r\n return (\r\n <Box key={f.id} role=\"listitem\" sx={ROW_SX}>\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={function () {\r\n applyAndClose(f);\r\n }}\r\n aria-label={\r\n L.apply +\r\n \" : \" +\r\n f.name +\r\n (f.isDefault ? \" (\" + L.defaultBadge + \")\" : \"\")\r\n }\r\n sx={APPLY_BTN_SX}\r\n >\r\n <Box component=\"span\" sx={APPLY_NAME_SX}>\r\n {f.name}\r\n </Box>\r\n {f.isDefault && (\r\n <Box component=\"span\" sx={DEFAULT_BADGE_SX}>\r\n {L.defaultBadge}\r\n </Box>\r\n )}\r\n </Box>\r\n\r\n <IconButton\r\n size=\"small\"\r\n aria-label={\r\n (f.isDefault ? L.unsetDefault : L.setDefault) +\r\n \" : \" +\r\n f.name\r\n }\r\n onClick={function () {\r\n if (f.isDefault) clearDefault();\r\n else setDefault(f.id);\r\n }}\r\n sx={\r\n f.isDefault\r\n ? { ...ACTION_BTN_SX, color: \"var(--accent)\" }\r\n : ACTION_BTN_SX\r\n }\r\n >\r\n {f.isDefault ? (\r\n <PushPinIcon fontSize=\"small\" />\r\n ) : (\r\n <PushPinOutlinedIcon fontSize=\"small\" />\r\n )}\r\n </IconButton>\r\n\r\n <IconButton\r\n size=\"small\"\r\n aria-label={L.delete + \" : \" + f.name}\r\n onClick={function () {\r\n remove(f.id);\r\n }}\r\n sx={DELETE_BTN_SX}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n );\r\n })}\r\n </Box>\r\n )}\r\n\r\n <Box sx={POPOVER_FOOTER_SX}>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<AddIcon fontSize=\"small\" />}\r\n onClick={openSaveDialog}\r\n disabled={!canSaveCurrent}\r\n >\r\n {L.saveCurrentFilter}\r\n </Button>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n\r\n <SaveFilterDialog\r\n open={dialogOpen}\r\n onClose={function () {\r\n setDialogOpen(false);\r\n }}\r\n onSubmit={handleSubmit}\r\n allowDefault={allowDefault}\r\n allowShared={allowShared}\r\n existingNames={existingNames}\r\n labels={dialogLabels}\r\n />\r\n </>\r\n );\r\n}\r\n\r\nexport default SavedFiltersMenu;\r\n"],"mappings":"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","ignoreList":[]}
|