@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
|
@@ -22,9 +22,9 @@ import type { SxProps, Theme } from "@mui/material/styles";
|
|
|
22
22
|
* Consumer code passing `inputProps={...}` to v2.Checkbox is unchanged.
|
|
23
23
|
*/
|
|
24
24
|
export interface CheckboxProps extends MuiCheckboxProps {
|
|
25
|
-
label?: React.ReactNode;
|
|
25
|
+
label?: React.ReactNode | undefined;
|
|
26
26
|
/** Native <input> attributes. Routed to slotProps.input (v9). */
|
|
27
|
-
inputProps?: React.InputHTMLAttributes<HTMLInputElement
|
|
27
|
+
inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;
|
|
28
28
|
}
|
|
29
29
|
export declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
30
30
|
/**
|
|
@@ -43,16 +43,16 @@ export declare const Checkbox: React.ForwardRefExoticComponent<Omit<CheckboxProp
|
|
|
43
43
|
* the group when used outside <Field>.
|
|
44
44
|
*/
|
|
45
45
|
export interface CheckboxGroupProps {
|
|
46
|
-
row?: boolean;
|
|
47
|
-
children?: React.ReactNode;
|
|
48
|
-
sx?: SxProps<Theme
|
|
46
|
+
row?: boolean | undefined;
|
|
47
|
+
children?: React.ReactNode | undefined;
|
|
48
|
+
sx?: SxProps<Theme> | undefined;
|
|
49
49
|
/** ARIA role for the container (default "group"). */
|
|
50
|
-
role?: React.AriaRole;
|
|
51
|
-
id?: string;
|
|
52
|
-
"aria-label"?: string;
|
|
53
|
-
"aria-labelledby"?: string;
|
|
54
|
-
"aria-describedby"?: string;
|
|
55
|
-
"aria-invalid"?: React.AriaAttributes["aria-invalid"];
|
|
50
|
+
role?: React.AriaRole | undefined;
|
|
51
|
+
id?: string | undefined;
|
|
52
|
+
"aria-label"?: string | undefined;
|
|
53
|
+
"aria-labelledby"?: string | undefined;
|
|
54
|
+
"aria-describedby"?: string | undefined;
|
|
55
|
+
"aria-invalid"?: React.AriaAttributes["aria-invalid"] | undefined;
|
|
56
56
|
}
|
|
57
57
|
export declare function CheckboxGroup({ row, children, sx, role, id, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledby, "aria-describedby": ariaDescribedby, "aria-invalid": ariaInvalid, }: CheckboxGroupProps): React.JSX.Element;
|
|
58
58
|
export default Checkbox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGhF,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"Checkbox.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Checkbox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,aAAa,IAAI,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAGhF,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAE3D;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,WAAW,aAAc,SAAQ,gBAAgB;IACrD,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,iEAAiE;IACjE,UAAU,CAAC,EAAE,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,GAAG,SAAS,CAAC;CACtE;AAED,eAAO,MAAM,QAAQ,sGAuCnB,CAAC;AAEH;;;;;;;;;;;;;;GAcG;AACH,MAAM,WAAW,kBAAkB;IACjC,GAAG,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC1B,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACvC,EAAE,CAAC,EAAE,OAAO,CAAC,KAAK,CAAC,GAAG,SAAS,CAAC;IAChC,qDAAqD;IACrD,IAAI,CAAC,EAAE,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC;IAClC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,iBAAiB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACvC,kBAAkB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxC,cAAc,CAAC,EAAE,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,GAAG,SAAS,CAAC;CACnE;AAED,wBAAgB,aAAa,CAAC,EAC5B,GAAW,EACX,QAAQ,EACR,EAAE,EACF,IAAc,EACd,EAAE,EACF,YAAY,EAAE,SAAS,EACvB,iBAAiB,EAAE,cAAc,EACjC,kBAAkB,EAAE,eAAe,EACnC,cAAc,EAAE,WAAW,GAC5B,EAAE,kBAAkB,qBAkBpB;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Checkbox.js","names":["React","_interopRequireWildcard","require","_Checkbox","_interopRequireDefault","_FormControlLabel","_FormGroup","_jsxRuntime","_excluded","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Checkbox","exports","forwardRef","_ref","ref","checked","onChange","label","disabled","indeterminate","inputProps","sx","rest","cb","jsx","size","slotProps","padding","outline","outlineOffset","control","margin","fontSize","CheckboxGroup","_ref2","_ref2$row","row","children","_ref2$role","role","id","ariaLabel","ariaLabelledby","ariaDescribedby","ariaInvalid","gap","_default"],"sources":["../../../src/lib/v2/components/Checkbox.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiCheckbox from \"@mui/material/Checkbox\";\r\nimport type { CheckboxProps as MuiCheckboxProps } from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormGroup from \"@mui/material/FormGroup\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Checkbox - Portnet UI v2\r\n *\r\n * <Checkbox checked={v} onChange={e => set(e.target.checked)} label=\"Accepter\" />\r\n *\r\n * For groups:\r\n * <CheckboxGroup>\r\n * <Checkbox label=\"Option A\" />\r\n * <Checkbox label=\"Option B\" />\r\n * </CheckboxGroup>\r\n *\r\n * MUI v9 surface notes (audit Batch 2 external):\r\n * The public `inputProps` is routed internally to slotProps.input -\r\n * MUI v9 idiomatic location for native <input/> attributes on Checkbox.\r\n * `inputProps` was deprecated in v6 and REMOVED in v9, so it is no longer\r\n * inherited from MuiCheckboxProps and must be re-declared here. The canonical\r\n * MUI v5 idiom `<Checkbox inputProps={{ 'aria-label': '...' }}/>`\r\n * would silently lose the aria contract without this routing.\r\n * Consumer code passing `inputProps={...}` to v2.Checkbox is unchanged.\r\n */\r\nexport interface CheckboxProps extends MuiCheckboxProps {\r\n label?: React.ReactNode;\r\n /** Native <input> attributes. Routed to slotProps.input (v9). */\r\n inputProps?: React.InputHTMLAttributes<HTMLInputElement>;\r\n}\r\n\r\nexport const Checkbox = React.forwardRef<React.ComponentRef<typeof MuiCheckbox>, CheckboxProps>(function Checkbox(\r\n { checked, onChange, label, disabled, indeterminate, inputProps, sx, ...rest },\r\n ref,\r\n) {\r\n const cb = (\r\n <MuiCheckbox\r\n ref={ref}\r\n checked={!!checked}\r\n onChange={onChange}\r\n disabled={disabled}\r\n indeterminate={indeterminate}\r\n size=\"small\"\r\n // MUI v9: Checkbox inputProps -> slotProps.input. Emitted\r\n // conditionally so we don't pass `slotProps={{ input: undefined }}`\r\n // when the consumer supplies nothing (strict-mode bundler hygiene).\r\n slotProps={inputProps ? { input: inputProps } : undefined}\r\n sx={{\r\n padding: \"6px\",\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n if (!label) return cb;\r\n return (\r\n <FormControlLabel\r\n control={cb}\r\n label={label}\r\n disabled={disabled}\r\n sx={{\r\n margin: 0,\r\n \"& .MuiFormControlLabel-label\": { fontSize: \"var(--text-sm, 13px)\" },\r\n }}\r\n />\r\n );\r\n});\r\n\r\n/**\r\n * CheckboxGroup - Portnet UI v2\r\n *\r\n * Layout + semantics container for a set of related checkboxes. row=false\r\n * (default) stacks vertically with a small gap; row=true lays out horizontally\r\n * with a larger gap.\r\n *\r\n * A11y (CC-6): renders an ARIA `role=\"group\"` and forwards an explicit set of\r\n * grouping attributes (id / aria-label / aria-labelledby / aria-describedby /\r\n * aria-invalid) so a wrapping <Field label group> can name and describe the\r\n * whole group. Field also broadcasts error/disabled/fullWidth into its child;\r\n * those are intentionally NOT forwarded here (they are not valid on a div and\r\n * do not apply to a layout group). Pass `role`/`aria-label` explicitly to name\r\n * the group when used outside <Field>.\r\n */\r\nexport interface CheckboxGroupProps {\r\n row?: boolean;\r\n children?: React.ReactNode;\r\n sx?: SxProps<Theme>;\r\n /** ARIA role for the container (default \"group\"). */\r\n role?: React.AriaRole;\r\n id?: string;\r\n \"aria-label\"?: string;\r\n \"aria-labelledby\"?: string;\r\n \"aria-describedby\"?: string;\r\n \"aria-invalid\"?: React.AriaAttributes[\"aria-invalid\"];\r\n}\r\n\r\nexport function CheckboxGroup({\r\n row = false,\r\n children,\r\n sx,\r\n role = \"group\",\r\n id,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledby,\r\n \"aria-describedby\": ariaDescribedby,\r\n \"aria-invalid\": ariaInvalid,\r\n}: CheckboxGroupProps) {\r\n return (\r\n <FormGroup\r\n row={row}\r\n role={role}\r\n id={id}\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledby}\r\n aria-describedby={ariaDescribedby}\r\n aria-invalid={ariaInvalid}\r\n sx={{\r\n gap: row ? 2 : \"var(--s-1)\",\r\n ...sx,\r\n }}\r\n >\r\n {children}\r\n </FormGroup>\r\n );\r\n}\r\n\r\nexport default Checkbox;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Checkbox.js","names":["React","_interopRequireWildcard","require","_Checkbox","_interopRequireDefault","_FormControlLabel","_FormGroup","_jsxRuntime","_excluded","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Checkbox","exports","forwardRef","_ref","ref","checked","onChange","label","disabled","indeterminate","inputProps","sx","rest","cb","jsx","size","slotProps","padding","outline","outlineOffset","control","margin","fontSize","CheckboxGroup","_ref2","_ref2$row","row","children","_ref2$role","role","id","ariaLabel","ariaLabelledby","ariaDescribedby","ariaInvalid","gap","_default"],"sources":["../../../src/lib/v2/components/Checkbox.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiCheckbox from \"@mui/material/Checkbox\";\r\nimport type { CheckboxProps as MuiCheckboxProps } from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport FormGroup from \"@mui/material/FormGroup\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Checkbox - Portnet UI v2\r\n *\r\n * <Checkbox checked={v} onChange={e => set(e.target.checked)} label=\"Accepter\" />\r\n *\r\n * For groups:\r\n * <CheckboxGroup>\r\n * <Checkbox label=\"Option A\" />\r\n * <Checkbox label=\"Option B\" />\r\n * </CheckboxGroup>\r\n *\r\n * MUI v9 surface notes (audit Batch 2 external):\r\n * The public `inputProps` is routed internally to slotProps.input -\r\n * MUI v9 idiomatic location for native <input/> attributes on Checkbox.\r\n * `inputProps` was deprecated in v6 and REMOVED in v9, so it is no longer\r\n * inherited from MuiCheckboxProps and must be re-declared here. The canonical\r\n * MUI v5 idiom `<Checkbox inputProps={{ 'aria-label': '...' }}/>`\r\n * would silently lose the aria contract without this routing.\r\n * Consumer code passing `inputProps={...}` to v2.Checkbox is unchanged.\r\n */\r\nexport interface CheckboxProps extends MuiCheckboxProps {\r\n label?: React.ReactNode | undefined;\r\n /** Native <input> attributes. Routed to slotProps.input (v9). */\r\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;\r\n}\r\n\r\nexport const Checkbox = React.forwardRef<React.ComponentRef<typeof MuiCheckbox>, CheckboxProps>(function Checkbox(\r\n { checked, onChange, label, disabled, indeterminate, inputProps, sx, ...rest },\r\n ref,\r\n) {\r\n const cb = (\r\n <MuiCheckbox\r\n ref={ref}\r\n checked={!!checked}\r\n onChange={onChange}\r\n disabled={disabled}\r\n indeterminate={indeterminate}\r\n size=\"small\"\r\n // MUI v9: Checkbox inputProps -> slotProps.input. Emitted\r\n // conditionally so we don't pass `slotProps={{ input: undefined }}`\r\n // when the consumer supplies nothing (strict-mode bundler hygiene).\r\n slotProps={inputProps ? { input: inputProps } : undefined}\r\n sx={{\r\n padding: \"6px\",\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n if (!label) return cb;\r\n return (\r\n <FormControlLabel\r\n control={cb}\r\n label={label}\r\n disabled={disabled}\r\n sx={{\r\n margin: 0,\r\n \"& .MuiFormControlLabel-label\": { fontSize: \"var(--text-sm, 13px)\" },\r\n }}\r\n />\r\n );\r\n});\r\n\r\n/**\r\n * CheckboxGroup - Portnet UI v2\r\n *\r\n * Layout + semantics container for a set of related checkboxes. row=false\r\n * (default) stacks vertically with a small gap; row=true lays out horizontally\r\n * with a larger gap.\r\n *\r\n * A11y (CC-6): renders an ARIA `role=\"group\"` and forwards an explicit set of\r\n * grouping attributes (id / aria-label / aria-labelledby / aria-describedby /\r\n * aria-invalid) so a wrapping <Field label group> can name and describe the\r\n * whole group. Field also broadcasts error/disabled/fullWidth into its child;\r\n * those are intentionally NOT forwarded here (they are not valid on a div and\r\n * do not apply to a layout group). Pass `role`/`aria-label` explicitly to name\r\n * the group when used outside <Field>.\r\n */\r\nexport interface CheckboxGroupProps {\r\n row?: boolean | undefined;\r\n children?: React.ReactNode | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n /** ARIA role for the container (default \"group\"). */\r\n role?: React.AriaRole | undefined;\r\n id?: string | undefined;\r\n \"aria-label\"?: string | undefined;\r\n \"aria-labelledby\"?: string | undefined;\r\n \"aria-describedby\"?: string | undefined;\r\n \"aria-invalid\"?: React.AriaAttributes[\"aria-invalid\"] | undefined;\r\n}\r\n\r\nexport function CheckboxGroup({\r\n row = false,\r\n children,\r\n sx,\r\n role = \"group\",\r\n id,\r\n \"aria-label\": ariaLabel,\r\n \"aria-labelledby\": ariaLabelledby,\r\n \"aria-describedby\": ariaDescribedby,\r\n \"aria-invalid\": ariaInvalid,\r\n}: CheckboxGroupProps) {\r\n return (\r\n <FormGroup\r\n row={row}\r\n role={role}\r\n id={id}\r\n aria-label={ariaLabel}\r\n aria-labelledby={ariaLabelledby}\r\n aria-describedby={ariaDescribedby}\r\n aria-invalid={ariaInvalid}\r\n sx={{\r\n gap: row ? 2 : \"var(--s-1)\",\r\n ...sx,\r\n }}\r\n >\r\n {children}\r\n </FormGroup>\r\n );\r\n}\r\n\r\nexport default Checkbox;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -32,16 +32,16 @@ import type { ChipProps as MuiChipProps } from "@mui/material/Chip";
|
|
|
32
32
|
* for the same action.
|
|
33
33
|
*/
|
|
34
34
|
export interface ChipLabels {
|
|
35
|
-
remove?: (text: string) => string;
|
|
36
|
-
removeFallback?: string;
|
|
35
|
+
remove?: ((text: string) => string) | undefined;
|
|
36
|
+
removeFallback?: string | undefined;
|
|
37
37
|
}
|
|
38
38
|
export interface ChipProps extends Omit<MuiChipProps, "label" | "size" | "onDelete" | "deleteIcon" | "children"> {
|
|
39
|
-
active?: boolean;
|
|
40
|
-
removable?: boolean;
|
|
41
|
-
onRemove?: MuiChipProps["onDelete"];
|
|
42
|
-
size?: "sm" | "md";
|
|
43
|
-
labels?: ChipLabels;
|
|
44
|
-
children?: React.ReactNode;
|
|
39
|
+
active?: boolean | undefined;
|
|
40
|
+
removable?: boolean | undefined;
|
|
41
|
+
onRemove?: MuiChipProps["onDelete"] | undefined;
|
|
42
|
+
size?: "sm" | "md" | undefined;
|
|
43
|
+
labels?: ChipLabels | undefined;
|
|
44
|
+
children?: React.ReactNode | undefined;
|
|
45
45
|
}
|
|
46
46
|
declare function Chip({ active, removable, onRemove, size, labels, children, sx, ...rest }: ChipProps): React.JSX.Element;
|
|
47
47
|
export default Chip;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"Chip.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Chip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,SAAS,IAAI,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIpE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,WAAW,UAAU;IACzB,MAAM,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IAChD,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC;AAED,MAAM,WAAW,SACf,SAAQ,IAAI,CAAC,YAAY,EAAE,OAAO,GAAG,MAAM,GAAG,UAAU,GAAG,YAAY,GAAG,UAAU,CAAC;IACrF,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B,SAAS,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,YAAY,CAAC,UAAU,CAAC,GAAG,SAAS,CAAC;IAChD,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;IAC/B,MAAM,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAChC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;CACxC;AAoBD,iBAAS,IAAI,CAAC,EACZ,MAAc,EACd,SAAiB,EACjB,QAAQ,EACR,IAAW,EACX,MAAM,EACN,QAAQ,EACR,EAAE,EACF,GAAG,IAAI,EACR,EAAE,SAAS,qBA8CX;AAED,eAAe,IAAI,CAAC"}
|
|
@@ -8,6 +8,7 @@ exports["default"] = void 0;
|
|
|
8
8
|
var React = _interopRequireWildcard(require("react"));
|
|
9
9
|
var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
|
|
10
10
|
var _Close = _interopRequireDefault(require("@mui/icons-material/Close"));
|
|
11
|
+
var _mergeLabels = require("../utils/mergeLabels");
|
|
11
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
13
|
var _excluded = ["active", "removable", "onRemove", "size", "labels", "children", "sx"];
|
|
13
14
|
/**
|
|
@@ -83,7 +84,7 @@ function Chip(_ref) {
|
|
|
83
84
|
sx = _ref.sx,
|
|
84
85
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
85
86
|
var L = React.useMemo(function () {
|
|
86
|
-
return
|
|
87
|
+
return (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
|
|
87
88
|
}, [labels]);
|
|
88
89
|
|
|
89
90
|
// R-Ar.2 - derive a meaningful aria-label for the delete trigger.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.js","names":["React","_interopRequireWildcard","require","_Chip","_interopRequireDefault","_Close","_jsxRuntime","_excluded","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","DEFAULT_LABELS","freeze","remove","text","concat","removeFallback","extractText","node","Array","isArray","map","join","trim","isValidElement","props","children","Chip","_ref","_ref$active","active","_ref$removable","removable","onRemove","_ref$size","size","labels","sx","rest","L","useMemo","removeLabel","deleteIconNode","jsx","style","display","alignItems","fontSize","label","onDelete","deleteIcon","backgroundColor","color","fontWeight","border","_default","exports"],"sources":["../../../src/lib/v2/components/Chip.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport type { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\n\r\n/**\r\n * Chip - Portnet UI v2\r\n *\r\n * Generic filter / tag chip.\r\n * For workflow status, use <Status> instead - its colour palette is canonical.\r\n *\r\n * <Chip>Importateur</Chip>\r\n * <Chip active>Actif</Chip>\r\n * <Chip removable onRemove={() => …}>Banque · BMCE</Chip>\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <Chip removable\r\n * labels={{\r\n * remove: (text) => `Remove ${text}`,\r\n * removeFallback: \"Remove this filter\",\r\n * }}>\r\n * Bank · BMCE\r\n * </Chip>\r\n *\r\n * A11y note (R-Ar.2):\r\n * When `removable`, the delete trigger gets a derived aria-label\r\n * (\"Retirer X\" by default, or whatever `labels.remove(text)`\r\n * returns) so SR users hear a meaningful name instead of MUI's\r\n * default rendering (\"delete\" English / unnamed icon button).\r\n *\r\n * Keyboard delete is supported at the chip level (the chip itself is\r\n * focusable; Backspace / Delete fires onDelete per MUI Chip\r\n * semantics). The custom delete handle is therefore intentionally\r\n * non-focusable - duplicating focus on it would create two tab-stops\r\n * for the same action.\r\n */\r\n\r\nexport interface ChipLabels {\r\n remove?: (text: string) => string;\r\n removeFallback?: string;\r\n}\r\n\r\nexport interface ChipProps\r\n extends Omit<MuiChipProps, \"label\" | \"size\" | \"onDelete\" | \"deleteIcon\" | \"children\"> {\r\n active?: boolean;\r\n removable?: boolean;\r\n onRemove?: MuiChipProps[\"onDelete\"];\r\n size?: \"sm\" | \"md\";\r\n labels?: ChipLabels;\r\n children?: React.ReactNode;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n remove: (text: string): string => `Retirer ${text}`,\r\n removeFallback: \"Retirer ce filtre\",\r\n});\r\n\r\n// Best-effort plain-text extraction from a chip's children. Used to\r\n// build the delete-button aria-label. Falls back gracefully when the\r\n// children are non-text (e.g. an Avatar or a complex JSX tree).\r\nfunction extractText(node: React.ReactNode): string {\r\n if (node == null || node === false) return \"\";\r\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\r\n if (Array.isArray(node)) return node.map(extractText).join(\" \").trim();\r\n if (React.isValidElement(node)) {\r\n return extractText((node.props as { children?: React.ReactNode }).children);\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction Chip({\r\n active = false,\r\n removable = false,\r\n onRemove,\r\n size = \"md\",\r\n labels,\r\n children,\r\n sx,\r\n ...rest\r\n}: ChipProps) {\r\n const L = React.useMemo(\r\n () => (labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS),\r\n [labels]\r\n );\r\n\r\n // R-Ar.2 - derive a meaningful aria-label for the delete trigger.\r\n const removeLabel = React.useMemo(() => {\r\n if (!removable) return undefined;\r\n const text = extractText(children).trim();\r\n return text ? L.remove(text) : L.removeFallback;\r\n }, [removable, children, L]);\r\n\r\n // Plain aria-labeled span. MuiChip clones onClick onto it (turning\r\n // it into the delete trigger). NOT focusable on its own - keyboard\r\n // delete works via the chip itself (Backspace/Delete on focused chip\r\n // fires onDelete per MUI Chip semantics).\r\n const deleteIconNode = removable ? (\r\n <span\r\n aria-label={removeLabel}\r\n style={{ display: \"inline-flex\", alignItems: \"center\" }}\r\n >\r\n <CloseIcon fontSize=\"small\" aria-hidden=\"true\" />\r\n </span>\r\n ) : undefined;\r\n\r\n return (\r\n <MuiChip\r\n label={children}\r\n size={size === \"sm\" ? \"small\" : \"medium\"}\r\n onDelete={removable ? onRemove : undefined}\r\n deleteIcon={deleteIconNode}\r\n sx={{\r\n backgroundColor: active ? \"var(--accent-soft)\" : \"var(--bg-subtle)\",\r\n color: active ? \"var(--accent)\" : \"var(--fg-muted)\",\r\n fontWeight: active ? \"var(--fw-semibold, 600)\" : \"var(--fw-medium, 500)\",\r\n border: active ? \"1px solid var(--accent)\" : \"1px solid var(--border)\",\r\n \"& .MuiChip-deleteIcon\": {\r\n color: \"var(--fg-subtle)\",\r\n \"&:hover\": { color: \"var(--danger)\" },\r\n },\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n}\r\n\r\nexport default Chip;\r\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAC,sBAAA,CAAAF,OAAA;AAEA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,OAAA;AAAkD,IAAAI,WAAA,GAAAJ,OAAA;AAAA,IAAAK,SAAA;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA9BA,SAAAH,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAV,wBAAAO,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,IAAAwB,eAAA,CAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAM,gBAAAxC,GAAA,EAAAgB,GAAA,EAAA2B,KAAA,IAAA3B,GAAA,GAAA4B,cAAA,CAAA5B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA2B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAA9C,GAAA,CAAAgB,GAAA,IAAA2B,KAAA,WAAA3C,GAAA;AAAA,SAAA4C,eAAAG,GAAA,QAAA/B,GAAA,GAAAgC,YAAA,CAAAD,GAAA,oBAAAxC,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAAiC,MAAA,CAAAjC,GAAA;AAAA,SAAAgC,aAAAE,KAAA,EAAAC,IAAA,QAAA5C,OAAA,CAAA2C,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAjC,IAAA,CAAA+B,KAAA,EAAAC,IAAA,oBAAA5C,OAAA,CAAAiD,GAAA,uBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAAA,SAAAS,yBAAArB,MAAA,EAAAsB,QAAA,QAAAtB,MAAA,yBAAAJ,MAAA,GAAA2B,6BAAA,CAAAvB,MAAA,EAAAsB,QAAA,OAAA5C,GAAA,EAAAmB,CAAA,MAAAtB,MAAA,CAAAa,qBAAA,QAAAoC,gBAAA,GAAAjD,MAAA,CAAAa,qBAAA,CAAAY,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAA2B,gBAAA,CAAAzB,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAA8C,gBAAA,CAAA3B,CAAA,OAAAyB,QAAA,CAAAG,OAAA,CAAA/C,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAA+C,oBAAA,CAAA7C,IAAA,CAAAmB,MAAA,EAAAtB,GAAA,aAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,cAAAkB,MAAA;AAAA,SAAA2B,8BAAAvB,MAAA,EAAAsB,QAAA,QAAAtB,MAAA,yBAAAJ,MAAA,WAAA+B,UAAA,GAAApD,MAAA,CAAAY,IAAA,CAAAa,MAAA,OAAAtB,GAAA,EAAAmB,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAA8B,UAAA,CAAA5B,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAAiD,UAAA,CAAA9B,CAAA,OAAAyB,QAAA,CAAAG,OAAA,CAAA/C,GAAA,kBAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,YAAAkB,MAAA;AA+CA,IAAMgC,cAAc,GAAGrD,MAAM,CAACsD,MAAM,CAAC;EACnCC,MAAM,EAAU,SAAAA,OAACC,IAAY;IAAA,kBAAAC,MAAA,CAAwBD,IAAI;EAAA,CAAE;EAC3DE,cAAc,EAAE;AAClB,CAAC,CAAC;;AAEF;AACA;AACA;AACA,SAASC,WAAWA,CAACC,IAAqB,EAAU;EAClD,IAAIA,IAAI,IAAI,IAAI,IAAIA,IAAI,KAAK,KAAK,EAAE,OAAO,EAAE;EAC7C,IAAI,OAAOA,IAAI,KAAK,QAAQ,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE,OAAOxB,MAAM,CAACwB,IAAI,CAAC;EAC7E,IAAIC,KAAK,CAACC,OAAO,CAACF,IAAI,CAAC,EAAE,OAAOA,IAAI,CAACG,GAAG,CAACJ,WAAW,CAAC,CAACK,IAAI,CAAC,GAAG,CAAC,CAACC,IAAI,CAAC,CAAC;EACtE,iBAAItF,KAAK,CAACuF,cAAc,CAACN,IAAI,CAAC,EAAE;IAC9B,OAAOD,WAAW,CAAEC,IAAI,CAACO,KAAK,CAAoCC,QAAQ,CAAC;EAC7E;EACA,OAAO,EAAE;AACX;AAEA,SAASC,IAAIA,CAAAC,IAAA,EASC;EAAA,IAAAC,WAAA,GAAAD,IAAA,CARZE,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IAAAE,cAAA,GAAAH,IAAA,CACdI,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,KAAK,GAAAA,cAAA;IACjBE,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IAAAC,SAAA,GAAAN,IAAA,CACRO,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,IAAI,GAAAA,SAAA;IACXE,MAAM,GAAAR,IAAA,CAANQ,MAAM;IACNV,QAAQ,GAAAE,IAAA,CAARF,QAAQ;IACRW,EAAE,GAAAT,IAAA,CAAFS,EAAE;IACCC,IAAI,GAAAlC,wBAAA,CAAAwB,IAAA,EAAApF,SAAA;EAEP,IAAM+F,CAAC,GAAGtG,KAAK,CAACuG,OAAO,CACrB;IAAA,OAAOJ,MAAM,GAAA1D,aAAA,CAAAA,aAAA,KAAQiC,cAAc,GAAKyB,MAAM,IAAKzB,cAAc;EAAA,CAAC,EAClE,CAACyB,MAAM,CACT,CAAC;;EAED;EACA,IAAMK,WAAW,GAAGxG,KAAK,CAACuG,OAAO,CAAC,YAAM;IACtC,IAAI,CAACR,SAAS,EAAE,OAAOhC,SAAS;IAChC,IAAMc,IAAI,GAAGG,WAAW,CAACS,QAAQ,CAAC,CAACH,IAAI,CAAC,CAAC;IACzC,OAAOT,IAAI,GAAGyB,CAAC,CAAC1B,MAAM,CAACC,IAAI,CAAC,GAAGyB,CAAC,CAACvB,cAAc;EACjD,CAAC,EAAE,CAACgB,SAAS,EAAEN,QAAQ,EAAEa,CAAC,CAAC,CAAC;;EAE5B;EACA;EACA;EACA;EACA,IAAMG,cAAc,GAAGV,SAAS,gBAC9B,IAAAzF,WAAA,CAAAoG,GAAA;IACE,cAAYF,WAAY;IACxBG,KAAK,EAAE;MAAEC,OAAO,EAAE,aAAa;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAApB,QAAA,eAExD,IAAAnF,WAAA,CAAAoG,GAAA,EAACrG,MAAA,WAAS;MAACyG,QAAQ,EAAC,OAAO;MAAC,eAAY;IAAM,CAAE;EAAC,CAC7C,CAAC,GACL/C,SAAS;EAEb,oBACE,IAAAzD,WAAA,CAAAoG,GAAA,EAACvG,KAAA,WAAO,EAAAsC,aAAA;IACNsE,KAAK,EAAEtB,QAAS;IAChBS,IAAI,EAAEA,IAAI,KAAK,IAAI,GAAG,OAAO,GAAG,QAAS;IACzCc,QAAQ,EAAEjB,SAAS,GAAGC,QAAQ,GAAGjC,SAAU;IAC3CkD,UAAU,EAAER,cAAe;IAC3BL,EAAE,EAAA3D,aAAA;MACAyE,eAAe,EAAErB,MAAM,GAAG,oBAAoB,GAAG,kBAAkB;MACnEsB,KAAK,EAAEtB,MAAM,GAAG,eAAe,GAAG,iBAAiB;MACnDuB,UAAU,EAAEvB,MAAM,GAAG,yBAAyB,GAAG,uBAAuB;MACxEwB,MAAM,EAAExB,MAAM,GAAG,yBAAyB,GAAG,yBAAyB;MACtE,uBAAuB,EAAE;QACvBsB,KAAK,EAAE,kBAAkB;QACzB,SAAS,EAAE;UAAEA,KAAK,EAAE;QAAgB;MACtC;IAAC,GACEf,EAAE;EACL,GACEC,IAAI,CACT,CAAC;AAEN;AAAC,IAAAiB,QAAA,GAAAC,OAAA,cAEc7B,IAAI","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Chip.js","names":["React","_interopRequireWildcard","require","_Chip","_interopRequireDefault","_Close","_mergeLabels","_jsxRuntime","_excluded","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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","DEFAULT_LABELS","freeze","remove","text","concat","removeFallback","extractText","node","Array","isArray","map","join","trim","isValidElement","props","children","Chip","_ref","_ref$active","active","_ref$removable","removable","onRemove","_ref$size","size","labels","sx","rest","L","useMemo","mergeLabels","removeLabel","deleteIconNode","jsx","style","display","alignItems","fontSize","label","onDelete","deleteIcon","backgroundColor","color","fontWeight","border","_default","exports"],"sources":["../../../src/lib/v2/components/Chip.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport type { ChipProps as MuiChipProps } from \"@mui/material/Chip\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Chip - Portnet UI v2\r\n *\r\n * Generic filter / tag chip.\r\n * For workflow status, use <Status> instead - its colour palette is canonical.\r\n *\r\n * <Chip>Importateur</Chip>\r\n * <Chip active>Actif</Chip>\r\n * <Chip removable onRemove={() => …}>Banque · BMCE</Chip>\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <Chip removable\r\n * labels={{\r\n * remove: (text) => `Remove ${text}`,\r\n * removeFallback: \"Remove this filter\",\r\n * }}>\r\n * Bank · BMCE\r\n * </Chip>\r\n *\r\n * A11y note (R-Ar.2):\r\n * When `removable`, the delete trigger gets a derived aria-label\r\n * (\"Retirer X\" by default, or whatever `labels.remove(text)`\r\n * returns) so SR users hear a meaningful name instead of MUI's\r\n * default rendering (\"delete\" English / unnamed icon button).\r\n *\r\n * Keyboard delete is supported at the chip level (the chip itself is\r\n * focusable; Backspace / Delete fires onDelete per MUI Chip\r\n * semantics). The custom delete handle is therefore intentionally\r\n * non-focusable - duplicating focus on it would create two tab-stops\r\n * for the same action.\r\n */\r\n\r\nexport interface ChipLabels {\r\n remove?: ((text: string) => string) | undefined;\r\n removeFallback?: string | undefined;\r\n}\r\n\r\nexport interface ChipProps\r\n extends Omit<MuiChipProps, \"label\" | \"size\" | \"onDelete\" | \"deleteIcon\" | \"children\"> {\r\n active?: boolean | undefined;\r\n removable?: boolean | undefined;\r\n onRemove?: MuiChipProps[\"onDelete\"] | undefined;\r\n size?: \"sm\" | \"md\" | undefined;\r\n labels?: ChipLabels | undefined;\r\n children?: React.ReactNode | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n remove: (text: string): string => `Retirer ${text}`,\r\n removeFallback: \"Retirer ce filtre\",\r\n});\r\n\r\n// Best-effort plain-text extraction from a chip's children. Used to\r\n// build the delete-button aria-label. Falls back gracefully when the\r\n// children are non-text (e.g. an Avatar or a complex JSX tree).\r\nfunction extractText(node: React.ReactNode): string {\r\n if (node == null || node === false) return \"\";\r\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\r\n if (Array.isArray(node)) return node.map(extractText).join(\" \").trim();\r\n if (React.isValidElement(node)) {\r\n return extractText((node.props as { children?: React.ReactNode }).children);\r\n }\r\n return \"\";\r\n}\r\n\r\nfunction Chip({\r\n active = false,\r\n removable = false,\r\n onRemove,\r\n size = \"md\",\r\n labels,\r\n children,\r\n sx,\r\n ...rest\r\n}: ChipProps) {\r\n const L = React.useMemo(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n\r\n // R-Ar.2 - derive a meaningful aria-label for the delete trigger.\r\n const removeLabel = React.useMemo(() => {\r\n if (!removable) return undefined;\r\n const text = extractText(children).trim();\r\n return text ? L.remove(text) : L.removeFallback;\r\n }, [removable, children, L]);\r\n\r\n // Plain aria-labeled span. MuiChip clones onClick onto it (turning\r\n // it into the delete trigger). NOT focusable on its own - keyboard\r\n // delete works via the chip itself (Backspace/Delete on focused chip\r\n // fires onDelete per MUI Chip semantics).\r\n const deleteIconNode = removable ? (\r\n <span\r\n aria-label={removeLabel}\r\n style={{ display: \"inline-flex\", alignItems: \"center\" }}\r\n >\r\n <CloseIcon fontSize=\"small\" aria-hidden=\"true\" />\r\n </span>\r\n ) : undefined;\r\n\r\n return (\r\n <MuiChip\r\n label={children}\r\n size={size === \"sm\" ? \"small\" : \"medium\"}\r\n onDelete={removable ? onRemove : undefined}\r\n deleteIcon={deleteIconNode}\r\n sx={{\r\n backgroundColor: active ? \"var(--accent-soft)\" : \"var(--bg-subtle)\",\r\n color: active ? \"var(--accent)\" : \"var(--fg-muted)\",\r\n fontWeight: active ? \"var(--fw-semibold, 600)\" : \"var(--fw-medium, 500)\",\r\n border: active ? \"1px solid var(--accent)\" : \"1px solid var(--border)\",\r\n \"& .MuiChip-deleteIcon\": {\r\n color: \"var(--fg-subtle)\",\r\n \"&:hover\": { color: \"var(--danger)\" },\r\n },\r\n ...sx,\r\n }}\r\n {...rest}\r\n />\r\n );\r\n}\r\n\r\nexport default Chip;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -82,9 +82,9 @@ import type { SxProps, Theme } from "@mui/material/styles";
|
|
|
82
82
|
export type ComboboxOptionValue = string | number | boolean;
|
|
83
83
|
export interface ComboboxOption {
|
|
84
84
|
value: ComboboxOptionValue;
|
|
85
|
-
label?: React.ReactNode;
|
|
86
|
-
group?: string;
|
|
87
|
-
helper?: React.ReactNode;
|
|
85
|
+
label?: React.ReactNode | undefined;
|
|
86
|
+
group?: string | undefined;
|
|
87
|
+
helper?: React.ReactNode | undefined;
|
|
88
88
|
}
|
|
89
89
|
/**
|
|
90
90
|
* Loose-but-honest value union used for BOTH the `value` input and the
|
|
@@ -94,12 +94,12 @@ export interface ComboboxOption {
|
|
|
94
94
|
*/
|
|
95
95
|
export type ComboboxValue = ComboboxOptionValue | ComboboxOption | null | Array<ComboboxOptionValue | ComboboxOption>;
|
|
96
96
|
export interface ComboboxLabels {
|
|
97
|
-
noOptions?: string;
|
|
98
|
-
loading?: string;
|
|
99
|
-
clear?: string;
|
|
100
|
-
close?: string;
|
|
101
|
-
open?: string;
|
|
102
|
-
placeholder?: string;
|
|
97
|
+
noOptions?: string | undefined;
|
|
98
|
+
loading?: string | undefined;
|
|
99
|
+
clear?: string | undefined;
|
|
100
|
+
close?: string | undefined;
|
|
101
|
+
open?: string | undefined;
|
|
102
|
+
placeholder?: string | undefined;
|
|
103
103
|
}
|
|
104
104
|
/**
|
|
105
105
|
* The option generic handed to MUI Autocomplete. It must admit raw
|
|
@@ -110,24 +110,24 @@ export interface ComboboxLabels {
|
|
|
110
110
|
type ComboboxItem = ComboboxOption | ComboboxOptionValue;
|
|
111
111
|
type MuiACProps = AutocompleteProps<ComboboxItem, boolean, false, boolean>;
|
|
112
112
|
export interface ComboboxProps extends Omit<MuiACProps, "value" | "onChange" | "options" | "multiple" | "freeSolo" | "renderInput" | "renderTags" | "renderOption" | "getOptionLabel" | "isOptionEqualToValue" | "groupBy" | "filterOptions" | "onInputChange" | "loading" | "disabled" | "fullWidth" | "sx" | "ref"> {
|
|
113
|
-
value?: ComboboxValue;
|
|
114
|
-
onChange?: (value: ComboboxValue) => void;
|
|
115
|
-
options?: Array<string | ComboboxOption
|
|
116
|
-
multiple?: boolean;
|
|
117
|
-
freeSolo?: boolean;
|
|
118
|
-
placeholder?: string;
|
|
119
|
-
disabled?: boolean;
|
|
120
|
-
error?: boolean;
|
|
121
|
-
fullWidth?: boolean;
|
|
122
|
-
loading?: boolean;
|
|
123
|
-
groupBy?: (option: ComboboxItem) => string;
|
|
124
|
-
getOptionLabel?: (option: ComboboxItem) => string;
|
|
125
|
-
isOptionEqualToValue?: (option: ComboboxItem, value: ComboboxItem) => boolean;
|
|
126
|
-
filterOptions?: MuiACProps["filterOptions"];
|
|
127
|
-
renderOption?: MuiACProps["renderOption"];
|
|
128
|
-
onInputChange?: MuiACProps["onInputChange"];
|
|
129
|
-
labels?: ComboboxLabels;
|
|
130
|
-
sx?: SxProps<Theme
|
|
113
|
+
value?: ComboboxValue | undefined;
|
|
114
|
+
onChange?: ((value: ComboboxValue) => void) | undefined;
|
|
115
|
+
options?: Array<string | ComboboxOption> | undefined;
|
|
116
|
+
multiple?: boolean | undefined;
|
|
117
|
+
freeSolo?: boolean | undefined;
|
|
118
|
+
placeholder?: string | undefined;
|
|
119
|
+
disabled?: boolean | undefined;
|
|
120
|
+
error?: boolean | undefined;
|
|
121
|
+
fullWidth?: boolean | undefined;
|
|
122
|
+
loading?: boolean | undefined;
|
|
123
|
+
groupBy?: ((option: ComboboxItem) => string) | undefined;
|
|
124
|
+
getOptionLabel?: ((option: ComboboxItem) => string) | undefined;
|
|
125
|
+
isOptionEqualToValue?: ((option: ComboboxItem, value: ComboboxItem) => boolean) | undefined;
|
|
126
|
+
filterOptions?: MuiACProps["filterOptions"] | undefined;
|
|
127
|
+
renderOption?: MuiACProps["renderOption"] | undefined;
|
|
128
|
+
onInputChange?: MuiACProps["onInputChange"] | undefined;
|
|
129
|
+
labels?: ComboboxLabels | undefined;
|
|
130
|
+
sx?: SxProps<Theme> | undefined;
|
|
131
131
|
}
|
|
132
132
|
declare const Combobox: React.ForwardRefExoticComponent<ComboboxProps & React.RefAttributes<HTMLDivElement>>;
|
|
133
133
|
export default Combobox;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Combobox.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,iBAAiB,EAAiC,MAAM,4BAA4B,CAAC;AAKnG,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"Combobox.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Combobox.tsx"],"names":[],"mappings":"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"}
|
|
@@ -11,6 +11,7 @@ var _TextField = _interopRequireDefault(require("@mui/material/TextField"));
|
|
|
11
11
|
var _Chip = _interopRequireDefault(require("@mui/material/Chip"));
|
|
12
12
|
var _CircularProgress = _interopRequireDefault(require("@mui/material/CircularProgress"));
|
|
13
13
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
14
|
+
var _mergeLabels = require("../utils/mergeLabels");
|
|
14
15
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
15
16
|
var _excluded = ["value", "onChange", "options", "multiple", "freeSolo", "placeholder", "disabled", "error", "fullWidth", "loading", "groupBy", "getOptionLabel", "isOptionEqualToValue", "filterOptions", "renderOption", "onInputChange", "labels", "sx", "aria-describedby", "aria-invalid", "aria-required"];
|
|
16
17
|
/**
|
|
@@ -106,12 +107,12 @@ var _excluded = ["value", "onChange", "options", "multiple", "freeSolo", "placeh
|
|
|
106
107
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
107
108
|
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); }
|
|
108
109
|
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; }
|
|
109
|
-
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); }
|
|
110
110
|
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; }
|
|
111
111
|
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; }
|
|
112
112
|
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; }
|
|
113
113
|
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
114
114
|
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); }
|
|
115
|
+
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); }
|
|
115
116
|
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
116
117
|
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
117
118
|
/**
|
|
@@ -177,7 +178,7 @@ var Combobox = /*#__PURE__*/React.forwardRef(function Combobox(_ref, ref) {
|
|
|
177
178
|
ariaInvalid = _ref["aria-invalid"],
|
|
178
179
|
ariaRequired = _ref["aria-required"],
|
|
179
180
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
180
|
-
var L =
|
|
181
|
+
var L = (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
|
|
181
182
|
// Legacy `placeholder` prop wins over labels.placeholder.
|
|
182
183
|
var effectivePlaceholder = placeholder !== null && placeholder !== void 0 ? placeholder : L.placeholder;
|
|
183
184
|
var normalised = React.useMemo(function () {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Combobox.js","names":["_react","_interopRequireWildcard","require","React","_Autocomplete","_interopRequireDefault","_TextField","_Chip","_CircularProgress","_Box","_jsxRuntime","_excluded","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","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","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","AutocompleteWithTags","MuiAutocomplete","DEFAULT_LABELS","freeze","noOptions","loading","clear","close","open","placeholder","normaliseOption","o","label","Combobox","forwardRef","_ref","ref","onChange","_ref$options","options","_ref$multiple","multiple","_ref$freeSolo","freeSolo","disabled","error","_ref$fullWidth","fullWidth","_ref$loading","groupBy","getOptionLabel","isOptionEqualToValue","filterOptions","renderOption","onInputChange","labels","sx","ariaDescribedBy","ariaInvalid","ariaRequired","rest","L","effectivePlaceholder","normalised","useMemo","map","autoGroupBy","some","group","labelOf","useCallback","_ref2","_obj$label","eqOf","opt","val","a","b","handleChange","_event","next","arr","Array","isArray","out","n","_value","_value2","single","resolvedValue","v","find","anyHelper","helper","effectiveRenderOption","props","option","optValue","optionKey","createElement","jsxs","display","flexDirection","paddingY","minWidth","children","jsx","component","fontSize","color","lineHeight","noOptionsText","loadingText","clearText","closeText","openText","size","renderTags","values","getTagProps","index","rawVal","tagKey","height","paddingInline","renderInput","params","_params$slotProps","_params$slotProps$inp","_params$slotProps2","_params$slotProps$htm","_params$slotProps3","paramsSlotProps","slotProps","inputSlot","htmlInput","endAdornment","Fragment","role","marginRight","_default","exports"],"sources":["../../../src/lib/v2/components/Combobox.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiAutocomplete from \"@mui/material/Autocomplete\";\r\nimport type { AutocompleteProps, AutocompleteRenderGetTagProps } from \"@mui/material/Autocomplete\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Combobox — Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Combobox / Autocomplete\". Required by R-Sel.1\r\n * for any Select with > 30 options.\r\n *\r\n * Single:\r\n * <Field label=\"Pays\">\r\n * <Combobox\r\n * value={country}\r\n * onChange={setCountry}\r\n * options={countries} // strings or {value,label}\r\n * />\r\n * </Field>\r\n *\r\n * Multi (with helper text per option):\r\n * <Field label=\"Régime\">\r\n * <Combobox\r\n * value={regime}\r\n * onChange={setRegime}\r\n * options={[\r\n * { value: \"atpa\", label: \"ATPA\",\r\n * helper: \"Admission Temporaire avec Paiement\" },\r\n * { value: \"atpf\", label: \"ATPF\",\r\n * helper: \"Admission Temporaire en Franchise\" },\r\n * ]}\r\n * />\r\n * </Field>\r\n *\r\n * Async (server-side filter):\r\n * const [input, setInput] = useState(\"\");\r\n * const [opts, setOpts] = useState([]);\r\n * const [loading, setLoading] = useState(false);\r\n * useEffect(() => {\r\n * const t = setTimeout(() => {\r\n * setLoading(true);\r\n * fetch(`/api/companies?q=${input}`)\r\n * .then(r => r.json()).then(setOpts)\r\n * .finally(() => setLoading(false));\r\n * }, 250);\r\n * return () => clearTimeout(t);\r\n * }, [input]);\r\n *\r\n * <Combobox\r\n * value={company}\r\n * onChange={setCompany}\r\n * onInputChange={(_, v) => setInput(v)}\r\n * options={opts}\r\n * loading={loading}\r\n * filterOptions={(x) => x} // disable client-side filter\r\n * />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <Combobox labels={{\r\n * noOptions: \"No results\",\r\n * loading: \"Loading…\",\r\n * clear: \"Clear\",\r\n * close: \"Close\",\r\n * open: \"Open\",\r\n * placeholder: \"Select…\",\r\n * }} />\r\n *\r\n * Defaults are French; partial overrides are merged onto the defaults.\r\n *\r\n * A11y:\r\n * - Built on MuiAutocomplete (full WAI-ARIA combobox pattern).\r\n * - When option.helper is present, it is rendered visually AND\r\n * becomes part of the option's accessible name (so screen-reader\r\n * users hear \"ATPA, Admission Temporaire avec Paiement\" when\r\n * navigating).\r\n * - Loading spinner is decorative (aria-hidden); the listbox already\r\n * announces \"Chargement…\" via the loadingText prop.\r\n * - COMBO-1: Field-injected aria-describedby / aria-invalid / aria-required\r\n * are threaded onto the native <input> via renderInput's htmlInput slot.\r\n * MUI spreads unknown top-level props onto the Autocomplete ROOT, so\r\n * without this the error association / invalid state would never reach\r\n * the combobox input for screen-reader users.\r\n */\r\n\r\nexport type ComboboxOptionValue = string | number | boolean;\r\n\r\nexport interface ComboboxOption {\r\n value: ComboboxOptionValue;\r\n label?: React.ReactNode;\r\n group?: string;\r\n helper?: React.ReactNode;\r\n}\r\n\r\n/**\r\n * Loose-but-honest value union used for BOTH the `value` input and the\r\n * `onChange` output, matching the any-based JS: callers may pass bare\r\n * values or option objects (single or array), and onChange re-emits bare\r\n * values (objects unwrapped to their `.value`).\r\n */\r\nexport type ComboboxValue =\r\n | ComboboxOptionValue\r\n | ComboboxOption\r\n | null\r\n | Array<ComboboxOptionValue | ComboboxOption>;\r\n\r\nexport interface ComboboxLabels {\r\n noOptions?: string;\r\n loading?: string;\r\n clear?: string;\r\n close?: string;\r\n open?: string;\r\n placeholder?: string;\r\n}\r\n\r\n/**\r\n * The option generic handed to MUI Autocomplete. It must admit raw\r\n * primitive values (not just option objects) because resolvedValue and\r\n * handleChange deliberately round-trip bare values (a numeric id stored\r\n * by FormikCombobox, a freeSolo string, etc.).\r\n */\r\ntype ComboboxItem = ComboboxOption | ComboboxOptionValue;\r\ntype MuiACProps = AutocompleteProps<ComboboxItem, boolean, false, boolean>;\r\n\r\n/**\r\n * MuiAutocomplete instantiated with `Multiple: boolean` (not a literal) lets\r\n * value/onChange's conditional types distribute naturally into `T | T[]`,\r\n * which is exactly what this component needs to handle both modes at\r\n * runtime from one implementation. MUI's `renderTags`, however, disappears\r\n * from the props type entirely under this instantiation (TS2339) — and,\r\n * per this MUI version, doesn't reappear even when explicitly instantiated\r\n * with the literal `Multiple = true` (TS2344: \"renderTags\" doesn't satisfy\r\n * `keyof AutocompleteProps<..., true, ...>` either). Rather than depend on\r\n * MUI's exact (apparently unstable across instantiations) type surface for\r\n * this one field, declare its shape ourselves — it matches exactly how the\r\n * callback is invoked below (values.map + getTagProps({ index })), and the\r\n * real runtime Autocomplete accepts renderTags regardless of the Multiple\r\n * type param.\r\n *\r\n * Defined once at module scope (not inside the component) so the cast\r\n * doesn't mint a new component identity on every render — that would make\r\n * React unmount/remount the Autocomplete on every parent re-render and drop\r\n * focus/open-state.\r\n */\r\nconst AutocompleteWithTags = MuiAutocomplete as unknown as React.ForwardRefExoticComponent<\r\n MuiACProps & {\r\n renderTags?: (\r\n value: ComboboxItem[],\r\n getTagProps: AutocompleteRenderGetTagProps\r\n ) => React.ReactNode;\r\n } & React.RefAttributes<HTMLDivElement>\r\n>;\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n noOptions: \"Aucun résultat\",\r\n loading: \"Chargement…\",\r\n clear: \"Effacer\",\r\n close: \"Fermer\",\r\n open: \"Ouvrir\",\r\n placeholder: \"Sélectionner…\",\r\n});\r\n\r\nconst normaliseOption = (o: string | ComboboxOption): ComboboxOption =>\r\n typeof o === \"string\" ? { value: o, label: o } : o;\r\n\r\nexport interface ComboboxProps\r\n extends Omit<\r\n MuiACProps,\r\n | \"value\"\r\n | \"onChange\"\r\n | \"options\"\r\n | \"multiple\"\r\n | \"freeSolo\"\r\n | \"renderInput\"\r\n | \"renderTags\"\r\n | \"renderOption\"\r\n | \"getOptionLabel\"\r\n | \"isOptionEqualToValue\"\r\n | \"groupBy\"\r\n | \"filterOptions\"\r\n | \"onInputChange\"\r\n | \"loading\"\r\n | \"disabled\"\r\n | \"fullWidth\"\r\n | \"sx\"\r\n // AutocompleteProps carries its own loosely-typed `ref` (Ref<unknown>,\r\n // for its polymorphic root support) that isn't the \"real\" ref for this\r\n // component. Exclude it here so it never enters ComboboxProps as an\r\n // inherited field — the actual ref (RefAttributes<HTMLDivElement>) comes\r\n // from this component's own React.forwardRef below. Without this,\r\n // Omit<ComboboxProps, ...>-based prop types (e.g. FormikComboboxProps)\r\n // silently carry the stray ref through into their ...rest spreads.\r\n | \"ref\"\r\n > {\r\n value?: ComboboxValue;\r\n onChange?: (value: ComboboxValue) => void;\r\n options?: Array<string | ComboboxOption>;\r\n multiple?: boolean;\r\n freeSolo?: boolean;\r\n placeholder?: string;\r\n disabled?: boolean;\r\n error?: boolean;\r\n fullWidth?: boolean;\r\n loading?: boolean;\r\n groupBy?: (option: ComboboxItem) => string;\r\n getOptionLabel?: (option: ComboboxItem) => string;\r\n isOptionEqualToValue?: (option: ComboboxItem, value: ComboboxItem) => boolean;\r\n filterOptions?: MuiACProps[\"filterOptions\"];\r\n renderOption?: MuiACProps[\"renderOption\"];\r\n onInputChange?: MuiACProps[\"onInputChange\"];\r\n labels?: ComboboxLabels;\r\n sx?: SxProps<Theme>;\r\n}\r\n\r\nconst Combobox = React.forwardRef<HTMLDivElement, ComboboxProps>(function Combobox(\r\n {\r\n value,\r\n onChange,\r\n options = [],\r\n multiple = false,\r\n freeSolo = false,\r\n placeholder,\r\n disabled,\r\n error,\r\n fullWidth = true,\r\n loading = false,\r\n groupBy,\r\n getOptionLabel,\r\n isOptionEqualToValue,\r\n filterOptions,\r\n renderOption,\r\n onInputChange,\r\n labels,\r\n sx,\r\n // COMBO-1 — pulled out of ...rest so they DON'T land on the Autocomplete\r\n // root; threaded onto the native <input> in renderInput below.\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const L = labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS;\r\n // Legacy `placeholder` prop wins over labels.placeholder.\r\n const effectivePlaceholder = placeholder ?? L.placeholder;\r\n\r\n const normalised = React.useMemo(() => options.map(normaliseOption), [options]);\r\n\r\n // Default groupBy — uses option.group if any option has one.\r\n const autoGroupBy = React.useMemo((): ((option: ComboboxItem) => string) | undefined => {\r\n if (groupBy) return groupBy;\r\n if (normalised.some((o) => o && typeof o === \"object\" && o.group)) {\r\n return (o: ComboboxItem): string => (o && typeof o === \"object\" ? o.group || \"\" : \"\");\r\n }\r\n return undefined;\r\n }, [normalised, groupBy]);\r\n\r\n const labelOf = React.useCallback(\r\n (o: ComboboxItem): string => {\r\n if (getOptionLabel) return getOptionLabel(o);\r\n if (o == null) return \"\";\r\n if (typeof o === \"string\") return o;\r\n const obj = o as ComboboxOption;\r\n return String(obj.label ?? obj.value ?? \"\");\r\n },\r\n [getOptionLabel]\r\n );\r\n\r\n const eqOf = React.useCallback(\r\n (opt: ComboboxItem, val: unknown): boolean => {\r\n if (isOptionEqualToValue) return isOptionEqualToValue(opt, val as ComboboxItem);\r\n if (opt == null || val == null) return opt === val;\r\n const a = typeof opt === \"string\" ? opt : (opt as ComboboxOption).value;\r\n // B-eq: primitives (numbers, booleans) are compared as-is.\r\n // Previously `val.value` for a non-string, non-object value\r\n // (e.g. a numeric id stored by FormikCombobox via setFieldValue)\r\n // resolved to undefined, so the lookup never matched and the\r\n // selected option was never visually reflected after picking.\r\n const b =\r\n typeof val === \"string\" ? val\r\n : (val !== null && typeof val === \"object\") ? (val as { value?: unknown }).value\r\n : val; // number, boolean, etc. — use the primitive directly\r\n return a === b;\r\n },\r\n [isOptionEqualToValue]\r\n );\r\n\r\n const handleChange = (\r\n _event: React.SyntheticEvent,\r\n next: ComboboxItem | ComboboxItem[] | null\r\n ): void => {\r\n if (!onChange) return;\r\n // Re-emit raw value(s) — strings stay strings, objects get unwrapped to\r\n // their `.value` so callers don't have to deal with the option shape.\r\n if (multiple) {\r\n const arr = Array.isArray(next) ? next : [];\r\n const out = arr.map((n) => (typeof n === \"string\" ? n : (n as ComboboxOption).value ?? n));\r\n onChange(out);\r\n return;\r\n }\r\n if (next == null) {\r\n onChange(null);\r\n } else {\r\n const single = next as ComboboxItem;\r\n onChange(typeof single === \"string\" ? single : (single as ComboboxOption).value ?? single);\r\n }\r\n };\r\n\r\n // Resolve raw value(s) back to option objects so MUI Autocomplete can\r\n // display labels properly.\r\n const resolvedValue = React.useMemo(() => {\r\n if (multiple) {\r\n const arr = Array.isArray(value) ? value : [];\r\n return arr.map(\r\n (v) =>\r\n normalised.find((o) => eqOf(o, v)) ||\r\n (typeof v === \"string\" ? { value: v, label: v } : v)\r\n );\r\n }\r\n if (value == null || value === \"\") return null;\r\n return (\r\n normalised.find((o) => eqOf(o, value)) ||\r\n (typeof value === \"string\" ? { value, label: value } : (value as ComboboxItem))\r\n );\r\n }, [value, normalised, multiple, eqOf]);\r\n\r\n // Auto-render helper text when at least one option has one. Hosts can\r\n // override entirely by passing their own renderOption.\r\n const anyHelper = normalised.some(\r\n (o) => o && typeof o === \"object\" && o.helper != null && o.helper !== \"\"\r\n );\r\n const effectiveRenderOption: MuiACProps[\"renderOption\"] = React.useMemo(() => {\r\n if (renderOption) return renderOption;\r\n if (!anyHelper) return undefined;\r\n // MUI Autocomplete passes (props, option, state) — `props` already\r\n // carries the correct <li> role/id/aria-selected. We render the\r\n // option content inside it; the helper line is in-flow text so it\r\n // becomes part of the option's accessible name automatically.\r\n return (props: React.HTMLAttributes<HTMLLIElement>, option: ComboboxItem): React.ReactNode => {\r\n const label = labelOf(option);\r\n const helper = option && typeof option === \"object\" ? option.helper : null;\r\n const optValue = typeof option === \"object\" && option !== null ? option.value : undefined;\r\n const optionKey: React.Key =\r\n optValue == null ? label\r\n : typeof optValue === \"boolean\" ? String(optValue)\r\n : optValue;\r\n return (\r\n <li {...props} key={optionKey}>\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", paddingY: 0.25, minWidth: 0 }}>\r\n <Box component=\"span\" sx={{ fontSize: \"var(--text-sm)\", color: \"var(--fg)\" }}>\r\n {label}\r\n </Box>\r\n {helper && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n }}\r\n >\r\n {helper}\r\n </Box>\r\n )}\r\n </Box>\r\n </li>\r\n );\r\n };\r\n }, [renderOption, anyHelper, labelOf]);\r\n\r\n return (\r\n <AutocompleteWithTags\r\n ref={ref}\r\n multiple={multiple}\r\n freeSolo={freeSolo}\r\n disabled={disabled}\r\n fullWidth={fullWidth}\r\n value={resolvedValue}\r\n onChange={handleChange}\r\n onInputChange={onInputChange}\r\n options={normalised}\r\n loading={loading}\r\n groupBy={autoGroupBy}\r\n getOptionLabel={labelOf}\r\n isOptionEqualToValue={eqOf}\r\n filterOptions={filterOptions}\r\n renderOption={effectiveRenderOption}\r\n noOptionsText={L.noOptions}\r\n loadingText={L.loading}\r\n clearText={L.clear}\r\n closeText={L.close}\r\n openText={L.open}\r\n size=\"small\"\r\n renderTags={(values: ComboboxItem[], getTagProps: AutocompleteRenderGetTagProps) =>\r\n values.map((option: ComboboxItem, index: number) => {\r\n const rawVal =\r\n typeof option === \"object\" && option !== null ? option.value : option;\r\n const tagKey: React.Key =\r\n rawVal == null ? index\r\n : typeof rawVal === \"boolean\" ? String(rawVal)\r\n : rawVal;\r\n return (\r\n <MuiChip\r\n {...getTagProps({ index })}\r\n key={tagKey}\r\n size=\"small\"\r\n label={labelOf(option)}\r\n sx={{\r\n height: 22,\r\n \"& .MuiChip-label\": { paddingInline: 1, fontSize: 12 },\r\n }}\r\n />\r\n );\r\n })\r\n }\r\n renderInput={(params) => {\r\n // MUI v9: the bag passed to renderInput carries the input slot props\r\n // at `params.slotProps.input` AND — crucially — the input element ref\r\n // at `params.slotProps.htmlInput.ref`, which MUI's Autocomplete\r\n // focuses on click. We must NOT rebuild slotProps from scratch (that\r\n // drops htmlInput → MUI focuses null → \"Cannot read properties of null\r\n // (reading 'focus')\"). Instead, spread the whole params.slotProps and\r\n // only override the input slot's endAdornment. inputSlot is annotated\r\n // as { endAdornment? } so the runtime spread still forwards htmlInput.\r\n // params.InputProps was the pre-v9 TextField prop, fully replaced by\r\n // params.slotProps.input — no longer exists on AutocompleteRenderInputParams.\r\n const paramsSlotProps = params.slotProps ?? {};\r\n const inputSlot: { endAdornment?: React.ReactNode } =\r\n params.slotProps?.input ?? {};\r\n return (\r\n <TextField\r\n {...params}\r\n placeholder={effectivePlaceholder}\r\n error={!!error}\r\n slotProps={{\r\n ...paramsSlotProps,\r\n // COMBO-1 — merge Field's aria onto the native <input>. Spread\r\n // MUI's existing htmlInput FIRST to keep its ref + combobox aria\r\n // (role/aria-expanded/aria-controls/aria-activedescendant); add\r\n // ours only when defined (exactOptionalPropertyTypes-safe).\r\n htmlInput: {\r\n ...(params.slotProps?.htmlInput ?? {}),\r\n ...(ariaDescribedBy != null ? { \"aria-describedby\": ariaDescribedBy } : {}),\r\n ...(ariaInvalid != null ? { \"aria-invalid\": ariaInvalid } : {}),\r\n ...(ariaRequired != null ? { \"aria-required\": ariaRequired } : {}),\r\n },\r\n input: {\r\n ...inputSlot,\r\n endAdornment: (\r\n <>\r\n {/* R-Ar.3 — decorative spinner. The listbox already announces\r\n via the loadingText prop; making the spinner a second\r\n progressbar in the AT tree would just create duplicate\r\n noise. */}\r\n {loading ? (\r\n <CircularProgress\r\n size={14}\r\n aria-hidden=\"true\"\r\n role=\"presentation\"\r\n sx={{ marginRight: 0.5 }}\r\n />\r\n ) : null}\r\n {inputSlot.endAdornment}\r\n </>\r\n ),\r\n },\r\n }}\r\n />\r\n );\r\n }}\r\n sx={sx}\r\n {...rest}\r\n />\r\n );\r\n});\r\n\r\nexport default Combobox;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Combobox.js","names":["_react","_interopRequireWildcard","require","React","_Autocomplete","_interopRequireDefault","_TextField","_Chip","_CircularProgress","_Box","_mergeLabels","_jsxRuntime","_excluded","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","iterator","constructor","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","AutocompleteWithTags","MuiAutocomplete","DEFAULT_LABELS","freeze","noOptions","loading","clear","close","open","placeholder","normaliseOption","o","label","Combobox","forwardRef","_ref","ref","onChange","_ref$options","options","_ref$multiple","multiple","_ref$freeSolo","freeSolo","disabled","error","_ref$fullWidth","fullWidth","_ref$loading","groupBy","getOptionLabel","isOptionEqualToValue","filterOptions","renderOption","onInputChange","labels","sx","ariaDescribedBy","ariaInvalid","ariaRequired","rest","L","mergeLabels","effectivePlaceholder","normalised","useMemo","map","autoGroupBy","some","group","labelOf","useCallback","_ref2","_obj$label","eqOf","opt","val","a","b","handleChange","_event","next","arr","Array","isArray","out","n","_value","_value2","single","resolvedValue","v","find","anyHelper","helper","effectiveRenderOption","props","option","optValue","optionKey","createElement","jsxs","display","flexDirection","paddingY","minWidth","children","jsx","component","fontSize","color","lineHeight","noOptionsText","loadingText","clearText","closeText","openText","size","renderTags","values","getTagProps","index","rawVal","tagKey","height","paddingInline","renderInput","params","_params$slotProps","_params$slotProps$inp","_params$slotProps2","_params$slotProps$htm","_params$slotProps3","paramsSlotProps","slotProps","inputSlot","htmlInput","endAdornment","Fragment","role","marginRight","_default","exports"],"sources":["../../../src/lib/v2/components/Combobox.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiAutocomplete from \"@mui/material/Autocomplete\";\r\nimport type { AutocompleteProps, AutocompleteRenderGetTagProps } from \"@mui/material/Autocomplete\";\r\nimport TextField from \"@mui/material/TextField\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport CircularProgress from \"@mui/material/CircularProgress\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Combobox — Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Combobox / Autocomplete\". Required by R-Sel.1\r\n * for any Select with > 30 options.\r\n *\r\n * Single:\r\n * <Field label=\"Pays\">\r\n * <Combobox\r\n * value={country}\r\n * onChange={setCountry}\r\n * options={countries} // strings or {value,label}\r\n * />\r\n * </Field>\r\n *\r\n * Multi (with helper text per option):\r\n * <Field label=\"Régime\">\r\n * <Combobox\r\n * value={regime}\r\n * onChange={setRegime}\r\n * options={[\r\n * { value: \"atpa\", label: \"ATPA\",\r\n * helper: \"Admission Temporaire avec Paiement\" },\r\n * { value: \"atpf\", label: \"ATPF\",\r\n * helper: \"Admission Temporaire en Franchise\" },\r\n * ]}\r\n * />\r\n * </Field>\r\n *\r\n * Async (server-side filter):\r\n * const [input, setInput] = useState(\"\");\r\n * const [opts, setOpts] = useState([]);\r\n * const [loading, setLoading] = useState(false);\r\n * useEffect(() => {\r\n * const t = setTimeout(() => {\r\n * setLoading(true);\r\n * fetch(`/api/companies?q=${input}`)\r\n * .then(r => r.json()).then(setOpts)\r\n * .finally(() => setLoading(false));\r\n * }, 250);\r\n * return () => clearTimeout(t);\r\n * }, [input]);\r\n *\r\n * <Combobox\r\n * value={company}\r\n * onChange={setCompany}\r\n * onInputChange={(_, v) => setInput(v)}\r\n * options={opts}\r\n * loading={loading}\r\n * filterOptions={(x) => x} // disable client-side filter\r\n * />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <Combobox labels={{\r\n * noOptions: \"No results\",\r\n * loading: \"Loading…\",\r\n * clear: \"Clear\",\r\n * close: \"Close\",\r\n * open: \"Open\",\r\n * placeholder: \"Select…\",\r\n * }} />\r\n *\r\n * Defaults are French; partial overrides are merged onto the defaults.\r\n *\r\n * A11y:\r\n * - Built on MuiAutocomplete (full WAI-ARIA combobox pattern).\r\n * - When option.helper is present, it is rendered visually AND\r\n * becomes part of the option's accessible name (so screen-reader\r\n * users hear \"ATPA, Admission Temporaire avec Paiement\" when\r\n * navigating).\r\n * - Loading spinner is decorative (aria-hidden); the listbox already\r\n * announces \"Chargement…\" via the loadingText prop.\r\n * - COMBO-1: Field-injected aria-describedby / aria-invalid / aria-required\r\n * are threaded onto the native <input> via renderInput's htmlInput slot.\r\n * MUI spreads unknown top-level props onto the Autocomplete ROOT, so\r\n * without this the error association / invalid state would never reach\r\n * the combobox input for screen-reader users.\r\n */\r\n\r\nexport type ComboboxOptionValue = string | number | boolean;\r\n\r\nexport interface ComboboxOption {\r\n value: ComboboxOptionValue;\r\n label?: React.ReactNode | undefined;\r\n group?: string | undefined;\r\n helper?: React.ReactNode | undefined;\r\n}\r\n\r\n/**\r\n * Loose-but-honest value union used for BOTH the `value` input and the\r\n * `onChange` output, matching the any-based JS: callers may pass bare\r\n * values or option objects (single or array), and onChange re-emits bare\r\n * values (objects unwrapped to their `.value`).\r\n */\r\nexport type ComboboxValue =\r\n | ComboboxOptionValue\r\n | ComboboxOption\r\n | null\r\n | Array<ComboboxOptionValue | ComboboxOption>;\r\n\r\nexport interface ComboboxLabels {\r\n noOptions?: string | undefined;\r\n loading?: string | undefined;\r\n clear?: string | undefined;\r\n close?: string | undefined;\r\n open?: string | undefined;\r\n placeholder?: string | undefined;\r\n}\r\n\r\n/**\r\n * The option generic handed to MUI Autocomplete. It must admit raw\r\n * primitive values (not just option objects) because resolvedValue and\r\n * handleChange deliberately round-trip bare values (a numeric id stored\r\n * by FormikCombobox, a freeSolo string, etc.).\r\n */\r\ntype ComboboxItem = ComboboxOption | ComboboxOptionValue;\r\ntype MuiACProps = AutocompleteProps<ComboboxItem, boolean, false, boolean>;\r\n\r\n/**\r\n * MuiAutocomplete instantiated with `Multiple: boolean` (not a literal) lets\r\n * value/onChange's conditional types distribute naturally into `T | T[]`,\r\n * which is exactly what this component needs to handle both modes at\r\n * runtime from one implementation. MUI's `renderTags`, however, disappears\r\n * from the props type entirely under this instantiation (TS2339) — and,\r\n * per this MUI version, doesn't reappear even when explicitly instantiated\r\n * with the literal `Multiple = true` (TS2344: \"renderTags\" doesn't satisfy\r\n * `keyof AutocompleteProps<..., true, ...>` either). Rather than depend on\r\n * MUI's exact (apparently unstable across instantiations) type surface for\r\n * this one field, declare its shape ourselves — it matches exactly how the\r\n * callback is invoked below (values.map + getTagProps({ index })), and the\r\n * real runtime Autocomplete accepts renderTags regardless of the Multiple\r\n * type param.\r\n *\r\n * Defined once at module scope (not inside the component) so the cast\r\n * doesn't mint a new component identity on every render — that would make\r\n * React unmount/remount the Autocomplete on every parent re-render and drop\r\n * focus/open-state.\r\n */\r\nconst AutocompleteWithTags = MuiAutocomplete as unknown as React.ForwardRefExoticComponent<\r\n MuiACProps & {\r\n renderTags?: (\r\n value: ComboboxItem[],\r\n getTagProps: AutocompleteRenderGetTagProps\r\n ) => React.ReactNode;\r\n } & React.RefAttributes<HTMLDivElement>\r\n>;\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n noOptions: \"Aucun résultat\",\r\n loading: \"Chargement…\",\r\n clear: \"Effacer\",\r\n close: \"Fermer\",\r\n open: \"Ouvrir\",\r\n placeholder: \"Sélectionner…\",\r\n});\r\n\r\nconst normaliseOption = (o: string | ComboboxOption): ComboboxOption =>\r\n typeof o === \"string\" ? { value: o, label: o } : o;\r\n\r\nexport interface ComboboxProps\r\n extends Omit<\r\n MuiACProps,\r\n | \"value\"\r\n | \"onChange\"\r\n | \"options\"\r\n | \"multiple\"\r\n | \"freeSolo\"\r\n | \"renderInput\"\r\n | \"renderTags\"\r\n | \"renderOption\"\r\n | \"getOptionLabel\"\r\n | \"isOptionEqualToValue\"\r\n | \"groupBy\"\r\n | \"filterOptions\"\r\n | \"onInputChange\"\r\n | \"loading\"\r\n | \"disabled\"\r\n | \"fullWidth\"\r\n | \"sx\"\r\n // AutocompleteProps carries its own loosely-typed `ref` (Ref<unknown>,\r\n // for its polymorphic root support) that isn't the \"real\" ref for this\r\n // component. Exclude it here so it never enters ComboboxProps as an\r\n // inherited field — the actual ref (RefAttributes<HTMLDivElement>) comes\r\n // from this component's own React.forwardRef below. Without this,\r\n // Omit<ComboboxProps, ...>-based prop types (e.g. FormikComboboxProps)\r\n // silently carry the stray ref through into their ...rest spreads.\r\n | \"ref\"\r\n > {\r\n value?: ComboboxValue | undefined;\r\n onChange?: ((value: ComboboxValue) => void) | undefined;\r\n options?: Array<string | ComboboxOption> | undefined;\r\n multiple?: boolean | undefined;\r\n freeSolo?: boolean | undefined;\r\n placeholder?: string | undefined;\r\n disabled?: boolean | undefined;\r\n error?: boolean | undefined;\r\n fullWidth?: boolean | undefined;\r\n loading?: boolean | undefined;\r\n groupBy?: ((option: ComboboxItem) => string) | undefined;\r\n getOptionLabel?: ((option: ComboboxItem) => string) | undefined;\r\n isOptionEqualToValue?: ((option: ComboboxItem, value: ComboboxItem) => boolean) | undefined;\r\n filterOptions?: MuiACProps[\"filterOptions\"] | undefined;\r\n renderOption?: MuiACProps[\"renderOption\"] | undefined;\r\n onInputChange?: MuiACProps[\"onInputChange\"] | undefined;\r\n labels?: ComboboxLabels | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst Combobox = React.forwardRef<HTMLDivElement, ComboboxProps>(function Combobox(\r\n {\r\n value,\r\n onChange,\r\n options = [],\r\n multiple = false,\r\n freeSolo = false,\r\n placeholder,\r\n disabled,\r\n error,\r\n fullWidth = true,\r\n loading = false,\r\n groupBy,\r\n getOptionLabel,\r\n isOptionEqualToValue,\r\n filterOptions,\r\n renderOption,\r\n onInputChange,\r\n labels,\r\n sx,\r\n // COMBO-1 — pulled out of ...rest so they DON'T land on the Autocomplete\r\n // root; threaded onto the native <input> in renderInput below.\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n ...rest\r\n },\r\n ref\r\n) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n // Legacy `placeholder` prop wins over labels.placeholder.\r\n const effectivePlaceholder = placeholder ?? L.placeholder;\r\n\r\n const normalised = React.useMemo(() => options.map(normaliseOption), [options]);\r\n\r\n // Default groupBy — uses option.group if any option has one.\r\n const autoGroupBy = React.useMemo((): ((option: ComboboxItem) => string) | undefined => {\r\n if (groupBy) return groupBy;\r\n if (normalised.some((o) => o && typeof o === \"object\" && o.group)) {\r\n return (o: ComboboxItem): string => (o && typeof o === \"object\" ? o.group || \"\" : \"\");\r\n }\r\n return undefined;\r\n }, [normalised, groupBy]);\r\n\r\n const labelOf = React.useCallback(\r\n (o: ComboboxItem): string => {\r\n if (getOptionLabel) return getOptionLabel(o);\r\n if (o == null) return \"\";\r\n if (typeof o === \"string\") return o;\r\n const obj = o as ComboboxOption;\r\n return String(obj.label ?? obj.value ?? \"\");\r\n },\r\n [getOptionLabel]\r\n );\r\n\r\n const eqOf = React.useCallback(\r\n (opt: ComboboxItem, val: unknown): boolean => {\r\n if (isOptionEqualToValue) return isOptionEqualToValue(opt, val as ComboboxItem);\r\n if (opt == null || val == null) return opt === val;\r\n const a = typeof opt === \"string\" ? opt : (opt as ComboboxOption).value;\r\n // B-eq: primitives (numbers, booleans) are compared as-is.\r\n // Previously `val.value` for a non-string, non-object value\r\n // (e.g. a numeric id stored by FormikCombobox via setFieldValue)\r\n // resolved to undefined, so the lookup never matched and the\r\n // selected option was never visually reflected after picking.\r\n const b =\r\n typeof val === \"string\" ? val\r\n : (val !== null && typeof val === \"object\") ? (val as { value?: unknown }).value\r\n : val; // number, boolean, etc. — use the primitive directly\r\n return a === b;\r\n },\r\n [isOptionEqualToValue]\r\n );\r\n\r\n const handleChange = (\r\n _event: React.SyntheticEvent,\r\n next: ComboboxItem | ComboboxItem[] | null\r\n ): void => {\r\n if (!onChange) return;\r\n // Re-emit raw value(s) — strings stay strings, objects get unwrapped to\r\n // their `.value` so callers don't have to deal with the option shape.\r\n if (multiple) {\r\n const arr = Array.isArray(next) ? next : [];\r\n const out = arr.map((n) => (typeof n === \"string\" ? n : (n as ComboboxOption).value ?? n));\r\n onChange(out);\r\n return;\r\n }\r\n if (next == null) {\r\n onChange(null);\r\n } else {\r\n const single = next as ComboboxItem;\r\n onChange(typeof single === \"string\" ? single : (single as ComboboxOption).value ?? single);\r\n }\r\n };\r\n\r\n // Resolve raw value(s) back to option objects so MUI Autocomplete can\r\n // display labels properly.\r\n const resolvedValue = React.useMemo(() => {\r\n if (multiple) {\r\n const arr = Array.isArray(value) ? value : [];\r\n return arr.map(\r\n (v) =>\r\n normalised.find((o) => eqOf(o, v)) ||\r\n (typeof v === \"string\" ? { value: v, label: v } : v)\r\n );\r\n }\r\n if (value == null || value === \"\") return null;\r\n return (\r\n normalised.find((o) => eqOf(o, value)) ||\r\n (typeof value === \"string\" ? { value, label: value } : (value as ComboboxItem))\r\n );\r\n }, [value, normalised, multiple, eqOf]);\r\n\r\n // Auto-render helper text when at least one option has one. Hosts can\r\n // override entirely by passing their own renderOption.\r\n const anyHelper = normalised.some(\r\n (o) => o && typeof o === \"object\" && o.helper != null && o.helper !== \"\"\r\n );\r\n const effectiveRenderOption: MuiACProps[\"renderOption\"] = React.useMemo(() => {\r\n if (renderOption) return renderOption;\r\n if (!anyHelper) return undefined;\r\n // MUI Autocomplete passes (props, option, state) — `props` already\r\n // carries the correct <li> role/id/aria-selected. We render the\r\n // option content inside it; the helper line is in-flow text so it\r\n // becomes part of the option's accessible name automatically.\r\n return (props: React.HTMLAttributes<HTMLLIElement>, option: ComboboxItem): React.ReactNode => {\r\n const label = labelOf(option);\r\n const helper = option && typeof option === \"object\" ? option.helper : null;\r\n const optValue = typeof option === \"object\" && option !== null ? option.value : undefined;\r\n const optionKey: React.Key =\r\n optValue == null ? label\r\n : typeof optValue === \"boolean\" ? String(optValue)\r\n : optValue;\r\n return (\r\n <li {...props} key={optionKey}>\r\n <Box sx={{ display: \"flex\", flexDirection: \"column\", paddingY: 0.25, minWidth: 0 }}>\r\n <Box component=\"span\" sx={{ fontSize: \"var(--text-sm)\", color: \"var(--fg)\" }}>\r\n {label}\r\n </Box>\r\n {helper && (\r\n <Box\r\n component=\"span\"\r\n sx={{\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n }}\r\n >\r\n {helper}\r\n </Box>\r\n )}\r\n </Box>\r\n </li>\r\n );\r\n };\r\n }, [renderOption, anyHelper, labelOf]);\r\n\r\n return (\r\n <AutocompleteWithTags\r\n ref={ref}\r\n multiple={multiple}\r\n freeSolo={freeSolo}\r\n disabled={disabled}\r\n fullWidth={fullWidth}\r\n value={resolvedValue}\r\n onChange={handleChange}\r\n onInputChange={onInputChange}\r\n options={normalised}\r\n loading={loading}\r\n groupBy={autoGroupBy}\r\n getOptionLabel={labelOf}\r\n isOptionEqualToValue={eqOf}\r\n filterOptions={filterOptions}\r\n renderOption={effectiveRenderOption}\r\n noOptionsText={L.noOptions}\r\n loadingText={L.loading}\r\n clearText={L.clear}\r\n closeText={L.close}\r\n openText={L.open}\r\n size=\"small\"\r\n renderTags={(values: ComboboxItem[], getTagProps: AutocompleteRenderGetTagProps) =>\r\n values.map((option: ComboboxItem, index: number) => {\r\n const rawVal =\r\n typeof option === \"object\" && option !== null ? option.value : option;\r\n const tagKey: React.Key =\r\n rawVal == null ? index\r\n : typeof rawVal === \"boolean\" ? String(rawVal)\r\n : rawVal;\r\n return (\r\n <MuiChip\r\n {...getTagProps({ index })}\r\n key={tagKey}\r\n size=\"small\"\r\n label={labelOf(option)}\r\n sx={{\r\n height: 22,\r\n \"& .MuiChip-label\": { paddingInline: 1, fontSize: 12 },\r\n }}\r\n />\r\n );\r\n })\r\n }\r\n renderInput={(params) => {\r\n // MUI v9: the bag passed to renderInput carries the input slot props\r\n // at `params.slotProps.input` AND — crucially — the input element ref\r\n // at `params.slotProps.htmlInput.ref`, which MUI's Autocomplete\r\n // focuses on click. We must NOT rebuild slotProps from scratch (that\r\n // drops htmlInput → MUI focuses null → \"Cannot read properties of null\r\n // (reading 'focus')\"). Instead, spread the whole params.slotProps and\r\n // only override the input slot's endAdornment. inputSlot is annotated\r\n // as { endAdornment? } so the runtime spread still forwards htmlInput.\r\n // params.InputProps was the pre-v9 TextField prop, fully replaced by\r\n // params.slotProps.input — no longer exists on AutocompleteRenderInputParams.\r\n const paramsSlotProps = params.slotProps ?? {};\r\n const inputSlot: { endAdornment?: React.ReactNode } =\r\n params.slotProps?.input ?? {};\r\n return (\r\n <TextField\r\n {...params}\r\n placeholder={effectivePlaceholder}\r\n error={!!error}\r\n slotProps={{\r\n ...paramsSlotProps,\r\n // COMBO-1 — merge Field's aria onto the native <input>. Spread\r\n // MUI's existing htmlInput FIRST to keep its ref + combobox aria\r\n // (role/aria-expanded/aria-controls/aria-activedescendant); add\r\n // ours only when defined (exactOptionalPropertyTypes-safe).\r\n htmlInput: {\r\n ...(params.slotProps?.htmlInput ?? {}),\r\n ...(ariaDescribedBy != null ? { \"aria-describedby\": ariaDescribedBy } : {}),\r\n ...(ariaInvalid != null ? { \"aria-invalid\": ariaInvalid } : {}),\r\n ...(ariaRequired != null ? { \"aria-required\": ariaRequired } : {}),\r\n },\r\n input: {\r\n ...inputSlot,\r\n endAdornment: (\r\n <>\r\n {/* R-Ar.3 — decorative spinner. The listbox already announces\r\n via the loadingText prop; making the spinner a second\r\n progressbar in the AT tree would just create duplicate\r\n noise. */}\r\n {loading ? (\r\n <CircularProgress\r\n size={14}\r\n aria-hidden=\"true\"\r\n role=\"presentation\"\r\n sx={{ marginRight: 0.5 }}\r\n />\r\n ) : null}\r\n {inputSlot.endAdornment}\r\n </>\r\n ),\r\n },\r\n }}\r\n />\r\n );\r\n }}\r\n sx={sx}\r\n {...rest}\r\n />\r\n );\r\n});\r\n\r\nexport default Combobox;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,34 +2,34 @@ import * as React from "react";
|
|
|
2
2
|
export interface CommandPaletteItem {
|
|
3
3
|
id: string | number;
|
|
4
4
|
label: React.ReactNode;
|
|
5
|
-
icon?: React.ReactNode;
|
|
6
|
-
shortcut?: React.ReactNode;
|
|
7
|
-
keywords?: string;
|
|
8
|
-
onSelect?: () => void;
|
|
5
|
+
icon?: React.ReactNode | undefined;
|
|
6
|
+
shortcut?: React.ReactNode | undefined;
|
|
7
|
+
keywords?: string | undefined;
|
|
8
|
+
onSelect?: (() => void) | undefined;
|
|
9
9
|
}
|
|
10
10
|
export interface CommandPaletteGroup {
|
|
11
11
|
id: string;
|
|
12
|
-
title?: React.ReactNode;
|
|
12
|
+
title?: React.ReactNode | undefined;
|
|
13
13
|
items: CommandPaletteItem[];
|
|
14
14
|
}
|
|
15
15
|
export interface CommandPaletteLabels {
|
|
16
|
-
title?: string;
|
|
17
|
-
footerHint?: string;
|
|
18
|
-
closeButton?: string;
|
|
19
|
-
resultsCount?: (n: number) => React.ReactNode;
|
|
20
|
-
pinnedTitle?: React.ReactNode;
|
|
21
|
-
recentTitle?: React.ReactNode;
|
|
16
|
+
title?: string | undefined;
|
|
17
|
+
footerHint?: string | undefined;
|
|
18
|
+
closeButton?: string | undefined;
|
|
19
|
+
resultsCount?: ((n: number) => React.ReactNode) | undefined;
|
|
20
|
+
pinnedTitle?: React.ReactNode | undefined;
|
|
21
|
+
recentTitle?: React.ReactNode | undefined;
|
|
22
22
|
}
|
|
23
23
|
export interface CommandPaletteProps {
|
|
24
|
-
open?: boolean;
|
|
25
|
-
onClose?: () => void;
|
|
26
|
-
groups?: CommandPaletteGroup[];
|
|
27
|
-
recentItems?: CommandPaletteItem[];
|
|
28
|
-
pinnedItems?: CommandPaletteItem[];
|
|
29
|
-
placeholder?: string;
|
|
30
|
-
emptyState?: React.ReactNode;
|
|
31
|
-
onQueryChange?: (q: string) => void;
|
|
32
|
-
labels?: CommandPaletteLabels;
|
|
24
|
+
open?: boolean | undefined;
|
|
25
|
+
onClose?: (() => void) | undefined;
|
|
26
|
+
groups?: CommandPaletteGroup[] | undefined;
|
|
27
|
+
recentItems?: CommandPaletteItem[] | undefined;
|
|
28
|
+
pinnedItems?: CommandPaletteItem[] | undefined;
|
|
29
|
+
placeholder?: string | undefined;
|
|
30
|
+
emptyState?: React.ReactNode | undefined;
|
|
31
|
+
onQueryChange?: ((q: string) => void) | undefined;
|
|
32
|
+
labels?: CommandPaletteLabels | undefined;
|
|
33
33
|
}
|
|
34
34
|
declare function CommandPalette({ open, onClose, groups, recentItems, pinnedItems, placeholder, emptyState, onQueryChange, labels, }: CommandPaletteProps): React.JSX.Element;
|
|
35
35
|
export default CommandPalette;
|