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