@portnet/ui 5.0.32 → 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/CHANGELOG.md +524 -0
- package/README.md +101 -38
- 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 +60 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +183 -191
- package/dist/index.js.map +1 -0
- 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__/MobileRowCard.test.js +337 -0
- package/dist/v2/__tests__/MobileRowCard.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/__tests__/apiError.test.js +182 -0
- package/dist/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/v2/__tests__/banned-patterns.test.js +272 -0
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +225 -0
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/v2/__tests__/cssVariables.test.js +158 -0
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +153 -0
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/v2/__tests__/locale-fallback.test.js +111 -0
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +517 -0
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/v2/components/Accordion.d.ts +56 -0
- package/dist/v2/components/Accordion.d.ts.map +1 -0
- package/dist/v2/components/Accordion.js +238 -0
- package/dist/v2/components/Accordion.js.map +1 -0
- package/dist/v2/components/ActionStrip.d.ts +67 -0
- package/dist/v2/components/ActionStrip.d.ts.map +1 -0
- package/dist/v2/components/ActionStrip.js +154 -0
- package/dist/v2/components/ActionStrip.js.map +1 -0
- package/dist/v2/components/Banner.d.ts +88 -0
- package/dist/v2/components/Banner.d.ts.map +1 -0
- package/dist/v2/components/Banner.js +264 -0
- package/dist/v2/components/Banner.js.map +1 -0
- package/dist/v2/components/Busy.d.ts +18 -0
- package/dist/v2/components/Busy.d.ts.map +1 -0
- package/dist/v2/components/Busy.js +104 -0
- package/dist/v2/components/Busy.js.map +1 -0
- package/dist/v2/components/Button.d.ts +36 -0
- package/dist/v2/components/Button.d.ts.map +1 -0
- package/dist/v2/components/Button.js +122 -0
- package/dist/v2/components/Button.js.map +1 -0
- package/dist/v2/components/CategoryTag.d.ts +45 -0
- package/dist/v2/components/CategoryTag.d.ts.map +1 -0
- package/dist/v2/components/CategoryTag.js +89 -0
- package/dist/v2/components/CategoryTag.js.map +1 -0
- package/dist/v2/components/Checkbox.d.ts +59 -0
- package/dist/v2/components/Checkbox.d.ts.map +1 -0
- package/dist/v2/components/Checkbox.js +134 -0
- package/dist/v2/components/Checkbox.js.map +1 -0
- package/dist/v2/components/Chip.d.ts +48 -0
- package/dist/v2/components/Chip.d.ts.map +1 -0
- package/dist/v2/components/Chip.js +132 -0
- package/dist/v2/components/Chip.js.map +1 -0
- package/dist/v2/components/Combobox.d.ts +134 -0
- package/dist/v2/components/Combobox.d.ts.map +1 -0
- package/dist/v2/components/Combobox.js +400 -0
- package/dist/v2/components/Combobox.js.map +1 -0
- package/dist/v2/components/CommandPalette.d.ts +36 -0
- package/dist/v2/components/CommandPalette.d.ts.map +1 -0
- package/dist/v2/components/CommandPalette.js +668 -0
- package/dist/v2/components/CommandPalette.js.map +1 -0
- package/dist/v2/components/ConfirmDialog.d.ts +23 -0
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/v2/components/ConfirmDialog.js +151 -0
- package/dist/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/v2/components/DatePicker.d.ts +21 -0
- package/dist/v2/components/DatePicker.d.ts.map +1 -0
- package/dist/v2/components/DatePicker.js +207 -0
- package/dist/v2/components/DatePicker.js.map +1 -0
- package/dist/v2/components/DateRangePicker.d.ts +81 -0
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -0
- package/dist/v2/components/DateRangePicker.js +296 -0
- package/dist/v2/components/DateRangePicker.js.map +1 -0
- package/dist/v2/components/DateTimePicker.d.ts +21 -0
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -0
- package/dist/v2/components/DateTimePicker.js +189 -0
- package/dist/v2/components/DateTimePicker.js.map +1 -0
- package/dist/v2/components/Drawer.d.ts +34 -0
- package/dist/v2/components/Drawer.d.ts.map +1 -0
- package/dist/v2/components/Drawer.js +340 -0
- package/dist/v2/components/Drawer.js.map +1 -0
- package/dist/v2/components/Dropzone.d.ts +150 -0
- package/dist/v2/components/Dropzone.d.ts.map +1 -0
- package/dist/v2/components/Dropzone.js +547 -0
- package/dist/v2/components/Dropzone.js.map +1 -0
- package/dist/v2/components/EmptyState.d.ts +36 -0
- package/dist/v2/components/EmptyState.d.ts.map +1 -0
- package/dist/v2/components/EmptyState.js +112 -0
- package/dist/v2/components/EmptyState.js.map +1 -0
- package/dist/v2/components/FavoriteToggle.d.ts +22 -0
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -0
- package/dist/v2/components/FavoriteToggle.js +135 -0
- package/dist/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/v2/components/Field.d.ts +63 -0
- package/dist/v2/components/Field.d.ts.map +1 -0
- package/dist/v2/components/Field.js +204 -0
- package/dist/v2/components/Field.js.map +1 -0
- 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 +54 -0
- package/dist/v2/components/FieldHelp.d.ts.map +1 -0
- package/dist/v2/components/FieldHelp.js +209 -0
- package/dist/v2/components/FieldHelp.js.map +1 -0
- 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 +35 -0
- package/dist/v2/components/FilterTab.d.ts.map +1 -0
- package/dist/v2/components/FilterTab.js +145 -0
- package/dist/v2/components/FilterTab.js.map +1 -0
- package/dist/v2/components/ForbiddenPage.d.ts +40 -0
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -0
- package/dist/v2/components/ForbiddenPage.js +81 -0
- package/dist/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/v2/components/FormGrid.d.ts +81 -0
- package/dist/v2/components/FormGrid.d.ts.map +1 -0
- package/dist/v2/components/FormGrid.js +187 -0
- package/dist/v2/components/FormGrid.js.map +1 -0
- package/dist/v2/components/FormikDisplay.d.ts +38 -0
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -0
- package/dist/v2/components/FormikDisplay.js +125 -0
- package/dist/v2/components/FormikDisplay.js.map +1 -0
- package/dist/v2/components/Input.d.ts +62 -0
- package/dist/v2/components/Input.d.ts.map +1 -0
- package/dist/v2/components/Input.js +115 -0
- package/dist/v2/components/Input.js.map +1 -0
- package/dist/v2/components/KPICard.d.ts +52 -0
- package/dist/v2/components/KPICard.d.ts.map +1 -0
- package/dist/v2/components/KPICard.js +244 -0
- package/dist/v2/components/KPICard.js.map +1 -0
- 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 +25 -0
- package/dist/v2/components/KV.d.ts.map +1 -0
- package/dist/v2/components/KV.js +82 -0
- package/dist/v2/components/KV.js.map +1 -0
- package/dist/v2/components/KVGrid.d.ts +44 -0
- package/dist/v2/components/KVGrid.d.ts.map +1 -0
- package/dist/v2/components/KVGrid.js +80 -0
- package/dist/v2/components/KVGrid.js.map +1 -0
- package/dist/v2/components/Layout.d.ts +78 -0
- package/dist/v2/components/Layout.d.ts.map +1 -0
- package/dist/v2/components/Layout.js +284 -0
- package/dist/v2/components/Layout.js.map +1 -0
- package/dist/v2/components/MobileRowCard.d.ts +63 -0
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -0
- package/dist/v2/components/MobileRowCard.js +321 -0
- package/dist/v2/components/MobileRowCard.js.map +1 -0
- package/dist/v2/components/Modal.d.ts +21 -0
- package/dist/v2/components/Modal.d.ts.map +1 -0
- package/dist/v2/components/Modal.js +281 -0
- package/dist/v2/components/Modal.js.map +1 -0
- package/dist/v2/components/NetworkErrorPage.d.ts +11 -0
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -0
- package/dist/v2/components/NetworkErrorPage.js +86 -0
- package/dist/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/v2/components/NotFoundPage.d.ts +9 -0
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -0
- package/dist/v2/components/NotFoundPage.js +66 -0
- package/dist/v2/components/NotFoundPage.js.map +1 -0
- package/dist/v2/components/NumberInput.d.ts +83 -0
- package/dist/v2/components/NumberInput.d.ts.map +1 -0
- package/dist/v2/components/NumberInput.js +317 -0
- package/dist/v2/components/NumberInput.js.map +1 -0
- package/dist/v2/components/OverflowMenu.d.ts +55 -0
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -0
- package/dist/v2/components/OverflowMenu.js +192 -0
- package/dist/v2/components/OverflowMenu.js.map +1 -0
- package/dist/v2/components/PdfViewer.d.ts +56 -0
- package/dist/v2/components/PdfViewer.d.ts.map +1 -0
- package/dist/v2/components/PdfViewer.js +132 -0
- package/dist/v2/components/PdfViewer.js.map +1 -0
- package/dist/v2/components/ProgressBar.d.ts +53 -0
- package/dist/v2/components/ProgressBar.d.ts.map +1 -0
- package/dist/v2/components/ProgressBar.js +209 -0
- package/dist/v2/components/ProgressBar.js.map +1 -0
- package/dist/v2/components/Radio.d.ts +78 -0
- package/dist/v2/components/Radio.d.ts.map +1 -0
- package/dist/v2/components/Radio.js +238 -0
- package/dist/v2/components/Radio.js.map +1 -0
- 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 +53 -0
- package/dist/v2/components/SectionHeader.d.ts.map +1 -0
- package/dist/v2/components/SectionHeader.js +140 -0
- package/dist/v2/components/SectionHeader.js.map +1 -0
- package/dist/v2/components/Segmented.d.ts +61 -0
- package/dist/v2/components/Segmented.d.ts.map +1 -0
- package/dist/v2/components/Segmented.js +261 -0
- package/dist/v2/components/Segmented.js.map +1 -0
- package/dist/v2/components/Select.d.ts +90 -0
- package/dist/v2/components/Select.d.ts.map +1 -0
- package/dist/v2/components/Select.js +499 -0
- package/dist/v2/components/Select.js.map +1 -0
- package/dist/v2/components/ServerErrorPage.d.ts +11 -0
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -0
- package/dist/v2/components/ServerErrorPage.js +82 -0
- package/dist/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/v2/components/Skeleton.d.ts +56 -0
- package/dist/v2/components/Skeleton.d.ts.map +1 -0
- package/dist/v2/components/Skeleton.js +281 -0
- package/dist/v2/components/Skeleton.js.map +1 -0
- package/dist/v2/components/SkipLink.d.ts +30 -0
- package/dist/v2/components/SkipLink.d.ts.map +1 -0
- package/dist/v2/components/SkipLink.js +58 -0
- package/dist/v2/components/SkipLink.js.map +1 -0
- package/dist/v2/components/Spinner.d.ts +40 -0
- package/dist/v2/components/Spinner.d.ts.map +1 -0
- package/dist/v2/components/Spinner.js +76 -0
- package/dist/v2/components/Spinner.js.map +1 -0
- package/dist/v2/components/Status.d.ts +42 -0
- package/dist/v2/components/Status.d.ts.map +1 -0
- package/dist/v2/components/Status.js +71 -0
- package/dist/v2/components/Status.js.map +1 -0
- package/dist/v2/components/Stepper.d.ts +142 -0
- package/dist/v2/components/Stepper.d.ts.map +1 -0
- package/dist/v2/components/Stepper.js +441 -0
- package/dist/v2/components/Stepper.js.map +1 -0
- 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 +30 -0
- package/dist/v2/components/Switch.d.ts.map +1 -0
- package/dist/v2/components/Switch.js +136 -0
- package/dist/v2/components/Switch.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +49 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -0
- package/dist/v2/components/Tabs.js +160 -0
- package/dist/v2/components/Tabs.js.map +1 -0
- package/dist/v2/components/TelInput.d.ts +33 -0
- package/dist/v2/components/TelInput.d.ts.map +1 -0
- package/dist/v2/components/TelInput.js +282 -0
- package/dist/v2/components/TelInput.js.map +1 -0
- package/dist/v2/components/Textarea.d.ts +23 -0
- package/dist/v2/components/Textarea.d.ts.map +1 -0
- package/dist/v2/components/Textarea.js +80 -0
- package/dist/v2/components/Textarea.js.map +1 -0
- package/dist/v2/components/TimePicker.d.ts +21 -0
- package/dist/v2/components/TimePicker.d.ts.map +1 -0
- package/dist/v2/components/TimePicker.js +141 -0
- package/dist/v2/components/TimePicker.js.map +1 -0
- package/dist/v2/components/Toast.d.ts +32 -0
- package/dist/v2/components/Toast.d.ts.map +1 -0
- package/dist/v2/components/Toast.js +385 -0
- package/dist/v2/components/Toast.js.map +1 -0
- package/dist/v2/components/Tooltip.d.ts +9 -0
- package/dist/v2/components/Tooltip.d.ts.map +1 -0
- package/dist/v2/components/Tooltip.js +169 -0
- package/dist/v2/components/Tooltip.js.map +1 -0
- package/dist/v2/components/_ErrorPageBody.d.ts +48 -0
- package/dist/v2/components/_ErrorPageBody.d.ts.map +1 -0
- package/dist/v2/components/_ErrorPageBody.js +96 -0
- package/dist/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/v2/components/_pickerShared.d.ts +47 -0
- package/dist/v2/components/_pickerShared.d.ts.map +1 -0
- package/dist/v2/components/_pickerShared.js +68 -0
- package/dist/v2/components/_pickerShared.js.map +1 -0
- package/dist/v2/components/index.d.ts +226 -0
- package/dist/v2/components/index.d.ts.map +1 -0
- package/dist/v2/components/index.js +512 -0
- package/dist/v2/components/index.js.map +1 -0
- package/dist/v2/hooks/index.d.ts +11 -0
- package/dist/v2/hooks/index.d.ts.map +1 -0
- package/dist/v2/hooks/index.js +85 -0
- package/dist/v2/hooks/index.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.d.ts +22 -0
- package/dist/v2/hooks/useDelayedFlag.d.ts.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +60 -0
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/v2/hooks/useDensity.d.ts +23 -0
- package/dist/v2/hooks/useDensity.d.ts.map +1 -0
- package/dist/v2/hooks/useDensity.js +124 -0
- package/dist/v2/hooks/useDensity.js.map +1 -0
- package/dist/v2/hooks/useFocusFirstError.d.ts +121 -0
- package/dist/v2/hooks/useFocusFirstError.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusFirstError.js +203 -0
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.d.ts +3 -0
- package/dist/v2/hooks/useFocusTrap.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +207 -0
- package/dist/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/v2/hooks/useFormAutoSave.d.ts +42 -0
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -0
- package/dist/v2/hooks/useFormAutoSave.js +186 -0
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +52 -0
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -0
- package/dist/v2/hooks/useFormCompletionProgress.js +136 -0
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.d.ts +31 -0
- package/dist/v2/hooks/useResolvedDensity.d.ts.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +50 -0
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/v2/hooks/useSortedRows.d.ts +25 -0
- package/dist/v2/hooks/useSortedRows.d.ts.map +1 -0
- package/dist/v2/hooks/useSortedRows.js +38 -0
- package/dist/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/v2/hooks/useTabLoading.d.ts +39 -0
- package/dist/v2/hooks/useTabLoading.d.ts.map +1 -0
- package/dist/v2/hooks/useTabLoading.js +85 -0
- package/dist/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/v2/index.d.ts +115 -0
- package/dist/v2/index.d.ts.map +1 -0
- package/dist/v2/index.js +1127 -0
- package/dist/v2/index.js.map +1 -0
- package/dist/v2/modalContext.d.ts +96 -0
- package/dist/v2/modalContext.d.ts.map +1 -0
- package/dist/v2/modalContext.js +113 -0
- package/dist/v2/modalContext.js.map +1 -0
- package/dist/v2/models/favorite.d.ts +14 -0
- package/dist/v2/models/favorite.d.ts.map +1 -0
- package/dist/v2/models/favorite.js +6 -0
- package/dist/v2/models/favorite.js.map +1 -0
- package/dist/v2/models/index.d.ts +11 -0
- package/dist/v2/models/index.d.ts.map +1 -0
- package/dist/v2/models/index.js +50 -0
- package/dist/v2/models/index.js.map +1 -0
- package/dist/v2/models/personalization.d.ts +65 -0
- package/dist/v2/models/personalization.d.ts.map +1 -0
- package/dist/v2/models/personalization.js +6 -0
- package/dist/v2/models/personalization.js.map +1 -0
- package/dist/v2/models/referentiel.d.ts +67 -0
- package/dist/v2/models/referentiel.d.ts.map +1 -0
- package/dist/v2/models/referentiel.js +6 -0
- package/dist/v2/models/referentiel.js.map +1 -0
- package/dist/v2/models/savedFilter.d.ts +22 -0
- package/dist/v2/models/savedFilter.d.ts.map +1 -0
- package/dist/v2/models/savedFilter.js +6 -0
- package/dist/v2/models/savedFilter.js.map +1 -0
- package/dist/v2/patterns/ActionBar.d.ts +137 -0
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -0
- package/dist/v2/patterns/ActionBar.js +602 -0
- package/dist/v2/patterns/ActionBar.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.d.ts +63 -0
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +154 -0
- package/dist/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +62 -0
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +306 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/v2/patterns/ColumnsToggle.d.ts +55 -0
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -0
- package/dist/v2/patterns/ColumnsToggle.js +310 -0
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/v2/patterns/DataGrid.d.ts +7 -0
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -0
- package/dist/v2/patterns/DataGrid.js +834 -0
- package/dist/v2/patterns/DataGrid.js.map +1 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +68 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridSettingsMenu.js +382 -0
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/v2/patterns/DataGridToolbar.d.ts +81 -0
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridToolbar.js +256 -0
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/v2/patterns/DataGridVirtualized.d.ts +76 -0
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridVirtualized.js +528 -0
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +46 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +77 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts +72 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.js +171 -0
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/v2/patterns/FavoritesFilter.d.ts +51 -0
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -0
- package/dist/v2/patterns/FavoritesFilter.js +98 -0
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.d.ts +39 -0
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +111 -0
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormPageShell.d.ts +55 -0
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -0
- package/dist/v2/patterns/FormPageShell.js +133 -0
- package/dist/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/v2/patterns/FormSection.d.ts +64 -0
- package/dist/v2/patterns/FormSection.d.ts.map +1 -0
- package/dist/v2/patterns/FormSection.js +197 -0
- package/dist/v2/patterns/FormSection.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +51 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.js +117 -0
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/v2/patterns/FormikCombobox.d.ts +43 -0
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCombobox.js +121 -0
- package/dist/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/v2/patterns/FormikDatePicker.d.ts +115 -0
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDatePicker.js +203 -0
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts +59 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.js +83 -0
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +43 -0
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -0
- package/dist/v2/patterns/FormikFile.js +156 -0
- package/dist/v2/patterns/FormikFile.js.map +1 -0
- package/dist/v2/patterns/FormikInput.d.ts +72 -0
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -0
- package/dist/v2/patterns/FormikInput.js +135 -0
- package/dist/v2/patterns/FormikInput.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +33 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.js +124 -0
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/v2/patterns/FormikSelect.d.ts +61 -0
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -0
- package/dist/v2/patterns/FormikSelect.js +165 -0
- package/dist/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/v2/patterns/FormikTextarea.d.ts +31 -0
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -0
- package/dist/v2/patterns/FormikTextarea.js +84 -0
- package/dist/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +44 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +203 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +26 -0
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -0
- package/dist/v2/patterns/NetworkErrorBanner.js +82 -0
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/v2/patterns/PageContent.d.ts +40 -0
- package/dist/v2/patterns/PageContent.d.ts.map +1 -0
- package/dist/v2/patterns/PageContent.js +69 -0
- package/dist/v2/patterns/PageContent.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +118 -0
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -0
- package/dist/v2/patterns/ReferentielField.js +618 -0
- package/dist/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts +68 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.js +204 -0
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +74 -0
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -0
- package/dist/v2/patterns/SavedFiltersMenu.js +413 -0
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/v2/patterns/SkeletonPageShell.d.ts +76 -0
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -0
- package/dist/v2/patterns/SkeletonPageShell.js +347 -0
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/v2/patterns/SortableHeader.d.ts +47 -0
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -0
- package/dist/v2/patterns/SortableHeader.js +193 -0
- package/dist/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/v2/patterns/Tour.d.ts +55 -0
- package/dist/v2/patterns/Tour.d.ts.map +1 -0
- package/dist/v2/patterns/Tour.js +474 -0
- package/dist/v2/patterns/Tour.js.map +1 -0
- package/dist/v2/patterns/_dataGridShared.d.ts +144 -0
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -0
- package/dist/v2/patterns/_dataGridShared.js +440 -0
- package/dist/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/v2/patterns/_sort.d.ts +22 -0
- package/dist/v2/patterns/_sort.d.ts.map +1 -0
- package/dist/v2/patterns/_sort.js +118 -0
- package/dist/v2/patterns/_sort.js.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts +69 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.js +264 -0
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/v2/patterns/_useColumnResize.d.ts +49 -0
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -0
- package/dist/v2/patterns/_useColumnResize.js +198 -0
- package/dist/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +89 -0
- package/dist/v2/patterns/index.d.ts.map +1 -0
- package/dist/v2/patterns/index.js +246 -0
- package/dist/v2/patterns/index.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts +80 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.js +177 -0
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/v2/personalization/adapters/_storageKey.d.ts +35 -0
- package/dist/v2/personalization/adapters/_storageKey.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/_storageKey.js +69 -0
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +31 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +128 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +25 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +76 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/v2/personalization/adapters/index.d.ts +10 -0
- package/dist/v2/personalization/adapters/index.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/index.js +21 -0
- package/dist/v2/personalization/adapters/index.js.map +1 -0
- package/dist/v2/personalization/capabilities/favorites.d.ts +53 -0
- package/dist/v2/personalization/capabilities/favorites.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/favorites.js +223 -0
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +58 -0
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/favoritesView.js +121 -0
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +16 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/index.js +69 -0
- package/dist/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +61 -0
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +297 -0
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/v2/personalization/createPersonalizationStore.d.ts +76 -0
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -0
- package/dist/v2/personalization/createPersonalizationStore.js +475 -0
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/v2/personalization/index.d.ts +33 -0
- package/dist/v2/personalization/index.d.ts.map +1 -0
- package/dist/v2/personalization/index.js +111 -0
- package/dist/v2/personalization/index.js.map +1 -0
- package/dist/v2/personalization/personalizationContext.d.ts +78 -0
- package/dist/v2/personalization/personalizationContext.d.ts.map +1 -0
- package/dist/v2/personalization/personalizationContext.js +121 -0
- package/dist/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/v2/personalization/schema.d.ts +60 -0
- package/dist/v2/personalization/schema.d.ts.map +1 -0
- package/dist/v2/personalization/schema.js +102 -0
- package/dist/v2/personalization/schema.js.map +1 -0
- package/dist/v2/personalization/types.d.ts +81 -0
- package/dist/v2/personalization/types.d.ts.map +1 -0
- package/dist/v2/personalization/types.js +6 -0
- package/dist/v2/personalization/types.js.map +1 -0
- package/dist/v2/referentiel/ReferentielProvider.d.ts +53 -0
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -0
- package/dist/v2/referentiel/ReferentielProvider.js +94 -0
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/v2/referentiel/index.d.ts +18 -0
- package/dist/v2/referentiel/index.d.ts.map +1 -0
- package/dist/v2/referentiel/index.js +44 -0
- package/dist/v2/referentiel/index.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.d.ts +15 -0
- package/dist/v2/referentiel/useReferentielClient.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +46 -0
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/v2/referentiel/useReferentielOptions.d.ts +40 -0
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielOptions.js +177 -0
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/v2/referentiel/useReferentielSearch.d.ts +76 -0
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielSearch.js +140 -0
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/v2/styles/base.css +425 -0
- package/dist/v2/styles/css.d.ts +10 -0
- package/dist/v2/styles/index.d.ts +12 -0
- package/dist/v2/styles/index.d.ts.map +1 -0
- package/dist/v2/styles/index.js +4 -0
- package/dist/v2/styles/index.js.map +1 -0
- package/dist/v2/theme/_brand.d.ts +29 -0
- package/dist/v2/theme/_brand.d.ts.map +1 -0
- package/dist/v2/theme/_brand.js +69 -0
- package/dist/v2/theme/_brand.js.map +1 -0
- package/dist/v2/theme/_brandSecondary.d.ts +26 -0
- package/dist/v2/theme/_brandSecondary.d.ts.map +1 -0
- package/dist/v2/theme/_brandSecondary.js +65 -0
- package/dist/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/v2/theme/createPortnetTheme.d.ts +75 -0
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -0
- package/dist/v2/theme/createPortnetTheme.js +553 -0
- package/dist/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/v2/theme/cssVariables.d.ts +41 -0
- package/dist/v2/theme/cssVariables.d.ts.map +1 -0
- package/dist/v2/theme/cssVariables.js +205 -0
- package/dist/v2/theme/cssVariables.js.map +1 -0
- package/dist/v2/theme/index.d.ts +33 -0
- package/dist/v2/theme/index.d.ts.map +1 -0
- package/dist/v2/theme/index.js +60 -0
- package/dist/v2/theme/index.js.map +1 -0
- package/dist/v2/tokens/breakpoints.d.ts +74 -0
- package/dist/v2/tokens/breakpoints.d.ts.map +1 -0
- package/dist/v2/tokens/breakpoints.js +114 -0
- package/dist/v2/tokens/breakpoints.js.map +1 -0
- package/dist/v2/tokens/colors.d.ts +228 -0
- package/dist/v2/tokens/colors.d.ts.map +1 -0
- package/dist/v2/tokens/colors.js +225 -0
- package/dist/v2/tokens/colors.js.map +1 -0
- package/dist/v2/tokens/density.d.ts +142 -0
- package/dist/v2/tokens/density.d.ts.map +1 -0
- package/dist/v2/tokens/density.js +111 -0
- package/dist/v2/tokens/density.js.map +1 -0
- package/dist/v2/tokens/index.d.ts +556 -0
- package/dist/v2/tokens/index.d.ts.map +1 -0
- package/dist/v2/tokens/index.js +313 -0
- package/dist/v2/tokens/index.js.map +1 -0
- package/dist/v2/tokens/motion.d.ts +85 -0
- package/dist/v2/tokens/motion.d.ts.map +1 -0
- package/dist/v2/tokens/motion.js +94 -0
- package/dist/v2/tokens/motion.js.map +1 -0
- package/dist/v2/tokens/radius.d.ts +18 -0
- package/dist/v2/tokens/radius.d.ts.map +1 -0
- package/dist/v2/tokens/radius.js +28 -0
- package/dist/v2/tokens/radius.js.map +1 -0
- package/dist/v2/tokens/shadows.d.ts +25 -0
- package/dist/v2/tokens/shadows.d.ts.map +1 -0
- package/dist/v2/tokens/shadows.js +46 -0
- package/dist/v2/tokens/shadows.js.map +1 -0
- package/dist/v2/tokens/spacing.d.ts +38 -0
- package/dist/v2/tokens/spacing.d.ts.map +1 -0
- package/dist/v2/tokens/spacing.js +57 -0
- package/dist/v2/tokens/spacing.js.map +1 -0
- package/dist/v2/tokens/state.d.ts +40 -0
- package/dist/v2/tokens/state.d.ts.map +1 -0
- package/dist/v2/tokens/state.js +47 -0
- package/dist/v2/tokens/state.js.map +1 -0
- package/dist/v2/tokens/statusPalette.d.ts +54 -0
- package/dist/v2/tokens/statusPalette.d.ts.map +1 -0
- package/dist/v2/tokens/statusPalette.js +72 -0
- package/dist/v2/tokens/statusPalette.js.map +1 -0
- package/dist/v2/tokens/tokens.json +153 -0
- package/dist/v2/tokens/typography.d.ts +206 -0
- package/dist/v2/tokens/typography.d.ts.map +1 -0
- package/dist/v2/tokens/typography.js +155 -0
- package/dist/v2/tokens/typography.js.map +1 -0
- package/dist/v2/tokens/zIndex.d.ts +33 -0
- package/dist/v2/tokens/zIndex.d.ts.map +1 -0
- package/dist/v2/tokens/zIndex.js +50 -0
- package/dist/v2/tokens/zIndex.js.map +1 -0
- package/dist/v2/types/common.d.ts +24 -0
- package/dist/v2/types/common.d.ts.map +1 -0
- package/dist/v2/types/common.js +6 -0
- package/dist/v2/types/common.js.map +1 -0
- package/dist/v2/types/datagrid.d.ts +131 -0
- package/dist/v2/types/datagrid.d.ts.map +1 -0
- package/dist/v2/types/datagrid.js +6 -0
- package/dist/v2/types/datagrid.js.map +1 -0
- package/dist/v2/types/index.d.ts +11 -0
- package/dist/v2/types/index.d.ts.map +1 -0
- package/dist/v2/types/index.js +28 -0
- package/dist/v2/types/index.js.map +1 -0
- package/dist/v2/utils/apiError.d.ts +151 -0
- package/dist/v2/utils/apiError.d.ts.map +1 -0
- package/dist/v2/utils/apiError.js +290 -0
- package/dist/v2/utils/apiError.js.map +1 -0
- package/dist/v2/utils/contrast.d.ts +68 -0
- package/dist/v2/utils/contrast.d.ts.map +1 -0
- package/dist/v2/utils/contrast.js +167 -0
- package/dist/v2/utils/contrast.js.map +1 -0
- package/dist/v2/utils/cx.d.ts +9 -0
- package/dist/v2/utils/cx.d.ts.map +1 -0
- package/dist/v2/utils/cx.js +45 -0
- package/dist/v2/utils/cx.js.map +1 -0
- package/dist/v2/utils/fileDownload.d.ts +94 -0
- package/dist/v2/utils/fileDownload.d.ts.map +1 -0
- package/dist/v2/utils/fileDownload.js +236 -0
- package/dist/v2/utils/fileDownload.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +28 -0
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -0
- package/dist/v2/utils/fmtMoney.js +84 -0
- package/dist/v2/utils/fmtMoney.js.map +1 -0
- package/dist/v2/utils/index.d.ts +9 -0
- package/dist/v2/utils/index.d.ts.map +1 -0
- package/dist/v2/utils/index.js +97 -0
- package/dist/v2/utils/index.js.map +1 -0
- 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/dist/v2/utils/networkStatus.d.ts +88 -0
- package/dist/v2/utils/networkStatus.d.ts.map +1 -0
- package/dist/v2/utils/networkStatus.js +121 -0
- package/dist/v2/utils/networkStatus.js.map +1 -0
- package/package.json +198 -76
- package/dist/api/guideApi.js +0 -12
- package/dist/api/guideImageService.js +0 -119
- package/dist/api/reclamationApi.js +0 -119
- package/dist/assets/guides/FAQ.json +0 -118
- package/dist/assets/guides/index.js +0 -11
- package/dist/assets/images/tijariaLogo.ico +0 -0
- package/dist/components/buttons/PuiButton.js +0 -217
- package/dist/components/buttons/PuiIconButton.js +0 -98
- package/dist/components/common/PuiAlertContext.js +0 -12
- package/dist/components/common/PuiHelpWidgetContext.js +0 -17
- package/dist/components/common/StyledMuiButton.js +0 -48
- package/dist/components/common/StyledMuiTextField.js +0 -180
- package/dist/components/inputs/PuiAutocomplete.js +0 -352
- package/dist/components/inputs/PuiCheckbox.js +0 -308
- package/dist/components/inputs/PuiCheckboxGroup.js +0 -215
- package/dist/components/inputs/PuiCheckboxItem.js +0 -162
- package/dist/components/inputs/PuiDateField.js +0 -280
- package/dist/components/inputs/PuiDateTimeField.js +0 -276
- package/dist/components/inputs/PuiFileField.js +0 -265
- package/dist/components/inputs/PuiRadioGroup.js +0 -197
- package/dist/components/inputs/PuiRadioItem.js +0 -100
- package/dist/components/inputs/PuiSelect.js +0 -427
- package/dist/components/inputs/PuiTextField.js +0 -263
- package/dist/components/others/PuiBadge.js +0 -58
- package/dist/components/others/PuiChip.js +0 -150
- package/dist/components/others/PuiDialog.js +0 -102
- package/dist/components/others/PuiFormikForm.js +0 -70
- package/dist/components/others/PuiGrid.js +0 -23
- package/dist/components/others/PuiIcon.js +0 -92
- package/dist/components/others/PuiLoadingBackdrop.js +0 -32
- package/dist/components/others/PuiMainContainer.js +0 -41
- package/dist/components/others/PuiNavigation.js +0 -68
- package/dist/components/others/PuiSection.js +0 -187
- package/dist/components/others/PuiTooltip.js +0 -86
- package/dist/components/providers/PuiAlertProvider.js +0 -134
- package/dist/components/providers/PuiHelpWidgetProvider.js +0 -91
- package/dist/components/providers/PuiLocalizationProvider.js +0 -34
- package/dist/components/referentiel/common/ReferetielContext.js +0 -12
- package/dist/components/referentiel/common/constants/specificReferentielsApis.js +0 -22
- package/dist/components/referentiel/common/constants/specificReferentielsBaseColumns.js +0 -691
- package/dist/components/referentiel/common/constants/specificReferentielsBaseFilters.js +0 -598
- package/dist/components/referentiel/common/constants/specificReferentielsInitialValues.js +0 -80
- package/dist/components/referentiel/common/constants/specificReferentielsKeys.js +0 -18
- package/dist/components/referentiel/common/constants/specificReferentielsTitles.js +0 -22
- package/dist/components/referentiel/common/constants/specificReferentielsValidationSchemas.js +0 -85
- package/dist/components/referentiel/components/PuiBasePopupReferentielField.js +0 -356
- package/dist/components/referentiel/components/PuiCustomPopupReferentielField.js +0 -181
- package/dist/components/referentiel/components/PuiSimplePopupReferentielField.js +0 -325
- package/dist/components/referentiel/components/PuiSimpleReferentielField.js +0 -203
- package/dist/components/referentiel/components/PuiSpecificReferentielField.js +0 -352
- package/dist/components/referentiel/providers/PuiReferentielProvider.js +0 -66
- package/dist/components/tab/PuiTab.js +0 -25
- package/dist/components/tab/PuiTabs.js +0 -148
- package/dist/components/table/PuiTable.js +0 -643
- package/dist/components/table/PuiTableAction.js +0 -75
- package/dist/components/typography/PuiDefinition.js +0 -42
- package/dist/components/typography/PuiIndication.js +0 -80
- package/dist/components/typography/PuiMainTitle.js +0 -144
- package/dist/components/ui/dialogs/PuiSearchDialog.js +0 -106
- package/dist/components/ui/pages/errors/PuiErrorBasePage.js +0 -73
- package/dist/components/ui/pages/errors/PuiForbiddenErrorPage.js +0 -36
- package/dist/components/ui/pages/errors/PuiNetworkErrorPage.js +0 -36
- package/dist/components/ui/pages/errors/PuiNotFoundErrorPage.js +0 -30
- package/dist/components/ui/pages/errors/PuiServerErrorPage.js +0 -37
- package/dist/components/ui/pages/general/PuiDefaultPage.js +0 -68
- package/dist/components/ui/pages/general/PuiSearchPage.js +0 -203
- package/dist/components/widgets/GuideImage.js +0 -251
- package/dist/components/widgets/PuiHelpWidget.js +0 -4276
- package/dist/config/apperance.js +0 -26
- package/dist/config/mapping.js +0 -26
- package/dist/config/referentiel.js +0 -10
- package/dist/general/yupValidationErrors.js +0 -8
- package/dist/hooks/useAlert.js +0 -19
- package/dist/hooks/useAxios.js +0 -23
- package/dist/hooks/useQuery.js +0 -21
- package/dist/hooks/useReclamation.js +0 -116
- package/dist/styles/ReclamationFormModal.css +0 -629
- package/dist/styles/help-widget.css +0 -621
|
@@ -0,0 +1,517 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
require("@testing-library/jest-dom");
|
|
4
|
+
var React = _interopRequireWildcard(require("react"));
|
|
5
|
+
var _react2 = require("@testing-library/react");
|
|
6
|
+
var _userEvent = _interopRequireDefault(require("@testing-library/user-event"));
|
|
7
|
+
var _useFocusTrap = _interopRequireDefault(require("../hooks/useFocusTrap"));
|
|
8
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
10
|
+
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); }
|
|
11
|
+
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; }
|
|
12
|
+
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); }
|
|
13
|
+
function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return exports; }; var exports = {}, Op = Object.prototype, hasOwn = Op.hasOwnProperty, defineProperty = Object.defineProperty || function (obj, key, desc) { obj[key] = desc.value; }, $Symbol = "function" == typeof Symbol ? Symbol : {}, iteratorSymbol = $Symbol.iterator || "@@iterator", asyncIteratorSymbol = $Symbol.asyncIterator || "@@asyncIterator", toStringTagSymbol = $Symbol.toStringTag || "@@toStringTag"; function define(obj, key, value) { return Object.defineProperty(obj, key, { value: value, enumerable: !0, configurable: !0, writable: !0 }), obj[key]; } try { define({}, ""); } catch (err) { define = function define(obj, key, value) { return obj[key] = value; }; } function wrap(innerFn, outerFn, self, tryLocsList) { var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator, generator = Object.create(protoGenerator.prototype), context = new Context(tryLocsList || []); return defineProperty(generator, "_invoke", { value: makeInvokeMethod(innerFn, self, context) }), generator; } function tryCatch(fn, obj, arg) { try { return { type: "normal", arg: fn.call(obj, arg) }; } catch (err) { return { type: "throw", arg: err }; } } exports.wrap = wrap; var ContinueSentinel = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var IteratorPrototype = {}; define(IteratorPrototype, iteratorSymbol, function () { return this; }); var getProto = Object.getPrototypeOf, NativeIteratorPrototype = getProto && getProto(getProto(values([]))); NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype); var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype); function defineIteratorMethods(prototype) { ["next", "throw", "return"].forEach(function (method) { define(prototype, method, function (arg) { return this._invoke(method, arg); }); }); } function AsyncIterator(generator, PromiseImpl) { function invoke(method, arg, resolve, reject) { var record = tryCatch(generator[method], generator, arg); if ("throw" !== record.type) { var result = record.arg, value = result.value; return value && "object" == _typeof(value) && hasOwn.call(value, "__await") ? PromiseImpl.resolve(value.__await).then(function (value) { invoke("next", value, resolve, reject); }, function (err) { invoke("throw", err, resolve, reject); }) : PromiseImpl.resolve(value).then(function (unwrapped) { result.value = unwrapped, resolve(result); }, function (error) { return invoke("throw", error, resolve, reject); }); } reject(record.arg); } var previousPromise; defineProperty(this, "_invoke", { value: function value(method, arg) { function callInvokeWithMethodAndArg() { return new PromiseImpl(function (resolve, reject) { invoke(method, arg, resolve, reject); }); } return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(innerFn, self, context) { var state = "suspendedStart"; return function (method, arg) { if ("executing" === state) throw new Error("Generator is already running"); if ("completed" === state) { if ("throw" === method) throw arg; return doneResult(); } for (context.method = method, context.arg = arg;;) { var delegate = context.delegate; if (delegate) { var delegateResult = maybeInvokeDelegate(delegate, context); if (delegateResult) { if (delegateResult === ContinueSentinel) continue; return delegateResult; } } if ("next" === context.method) context.sent = context._sent = context.arg;else if ("throw" === context.method) { if ("suspendedStart" === state) throw state = "completed", context.arg; context.dispatchException(context.arg); } else "return" === context.method && context.abrupt("return", context.arg); state = "executing"; var record = tryCatch(innerFn, self, context); if ("normal" === record.type) { if (state = context.done ? "completed" : "suspendedYield", record.arg === ContinueSentinel) continue; return { value: record.arg, done: context.done }; } "throw" === record.type && (state = "completed", context.method = "throw", context.arg = record.arg); } }; } function maybeInvokeDelegate(delegate, context) { var methodName = context.method, method = delegate.iterator[methodName]; if (undefined === method) return context.delegate = null, "throw" === methodName && delegate.iterator["return"] && (context.method = "return", context.arg = undefined, maybeInvokeDelegate(delegate, context), "throw" === context.method) || "return" !== methodName && (context.method = "throw", context.arg = new TypeError("The iterator does not provide a '" + methodName + "' method")), ContinueSentinel; var record = tryCatch(method, delegate.iterator, context.arg); if ("throw" === record.type) return context.method = "throw", context.arg = record.arg, context.delegate = null, ContinueSentinel; var info = record.arg; return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, "return" !== context.method && (context.method = "next", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = "throw", context.arg = new TypeError("iterator result is not an object"), context.delegate = null, ContinueSentinel); } function pushTryEntry(locs) { var entry = { tryLoc: locs[0] }; 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry); } function resetTryEntry(entry) { var record = entry.completion || {}; record.type = "normal", delete record.arg, entry.completion = record; } function Context(tryLocsList) { this.tryEntries = [{ tryLoc: "root" }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0); } function values(iterable) { if (iterable) { var iteratorMethod = iterable[iteratorSymbol]; if (iteratorMethod) return iteratorMethod.call(iterable); if ("function" == typeof iterable.next) return iterable; if (!isNaN(iterable.length)) { var i = -1, next = function next() { for (; ++i < iterable.length;) { if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next; } return next.value = undefined, next.done = !0, next; }; return next.next = next; } } return { next: doneResult }; } function doneResult() { return { value: undefined, done: !0 }; } return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), defineProperty(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, "GeneratorFunction"), exports.isGeneratorFunction = function (genFun) { var ctor = "function" == typeof genFun && genFun.constructor; return !!ctor && (ctor === GeneratorFunction || "GeneratorFunction" === (ctor.displayName || ctor.name)); }, exports.mark = function (genFun) { return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, "GeneratorFunction")), genFun.prototype = Object.create(Gp), genFun; }, exports.awrap = function (arg) { return { __await: arg }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () { return this; }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) { void 0 === PromiseImpl && (PromiseImpl = Promise); var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl); return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) { return result.done ? result.value : iter.next(); }); }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, "Generator"), define(Gp, iteratorSymbol, function () { return this; }), define(Gp, "toString", function () { return "[object Generator]"; }), exports.keys = function (val) { var object = Object(val), keys = []; for (var key in object) { keys.push(key); } return keys.reverse(), function next() { for (; keys.length;) { var key = keys.pop(); if (key in object) return next.value = key, next.done = !1, next; } return next.done = !0, next; }; }, exports.values = values, Context.prototype = { constructor: Context, reset: function reset(skipTempReset) { if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = "next", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) { "t" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined); } }, stop: function stop() { this.done = !0; var rootRecord = this.tryEntries[0].completion; if ("throw" === rootRecord.type) throw rootRecord.arg; return this.rval; }, dispatchException: function dispatchException(exception) { if (this.done) throw exception; var context = this; function handle(loc, caught) { return record.type = "throw", record.arg = exception, context.next = loc, caught && (context.method = "next", context.arg = undefined), !!caught; } for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i], record = entry.completion; if ("root" === entry.tryLoc) return handle("end"); if (entry.tryLoc <= this.prev) { var hasCatch = hasOwn.call(entry, "catchLoc"), hasFinally = hasOwn.call(entry, "finallyLoc"); if (hasCatch && hasFinally) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } else if (hasCatch) { if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0); } else { if (!hasFinally) throw new Error("try statement without catch or finally"); if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc); } } } }, abrupt: function abrupt(type, arg) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc <= this.prev && hasOwn.call(entry, "finallyLoc") && this.prev < entry.finallyLoc) { var finallyEntry = entry; break; } } finallyEntry && ("break" === type || "continue" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null); var record = finallyEntry ? finallyEntry.completion : {}; return record.type = type, record.arg = arg, finallyEntry ? (this.method = "next", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record); }, complete: function complete(record, afterLoc) { if ("throw" === record.type) throw record.arg; return "break" === record.type || "continue" === record.type ? this.next = record.arg : "return" === record.type ? (this.rval = this.arg = record.arg, this.method = "return", this.next = "end") : "normal" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel; }, finish: function finish(finallyLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel; } }, "catch": function _catch(tryLoc) { for (var i = this.tryEntries.length - 1; i >= 0; --i) { var entry = this.tryEntries[i]; if (entry.tryLoc === tryLoc) { var record = entry.completion; if ("throw" === record.type) { var thrown = record.arg; resetTryEntry(entry); } return thrown; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(iterable, resultName, nextLoc) { return this.delegate = { iterator: values(iterable), resultName: resultName, nextLoc: nextLoc }, "next" === this.method && (this.arg = undefined), ContinueSentinel; } }, exports; }
|
|
14
|
+
function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
|
|
15
|
+
function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
|
|
16
|
+
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; }
|
|
17
|
+
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; }
|
|
18
|
+
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; }
|
|
19
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
20
|
+
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); } /* ── jsdom LAYOUT SHIM — REQUIRED, NOT A CONVENIENCE ────────────────────────
|
|
21
|
+
*
|
|
22
|
+
* Without this, EVERY test in this file fails at its first `waitFor`, with focus
|
|
23
|
+
* sitting on <body>. The cause is not the hook:
|
|
24
|
+
*
|
|
25
|
+
* `useFocusTrap.isVisuallyFocusable` rejects an element whose
|
|
26
|
+
* `getClientRects()` is empty — a cheap, correct test for `display:none` and
|
|
27
|
+
* `visibility:hidden` in a real browser.
|
|
28
|
+
*
|
|
29
|
+
* jsdom PERFORMS NO LAYOUT. `getClientRects()` returns an empty list for every
|
|
30
|
+
* element, always. So the filter discards all candidates, `getFocusable()`
|
|
31
|
+
* returns `[]`, nothing is focused, and all eight assertions fail for one
|
|
32
|
+
* reason that has nothing to do with focus management.
|
|
33
|
+
*
|
|
34
|
+
* This shim gives every element a non-zero rect so the visibility filter behaves
|
|
35
|
+
* as it does in a browser. It does NOT weaken the tests: the hook's other
|
|
36
|
+
* exclusions — `disabled`, `aria-disabled`, and the ancestor walk for `hidden` /
|
|
37
|
+
* `aria-hidden` / `inert` — are all ATTRIBUTE-based, work correctly in jsdom, and
|
|
38
|
+
* remain fully exercised (see the "disabled / aria-hidden filtering" block).
|
|
39
|
+
*
|
|
40
|
+
* ⚠ Diagnosed during the procuration-portnet-fe certification audit, where these
|
|
41
|
+
* eight failures were initially suspected of being a real WCAG R-M.2 breach
|
|
42
|
+
* across all consuming modules. They were not. Do NOT "fix" this by relaxing the
|
|
43
|
+
* rect check in the hook — that check is what stops a trap focusing an invisible
|
|
44
|
+
* control in production.
|
|
45
|
+
*
|
|
46
|
+
* Restored in `afterAll` so the patch cannot leak into other suites. */
|
|
47
|
+
var realGetClientRects = Element.prototype.getClientRects;
|
|
48
|
+
beforeAll(function () {
|
|
49
|
+
Element.prototype.getClientRects = function getClientRects() {
|
|
50
|
+
var rect = {
|
|
51
|
+
x: 0,
|
|
52
|
+
y: 0,
|
|
53
|
+
top: 0,
|
|
54
|
+
left: 0,
|
|
55
|
+
right: 10,
|
|
56
|
+
bottom: 10,
|
|
57
|
+
width: 10,
|
|
58
|
+
height: 10,
|
|
59
|
+
toJSON: function toJSON() {
|
|
60
|
+
return {};
|
|
61
|
+
}
|
|
62
|
+
};
|
|
63
|
+
var list = [rect];
|
|
64
|
+
return Object.assign(list, {
|
|
65
|
+
item: function item(i) {
|
|
66
|
+
var _list$i;
|
|
67
|
+
return (_list$i = list[i]) !== null && _list$i !== void 0 ? _list$i : null;
|
|
68
|
+
}
|
|
69
|
+
});
|
|
70
|
+
};
|
|
71
|
+
});
|
|
72
|
+
afterAll(function () {
|
|
73
|
+
Element.prototype.getClientRects = realGetClientRects;
|
|
74
|
+
});
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Smoke + contract tests for the Batch 3 useFocusTrap refactor.
|
|
78
|
+
*
|
|
79
|
+
* Test harness — a minimal trap container component. Defaults to
|
|
80
|
+
* active=true so tests don't have to flip props.
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
function Trapped(_ref) {
|
|
84
|
+
var children = _ref.children,
|
|
85
|
+
_ref$active = _ref.active,
|
|
86
|
+
active = _ref$active === void 0 ? true : _ref$active,
|
|
87
|
+
containerProps = _ref.containerProps;
|
|
88
|
+
var ref = React.useRef(null);
|
|
89
|
+
(0, _useFocusTrap["default"])(ref, active);
|
|
90
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)("div", _objectSpread(_objectSpread({
|
|
91
|
+
ref: ref
|
|
92
|
+
}, containerProps), {}, {
|
|
93
|
+
children: children
|
|
94
|
+
}));
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Returns whether `el` currently has focus, without touching
|
|
99
|
+
* document.activeElement directly (testing-library/no-node-access) —
|
|
100
|
+
* delegates to jest-dom's toHaveFocus() matcher and converts its pass/fail
|
|
101
|
+
* into a boolean so several candidates can be checked in a single
|
|
102
|
+
* "focus is on ONE of these" assertion (see the "outer trap resumes" test).
|
|
103
|
+
*/
|
|
104
|
+
function isFocused(el) {
|
|
105
|
+
try {
|
|
106
|
+
expect(el).toHaveFocus();
|
|
107
|
+
return true;
|
|
108
|
+
} catch (_unused) {
|
|
109
|
+
return false;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
afterEach(function () {
|
|
113
|
+
(0, _react2.cleanup)();
|
|
114
|
+
});
|
|
115
|
+
describe("useFocusTrap — initial focus", function () {
|
|
116
|
+
test("focuses the first focusable element when activated", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
|
|
117
|
+
return _regeneratorRuntime().wrap(function _callee$(_context) {
|
|
118
|
+
while (1) {
|
|
119
|
+
switch (_context.prev = _context.next) {
|
|
120
|
+
case 0:
|
|
121
|
+
(0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
|
|
122
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
123
|
+
children: "First"
|
|
124
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
125
|
+
children: "Second"
|
|
126
|
+
})]
|
|
127
|
+
}));
|
|
128
|
+
_context.next = 3;
|
|
129
|
+
return (0, _react2.waitFor)(function () {
|
|
130
|
+
expect(_react2.screen.getByRole("button", {
|
|
131
|
+
name: "First"
|
|
132
|
+
})).toHaveFocus();
|
|
133
|
+
});
|
|
134
|
+
case 3:
|
|
135
|
+
case "end":
|
|
136
|
+
return _context.stop();
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}, _callee);
|
|
140
|
+
})));
|
|
141
|
+
test("[autofocus] priority wins over the first focusable", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
|
|
142
|
+
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
|
|
143
|
+
while (1) {
|
|
144
|
+
switch (_context2.prev = _context2.next) {
|
|
145
|
+
case 0:
|
|
146
|
+
(0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
|
|
147
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
148
|
+
children: "First"
|
|
149
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
150
|
+
autoFocus: true,
|
|
151
|
+
children: "Auto"
|
|
152
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
153
|
+
children: "Last"
|
|
154
|
+
})]
|
|
155
|
+
}));
|
|
156
|
+
_context2.next = 3;
|
|
157
|
+
return (0, _react2.waitFor)(function () {
|
|
158
|
+
expect(_react2.screen.getByRole("button", {
|
|
159
|
+
name: "Auto"
|
|
160
|
+
})).toHaveFocus();
|
|
161
|
+
});
|
|
162
|
+
case 3:
|
|
163
|
+
case "end":
|
|
164
|
+
return _context2.stop();
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}, _callee2);
|
|
168
|
+
})));
|
|
169
|
+
test("[data-autofocus] priority is honoured (alternative attribute)", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
|
|
170
|
+
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
|
|
171
|
+
while (1) {
|
|
172
|
+
switch (_context3.prev = _context3.next) {
|
|
173
|
+
case 0:
|
|
174
|
+
(0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
|
|
175
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
176
|
+
children: "First"
|
|
177
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
178
|
+
"data-autofocus": true,
|
|
179
|
+
children: "Marker"
|
|
180
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
181
|
+
children: "Last"
|
|
182
|
+
})]
|
|
183
|
+
}));
|
|
184
|
+
_context3.next = 3;
|
|
185
|
+
return (0, _react2.waitFor)(function () {
|
|
186
|
+
expect(_react2.screen.getByRole("button", {
|
|
187
|
+
name: "Marker"
|
|
188
|
+
})).toHaveFocus();
|
|
189
|
+
});
|
|
190
|
+
case 3:
|
|
191
|
+
case "end":
|
|
192
|
+
return _context3.stop();
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
}, _callee3);
|
|
196
|
+
})));
|
|
197
|
+
test("does not crash when the trap container is empty", function () {
|
|
198
|
+
expect(function () {
|
|
199
|
+
return (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(Trapped, {
|
|
200
|
+
containerProps: {
|
|
201
|
+
"data-testid": "empty"
|
|
202
|
+
}
|
|
203
|
+
}));
|
|
204
|
+
}).not.toThrow();
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
describe("useFocusTrap — Tab cycling", function () {
|
|
208
|
+
test("Tab cycles forward and wraps to the first element", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee4() {
|
|
209
|
+
return _regeneratorRuntime().wrap(function _callee4$(_context4) {
|
|
210
|
+
while (1) {
|
|
211
|
+
switch (_context4.prev = _context4.next) {
|
|
212
|
+
case 0:
|
|
213
|
+
(0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
|
|
214
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
215
|
+
children: "First"
|
|
216
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
217
|
+
children: "Second"
|
|
218
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
219
|
+
children: "Third"
|
|
220
|
+
})]
|
|
221
|
+
}));
|
|
222
|
+
_context4.next = 3;
|
|
223
|
+
return (0, _react2.waitFor)(function () {
|
|
224
|
+
expect(_react2.screen.getByRole("button", {
|
|
225
|
+
name: "First"
|
|
226
|
+
})).toHaveFocus();
|
|
227
|
+
});
|
|
228
|
+
case 3:
|
|
229
|
+
_context4.next = 5;
|
|
230
|
+
return _userEvent["default"].tab();
|
|
231
|
+
case 5:
|
|
232
|
+
expect(_react2.screen.getByRole("button", {
|
|
233
|
+
name: "Second"
|
|
234
|
+
})).toHaveFocus();
|
|
235
|
+
_context4.next = 8;
|
|
236
|
+
return _userEvent["default"].tab();
|
|
237
|
+
case 8:
|
|
238
|
+
expect(_react2.screen.getByRole("button", {
|
|
239
|
+
name: "Third"
|
|
240
|
+
})).toHaveFocus();
|
|
241
|
+
|
|
242
|
+
// Wrap from last to first
|
|
243
|
+
_context4.next = 11;
|
|
244
|
+
return _userEvent["default"].tab();
|
|
245
|
+
case 11:
|
|
246
|
+
expect(_react2.screen.getByRole("button", {
|
|
247
|
+
name: "First"
|
|
248
|
+
})).toHaveFocus();
|
|
249
|
+
case 12:
|
|
250
|
+
case "end":
|
|
251
|
+
return _context4.stop();
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}, _callee4);
|
|
255
|
+
})));
|
|
256
|
+
test("Shift+Tab from the first wraps to the last", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
|
|
257
|
+
return _regeneratorRuntime().wrap(function _callee5$(_context5) {
|
|
258
|
+
while (1) {
|
|
259
|
+
switch (_context5.prev = _context5.next) {
|
|
260
|
+
case 0:
|
|
261
|
+
(0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
|
|
262
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
263
|
+
children: "First"
|
|
264
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
265
|
+
children: "Second"
|
|
266
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
267
|
+
children: "Last"
|
|
268
|
+
})]
|
|
269
|
+
}));
|
|
270
|
+
_context5.next = 3;
|
|
271
|
+
return (0, _react2.waitFor)(function () {
|
|
272
|
+
expect(_react2.screen.getByRole("button", {
|
|
273
|
+
name: "First"
|
|
274
|
+
})).toHaveFocus();
|
|
275
|
+
});
|
|
276
|
+
case 3:
|
|
277
|
+
_context5.next = 5;
|
|
278
|
+
return _userEvent["default"].tab({
|
|
279
|
+
shift: true
|
|
280
|
+
});
|
|
281
|
+
case 5:
|
|
282
|
+
expect(_react2.screen.getByRole("button", {
|
|
283
|
+
name: "Last"
|
|
284
|
+
})).toHaveFocus();
|
|
285
|
+
case 6:
|
|
286
|
+
case "end":
|
|
287
|
+
return _context5.stop();
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}, _callee5);
|
|
291
|
+
})));
|
|
292
|
+
});
|
|
293
|
+
describe("useFocusTrap — disabled / aria-hidden filtering", function () {
|
|
294
|
+
test("disabled buttons are skipped during cycling", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
|
|
295
|
+
return _regeneratorRuntime().wrap(function _callee6$(_context6) {
|
|
296
|
+
while (1) {
|
|
297
|
+
switch (_context6.prev = _context6.next) {
|
|
298
|
+
case 0:
|
|
299
|
+
(0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
|
|
300
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
301
|
+
children: "First"
|
|
302
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
303
|
+
disabled: true,
|
|
304
|
+
children: "Disabled"
|
|
305
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
306
|
+
children: "Third"
|
|
307
|
+
})]
|
|
308
|
+
}));
|
|
309
|
+
_context6.next = 3;
|
|
310
|
+
return (0, _react2.waitFor)(function () {
|
|
311
|
+
expect(_react2.screen.getByRole("button", {
|
|
312
|
+
name: "First"
|
|
313
|
+
})).toHaveFocus();
|
|
314
|
+
});
|
|
315
|
+
case 3:
|
|
316
|
+
_context6.next = 5;
|
|
317
|
+
return _userEvent["default"].tab();
|
|
318
|
+
case 5:
|
|
319
|
+
expect(_react2.screen.getByRole("button", {
|
|
320
|
+
name: "Third"
|
|
321
|
+
})).toHaveFocus();
|
|
322
|
+
case 6:
|
|
323
|
+
case "end":
|
|
324
|
+
return _context6.stop();
|
|
325
|
+
}
|
|
326
|
+
}
|
|
327
|
+
}, _callee6);
|
|
328
|
+
})));
|
|
329
|
+
test("[aria-hidden=true] subtree is excluded from the cycle boundary", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee7() {
|
|
330
|
+
return _regeneratorRuntime().wrap(function _callee7$(_context7) {
|
|
331
|
+
while (1) {
|
|
332
|
+
switch (_context7.prev = _context7.next) {
|
|
333
|
+
case 0:
|
|
334
|
+
/* WHY THE aria-hidden SUBTREE IS LAST, AND WHY THIS ASSERTS THE WRAP
|
|
335
|
+
*
|
|
336
|
+
* This test previously placed the aria-hidden subtree in the MIDDLE and
|
|
337
|
+
* expected a single Tab to jump First → Third. It failed, and the hook was
|
|
338
|
+
* not at fault: of the three attributes isVisuallyFocusable walks,
|
|
339
|
+
* `hidden` and `inert` remove an element from the NATIVE tab order, but
|
|
340
|
+
* `aria-hidden` does NOT — per spec it annotates the accessibility tree
|
|
341
|
+
* only. useFocusTrap intercepts Tab at the cycle BOUNDARIES (first/last)
|
|
342
|
+
* and defers mid-cycle moves to the browser, so a native Tab lands on the
|
|
343
|
+
* aria-hidden button no matter what getFocusable() returned.
|
|
344
|
+
*
|
|
345
|
+
* A focusable control inside aria-hidden="true" is a CONTENT defect (axe
|
|
346
|
+
* `aria-hidden-focus`); use `inert` (or `hidden`) to take a subtree out of
|
|
347
|
+
* interaction. What the filter genuinely guarantees is that such an element
|
|
348
|
+
* is never treated as the cycle's first/last — so the trap never DELIVERS
|
|
349
|
+
* focus into it. That is what is asserted here: with the subtree last,
|
|
350
|
+
* `last` is still "Third", so Tab from Third wraps to First instead of
|
|
351
|
+
* proceeding natively into "Hidden".
|
|
352
|
+
*
|
|
353
|
+
* Do NOT restore the mid-cycle form without also converting the hook to
|
|
354
|
+
* intercept every Tab — see the boundary-scope note in useFocusTrap.ts. */
|
|
355
|
+
(0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
|
|
356
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
357
|
+
children: "First"
|
|
358
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
359
|
+
children: "Third"
|
|
360
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("div", {
|
|
361
|
+
"aria-hidden": "true",
|
|
362
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
363
|
+
children: "Hidden"
|
|
364
|
+
})
|
|
365
|
+
})]
|
|
366
|
+
}));
|
|
367
|
+
_context7.next = 3;
|
|
368
|
+
return (0, _react2.waitFor)(function () {
|
|
369
|
+
expect(_react2.screen.getByRole("button", {
|
|
370
|
+
name: "First"
|
|
371
|
+
})).toHaveFocus();
|
|
372
|
+
});
|
|
373
|
+
case 3:
|
|
374
|
+
_context7.next = 5;
|
|
375
|
+
return _userEvent["default"].tab();
|
|
376
|
+
case 5:
|
|
377
|
+
expect(_react2.screen.getByRole("button", {
|
|
378
|
+
name: "Third"
|
|
379
|
+
})).toHaveFocus();
|
|
380
|
+
|
|
381
|
+
// "Third" is the LAST focusable the trap recognises: the aria-hidden
|
|
382
|
+
// button is filtered out, so Tab wraps rather than entering it.
|
|
383
|
+
_context7.next = 8;
|
|
384
|
+
return _userEvent["default"].tab();
|
|
385
|
+
case 8:
|
|
386
|
+
expect(_react2.screen.getByRole("button", {
|
|
387
|
+
name: "First"
|
|
388
|
+
})).toHaveFocus();
|
|
389
|
+
case 9:
|
|
390
|
+
case "end":
|
|
391
|
+
return _context7.stop();
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
}, _callee7);
|
|
395
|
+
})));
|
|
396
|
+
});
|
|
397
|
+
describe("useFocusTrap — nested traps (Batch 3 stack contract)", function () {
|
|
398
|
+
/**
|
|
399
|
+
* Nested-trap harness. Outer trap is always-active; inner trap is
|
|
400
|
+
* controlled by `innerActive`. When the inner mounts, Tab cycles
|
|
401
|
+
* inside it; when the inner unmounts, the outer trap resumes.
|
|
402
|
+
*/
|
|
403
|
+
|
|
404
|
+
function NestedHarness(_ref9) {
|
|
405
|
+
var innerActive = _ref9.innerActive;
|
|
406
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
|
|
407
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
408
|
+
children: "Outer-1"
|
|
409
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
410
|
+
children: "Outer-2"
|
|
411
|
+
}), innerActive && /*#__PURE__*/(0, _jsxRuntime.jsxs)(Trapped, {
|
|
412
|
+
containerProps: {
|
|
413
|
+
"data-testid": "inner"
|
|
414
|
+
},
|
|
415
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
416
|
+
children: "Inner-A"
|
|
417
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)("button", {
|
|
418
|
+
children: "Inner-B"
|
|
419
|
+
})]
|
|
420
|
+
})]
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
test("inner trap takes over Tab cycling when active", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee8() {
|
|
424
|
+
var _render, rerender;
|
|
425
|
+
return _regeneratorRuntime().wrap(function _callee8$(_context8) {
|
|
426
|
+
while (1) {
|
|
427
|
+
switch (_context8.prev = _context8.next) {
|
|
428
|
+
case 0:
|
|
429
|
+
_render = (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(NestedHarness, {
|
|
430
|
+
innerActive: false
|
|
431
|
+
})), rerender = _render.rerender;
|
|
432
|
+
_context8.next = 3;
|
|
433
|
+
return (0, _react2.waitFor)(function () {
|
|
434
|
+
expect(_react2.screen.getByRole("button", {
|
|
435
|
+
name: "Outer-1"
|
|
436
|
+
})).toHaveFocus();
|
|
437
|
+
});
|
|
438
|
+
case 3:
|
|
439
|
+
// Mount the inner trap — it should grab focus and confine Tab.
|
|
440
|
+
rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(NestedHarness, {
|
|
441
|
+
innerActive: true
|
|
442
|
+
}));
|
|
443
|
+
_context8.next = 6;
|
|
444
|
+
return (0, _react2.waitFor)(function () {
|
|
445
|
+
expect(_react2.screen.getByRole("button", {
|
|
446
|
+
name: "Inner-A"
|
|
447
|
+
})).toHaveFocus();
|
|
448
|
+
});
|
|
449
|
+
case 6:
|
|
450
|
+
_context8.next = 8;
|
|
451
|
+
return _userEvent["default"].tab();
|
|
452
|
+
case 8:
|
|
453
|
+
expect(_react2.screen.getByRole("button", {
|
|
454
|
+
name: "Inner-B"
|
|
455
|
+
})).toHaveFocus();
|
|
456
|
+
|
|
457
|
+
// Wrap inside the inner trap, NOT escape to Outer-2.
|
|
458
|
+
_context8.next = 11;
|
|
459
|
+
return _userEvent["default"].tab();
|
|
460
|
+
case 11:
|
|
461
|
+
expect(_react2.screen.getByRole("button", {
|
|
462
|
+
name: "Inner-A"
|
|
463
|
+
})).toHaveFocus();
|
|
464
|
+
case 12:
|
|
465
|
+
case "end":
|
|
466
|
+
return _context8.stop();
|
|
467
|
+
}
|
|
468
|
+
}
|
|
469
|
+
}, _callee8);
|
|
470
|
+
})));
|
|
471
|
+
test("outer trap resumes after inner unmounts", /*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime().mark(function _callee9() {
|
|
472
|
+
var _render2, rerender, outer1, outer2;
|
|
473
|
+
return _regeneratorRuntime().wrap(function _callee9$(_context9) {
|
|
474
|
+
while (1) {
|
|
475
|
+
switch (_context9.prev = _context9.next) {
|
|
476
|
+
case 0:
|
|
477
|
+
_render2 = (0, _react2.render)(/*#__PURE__*/(0, _jsxRuntime.jsx)(NestedHarness, {
|
|
478
|
+
innerActive: true
|
|
479
|
+
})), rerender = _render2.rerender;
|
|
480
|
+
_context9.next = 3;
|
|
481
|
+
return (0, _react2.waitFor)(function () {
|
|
482
|
+
expect(_react2.screen.getByRole("button", {
|
|
483
|
+
name: "Inner-A"
|
|
484
|
+
})).toHaveFocus();
|
|
485
|
+
});
|
|
486
|
+
case 3:
|
|
487
|
+
// Unmount inner. Outer trap should resume duty.
|
|
488
|
+
rerender(/*#__PURE__*/(0, _jsxRuntime.jsx)(NestedHarness, {
|
|
489
|
+
innerActive: false
|
|
490
|
+
}));
|
|
491
|
+
|
|
492
|
+
// Tab inside the outer container — must stay inside, not leak to body.
|
|
493
|
+
// (We don't assert the exact focused element after rerender because
|
|
494
|
+
// restoration depends on whether the previously-focused element is
|
|
495
|
+
// still mounted; we DO assert that focus lands on one of the outer
|
|
496
|
+
// buttons — isFocused() catches both "lost to body" and "landed
|
|
497
|
+
// somewhere unexpected" in one check, without reading
|
|
498
|
+
// document.activeElement directly.)
|
|
499
|
+
_context9.next = 6;
|
|
500
|
+
return _userEvent["default"].tab();
|
|
501
|
+
case 6:
|
|
502
|
+
outer1 = _react2.screen.getByRole("button", {
|
|
503
|
+
name: "Outer-1"
|
|
504
|
+
});
|
|
505
|
+
outer2 = _react2.screen.getByRole("button", {
|
|
506
|
+
name: "Outer-2"
|
|
507
|
+
});
|
|
508
|
+
expect(isFocused(outer1) || isFocused(outer2)).toBe(true);
|
|
509
|
+
case 9:
|
|
510
|
+
case "end":
|
|
511
|
+
return _context9.stop();
|
|
512
|
+
}
|
|
513
|
+
}
|
|
514
|
+
}, _callee9);
|
|
515
|
+
})));
|
|
516
|
+
});
|
|
517
|
+
//# sourceMappingURL=useFocusTrap.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useFocusTrap.test.js","names":["require","React","_interopRequireWildcard","_react2","_userEvent","_interopRequireDefault","_useFocusTrap","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_regeneratorRuntime","exports","Op","hasOwn","value","$Symbol","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","doneResult","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","done","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","ownKeys","enumerableOnly","getOwnPropertySymbols","symbols","filter","sym","_objectSpread","target","source","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","_toPrimitive","String","input","hint","prim","toPrimitive","res","Number","realGetClientRects","Element","getClientRects","beforeAll","rect","x","y","top","left","right","bottom","width","height","toJSON","list","assign","item","_list$i","afterAll","Trapped","_ref","children","_ref$active","active","containerProps","ref","useRef","useFocusTrap","jsx","isFocused","el","expect","toHaveFocus","_unused","afterEach","cleanup","describe","test","_callee","_callee$","_context","render","jsxs","waitFor","screen","getByRole","_callee2","_callee2$","_context2","autoFocus","_callee3","_callee3$","_context3","not","toThrow","_callee4","_callee4$","_context4","userEvent","tab","_callee5","_callee5$","_context5","shift","_callee6","_callee6$","_context6","disabled","_callee7","_callee7$","_context7","NestedHarness","_ref9","innerActive","_callee8","_render","rerender","_callee8$","_context8","_callee9","_render2","outer1","outer2","_callee9$","_context9","toBe"],"sources":["../../../src/lib/v2/__tests__/useFocusTrap.test.tsx"],"sourcesContent":["import \"@testing-library/jest-dom\";\r\nimport * as React from \"react\";\r\nimport { render, waitFor, cleanup, screen } from \"@testing-library/react\";\r\nimport userEvent from \"@testing-library/user-event\";\r\nimport useFocusTrap from \"../hooks/useFocusTrap\";\r\n\r\n/* ── jsdom LAYOUT SHIM — REQUIRED, NOT A CONVENIENCE ────────────────────────\r\n *\r\n * Without this, EVERY test in this file fails at its first `waitFor`, with focus\r\n * sitting on <body>. The cause is not the hook:\r\n *\r\n * `useFocusTrap.isVisuallyFocusable` rejects an element whose\r\n * `getClientRects()` is empty — a cheap, correct test for `display:none` and\r\n * `visibility:hidden` in a real browser.\r\n *\r\n * jsdom PERFORMS NO LAYOUT. `getClientRects()` returns an empty list for every\r\n * element, always. So the filter discards all candidates, `getFocusable()`\r\n * returns `[]`, nothing is focused, and all eight assertions fail for one\r\n * reason that has nothing to do with focus management.\r\n *\r\n * This shim gives every element a non-zero rect so the visibility filter behaves\r\n * as it does in a browser. It does NOT weaken the tests: the hook's other\r\n * exclusions — `disabled`, `aria-disabled`, and the ancestor walk for `hidden` /\r\n * `aria-hidden` / `inert` — are all ATTRIBUTE-based, work correctly in jsdom, and\r\n * remain fully exercised (see the \"disabled / aria-hidden filtering\" block).\r\n *\r\n * ⚠ Diagnosed during the procuration-portnet-fe certification audit, where these\r\n * eight failures were initially suspected of being a real WCAG R-M.2 breach\r\n * across all consuming modules. They were not. Do NOT \"fix\" this by relaxing the\r\n * rect check in the hook — that check is what stops a trap focusing an invisible\r\n * control in production.\r\n *\r\n * Restored in `afterAll` so the patch cannot leak into other suites. */\r\nconst realGetClientRects = Element.prototype.getClientRects;\r\n\r\nbeforeAll(() => {\r\n Element.prototype.getClientRects = function getClientRects(this: Element) {\r\n const rect: DOMRect = {\r\n x: 0,\r\n y: 0,\r\n top: 0,\r\n left: 0,\r\n right: 10,\r\n bottom: 10,\r\n width: 10,\r\n height: 10,\r\n toJSON: () => ({}),\r\n };\r\n const list = [rect];\r\n return Object.assign(list, {\r\n item: (i: number): DOMRect | null => list[i] ?? null,\r\n }) as unknown as DOMRectList;\r\n };\r\n});\r\n\r\nafterAll(() => {\r\n Element.prototype.getClientRects = realGetClientRects;\r\n});\r\n\r\n/**\r\n * Smoke + contract tests for the Batch 3 useFocusTrap refactor.\r\n *\r\n * Test harness — a minimal trap container component. Defaults to\r\n * active=true so tests don't have to flip props.\r\n */\r\ntype ContainerProps = React.HTMLAttributes<HTMLDivElement> & {\r\n [key: `data-${string}`]: string;\r\n};\r\n\r\ninterface TrappedProps {\r\n children?: React.ReactNode;\r\n active?: boolean;\r\n containerProps?: ContainerProps;\r\n}\r\n\r\nfunction Trapped({\r\n children,\r\n active = true,\r\n containerProps,\r\n}: TrappedProps): React.JSX.Element {\r\n const ref = React.useRef<HTMLDivElement>(null);\r\n useFocusTrap(ref, active);\r\n return (\r\n <div ref={ref} {...containerProps}>\r\n {children}\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * Returns whether `el` currently has focus, without touching\r\n * document.activeElement directly (testing-library/no-node-access) —\r\n * delegates to jest-dom's toHaveFocus() matcher and converts its pass/fail\r\n * into a boolean so several candidates can be checked in a single\r\n * \"focus is on ONE of these\" assertion (see the \"outer trap resumes\" test).\r\n */\r\nfunction isFocused(el: HTMLElement): boolean {\r\n try {\r\n expect(el).toHaveFocus();\r\n return true;\r\n } catch {\r\n return false;\r\n }\r\n}\r\n\r\nafterEach(() => {\r\n cleanup();\r\n});\r\n\r\ndescribe(\"useFocusTrap — initial focus\", () => {\r\n test(\"focuses the first focusable element when activated\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button>Second</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n });\r\n\r\n test(\"[autofocus] priority wins over the first focusable\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button autoFocus>Auto</button>\r\n <button>Last</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"Auto\" })).toHaveFocus();\r\n });\r\n });\r\n\r\n test(\"[data-autofocus] priority is honoured (alternative attribute)\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button data-autofocus>Marker</button>\r\n <button>Last</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"Marker\" })).toHaveFocus();\r\n });\r\n });\r\n\r\n test(\"does not crash when the trap container is empty\", () => {\r\n expect(() =>\r\n render(<Trapped containerProps={{ \"data-testid\": \"empty\" }} />)\r\n ).not.toThrow();\r\n });\r\n});\r\n\r\ndescribe(\"useFocusTrap — Tab cycling\", () => {\r\n test(\"Tab cycles forward and wraps to the first element\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button>Second</button>\r\n <button>Third</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Second\" })).toHaveFocus();\r\n\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Third\" })).toHaveFocus();\r\n\r\n // Wrap from last to first\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n\r\n test(\"Shift+Tab from the first wraps to the last\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button>Second</button>\r\n <button>Last</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n\r\n await userEvent.tab({ shift: true });\r\n expect(screen.getByRole(\"button\", { name: \"Last\" })).toHaveFocus();\r\n });\r\n});\r\n\r\ndescribe(\"useFocusTrap — disabled / aria-hidden filtering\", () => {\r\n test(\"disabled buttons are skipped during cycling\", async () => {\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button disabled>Disabled</button>\r\n <button>Third</button>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n\r\n // Tab should jump from First → Third, skipping Disabled.\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Third\" })).toHaveFocus();\r\n });\r\n\r\n test(\"[aria-hidden=true] subtree is excluded from the cycle boundary\", async () => {\r\n /* WHY THE aria-hidden SUBTREE IS LAST, AND WHY THIS ASSERTS THE WRAP\r\n *\r\n * This test previously placed the aria-hidden subtree in the MIDDLE and\r\n * expected a single Tab to jump First → Third. It failed, and the hook was\r\n * not at fault: of the three attributes isVisuallyFocusable walks,\r\n * `hidden` and `inert` remove an element from the NATIVE tab order, but\r\n * `aria-hidden` does NOT — per spec it annotates the accessibility tree\r\n * only. useFocusTrap intercepts Tab at the cycle BOUNDARIES (first/last)\r\n * and defers mid-cycle moves to the browser, so a native Tab lands on the\r\n * aria-hidden button no matter what getFocusable() returned.\r\n *\r\n * A focusable control inside aria-hidden=\"true\" is a CONTENT defect (axe\r\n * `aria-hidden-focus`); use `inert` (or `hidden`) to take a subtree out of\r\n * interaction. What the filter genuinely guarantees is that such an element\r\n * is never treated as the cycle's first/last — so the trap never DELIVERS\r\n * focus into it. That is what is asserted here: with the subtree last,\r\n * `last` is still \"Third\", so Tab from Third wraps to First instead of\r\n * proceeding natively into \"Hidden\".\r\n *\r\n * Do NOT restore the mid-cycle form without also converting the hook to\r\n * intercept every Tab — see the boundary-scope note in useFocusTrap.ts. */\r\n render(\r\n <Trapped>\r\n <button>First</button>\r\n <button>Third</button>\r\n <div aria-hidden=\"true\">\r\n <button>Hidden</button>\r\n </div>\r\n </Trapped>\r\n );\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Third\" })).toHaveFocus();\r\n\r\n // \"Third\" is the LAST focusable the trap recognises: the aria-hidden\r\n // button is filtered out, so Tab wraps rather than entering it.\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"First\" })).toHaveFocus();\r\n });\r\n});\r\n\r\ndescribe(\"useFocusTrap — nested traps (Batch 3 stack contract)\", () => {\r\n /**\r\n * Nested-trap harness. Outer trap is always-active; inner trap is\r\n * controlled by `innerActive`. When the inner mounts, Tab cycles\r\n * inside it; when the inner unmounts, the outer trap resumes.\r\n */\r\n interface NestedHarnessProps {\r\n innerActive: boolean;\r\n }\r\n\r\n function NestedHarness({ innerActive }: NestedHarnessProps): React.JSX.Element {\r\n return (\r\n <Trapped>\r\n <button>Outer-1</button>\r\n <button>Outer-2</button>\r\n {innerActive && (\r\n <Trapped containerProps={{ \"data-testid\": \"inner\" }}>\r\n <button>Inner-A</button>\r\n <button>Inner-B</button>\r\n </Trapped>\r\n )}\r\n </Trapped>\r\n );\r\n }\r\n\r\n test(\"inner trap takes over Tab cycling when active\", async () => {\r\n const { rerender } = render(<NestedHarness innerActive={false} />);\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"Outer-1\" })).toHaveFocus();\r\n });\r\n\r\n // Mount the inner trap — it should grab focus and confine Tab.\r\n rerender(<NestedHarness innerActive={true} />);\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"Inner-A\" })).toHaveFocus();\r\n });\r\n\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Inner-B\" })).toHaveFocus();\r\n\r\n // Wrap inside the inner trap, NOT escape to Outer-2.\r\n await userEvent.tab();\r\n expect(screen.getByRole(\"button\", { name: \"Inner-A\" })).toHaveFocus();\r\n });\r\n\r\n test(\"outer trap resumes after inner unmounts\", async () => {\r\n const { rerender } = render(<NestedHarness innerActive={true} />);\r\n await waitFor(() => {\r\n expect(screen.getByRole(\"button\", { name: \"Inner-A\" })).toHaveFocus();\r\n });\r\n\r\n // Unmount inner. Outer trap should resume duty.\r\n rerender(<NestedHarness innerActive={false} />);\r\n\r\n // Tab inside the outer container — must stay inside, not leak to body.\r\n // (We don't assert the exact focused element after rerender because\r\n // restoration depends on whether the previously-focused element is\r\n // still mounted; we DO assert that focus lands on one of the outer\r\n // buttons — isFocused() catches both \"lost to body\" and \"landed\r\n // somewhere unexpected\" in one check, without reading\r\n // document.activeElement directly.)\r\n await userEvent.tab();\r\n const outer1 = screen.getByRole(\"button\", { name: \"Outer-1\" });\r\n const outer2 = screen.getByRole(\"button\", { name: \"Outer-2\" });\r\n expect(isFocused(outer1) || isFocused(outer2)).toBe(true);\r\n });\r\n});\r\n"],"mappings":"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","ignoreList":[]}
|