@portnet/ui 6.0.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +196 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +144 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +333 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/esm/v2/__tests__/apiError.test.js +181 -0
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +147 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +230 -0
- package/dist/esm/v2/components/Accordion.js.map +1 -0
- package/dist/esm/v2/components/ActionStrip.js +146 -0
- package/dist/esm/v2/components/ActionStrip.js.map +1 -0
- package/dist/esm/v2/components/Banner.js +254 -0
- package/dist/esm/v2/components/Banner.js.map +1 -0
- package/dist/esm/v2/components/Busy.js +97 -0
- package/dist/esm/v2/components/Busy.js.map +1 -0
- package/dist/esm/v2/components/Button.js +114 -0
- package/dist/esm/v2/components/Button.js.map +1 -0
- package/dist/esm/v2/components/CategoryTag.js +81 -0
- package/dist/esm/v2/components/CategoryTag.js.map +1 -0
- package/dist/esm/v2/components/Checkbox.js +124 -0
- package/dist/esm/v2/components/Checkbox.js.map +1 -0
- package/dist/esm/v2/components/Chip.js +124 -0
- package/dist/esm/v2/components/Chip.js.map +1 -0
- package/dist/esm/v2/components/Combobox.js +394 -0
- package/dist/esm/v2/components/Combobox.js.map +1 -0
- package/dist/esm/v2/components/CommandPalette.js +660 -0
- package/dist/esm/v2/components/CommandPalette.js.map +1 -0
- package/dist/esm/v2/components/ConfirmDialog.js +144 -0
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/esm/v2/components/DatePicker.js +200 -0
- package/dist/esm/v2/components/DatePicker.js.map +1 -0
- package/dist/esm/v2/components/DateRangePicker.js +289 -0
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
- package/dist/esm/v2/components/DateTimePicker.js +182 -0
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
- package/dist/esm/v2/components/Drawer.js +333 -0
- package/dist/esm/v2/components/Drawer.js.map +1 -0
- package/dist/esm/v2/components/Dropzone.js +540 -0
- package/dist/esm/v2/components/Dropzone.js.map +1 -0
- package/dist/esm/v2/components/EmptyState.js +102 -0
- package/dist/esm/v2/components/EmptyState.js.map +1 -0
- package/dist/esm/v2/components/FavoriteToggle.js +127 -0
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/esm/v2/components/Field.js +197 -0
- package/dist/esm/v2/components/Field.js.map +1 -0
- package/dist/esm/v2/components/FieldError.js +124 -0
- package/dist/esm/v2/components/FieldError.js.map +1 -0
- package/dist/esm/v2/components/FieldHelp.js +202 -0
- package/dist/esm/v2/components/FieldHelp.js.map +1 -0
- package/dist/esm/v2/components/FileCard.js +162 -0
- package/dist/esm/v2/components/FileCard.js.map +1 -0
- package/dist/esm/v2/components/FilterTab.js +138 -0
- package/dist/esm/v2/components/FilterTab.js.map +1 -0
- package/dist/esm/v2/components/ForbiddenPage.js +74 -0
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/esm/v2/components/FormGrid.js +179 -0
- package/dist/esm/v2/components/FormGrid.js.map +1 -0
- package/dist/esm/v2/components/FormikDisplay.js +118 -0
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
- package/dist/esm/v2/components/Input.js +107 -0
- package/dist/esm/v2/components/Input.js.map +1 -0
- package/dist/esm/v2/components/KPICard.js +237 -0
- package/dist/esm/v2/components/KPICard.js.map +1 -0
- package/dist/esm/v2/components/KPIStrip.js +84 -0
- package/dist/esm/v2/components/KPIStrip.js.map +1 -0
- package/dist/esm/v2/components/KV.js +75 -0
- package/dist/esm/v2/components/KV.js.map +1 -0
- package/dist/esm/v2/components/KVGrid.js +74 -0
- package/dist/esm/v2/components/KVGrid.js.map +1 -0
- package/dist/esm/v2/components/Layout.js +284 -0
- package/dist/esm/v2/components/Layout.js.map +1 -0
- package/dist/esm/v2/components/MobileRowCard.js +314 -0
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
- package/dist/esm/v2/components/Modal.js +276 -0
- package/dist/esm/v2/components/Modal.js.map +1 -0
- package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/esm/v2/components/NotFoundPage.js +58 -0
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
- package/dist/esm/v2/components/NumberInput.js +309 -0
- package/dist/esm/v2/components/NumberInput.js.map +1 -0
- package/dist/esm/v2/components/OverflowMenu.js +184 -0
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
- package/dist/esm/v2/components/PdfViewer.js +122 -0
- package/dist/esm/v2/components/PdfViewer.js.map +1 -0
- package/dist/esm/v2/components/ProgressBar.js +202 -0
- package/dist/esm/v2/components/ProgressBar.js.map +1 -0
- package/dist/esm/v2/components/Radio.js +228 -0
- package/dist/esm/v2/components/Radio.js.map +1 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/esm/v2/components/SectionHeader.js +132 -0
- package/dist/esm/v2/components/SectionHeader.js.map +1 -0
- package/dist/esm/v2/components/Segmented.js +254 -0
- package/dist/esm/v2/components/Segmented.js.map +1 -0
- package/dist/esm/v2/components/Select.js +490 -0
- package/dist/esm/v2/components/Select.js.map +1 -0
- package/dist/esm/v2/components/ServerErrorPage.js +74 -0
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/esm/v2/components/Skeleton.js +269 -0
- package/dist/esm/v2/components/Skeleton.js.map +1 -0
- package/dist/esm/v2/components/SkipLink.js +49 -0
- package/dist/esm/v2/components/SkipLink.js.map +1 -0
- package/dist/esm/v2/components/Spinner.js +69 -0
- package/dist/esm/v2/components/Spinner.js.map +1 -0
- package/dist/esm/v2/components/Status.js +64 -0
- package/dist/esm/v2/components/Status.js.map +1 -0
- package/dist/esm/v2/components/Stepper.js +432 -0
- package/dist/esm/v2/components/Stepper.js.map +1 -0
- package/dist/esm/v2/components/Surface.js +159 -0
- package/dist/esm/v2/components/Surface.js.map +1 -0
- package/dist/esm/v2/components/Switch.js +128 -0
- package/dist/esm/v2/components/Switch.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +150 -0
- package/dist/esm/v2/components/Tabs.js.map +1 -0
- package/dist/esm/v2/components/TelInput.js +274 -0
- package/dist/esm/v2/components/TelInput.js.map +1 -0
- package/dist/esm/v2/components/Textarea.js +72 -0
- package/dist/esm/v2/components/Textarea.js.map +1 -0
- package/dist/esm/v2/components/TimePicker.js +134 -0
- package/dist/esm/v2/components/TimePicker.js.map +1 -0
- package/dist/esm/v2/components/Toast.js +376 -0
- package/dist/esm/v2/components/Toast.js.map +1 -0
- package/dist/esm/v2/components/Tooltip.js +161 -0
- package/dist/esm/v2/components/Tooltip.js.map +1 -0
- package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/esm/v2/components/_pickerShared.js +60 -0
- package/dist/esm/v2/components/_pickerShared.js.map +1 -0
- package/dist/esm/v2/components/index.js +244 -0
- package/dist/esm/v2/components/index.js.map +1 -0
- package/dist/esm/v2/hooks/index.js +10 -0
- package/dist/esm/v2/hooks/index.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/esm/v2/hooks/useDensity.js +119 -0
- package/dist/esm/v2/hooks/useDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useSortedRows.js +32 -0
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/esm/v2/hooks/useTabLoading.js +79 -0
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/esm/v2/index.js +121 -0
- package/dist/esm/v2/index.js.map +1 -0
- package/dist/esm/v2/modalContext.js +108 -0
- package/dist/esm/v2/modalContext.js.map +1 -0
- package/dist/esm/v2/models/favorite.js +2 -0
- package/dist/esm/v2/models/favorite.js.map +1 -0
- package/dist/esm/v2/models/index.js +12 -0
- package/dist/esm/v2/models/index.js.map +1 -0
- package/dist/esm/v2/models/personalization.js +2 -0
- package/dist/esm/v2/models/personalization.js.map +1 -0
- package/dist/esm/v2/models/referentiel.js +2 -0
- package/dist/esm/v2/models/referentiel.js.map +1 -0
- package/dist/esm/v2/models/savedFilter.js +2 -0
- package/dist/esm/v2/models/savedFilter.js.map +1 -0
- package/dist/esm/v2/patterns/ActionBar.js +603 -0
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/esm/v2/patterns/DataGrid.js +820 -0
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +164 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormPageShell.js +126 -0
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/FormSection.js +190 -0
- package/dist/esm/v2/patterns/FormSection.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCombobox.js +115 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +196 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +148 -0
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
- package/dist/esm/v2/patterns/FormikInput.js +127 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/FormikSelect.js +159 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +76 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +195 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/esm/v2/patterns/PageContent.js +62 -0
- package/dist/esm/v2/patterns/PageContent.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +615 -0
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/SortableHeader.js +179 -0
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/esm/v2/patterns/Tour.js +471 -0
- package/dist/esm/v2/patterns/Tour.js.map +1 -0
- package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +112 -0
- package/dist/esm/v2/patterns/_sort.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +95 -0
- package/dist/esm/v2/patterns/index.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/index.js +11 -0
- package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +17 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/esm/v2/personalization/index.js +46 -0
- package/dist/esm/v2/personalization/index.js.map +1 -0
- package/dist/esm/v2/personalization/personalizationContext.js +108 -0
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/esm/v2/personalization/schema.js +92 -0
- package/dist/esm/v2/personalization/schema.js.map +1 -0
- package/dist/esm/v2/personalization/types.js +2 -0
- package/dist/esm/v2/personalization/types.js.map +1 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/esm/v2/referentiel/index.js +15 -0
- package/dist/esm/v2/referentiel/index.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/esm/v2/styles/base.css +425 -0
- package/dist/esm/v2/styles/css.d.ts +10 -0
- package/dist/esm/v2/styles/index.js +12 -0
- package/dist/esm/v2/styles/index.js.map +1 -0
- package/dist/esm/v2/theme/_brand.js +64 -0
- package/dist/esm/v2/theme/_brand.js.map +1 -0
- package/dist/esm/v2/theme/_brandSecondary.js +60 -0
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/esm/v2/theme/cssVariables.js +198 -0
- package/dist/esm/v2/theme/cssVariables.js.map +1 -0
- package/dist/esm/v2/theme/index.js +32 -0
- package/dist/esm/v2/theme/index.js.map +1 -0
- package/dist/esm/v2/tokens/breakpoints.js +106 -0
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +219 -0
- package/dist/esm/v2/tokens/colors.js.map +1 -0
- package/dist/esm/v2/tokens/density.js +98 -0
- package/dist/esm/v2/tokens/density.js.map +1 -0
- package/dist/esm/v2/tokens/index.js +80 -0
- package/dist/esm/v2/tokens/index.js.map +1 -0
- package/dist/esm/v2/tokens/motion.js +88 -0
- package/dist/esm/v2/tokens/motion.js.map +1 -0
- package/dist/esm/v2/tokens/radius.js +22 -0
- package/dist/esm/v2/tokens/radius.js.map +1 -0
- package/dist/esm/v2/tokens/shadows.js +40 -0
- package/dist/esm/v2/tokens/shadows.js.map +1 -0
- package/dist/esm/v2/tokens/spacing.js +51 -0
- package/dist/esm/v2/tokens/spacing.js.map +1 -0
- package/dist/esm/v2/tokens/state.js +41 -0
- package/dist/esm/v2/tokens/state.js.map +1 -0
- package/dist/esm/v2/tokens/statusPalette.js +66 -0
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
- package/dist/esm/v2/tokens/tokens.json +153 -0
- package/dist/esm/v2/tokens/typography.js +149 -0
- package/dist/esm/v2/tokens/typography.js.map +1 -0
- package/dist/esm/v2/tokens/zIndex.js +44 -0
- package/dist/esm/v2/tokens/zIndex.js.map +1 -0
- package/dist/esm/v2/types/common.js +2 -0
- package/dist/esm/v2/types/common.js.map +1 -0
- package/dist/esm/v2/types/datagrid.js +2 -0
- package/dist/esm/v2/types/datagrid.js.map +1 -0
- package/dist/esm/v2/types/index.js +12 -0
- package/dist/esm/v2/types/index.js.map +1 -0
- package/dist/esm/v2/utils/apiError.js +281 -0
- package/dist/esm/v2/utils/apiError.js.map +1 -0
- package/dist/esm/v2/utils/contrast.js +157 -0
- package/dist/esm/v2/utils/contrast.js.map +1 -0
- package/dist/esm/v2/utils/cx.js +38 -0
- package/dist/esm/v2/utils/cx.js.map +1 -0
- package/dist/esm/v2/utils/fileDownload.js +226 -0
- package/dist/esm/v2/utils/fileDownload.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +78 -0
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
- package/dist/esm/v2/utils/index.js +43 -0
- package/dist/esm/v2/utils/index.js.map +1 -0
- package/dist/esm/v2/utils/mergeLabels.js +86 -0
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
- package/dist/esm/v2/utils/networkStatus.js +114 -0
- package/dist/esm/v2/utils/networkStatus.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/FieldError.test.js +164 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +148 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/components/Accordion.d.ts +6 -6
- package/dist/v2/components/Accordion.d.ts.map +1 -1
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.d.ts +12 -12
- package/dist/v2/components/ActionStrip.d.ts.map +1 -1
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.d.ts +48 -9
- package/dist/v2/components/Banner.d.ts.map +1 -1
- package/dist/v2/components/Banner.js +116 -35
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.d.ts +3 -3
- package/dist/v2/components/Busy.d.ts.map +1 -1
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.d.ts +6 -6
- package/dist/v2/components/Button.d.ts.map +1 -1
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts +3 -3
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.d.ts +11 -11
- package/dist/v2/components/Checkbox.d.ts.map +1 -1
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.d.ts +8 -8
- package/dist/v2/components/Chip.d.ts.map +1 -1
- package/dist/v2/components/Chip.js +2 -1
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.d.ts +27 -27
- package/dist/v2/components/Combobox.d.ts.map +1 -1
- package/dist/v2/components/Combobox.js +3 -2
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.d.ts +20 -20
- package/dist/v2/components/CommandPalette.d.ts.map +1 -1
- package/dist/v2/components/CommandPalette.js +2 -6
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.d.ts +13 -13
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +2 -1
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.d.ts +11 -11
- package/dist/v2/components/DatePicker.d.ts.map +1 -1
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.d.ts +16 -16
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
- package/dist/v2/components/DateRangePicker.js +2 -1
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts +11 -11
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts +18 -18
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +2 -1
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.d.ts +34 -34
- package/dist/v2/components/Dropzone.d.ts.map +1 -1
- package/dist/v2/components/Dropzone.js +11 -3
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.d.ts +7 -7
- package/dist/v2/components/EmptyState.d.ts.map +1 -1
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.d.ts +7 -7
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +2 -1
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +17 -12
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +25 -7
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.d.ts +78 -0
- package/dist/v2/components/FieldError.d.ts.map +1 -0
- package/dist/v2/components/FieldError.js +131 -0
- package/dist/v2/components/FieldError.js.map +1 -0
- package/dist/v2/components/FieldHelp.d.ts +7 -7
- package/dist/v2/components/FieldHelp.d.ts.map +1 -1
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.d.ts +75 -0
- package/dist/v2/components/FileCard.d.ts.map +1 -0
- package/dist/v2/components/FileCard.js +169 -0
- package/dist/v2/components/FileCard.js.map +1 -0
- package/dist/v2/components/FilterTab.d.ts +9 -9
- package/dist/v2/components/FilterTab.d.ts.map +1 -1
- package/dist/v2/components/FilterTab.js +2 -1
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/FormGrid.d.ts +9 -4
- package/dist/v2/components/FormGrid.d.ts.map +1 -1
- package/dist/v2/components/FormGrid.js +11 -1
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +6 -6
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +6 -6
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.d.ts +43 -13
- package/dist/v2/components/KPICard.d.ts.map +1 -1
- package/dist/v2/components/KPICard.js +53 -14
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.d.ts +68 -0
- package/dist/v2/components/KPIStrip.d.ts.map +1 -0
- package/dist/v2/components/KPIStrip.js +92 -0
- package/dist/v2/components/KPIStrip.js.map +1 -0
- package/dist/v2/components/KV.d.ts +3 -3
- package/dist/v2/components/KV.d.ts.map +1 -1
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.d.ts +2 -2
- package/dist/v2/components/KVGrid.d.ts.map +1 -1
- package/dist/v2/components/KVGrid.js +8 -1
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.d.ts +7 -7
- package/dist/v2/components/Layout.d.ts.map +1 -1
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.d.ts +13 -13
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.d.ts +12 -12
- package/dist/v2/components/Modal.d.ts.map +1 -1
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NumberInput.d.ts +14 -14
- package/dist/v2/components/NumberInput.d.ts.map +1 -1
- package/dist/v2/components/NumberInput.js +7 -6
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.d.ts +14 -14
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
- package/dist/v2/components/OverflowMenu.js +4 -8
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.d.ts +9 -9
- package/dist/v2/components/PdfViewer.d.ts.map +1 -1
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.d.ts +10 -10
- package/dist/v2/components/ProgressBar.d.ts.map +1 -1
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.d.ts +7 -7
- package/dist/v2/components/Radio.d.ts.map +1 -1
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
- package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
- package/dist/v2/components/SectionErrorBoundary.js +221 -0
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/v2/components/SectionHeader.d.ts +5 -5
- package/dist/v2/components/SectionHeader.d.ts.map +1 -1
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.d.ts +11 -11
- package/dist/v2/components/Segmented.d.ts.map +1 -1
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +33 -15
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +147 -30
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.d.ts +15 -15
- package/dist/v2/components/Skeleton.d.ts.map +1 -1
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.d.ts +2 -2
- package/dist/v2/components/SkipLink.d.ts.map +1 -1
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Status.d.ts +3 -3
- package/dist/v2/components/Status.d.ts.map +1 -1
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.d.ts +28 -22
- package/dist/v2/components/Stepper.d.ts.map +1 -1
- package/dist/v2/components/Stepper.js +31 -5
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.d.ts +94 -0
- package/dist/v2/components/Surface.d.ts.map +1 -0
- package/dist/v2/components/Surface.js +163 -0
- package/dist/v2/components/Surface.js.map +1 -0
- package/dist/v2/components/Switch.d.ts +4 -4
- package/dist/v2/components/Switch.d.ts.map +1 -1
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/Tabs.d.ts +6 -6
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.d.ts +8 -8
- package/dist/v2/components/TelInput.d.ts.map +1 -1
- package/dist/v2/components/TelInput.js +18 -18
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.d.ts +1 -1
- package/dist/v2/components/Textarea.d.ts.map +1 -1
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.d.ts +11 -11
- package/dist/v2/components/TimePicker.d.ts.map +1 -1
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.d.ts +6 -6
- package/dist/v2/components/Toast.d.ts.map +1 -1
- package/dist/v2/components/Toast.js +9 -8
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.d.ts +1 -1
- package/dist/v2/components/Tooltip.d.ts.map +1 -1
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/index.d.ts +143 -0
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +35 -0
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +1 -1
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +13 -13
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +11 -11
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -8
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.d.ts +33 -33
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/ActionBar.js +2 -1
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/BulkActionBar.js +2 -1
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +4 -8
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +2 -1
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.d.ts +6 -6
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +2 -1
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.d.ts +4 -4
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +19 -8
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +106 -71
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +11 -11
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +36 -8
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +27 -1
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikFile.d.ts +8 -8
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +41 -6
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +49 -1
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +33 -12
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +28 -2
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +5 -5
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +7 -7
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +2 -6
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.d.ts +3 -3
- package/dist/v2/patterns/PageContent.d.ts.map +1 -1
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/ReferentielField.d.ts +49 -49
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +2 -1
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +9 -8
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.d.ts +12 -12
- package/dist/v2/patterns/Tour.d.ts.map +1 -1
- package/dist/v2/patterns/Tour.js +9 -8
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +37 -3
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/index.d.ts +27 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/schema.d.ts +2 -2
- package/dist/v2/personalization/schema.d.ts.map +1 -1
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/personalization/types.d.ts +19 -19
- package/dist/v2/personalization/types.d.ts.map +1 -1
- package/dist/v2/personalization/types.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +25 -1
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +59 -59
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/utils/apiError.d.ts +65 -4
- package/dist/v2/utils/apiError.d.ts.map +1 -1
- package/dist/v2/utils/apiError.js +69 -6
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/index.d.ts +1 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +7 -0
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.d.ts +59 -0
- package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
- package/dist/v2/utils/mergeLabels.js +93 -0
- package/dist/v2/utils/mergeLabels.js.map +1 -0
- package/package.json +23 -15
|
@@ -1,5 +1,6 @@
|
|
|
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); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -11,22 +12,22 @@ var _Field = _interopRequireDefault(require("../components/Field"));
|
|
|
11
12
|
var _Input = _interopRequireDefault(require("../components/Input"));
|
|
12
13
|
var _Switch = _interopRequireDefault(require("../components/Switch"));
|
|
13
14
|
var _Button = _interopRequireDefault(require("../components/Button"));
|
|
15
|
+
var _mergeLabels = require("../utils/mergeLabels");
|
|
14
16
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
17
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
16
18
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
17
19
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
18
|
-
function
|
|
20
|
+
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; }
|
|
21
|
+
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; }
|
|
22
|
+
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; }
|
|
23
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
24
|
+
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); }
|
|
19
25
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
20
26
|
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."); }
|
|
21
27
|
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); }
|
|
22
28
|
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; }
|
|
23
29
|
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; } }
|
|
24
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
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 _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
|
|
30
31
|
* SaveFilterDialog - Portnet UI v2 (pattern)
|
|
31
32
|
*
|
|
32
33
|
* "Save current filter" dialog for the Saved Filters framework
|
|
@@ -89,7 +90,7 @@ function SaveFilterDialog(props) {
|
|
|
89
90
|
_props$busy = props.busy,
|
|
90
91
|
busy = _props$busy === void 0 ? false : _props$busy,
|
|
91
92
|
labels = props.labels;
|
|
92
|
-
var L =
|
|
93
|
+
var L = (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
|
|
93
94
|
var _React$useState = React.useState(initialName),
|
|
94
95
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
95
96
|
name = _React$useState2[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SaveFilterDialog.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Modal","_Field","_Input","_Switch","_Button","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","DEFAULT_LABELS","freeze","title","nameLabel","namePlaceholder","nameRequired","duplicateHint","setAsDefault","shareLabel","shareHint","cancel","save","BODY_SX","display","flexDirection","gap","SaveFilterDialog","props","_props$open","open","onClose","onSubmit","_props$initialName","initialName","_props$initialIsDefau","initialIsDefault","_props$initialShared","initialShared","_props$allowDefault","allowDefault","_props$allowShared","allowShared","existingNames","_props$busy","busy","labels","L","_React$useState","useState","_React$useState2","setName","_React$useState3","_React$useState4","isDefault","setIsDefault","_React$useState5","_React$useState6","shared","setShared","_React$useState7","_React$useState8","touched","setTouched","useEffect","resetOnOpen","trimmed","trim","nameError","isDuplicate","some","eq","toLowerCase","handleSubmit","handleKeyDown","e","preventDefault","footer","jsxs","Fragment","children","jsx","variant","type","onClick","disabled","size","sx","label","required","error","onChange","placeholder","inputProps","autoFocus","maxLength","onKeyDown","checked","description","_default","exports"],"sources":["../../../src/lib/v2/patterns/SaveFilterDialog.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\nimport Modal from \"../components/Modal\";\r\nimport Field from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\nimport Switch from \"../components/Switch\";\r\nimport Button from \"../components/Button\";\r\n\r\n/**\r\n * SaveFilterDialog - Portnet UI v2 (pattern)\r\n *\r\n * \"Save current filter\" dialog for the Saved Filters framework\r\n * (v2/personalization · savedFilters). Built on the v2 Modal, so it\r\n * inherits the focus trap, Esc / backdrop / X close affordances, and the\r\n * aria-labelledby contract (Charter R-M.*).\r\n *\r\n * Presentational and provider-FREE by design: it collects a name and two\r\n * options and emits them via `onSubmit`. The parent (SavedFiltersMenu or\r\n * a host) persists through useSavedFilters().save and closes the dialog.\r\n *\r\n * <SaveFilterDialog\r\n * open={open}\r\n * onClose={() => setOpen(false)}\r\n * existingNames={filters.map(f => f.name)}\r\n * allowDefault\r\n * onSubmit={({ name, isDefault, shared }) => {\r\n * save({ name, criteria: currentCriteria, isDefault, shared });\r\n * setOpen(false);\r\n * }}\r\n * />\r\n *\r\n * Name is required (validated on submit; the error is announced via\r\n * Field's role=\"alert\" binding). A duplicate name is allowed (Odoo-style)\r\n * but surfaced as a non-blocking hint.\r\n */\r\n\r\nexport interface SaveFilterDialogSubmit {\r\n name: string;\r\n isDefault: boolean;\r\n shared: boolean;\r\n}\r\n\r\nexport interface SaveFilterDialogLabels {\r\n title: 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 title: \"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 SaveFilterDialogLabels);\r\n\r\nconst BODY_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-4)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nexport interface SaveFilterDialogProps {\r\n open?: boolean;\r\n /** Required — a dialog must be closable (fed to Modal + both footer buttons). */\r\n onClose: () => void;\r\n /** Emitted on a valid submit: ({ name, isDefault, shared }) => void. */\r\n onSubmit?: (values: SaveFilterDialogSubmit) => void;\r\n initialName?: string;\r\n initialIsDefault?: boolean;\r\n initialShared?: boolean;\r\n /** Show the \"set as default\" switch. */\r\n allowDefault?: boolean;\r\n /** Show the \"share with team\" switch (modelled, not enforced in Phase 1). */\r\n allowShared?: boolean;\r\n /** Existing filter names, for a non-blocking duplicate hint. */\r\n existingNames?: readonly string[];\r\n /** Disable the submit button while a save is in flight. */\r\n busy?: boolean;\r\n /** Localised labels (FR default; EN/AR supported). */\r\n labels?: Partial<SaveFilterDialogLabels>;\r\n}\r\n\r\nfunction SaveFilterDialog(props: SaveFilterDialogProps): React.JSX.Element {\r\n const {\r\n open = false,\r\n onClose,\r\n onSubmit,\r\n initialName = \"\",\r\n initialIsDefault = false,\r\n initialShared = false,\r\n allowDefault = true,\r\n allowShared = false,\r\n existingNames,\r\n busy = false,\r\n labels,\r\n } = props;\r\n const L: SaveFilterDialogLabels = labels\r\n ? { ...DEFAULT_LABELS, ...labels }\r\n : DEFAULT_LABELS;\r\n\r\n const [name, setName] = React.useState(initialName);\r\n const [isDefault, setIsDefault] = React.useState(!!initialIsDefault);\r\n const [shared, setShared] = React.useState(!!initialShared);\r\n const [touched, setTouched] = React.useState(false);\r\n\r\n // Reset the form each time the dialog opens.\r\n React.useEffect(\r\n function resetOnOpen() {\r\n if (open) {\r\n setName(initialName || \"\");\r\n setIsDefault(!!initialIsDefault);\r\n setShared(!!initialShared);\r\n setTouched(false);\r\n }\r\n },\r\n [open, initialName, initialIsDefault, initialShared]\r\n );\r\n\r\n const trimmed = name.trim();\r\n const nameError = touched && !trimmed ? L.nameRequired : undefined;\r\n const isDuplicate =\r\n !!trimmed &&\r\n Array.isArray(existingNames) &&\r\n existingNames.some(function eq(n) {\r\n return (\r\n typeof n === \"string\" &&\r\n n.trim().toLowerCase() === trimmed.toLowerCase()\r\n );\r\n });\r\n\r\n const handleSubmit = function handleSubmit(): void {\r\n if (!trimmed) {\r\n setTouched(true);\r\n return;\r\n }\r\n if (typeof onSubmit === \"function\") {\r\n onSubmit({ name: trimmed, isDefault: isDefault, shared: shared });\r\n }\r\n };\r\n\r\n const handleKeyDown = function handleKeyDown(\r\n e: React.KeyboardEvent<HTMLInputElement>\r\n ): void {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n handleSubmit();\r\n }\r\n };\r\n\r\n const footer = (\r\n <>\r\n <Button variant=\"ghost\" type=\"button\" onClick={onClose}>\r\n {L.cancel}\r\n </Button>\r\n <Button\r\n variant=\"primary\"\r\n type=\"button\"\r\n onClick={handleSubmit}\r\n disabled={busy}\r\n >\r\n {L.save}\r\n </Button>\r\n </>\r\n );\r\n\r\n return (\r\n <Modal open={open} onClose={onClose} title={L.title} size=\"sm\" footer={footer}>\r\n <Box sx={BODY_SX}>\r\n <Field\r\n label={L.nameLabel}\r\n required\r\n {...(nameError !== undefined ? { error: nameError } : {})}\r\n {...(isDuplicate ? { hint: L.duplicateHint } : {})}\r\n >\r\n <Input\r\n value={name}\r\n onChange={function (e) {\r\n setName(e.target.value);\r\n }}\r\n placeholder={L.namePlaceholder}\r\n inputProps={{ autoFocus: true, maxLength: 80, onKeyDown: handleKeyDown }}\r\n />\r\n </Field>\r\n\r\n {allowDefault && (\r\n <Switch\r\n checked={isDefault}\r\n onChange={function (e) {\r\n setIsDefault(e.target.checked);\r\n }}\r\n label={L.setAsDefault}\r\n />\r\n )}\r\n\r\n {allowShared && (\r\n <Switch\r\n checked={shared}\r\n onChange={function (e) {\r\n setShared(e.target.checked);\r\n }}\r\n label={L.shareLabel}\r\n description={L.shareHint}\r\n />\r\n )}\r\n </Box>\r\n </Modal>\r\n );\r\n}\r\n\r\nexport default SaveFilterDialog;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SaveFilterDialog.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Modal","_Field","_Input","_Switch","_Button","_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","title","nameLabel","namePlaceholder","nameRequired","duplicateHint","setAsDefault","shareLabel","shareHint","cancel","save","BODY_SX","display","flexDirection","gap","SaveFilterDialog","props","_props$open","open","onClose","onSubmit","_props$initialName","initialName","_props$initialIsDefau","initialIsDefault","_props$initialShared","initialShared","_props$allowDefault","allowDefault","_props$allowShared","allowShared","existingNames","_props$busy","busy","labels","L","mergeLabels","_React$useState","useState","_React$useState2","setName","_React$useState3","_React$useState4","isDefault","setIsDefault","_React$useState5","_React$useState6","shared","setShared","_React$useState7","_React$useState8","touched","setTouched","useEffect","resetOnOpen","trimmed","trim","nameError","isDuplicate","some","eq","toLowerCase","handleSubmit","handleKeyDown","e","preventDefault","footer","jsxs","Fragment","children","jsx","variant","type","onClick","disabled","size","sx","label","required","error","onChange","placeholder","inputProps","autoFocus","maxLength","onKeyDown","checked","description","_default","exports"],"sources":["../../../src/lib/v2/patterns/SaveFilterDialog.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\nimport Modal from \"../components/Modal\";\r\nimport Field from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\nimport Switch from \"../components/Switch\";\r\nimport Button from \"../components/Button\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * SaveFilterDialog - Portnet UI v2 (pattern)\r\n *\r\n * \"Save current filter\" dialog for the Saved Filters framework\r\n * (v2/personalization · savedFilters). Built on the v2 Modal, so it\r\n * inherits the focus trap, Esc / backdrop / X close affordances, and the\r\n * aria-labelledby contract (Charter R-M.*).\r\n *\r\n * Presentational and provider-FREE by design: it collects a name and two\r\n * options and emits them via `onSubmit`. The parent (SavedFiltersMenu or\r\n * a host) persists through useSavedFilters().save and closes the dialog.\r\n *\r\n * <SaveFilterDialog\r\n * open={open}\r\n * onClose={() => setOpen(false)}\r\n * existingNames={filters.map(f => f.name)}\r\n * allowDefault\r\n * onSubmit={({ name, isDefault, shared }) => {\r\n * save({ name, criteria: currentCriteria, isDefault, shared });\r\n * setOpen(false);\r\n * }}\r\n * />\r\n *\r\n * Name is required (validated on submit; the error is announced via\r\n * Field's role=\"alert\" binding). A duplicate name is allowed (Odoo-style)\r\n * but surfaced as a non-blocking hint.\r\n */\r\n\r\nexport interface SaveFilterDialogSubmit {\r\n name: string;\r\n isDefault: boolean;\r\n shared: boolean;\r\n}\r\n\r\nexport interface SaveFilterDialogLabels {\r\n title: 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 title: \"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 SaveFilterDialogLabels);\r\n\r\nconst BODY_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-4)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nexport interface SaveFilterDialogProps {\r\n open?: boolean | undefined;\r\n /** Required — a dialog must be closable (fed to Modal + both footer buttons). */\r\n onClose: () => void;\r\n /** Emitted on a valid submit: ({ name, isDefault, shared }) => void. */\r\n onSubmit?: ((values: SaveFilterDialogSubmit) => void) | undefined;\r\n initialName?: string | undefined;\r\n initialIsDefault?: boolean | undefined;\r\n initialShared?: boolean | undefined;\r\n /** Show the \"set as default\" switch. */\r\n allowDefault?: boolean | undefined;\r\n /** Show the \"share with team\" switch (modelled, not enforced in Phase 1). */\r\n allowShared?: boolean | undefined;\r\n /** Existing filter names, for a non-blocking duplicate hint. */\r\n existingNames?: readonly string[] | undefined;\r\n /** Disable the submit button while a save is in flight. */\r\n busy?: boolean | undefined;\r\n /** Localised labels (FR default; EN/AR supported). */\r\n labels?: Partial<SaveFilterDialogLabels> | undefined;\r\n}\r\n\r\nfunction SaveFilterDialog(props: SaveFilterDialogProps): React.JSX.Element {\r\n const {\r\n open = false,\r\n onClose,\r\n onSubmit,\r\n initialName = \"\",\r\n initialIsDefault = false,\r\n initialShared = false,\r\n allowDefault = true,\r\n allowShared = false,\r\n existingNames,\r\n busy = false,\r\n labels,\r\n } = props;\r\n const L: SaveFilterDialogLabels = mergeLabels(DEFAULT_LABELS, labels);\r\n\r\n const [name, setName] = React.useState(initialName);\r\n const [isDefault, setIsDefault] = React.useState(!!initialIsDefault);\r\n const [shared, setShared] = React.useState(!!initialShared);\r\n const [touched, setTouched] = React.useState(false);\r\n\r\n // Reset the form each time the dialog opens.\r\n React.useEffect(\r\n function resetOnOpen() {\r\n if (open) {\r\n setName(initialName || \"\");\r\n setIsDefault(!!initialIsDefault);\r\n setShared(!!initialShared);\r\n setTouched(false);\r\n }\r\n },\r\n [open, initialName, initialIsDefault, initialShared]\r\n );\r\n\r\n const trimmed = name.trim();\r\n const nameError = touched && !trimmed ? L.nameRequired : undefined;\r\n const isDuplicate =\r\n !!trimmed &&\r\n Array.isArray(existingNames) &&\r\n existingNames.some(function eq(n) {\r\n return (\r\n typeof n === \"string\" &&\r\n n.trim().toLowerCase() === trimmed.toLowerCase()\r\n );\r\n });\r\n\r\n const handleSubmit = function handleSubmit(): void {\r\n if (!trimmed) {\r\n setTouched(true);\r\n return;\r\n }\r\n if (typeof onSubmit === \"function\") {\r\n onSubmit({ name: trimmed, isDefault: isDefault, shared: shared });\r\n }\r\n };\r\n\r\n const handleKeyDown = function handleKeyDown(\r\n e: React.KeyboardEvent<HTMLInputElement>\r\n ): void {\r\n if (e.key === \"Enter\") {\r\n e.preventDefault();\r\n handleSubmit();\r\n }\r\n };\r\n\r\n const footer = (\r\n <>\r\n <Button variant=\"ghost\" type=\"button\" onClick={onClose}>\r\n {L.cancel}\r\n </Button>\r\n <Button\r\n variant=\"primary\"\r\n type=\"button\"\r\n onClick={handleSubmit}\r\n disabled={busy}\r\n >\r\n {L.save}\r\n </Button>\r\n </>\r\n );\r\n\r\n return (\r\n <Modal open={open} onClose={onClose} title={L.title} size=\"sm\" footer={footer}>\r\n <Box sx={BODY_SX}>\r\n <Field\r\n label={L.nameLabel}\r\n required\r\n {...(nameError !== undefined ? { error: nameError } : {})}\r\n {...(isDuplicate ? { hint: L.duplicateHint } : {})}\r\n >\r\n <Input\r\n value={name}\r\n onChange={function (e) {\r\n setName(e.target.value);\r\n }}\r\n placeholder={L.namePlaceholder}\r\n inputProps={{ autoFocus: true, maxLength: 80, onKeyDown: handleKeyDown }}\r\n />\r\n </Field>\r\n\r\n {allowDefault && (\r\n <Switch\r\n checked={isDefault}\r\n onChange={function (e) {\r\n setIsDefault(e.target.checked);\r\n }}\r\n label={L.setAsDefault}\r\n />\r\n )}\r\n\r\n {allowShared && (\r\n <Switch\r\n checked={shared}\r\n onChange={function (e) {\r\n setShared(e.target.checked);\r\n }}\r\n label={L.shareLabel}\r\n description={L.shareHint}\r\n />\r\n )}\r\n </Box>\r\n </Modal>\r\n );\r\n}\r\n\r\nexport default SaveFilterDialog;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -56,18 +56,18 @@ export interface SavedFiltersMenuProps {
|
|
|
56
56
|
/** Namespaces saved filters per list/entity type. */
|
|
57
57
|
resourceKey: string;
|
|
58
58
|
/** The host's live filter payload — stored verbatim when saving. */
|
|
59
|
-
currentCriteria?: Record<string, unknown
|
|
59
|
+
currentCriteria?: Record<string, unknown> | undefined;
|
|
60
60
|
/** Applied when a saved filter is recalled: (criteria, filter) => void. */
|
|
61
|
-
onApply?: (criteria: Record<string, unknown> | undefined, filter: SavedFilter) => void;
|
|
61
|
+
onApply?: ((criteria: Record<string, unknown> | undefined, filter: SavedFilter) => void) | undefined;
|
|
62
62
|
/** Allow saving the current filter (also requires currentCriteria != null). */
|
|
63
|
-
canSave?: boolean;
|
|
63
|
+
canSave?: boolean | undefined;
|
|
64
64
|
/** Forwarded to SaveFilterDialog — show the "set as default" switch. */
|
|
65
|
-
allowDefault?: boolean;
|
|
65
|
+
allowDefault?: boolean | undefined;
|
|
66
66
|
/** Forwarded to SaveFilterDialog — show the "share with team" switch. */
|
|
67
|
-
allowShared?: boolean;
|
|
68
|
-
align?: "left" | "right";
|
|
67
|
+
allowShared?: boolean | undefined;
|
|
68
|
+
align?: "left" | "right" | undefined;
|
|
69
69
|
/** Localised labels (FR default; EN/AR supported). */
|
|
70
|
-
labels?: Partial<SavedFiltersMenuLabels
|
|
70
|
+
labels?: Partial<SavedFiltersMenuLabels> | undefined;
|
|
71
71
|
}
|
|
72
72
|
declare function SavedFiltersMenu(props: SavedFiltersMenuProps): React.JSX.Element;
|
|
73
73
|
export default SavedFiltersMenu;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SavedFiltersMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/SavedFiltersMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"SavedFiltersMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/SavedFiltersMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAkB/B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAG5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AAEH,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAEnC,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AA+ID,MAAM,WAAW,qBAAqB;IACpC,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,oEAAoE;IACpE,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC;IACtD,2EAA2E;IAC3E,OAAO,CAAC,EAAE,CAAC,CACT,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAC7C,MAAM,EAAE,WAAW,KAChB,IAAI,CAAC,GAAG,SAAS,CAAC;IACvB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,wEAAwE;IACxE,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,yEAAyE;IACzE,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAClC,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;IACrC,sDAAsD;IACtD,MAAM,CAAC,EAAE,OAAO,CAAC,sBAAsB,CAAC,GAAG,SAAS,CAAC;CACtD;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CA8OzE;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
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); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -16,22 +17,22 @@ var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
|
16
17
|
var _Button = _interopRequireDefault(require("../components/Button"));
|
|
17
18
|
var _SaveFilterDialog = _interopRequireDefault(require("./SaveFilterDialog"));
|
|
18
19
|
var _savedFilters = require("../personalization/capabilities/savedFilters");
|
|
20
|
+
var _mergeLabels = require("../utils/mergeLabels");
|
|
19
21
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
20
22
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
21
23
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
22
24
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
23
|
-
function
|
|
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); }
|
|
24
30
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
25
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."); }
|
|
26
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); }
|
|
27
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; }
|
|
28
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; } }
|
|
29
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
30
|
-
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; }
|
|
31
|
-
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; }
|
|
32
|
-
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; }
|
|
33
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
34
|
-
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); } /**
|
|
35
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
|
|
35
36
|
* SavedFiltersMenu - Portnet UI v2 (pattern)
|
|
36
37
|
*
|
|
37
38
|
* Turn-key dropdown for the Saved Filters framework. Connected to the
|
|
@@ -214,7 +215,7 @@ function SavedFiltersMenu(props) {
|
|
|
214
215
|
align = _props$align === void 0 ? "right" : _props$align,
|
|
215
216
|
labels = props.labels;
|
|
216
217
|
var L = React.useMemo(function () {
|
|
217
|
-
return
|
|
218
|
+
return (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
|
|
218
219
|
}, [labels]);
|
|
219
220
|
var _useSavedFilters = (0, _savedFilters.useSavedFilters)(resourceKey),
|
|
220
221
|
filters = _useSavedFilters.filters,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SavedFiltersMenu.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Popover","_IconButton","_BookmarkBorder","_Add","_PushPin","_PushPinOutlined","_Close","_Button","_SaveFilterDialog","_savedFilters","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","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","_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\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>;\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;\r\n /** Allow saving the current filter (also requires currentCriteria != null). */\r\n canSave?: boolean;\r\n /** Forwarded to SaveFilterDialog — show the \"set as default\" switch. */\r\n allowDefault?: boolean;\r\n /** Forwarded to SaveFilterDialog — show the \"share with team\" switch. */\r\n allowShared?: boolean;\r\n align?: \"left\" | \"right\";\r\n /** Localised labels (FR default; EN/AR supported). */\r\n labels?: Partial<SavedFiltersMenuLabels>;\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 () => (labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_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","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":[]}
|
|
@@ -57,19 +57,19 @@ export interface SkeletonPageShellProps {
|
|
|
57
57
|
*
|
|
58
58
|
* @default "list"
|
|
59
59
|
*/
|
|
60
|
-
variant?: SkeletonPageShellVariant;
|
|
60
|
+
variant?: SkeletonPageShellVariant | undefined;
|
|
61
61
|
/** Reserve the breadcrumb row. @default true */
|
|
62
|
-
breadcrumb?: boolean;
|
|
62
|
+
breadcrumb?: boolean | undefined;
|
|
63
63
|
/** Reserve the subtitle line. @default true */
|
|
64
|
-
subtitle?: boolean;
|
|
64
|
+
subtitle?: boolean | undefined;
|
|
65
65
|
/** Reserve a primary CTA in the header. @default true */
|
|
66
|
-
action?: boolean;
|
|
66
|
+
action?: boolean | undefined;
|
|
67
67
|
/** Rows in the `list` variant / field pairs in `form`. @default 6 */
|
|
68
|
-
rows?: number;
|
|
68
|
+
rows?: number | undefined;
|
|
69
69
|
/** Accessible name of the busy region. Localise per host. */
|
|
70
|
-
loadingLabel?: string;
|
|
70
|
+
loadingLabel?: string | undefined;
|
|
71
71
|
/** sx overrides applied to the outer region. */
|
|
72
|
-
sx?: SxProps<Theme
|
|
72
|
+
sx?: SxProps<Theme> | undefined;
|
|
73
73
|
}
|
|
74
74
|
declare function SkeletonPageShell({ variant, breadcrumb, subtitle, action, rows, loadingLabel, sx, }: SkeletonPageShellProps): import("react").JSX.Element;
|
|
75
75
|
export default SkeletonPageShell;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkeletonPageShell.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/SkeletonPageShell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"SkeletonPageShell.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/SkeletonPageShell.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAI3D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6CG;AAEH,MAAM,MAAM,wBAAwB,GAAG,MAAM,GAAG,MAAM,GAAG,QAAQ,CAAC;AAElE,MAAM,WAAW,sBAAsB;IACrC;;;;;;;;;OASG;IACH,OAAO,CAAC,EAAE,wBAAwB,GAAG,SAAS,CAAC;IAC/C,gDAAgD;IAChD,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACjC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,yDAAyD;IACzD,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,6DAA6D;IAC7D,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,gDAAgD;IAChD,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;CACjC;AA8KD,iBAAS,iBAAiB,CAAC,EACzB,OAAgB,EAChB,UAAiB,EACjB,QAAe,EACf,MAAa,EACb,IAAQ,EACR,YAAuC,EACvC,EAAE,GACH,EAAE,sBAAsB,+BA4DxB;AAED,eAAe,iBAAiB,CAAC"}
|