@portnet/ui 6.0.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +196 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +144 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +333 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/esm/v2/__tests__/apiError.test.js +181 -0
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +147 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +230 -0
- package/dist/esm/v2/components/Accordion.js.map +1 -0
- package/dist/esm/v2/components/ActionStrip.js +146 -0
- package/dist/esm/v2/components/ActionStrip.js.map +1 -0
- package/dist/esm/v2/components/Banner.js +254 -0
- package/dist/esm/v2/components/Banner.js.map +1 -0
- package/dist/esm/v2/components/Busy.js +97 -0
- package/dist/esm/v2/components/Busy.js.map +1 -0
- package/dist/esm/v2/components/Button.js +114 -0
- package/dist/esm/v2/components/Button.js.map +1 -0
- package/dist/esm/v2/components/CategoryTag.js +81 -0
- package/dist/esm/v2/components/CategoryTag.js.map +1 -0
- package/dist/esm/v2/components/Checkbox.js +124 -0
- package/dist/esm/v2/components/Checkbox.js.map +1 -0
- package/dist/esm/v2/components/Chip.js +124 -0
- package/dist/esm/v2/components/Chip.js.map +1 -0
- package/dist/esm/v2/components/Combobox.js +394 -0
- package/dist/esm/v2/components/Combobox.js.map +1 -0
- package/dist/esm/v2/components/CommandPalette.js +660 -0
- package/dist/esm/v2/components/CommandPalette.js.map +1 -0
- package/dist/esm/v2/components/ConfirmDialog.js +144 -0
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/esm/v2/components/DatePicker.js +200 -0
- package/dist/esm/v2/components/DatePicker.js.map +1 -0
- package/dist/esm/v2/components/DateRangePicker.js +289 -0
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
- package/dist/esm/v2/components/DateTimePicker.js +182 -0
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
- package/dist/esm/v2/components/Drawer.js +333 -0
- package/dist/esm/v2/components/Drawer.js.map +1 -0
- package/dist/esm/v2/components/Dropzone.js +540 -0
- package/dist/esm/v2/components/Dropzone.js.map +1 -0
- package/dist/esm/v2/components/EmptyState.js +102 -0
- package/dist/esm/v2/components/EmptyState.js.map +1 -0
- package/dist/esm/v2/components/FavoriteToggle.js +127 -0
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/esm/v2/components/Field.js +197 -0
- package/dist/esm/v2/components/Field.js.map +1 -0
- package/dist/esm/v2/components/FieldError.js +124 -0
- package/dist/esm/v2/components/FieldError.js.map +1 -0
- package/dist/esm/v2/components/FieldHelp.js +202 -0
- package/dist/esm/v2/components/FieldHelp.js.map +1 -0
- package/dist/esm/v2/components/FileCard.js +162 -0
- package/dist/esm/v2/components/FileCard.js.map +1 -0
- package/dist/esm/v2/components/FilterTab.js +138 -0
- package/dist/esm/v2/components/FilterTab.js.map +1 -0
- package/dist/esm/v2/components/ForbiddenPage.js +74 -0
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/esm/v2/components/FormGrid.js +179 -0
- package/dist/esm/v2/components/FormGrid.js.map +1 -0
- package/dist/esm/v2/components/FormikDisplay.js +118 -0
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
- package/dist/esm/v2/components/Input.js +107 -0
- package/dist/esm/v2/components/Input.js.map +1 -0
- package/dist/esm/v2/components/KPICard.js +237 -0
- package/dist/esm/v2/components/KPICard.js.map +1 -0
- package/dist/esm/v2/components/KPIStrip.js +84 -0
- package/dist/esm/v2/components/KPIStrip.js.map +1 -0
- package/dist/esm/v2/components/KV.js +75 -0
- package/dist/esm/v2/components/KV.js.map +1 -0
- package/dist/esm/v2/components/KVGrid.js +74 -0
- package/dist/esm/v2/components/KVGrid.js.map +1 -0
- package/dist/esm/v2/components/Layout.js +284 -0
- package/dist/esm/v2/components/Layout.js.map +1 -0
- package/dist/esm/v2/components/MobileRowCard.js +314 -0
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
- package/dist/esm/v2/components/Modal.js +276 -0
- package/dist/esm/v2/components/Modal.js.map +1 -0
- package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/esm/v2/components/NotFoundPage.js +58 -0
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
- package/dist/esm/v2/components/NumberInput.js +309 -0
- package/dist/esm/v2/components/NumberInput.js.map +1 -0
- package/dist/esm/v2/components/OverflowMenu.js +184 -0
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
- package/dist/esm/v2/components/PdfViewer.js +122 -0
- package/dist/esm/v2/components/PdfViewer.js.map +1 -0
- package/dist/esm/v2/components/ProgressBar.js +202 -0
- package/dist/esm/v2/components/ProgressBar.js.map +1 -0
- package/dist/esm/v2/components/Radio.js +228 -0
- package/dist/esm/v2/components/Radio.js.map +1 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/esm/v2/components/SectionHeader.js +132 -0
- package/dist/esm/v2/components/SectionHeader.js.map +1 -0
- package/dist/esm/v2/components/Segmented.js +254 -0
- package/dist/esm/v2/components/Segmented.js.map +1 -0
- package/dist/esm/v2/components/Select.js +490 -0
- package/dist/esm/v2/components/Select.js.map +1 -0
- package/dist/esm/v2/components/ServerErrorPage.js +74 -0
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/esm/v2/components/Skeleton.js +269 -0
- package/dist/esm/v2/components/Skeleton.js.map +1 -0
- package/dist/esm/v2/components/SkipLink.js +49 -0
- package/dist/esm/v2/components/SkipLink.js.map +1 -0
- package/dist/esm/v2/components/Spinner.js +69 -0
- package/dist/esm/v2/components/Spinner.js.map +1 -0
- package/dist/esm/v2/components/Status.js +64 -0
- package/dist/esm/v2/components/Status.js.map +1 -0
- package/dist/esm/v2/components/Stepper.js +432 -0
- package/dist/esm/v2/components/Stepper.js.map +1 -0
- package/dist/esm/v2/components/Surface.js +159 -0
- package/dist/esm/v2/components/Surface.js.map +1 -0
- package/dist/esm/v2/components/Switch.js +128 -0
- package/dist/esm/v2/components/Switch.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +150 -0
- package/dist/esm/v2/components/Tabs.js.map +1 -0
- package/dist/esm/v2/components/TelInput.js +274 -0
- package/dist/esm/v2/components/TelInput.js.map +1 -0
- package/dist/esm/v2/components/Textarea.js +72 -0
- package/dist/esm/v2/components/Textarea.js.map +1 -0
- package/dist/esm/v2/components/TimePicker.js +134 -0
- package/dist/esm/v2/components/TimePicker.js.map +1 -0
- package/dist/esm/v2/components/Toast.js +376 -0
- package/dist/esm/v2/components/Toast.js.map +1 -0
- package/dist/esm/v2/components/Tooltip.js +161 -0
- package/dist/esm/v2/components/Tooltip.js.map +1 -0
- package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/esm/v2/components/_pickerShared.js +60 -0
- package/dist/esm/v2/components/_pickerShared.js.map +1 -0
- package/dist/esm/v2/components/index.js +244 -0
- package/dist/esm/v2/components/index.js.map +1 -0
- package/dist/esm/v2/hooks/index.js +10 -0
- package/dist/esm/v2/hooks/index.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/esm/v2/hooks/useDensity.js +119 -0
- package/dist/esm/v2/hooks/useDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useSortedRows.js +32 -0
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/esm/v2/hooks/useTabLoading.js +79 -0
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/esm/v2/index.js +121 -0
- package/dist/esm/v2/index.js.map +1 -0
- package/dist/esm/v2/modalContext.js +108 -0
- package/dist/esm/v2/modalContext.js.map +1 -0
- package/dist/esm/v2/models/favorite.js +2 -0
- package/dist/esm/v2/models/favorite.js.map +1 -0
- package/dist/esm/v2/models/index.js +12 -0
- package/dist/esm/v2/models/index.js.map +1 -0
- package/dist/esm/v2/models/personalization.js +2 -0
- package/dist/esm/v2/models/personalization.js.map +1 -0
- package/dist/esm/v2/models/referentiel.js +2 -0
- package/dist/esm/v2/models/referentiel.js.map +1 -0
- package/dist/esm/v2/models/savedFilter.js +2 -0
- package/dist/esm/v2/models/savedFilter.js.map +1 -0
- package/dist/esm/v2/patterns/ActionBar.js +603 -0
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/esm/v2/patterns/DataGrid.js +820 -0
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +164 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormPageShell.js +126 -0
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/FormSection.js +190 -0
- package/dist/esm/v2/patterns/FormSection.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCombobox.js +115 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +196 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +148 -0
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
- package/dist/esm/v2/patterns/FormikInput.js +127 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/FormikSelect.js +159 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +76 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +195 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/esm/v2/patterns/PageContent.js +62 -0
- package/dist/esm/v2/patterns/PageContent.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +615 -0
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/SortableHeader.js +179 -0
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/esm/v2/patterns/Tour.js +471 -0
- package/dist/esm/v2/patterns/Tour.js.map +1 -0
- package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +112 -0
- package/dist/esm/v2/patterns/_sort.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +95 -0
- package/dist/esm/v2/patterns/index.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/index.js +11 -0
- package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +17 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/esm/v2/personalization/index.js +46 -0
- package/dist/esm/v2/personalization/index.js.map +1 -0
- package/dist/esm/v2/personalization/personalizationContext.js +108 -0
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/esm/v2/personalization/schema.js +92 -0
- package/dist/esm/v2/personalization/schema.js.map +1 -0
- package/dist/esm/v2/personalization/types.js +2 -0
- package/dist/esm/v2/personalization/types.js.map +1 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/esm/v2/referentiel/index.js +15 -0
- package/dist/esm/v2/referentiel/index.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/esm/v2/styles/base.css +425 -0
- package/dist/esm/v2/styles/css.d.ts +10 -0
- package/dist/esm/v2/styles/index.js +12 -0
- package/dist/esm/v2/styles/index.js.map +1 -0
- package/dist/esm/v2/theme/_brand.js +64 -0
- package/dist/esm/v2/theme/_brand.js.map +1 -0
- package/dist/esm/v2/theme/_brandSecondary.js +60 -0
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/esm/v2/theme/cssVariables.js +198 -0
- package/dist/esm/v2/theme/cssVariables.js.map +1 -0
- package/dist/esm/v2/theme/index.js +32 -0
- package/dist/esm/v2/theme/index.js.map +1 -0
- package/dist/esm/v2/tokens/breakpoints.js +106 -0
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +219 -0
- package/dist/esm/v2/tokens/colors.js.map +1 -0
- package/dist/esm/v2/tokens/density.js +98 -0
- package/dist/esm/v2/tokens/density.js.map +1 -0
- package/dist/esm/v2/tokens/index.js +80 -0
- package/dist/esm/v2/tokens/index.js.map +1 -0
- package/dist/esm/v2/tokens/motion.js +88 -0
- package/dist/esm/v2/tokens/motion.js.map +1 -0
- package/dist/esm/v2/tokens/radius.js +22 -0
- package/dist/esm/v2/tokens/radius.js.map +1 -0
- package/dist/esm/v2/tokens/shadows.js +40 -0
- package/dist/esm/v2/tokens/shadows.js.map +1 -0
- package/dist/esm/v2/tokens/spacing.js +51 -0
- package/dist/esm/v2/tokens/spacing.js.map +1 -0
- package/dist/esm/v2/tokens/state.js +41 -0
- package/dist/esm/v2/tokens/state.js.map +1 -0
- package/dist/esm/v2/tokens/statusPalette.js +66 -0
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
- package/dist/esm/v2/tokens/tokens.json +153 -0
- package/dist/esm/v2/tokens/typography.js +149 -0
- package/dist/esm/v2/tokens/typography.js.map +1 -0
- package/dist/esm/v2/tokens/zIndex.js +44 -0
- package/dist/esm/v2/tokens/zIndex.js.map +1 -0
- package/dist/esm/v2/types/common.js +2 -0
- package/dist/esm/v2/types/common.js.map +1 -0
- package/dist/esm/v2/types/datagrid.js +2 -0
- package/dist/esm/v2/types/datagrid.js.map +1 -0
- package/dist/esm/v2/types/index.js +12 -0
- package/dist/esm/v2/types/index.js.map +1 -0
- package/dist/esm/v2/utils/apiError.js +281 -0
- package/dist/esm/v2/utils/apiError.js.map +1 -0
- package/dist/esm/v2/utils/contrast.js +157 -0
- package/dist/esm/v2/utils/contrast.js.map +1 -0
- package/dist/esm/v2/utils/cx.js +38 -0
- package/dist/esm/v2/utils/cx.js.map +1 -0
- package/dist/esm/v2/utils/fileDownload.js +226 -0
- package/dist/esm/v2/utils/fileDownload.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +78 -0
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
- package/dist/esm/v2/utils/index.js +43 -0
- package/dist/esm/v2/utils/index.js.map +1 -0
- package/dist/esm/v2/utils/mergeLabels.js +86 -0
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
- package/dist/esm/v2/utils/networkStatus.js +114 -0
- package/dist/esm/v2/utils/networkStatus.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/FieldError.test.js +164 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +148 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/components/Accordion.d.ts +6 -6
- package/dist/v2/components/Accordion.d.ts.map +1 -1
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.d.ts +12 -12
- package/dist/v2/components/ActionStrip.d.ts.map +1 -1
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.d.ts +48 -9
- package/dist/v2/components/Banner.d.ts.map +1 -1
- package/dist/v2/components/Banner.js +116 -35
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.d.ts +3 -3
- package/dist/v2/components/Busy.d.ts.map +1 -1
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.d.ts +6 -6
- package/dist/v2/components/Button.d.ts.map +1 -1
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts +3 -3
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.d.ts +11 -11
- package/dist/v2/components/Checkbox.d.ts.map +1 -1
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.d.ts +8 -8
- package/dist/v2/components/Chip.d.ts.map +1 -1
- package/dist/v2/components/Chip.js +2 -1
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.d.ts +27 -27
- package/dist/v2/components/Combobox.d.ts.map +1 -1
- package/dist/v2/components/Combobox.js +3 -2
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.d.ts +20 -20
- package/dist/v2/components/CommandPalette.d.ts.map +1 -1
- package/dist/v2/components/CommandPalette.js +2 -6
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.d.ts +13 -13
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +2 -1
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.d.ts +11 -11
- package/dist/v2/components/DatePicker.d.ts.map +1 -1
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.d.ts +16 -16
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
- package/dist/v2/components/DateRangePicker.js +2 -1
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts +11 -11
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts +18 -18
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +2 -1
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.d.ts +34 -34
- package/dist/v2/components/Dropzone.d.ts.map +1 -1
- package/dist/v2/components/Dropzone.js +11 -3
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.d.ts +7 -7
- package/dist/v2/components/EmptyState.d.ts.map +1 -1
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.d.ts +7 -7
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +2 -1
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +17 -12
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +25 -7
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.d.ts +78 -0
- package/dist/v2/components/FieldError.d.ts.map +1 -0
- package/dist/v2/components/FieldError.js +131 -0
- package/dist/v2/components/FieldError.js.map +1 -0
- package/dist/v2/components/FieldHelp.d.ts +7 -7
- package/dist/v2/components/FieldHelp.d.ts.map +1 -1
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.d.ts +75 -0
- package/dist/v2/components/FileCard.d.ts.map +1 -0
- package/dist/v2/components/FileCard.js +169 -0
- package/dist/v2/components/FileCard.js.map +1 -0
- package/dist/v2/components/FilterTab.d.ts +9 -9
- package/dist/v2/components/FilterTab.d.ts.map +1 -1
- package/dist/v2/components/FilterTab.js +2 -1
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/FormGrid.d.ts +9 -4
- package/dist/v2/components/FormGrid.d.ts.map +1 -1
- package/dist/v2/components/FormGrid.js +11 -1
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +6 -6
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +6 -6
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.d.ts +43 -13
- package/dist/v2/components/KPICard.d.ts.map +1 -1
- package/dist/v2/components/KPICard.js +53 -14
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.d.ts +68 -0
- package/dist/v2/components/KPIStrip.d.ts.map +1 -0
- package/dist/v2/components/KPIStrip.js +92 -0
- package/dist/v2/components/KPIStrip.js.map +1 -0
- package/dist/v2/components/KV.d.ts +3 -3
- package/dist/v2/components/KV.d.ts.map +1 -1
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.d.ts +2 -2
- package/dist/v2/components/KVGrid.d.ts.map +1 -1
- package/dist/v2/components/KVGrid.js +8 -1
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.d.ts +7 -7
- package/dist/v2/components/Layout.d.ts.map +1 -1
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.d.ts +13 -13
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.d.ts +12 -12
- package/dist/v2/components/Modal.d.ts.map +1 -1
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NumberInput.d.ts +14 -14
- package/dist/v2/components/NumberInput.d.ts.map +1 -1
- package/dist/v2/components/NumberInput.js +7 -6
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.d.ts +14 -14
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
- package/dist/v2/components/OverflowMenu.js +4 -8
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.d.ts +9 -9
- package/dist/v2/components/PdfViewer.d.ts.map +1 -1
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.d.ts +10 -10
- package/dist/v2/components/ProgressBar.d.ts.map +1 -1
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.d.ts +7 -7
- package/dist/v2/components/Radio.d.ts.map +1 -1
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
- package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
- package/dist/v2/components/SectionErrorBoundary.js +221 -0
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/v2/components/SectionHeader.d.ts +5 -5
- package/dist/v2/components/SectionHeader.d.ts.map +1 -1
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.d.ts +11 -11
- package/dist/v2/components/Segmented.d.ts.map +1 -1
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +33 -15
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +147 -30
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.d.ts +15 -15
- package/dist/v2/components/Skeleton.d.ts.map +1 -1
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.d.ts +2 -2
- package/dist/v2/components/SkipLink.d.ts.map +1 -1
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Status.d.ts +3 -3
- package/dist/v2/components/Status.d.ts.map +1 -1
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.d.ts +28 -22
- package/dist/v2/components/Stepper.d.ts.map +1 -1
- package/dist/v2/components/Stepper.js +31 -5
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.d.ts +94 -0
- package/dist/v2/components/Surface.d.ts.map +1 -0
- package/dist/v2/components/Surface.js +163 -0
- package/dist/v2/components/Surface.js.map +1 -0
- package/dist/v2/components/Switch.d.ts +4 -4
- package/dist/v2/components/Switch.d.ts.map +1 -1
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/Tabs.d.ts +6 -6
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.d.ts +8 -8
- package/dist/v2/components/TelInput.d.ts.map +1 -1
- package/dist/v2/components/TelInput.js +18 -18
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.d.ts +1 -1
- package/dist/v2/components/Textarea.d.ts.map +1 -1
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.d.ts +11 -11
- package/dist/v2/components/TimePicker.d.ts.map +1 -1
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.d.ts +6 -6
- package/dist/v2/components/Toast.d.ts.map +1 -1
- package/dist/v2/components/Toast.js +9 -8
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.d.ts +1 -1
- package/dist/v2/components/Tooltip.d.ts.map +1 -1
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/index.d.ts +143 -0
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +35 -0
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +1 -1
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +13 -13
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +11 -11
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -8
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.d.ts +33 -33
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/ActionBar.js +2 -1
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/BulkActionBar.js +2 -1
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +4 -8
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +2 -1
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.d.ts +6 -6
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +2 -1
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.d.ts +4 -4
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +19 -8
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +106 -71
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +11 -11
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +36 -8
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +27 -1
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikFile.d.ts +8 -8
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +41 -6
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +49 -1
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +33 -12
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +28 -2
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +5 -5
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +7 -7
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +2 -6
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.d.ts +3 -3
- package/dist/v2/patterns/PageContent.d.ts.map +1 -1
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/ReferentielField.d.ts +49 -49
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +2 -1
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +9 -8
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.d.ts +12 -12
- package/dist/v2/patterns/Tour.d.ts.map +1 -1
- package/dist/v2/patterns/Tour.js +9 -8
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +37 -3
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/index.d.ts +27 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/schema.d.ts +2 -2
- package/dist/v2/personalization/schema.d.ts.map +1 -1
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/personalization/types.d.ts +19 -19
- package/dist/v2/personalization/types.d.ts.map +1 -1
- package/dist/v2/personalization/types.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +25 -1
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +59 -59
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/utils/apiError.d.ts +65 -4
- package/dist/v2/utils/apiError.d.ts.map +1 -1
- package/dist/v2/utils/apiError.js +69 -6
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/index.d.ts +1 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +7 -0
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.d.ts +59 -0
- package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
- package/dist/v2/utils/mergeLabels.js +93 -0
- package/dist/v2/utils/mergeLabels.js.map +1 -0
- package/package.json +23 -15
|
@@ -0,0 +1,432 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import CheckIcon from "@mui/icons-material/Check";
|
|
9
|
+
import Box from "@mui/material/Box";
|
|
10
|
+
import { mergeLabels } from "../utils/mergeLabels";
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Stepper - Portnet UI v2
|
|
14
|
+
*
|
|
15
|
+
* Charter §03 · Component "Stepper". Required on flows ≥ 3 steps (R-3.4).
|
|
16
|
+
*
|
|
17
|
+
* Two ways to drive HStepper:
|
|
18
|
+
*
|
|
19
|
+
* 1. SIMPLE mode — plain labels + `current` index (Charter default):
|
|
20
|
+
*
|
|
21
|
+
* <HStepper
|
|
22
|
+
* steps={["Identification", "Marchandise", "Banque", "Validation"]}
|
|
23
|
+
* current={1}
|
|
24
|
+
* onJump={i => goTo(i)}
|
|
25
|
+
* />
|
|
26
|
+
*
|
|
27
|
+
* 2. RICH mode — objects carry their own state, including a "disabled"
|
|
28
|
+
* state for locked future steps (used by wizards where step N is
|
|
29
|
+
* unavailable until step N-1 has been submitted):
|
|
30
|
+
*
|
|
31
|
+
* <HStepper
|
|
32
|
+
* steps={[
|
|
33
|
+
* { id: "importateur", label: "Importateur", status: "completed" },
|
|
34
|
+
* { id: "donneesTI", label: "Données", status: "current" },
|
|
35
|
+
* { id: "marchandises",label: "Marchandises", status: "disabled" },
|
|
36
|
+
* { id: "revision", label: "Révision", status: "pending" },
|
|
37
|
+
* ]}
|
|
38
|
+
* onStepClick={i => goTo(i)}
|
|
39
|
+
* ariaLabel="Étapes de création du titre"
|
|
40
|
+
* />
|
|
41
|
+
*
|
|
42
|
+
* status values: "current" | "active" | "completed" | "complete" |
|
|
43
|
+
* "pending" | "disabled"
|
|
44
|
+
* ("current"/"active" and "completed"/"complete" are accepted as
|
|
45
|
+
* synonyms to ease migration from host modules.)
|
|
46
|
+
*
|
|
47
|
+
* VStepper — vertical history/progression timeline. Each item may carry
|
|
48
|
+
* `timestamp` (date/time of the action) and `actor` (the user who did it);
|
|
49
|
+
* they render as a muted "timestamp · actor" line under the title. `meta`
|
|
50
|
+
* still works for free-form text (e.g. "En cours" on the active step):
|
|
51
|
+
*
|
|
52
|
+
* <VStepper items={[
|
|
53
|
+
* { status: "completed", title: "Titre d'importation créé",
|
|
54
|
+
* timestamp: "27/03/2025 09:48", actor: "dsmoimp" },
|
|
55
|
+
* { status: "completed", title: "Soumis à la banque (CITIBANK)",
|
|
56
|
+
* timestamp: "27/03/2025 10:16", actor: "Transit Jebli" },
|
|
57
|
+
* { status: "active", title: "En attente de réponse banque", meta: "En cours" },
|
|
58
|
+
* ]} />
|
|
59
|
+
*
|
|
60
|
+
* Localisation (FR / EN / AR):
|
|
61
|
+
* <HStepper labels={{
|
|
62
|
+
* nav: "Form steps",
|
|
63
|
+
* item: (n, label, state) =>
|
|
64
|
+
* `Step ${n}: ${label} (${
|
|
65
|
+
* state === "complete" ? "completed" :
|
|
66
|
+
* state === "active" ? "in progress" : "upcoming"
|
|
67
|
+
* })`,
|
|
68
|
+
* }} />
|
|
69
|
+
*
|
|
70
|
+
* <VStepper labels={{
|
|
71
|
+
* nav: "Step history",
|
|
72
|
+
* state: { complete: "Completed step.", active: "Current step.", pending: "Upcoming step." },
|
|
73
|
+
* }} />
|
|
74
|
+
*
|
|
75
|
+
* A11y note (R-Ar.1):
|
|
76
|
+
* Clickable HStepper steps render as real <button> elements.
|
|
77
|
+
* VStepper's per-item title element is host-configurable via
|
|
78
|
+
* `titleAs` so the page heading hierarchy stays consistent.
|
|
79
|
+
*/
|
|
80
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
81
|
+
var DEFAULT_H_LABELS = Object.freeze({
|
|
82
|
+
nav: "Étapes du formulaire",
|
|
83
|
+
item: function item(n, label, state) {
|
|
84
|
+
var suffix = state === "complete" ? " (complétée)" : state === "active" ? " (en cours)" : state === "disabled" ? " (verrouillée)" : " (à venir)";
|
|
85
|
+
return "\xC9tape ".concat(n, " : ").concat(label).concat(suffix);
|
|
86
|
+
}
|
|
87
|
+
});
|
|
88
|
+
var DEFAULT_V_LABELS = Object.freeze({
|
|
89
|
+
nav: "Historique des étapes",
|
|
90
|
+
state: Object.freeze({
|
|
91
|
+
complete: "Étape complétée. ",
|
|
92
|
+
active: "Étape en cours. ",
|
|
93
|
+
pending: "Étape à venir. ",
|
|
94
|
+
/* WCAG 1.4.1 — the fourth state was MISSING. VStepper accepts the same rich
|
|
95
|
+
* item shape as HStepper (see normalisedItems below: "so host modules can pass
|
|
96
|
+
* the same array to both steppers"), and HStepper documents
|
|
97
|
+
* `status: "disabled"` for wizard steps locked until the previous one is
|
|
98
|
+
* submitted. So a disabled step could reach VStepper and render an EMPTY
|
|
99
|
+
* sr-only span — its state conveyed by colour alone, which is precisely what
|
|
100
|
+
* the comment on that span forbids. No host had to do anything wrong. */
|
|
101
|
+
disabled: "Étape verrouillée. "
|
|
102
|
+
})
|
|
103
|
+
});
|
|
104
|
+
var dotBaseStyle = {
|
|
105
|
+
width: 24,
|
|
106
|
+
height: 24,
|
|
107
|
+
borderRadius: "50%",
|
|
108
|
+
display: "grid",
|
|
109
|
+
placeItems: "center",
|
|
110
|
+
fontSize: "var(--text-xs)",
|
|
111
|
+
fontWeight: "var(--fw-semibold)",
|
|
112
|
+
flex: "0 0 auto",
|
|
113
|
+
border: "2px solid",
|
|
114
|
+
transition: "background var(--duration-base, 180ms), color var(--duration-base, 180ms), border-color var(--duration-base, 180ms)"
|
|
115
|
+
};
|
|
116
|
+
var stateStyle = function stateStyle(state) {
|
|
117
|
+
if (state === "complete") {
|
|
118
|
+
return {
|
|
119
|
+
background: "var(--accent)",
|
|
120
|
+
borderColor: "var(--accent)",
|
|
121
|
+
color: "var(--accent-fg)"
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
if (state === "active") {
|
|
125
|
+
return {
|
|
126
|
+
background: "var(--surface)",
|
|
127
|
+
borderColor: "var(--accent)",
|
|
128
|
+
color: "var(--accent)"
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
if (state === "disabled") {
|
|
132
|
+
return {
|
|
133
|
+
background: "var(--bg-subtle)",
|
|
134
|
+
borderColor: "var(--border)",
|
|
135
|
+
color: "var(--fg-subtle)"
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
return {
|
|
139
|
+
background: "var(--surface)",
|
|
140
|
+
borderColor: "var(--border-strong)",
|
|
141
|
+
color: "var(--fg-subtle)"
|
|
142
|
+
};
|
|
143
|
+
};
|
|
144
|
+
// Inner content shared between the clickable <button> and the
|
|
145
|
+
// non-interactive <span> renderings of an HStepper step.
|
|
146
|
+
function StepInner(_ref) {
|
|
147
|
+
var index = _ref.index,
|
|
148
|
+
label = _ref.label,
|
|
149
|
+
state = _ref.state;
|
|
150
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
151
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
152
|
+
style: _objectSpread(_objectSpread({}, dotBaseStyle), stateStyle(state)),
|
|
153
|
+
children: state === "complete" ? /*#__PURE__*/_jsx(CheckIcon, {
|
|
154
|
+
fontSize: "inherit"
|
|
155
|
+
}) : index + 1
|
|
156
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
157
|
+
style: {
|
|
158
|
+
fontSize: "var(--text-sm)",
|
|
159
|
+
// Was 650 (non-standard, banned by Batch 1 typography tokens).
|
|
160
|
+
// var(--fw-semibold) (600) is the canonical "emphasised" weight.
|
|
161
|
+
fontWeight: state === "active" ? "var(--fw-semibold)" : "var(--fw-medium)",
|
|
162
|
+
color: state === "pending" ? "var(--fg-subtle)" : state === "disabled" ? "var(--fg-muted)" : "var(--fg)",
|
|
163
|
+
whiteSpace: "nowrap"
|
|
164
|
+
},
|
|
165
|
+
children: label
|
|
166
|
+
})]
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
var stepBoxSx = {
|
|
170
|
+
display: "flex",
|
|
171
|
+
alignItems: "center",
|
|
172
|
+
gap: 1,
|
|
173
|
+
padding: "var(--s-1) calc(var(--s-1) + 2px)",
|
|
174
|
+
borderRadius: "var(--r-md)",
|
|
175
|
+
// Reset native <button> styling to match the previous Box look.
|
|
176
|
+
background: "transparent",
|
|
177
|
+
border: 0,
|
|
178
|
+
font: "inherit",
|
|
179
|
+
textAlign: "left",
|
|
180
|
+
"&:focus-visible": {
|
|
181
|
+
outline: "2px solid var(--accent)",
|
|
182
|
+
outlineOffset: "var(--pui-outline-offset)"
|
|
183
|
+
}
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
/* Detect whether the `steps` array carries plain labels (legacy)
|
|
187
|
+
* or rich {id, label, status} objects. ReactElements (icons,
|
|
188
|
+
* fragments) and strings are treated as plain labels.
|
|
189
|
+
* Plain boolean predicate (not a type guard): the rich object shape
|
|
190
|
+
* for VStepper also carries title/meta/etc., so narrowing to
|
|
191
|
+
* HStepperRichStep here would hide those fields. */
|
|
192
|
+
function isRichStep(s) {
|
|
193
|
+
return s != null && _typeof(s) === "object" && !Array.isArray(s) && ! /*#__PURE__*/React.isValidElement(s) && ("label" in s || "status" in s);
|
|
194
|
+
}
|
|
195
|
+
function normaliseStatusToState(status) {
|
|
196
|
+
if (status === "current" || status === "active") return "active";
|
|
197
|
+
if (status === "completed" || status === "complete") return "complete";
|
|
198
|
+
if (status === "disabled") return "disabled";
|
|
199
|
+
return "pending";
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
/* Convert rich steps to the legacy { label, state, clickable, key }
|
|
203
|
+
* shape consumed by the rendering loop. */
|
|
204
|
+
function normaliseSteps(steps, current) {
|
|
205
|
+
if (steps.length === 0) return [];
|
|
206
|
+
if (isRichStep(steps[0])) {
|
|
207
|
+
return steps.map(function (s, i) {
|
|
208
|
+
var _rich$id;
|
|
209
|
+
var rich = s;
|
|
210
|
+
var state = normaliseStatusToState(rich.status);
|
|
211
|
+
return {
|
|
212
|
+
key: (_rich$id = rich.id) !== null && _rich$id !== void 0 ? _rich$id : i,
|
|
213
|
+
label: rich.label,
|
|
214
|
+
state: state,
|
|
215
|
+
// Disabled steps are never clickable. Other rich states
|
|
216
|
+
// remain clickable so the host can offer free navigation.
|
|
217
|
+
clickable: state !== "disabled"
|
|
218
|
+
};
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
// Legacy: plain labels driven by `current`.
|
|
222
|
+
return steps.map(function (label, i) {
|
|
223
|
+
return {
|
|
224
|
+
key: i,
|
|
225
|
+
label: label,
|
|
226
|
+
state: i < current ? "complete" : i === current ? "active" : "pending",
|
|
227
|
+
clickable: i <= current
|
|
228
|
+
};
|
|
229
|
+
});
|
|
230
|
+
}
|
|
231
|
+
export function HStepper(_ref2) {
|
|
232
|
+
var steps = _ref2.steps,
|
|
233
|
+
_ref2$current = _ref2.current,
|
|
234
|
+
current = _ref2$current === void 0 ? 0 : _ref2$current,
|
|
235
|
+
onJump = _ref2.onJump,
|
|
236
|
+
onStepClick = _ref2.onStepClick,
|
|
237
|
+
ariaLabel = _ref2.ariaLabel,
|
|
238
|
+
labels = _ref2.labels;
|
|
239
|
+
var L = mergeLabels(DEFAULT_H_LABELS, labels);
|
|
240
|
+
var navLabel = ariaLabel || L.nav;
|
|
241
|
+
var jumpHandler = onJump || onStepClick;
|
|
242
|
+
var normalised = normaliseSteps(steps, current);
|
|
243
|
+
return /*#__PURE__*/_jsx("nav", {
|
|
244
|
+
"aria-label": navLabel,
|
|
245
|
+
style: {
|
|
246
|
+
display: "flex",
|
|
247
|
+
alignItems: "center",
|
|
248
|
+
gap: 8,
|
|
249
|
+
padding: "12px 0",
|
|
250
|
+
overflowX: "auto"
|
|
251
|
+
},
|
|
252
|
+
children: normalised.map(function (step, i) {
|
|
253
|
+
var a11yLabel = L.item(i + 1, step.label, step.state);
|
|
254
|
+
return /*#__PURE__*/_jsxs(React.Fragment, {
|
|
255
|
+
children: [step.clickable ? /*#__PURE__*/_jsx(Box, {
|
|
256
|
+
component: "button",
|
|
257
|
+
type: "button",
|
|
258
|
+
"aria-current": step.state === "active" ? "step" : undefined,
|
|
259
|
+
"aria-label": a11yLabel,
|
|
260
|
+
onClick: function onClick() {
|
|
261
|
+
return jumpHandler === null || jumpHandler === void 0 ? void 0 : jumpHandler(i);
|
|
262
|
+
},
|
|
263
|
+
sx: _objectSpread(_objectSpread({}, stepBoxSx), {}, {
|
|
264
|
+
cursor: "pointer"
|
|
265
|
+
}),
|
|
266
|
+
children: /*#__PURE__*/_jsx(StepInner, {
|
|
267
|
+
index: i,
|
|
268
|
+
label: step.label,
|
|
269
|
+
state: step.state
|
|
270
|
+
})
|
|
271
|
+
}) : /*#__PURE__*/_jsx(Box, {
|
|
272
|
+
component: "span",
|
|
273
|
+
"aria-label": a11yLabel,
|
|
274
|
+
"aria-disabled": step.state === "disabled" ? "true" : undefined,
|
|
275
|
+
sx: _objectSpread(_objectSpread({}, stepBoxSx), {}, {
|
|
276
|
+
cursor: "default"
|
|
277
|
+
}),
|
|
278
|
+
children: /*#__PURE__*/_jsx(StepInner, {
|
|
279
|
+
index: i,
|
|
280
|
+
label: step.label,
|
|
281
|
+
state: step.state
|
|
282
|
+
})
|
|
283
|
+
}), i < normalised.length - 1 && /*#__PURE__*/_jsx(Box, {
|
|
284
|
+
"aria-hidden": "true",
|
|
285
|
+
sx: {
|
|
286
|
+
flex: 1,
|
|
287
|
+
minWidth: 24,
|
|
288
|
+
height: 2,
|
|
289
|
+
background: step.state === "complete" ? "var(--accent)" : "var(--border)",
|
|
290
|
+
borderRadius: 1
|
|
291
|
+
}
|
|
292
|
+
})]
|
|
293
|
+
}, step.key);
|
|
294
|
+
})
|
|
295
|
+
});
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* VStepper - vertical historical / progression stepper.
|
|
299
|
+
*
|
|
300
|
+
* @param items - list of { state|status, title, meta?, timestamp?, actor? }.
|
|
301
|
+
* `timestamp` (date/time) + `actor` (user) render as a
|
|
302
|
+
* muted "timestamp · actor" line under the title; `meta`
|
|
303
|
+
* renders on its own line (free-form, e.g. "En cours").
|
|
304
|
+
* @param titleAs - element used for each step title. Defaults to "h4".
|
|
305
|
+
* Hosts whose outline already used h2/h3 above the
|
|
306
|
+
* stepper should pick the next level (e.g. titleAs="h3"
|
|
307
|
+
* after an h2 ActionBar title). Pass "div"/"span" to
|
|
308
|
+
* opt out of heading semantics entirely.
|
|
309
|
+
* @param labels - i18n overrides; see file header.
|
|
310
|
+
*/
|
|
311
|
+
export function VStepper(_ref3) {
|
|
312
|
+
var items = _ref3.items,
|
|
313
|
+
_ref3$titleAs = _ref3.titleAs,
|
|
314
|
+
titleAs = _ref3$titleAs === void 0 ? "h4" : _ref3$titleAs,
|
|
315
|
+
labels = _ref3.labels,
|
|
316
|
+
ariaLabel = _ref3.ariaLabel;
|
|
317
|
+
/*
|
|
318
|
+
* Nested-dictionary merge, both levels through the shared undefined-safe helper
|
|
319
|
+
* (gap G-24, fourth instance after Dropzone.reasons and DataGridLabels.
|
|
320
|
+
* pagination).
|
|
321
|
+
*
|
|
322
|
+
* The previous form spread `...labels` at the top level, so an explicitly-passed
|
|
323
|
+
* `undefined` on `nav` DELETED the default and left the <ol> without an
|
|
324
|
+
* accessible name (R-Ar.5). And the inner `|| {}` guarded the `state` sub-object
|
|
325
|
+
* against being undefined without guarding its VALUES — so
|
|
326
|
+
* `state: { complete: undefined }` emptied the sr-only span below and reduced the
|
|
327
|
+
* step's state to colour alone, defeating the WCAG 1.4.1 rule its own comment
|
|
328
|
+
* invokes.
|
|
329
|
+
*
|
|
330
|
+
* `state` is merged at its OWN level rather than through a recursive deep merge:
|
|
331
|
+
* two explicit levels can be read, a recursive helper hides how deep it goes.
|
|
332
|
+
* Same convention as _dataGridShared.
|
|
333
|
+
*/
|
|
334
|
+
var L = labels ? mergeLabels(DEFAULT_V_LABELS, _objectSpread(_objectSpread({}, labels), {}, {
|
|
335
|
+
state: mergeLabels(DEFAULT_V_LABELS.state, labels.state)
|
|
336
|
+
})) : DEFAULT_V_LABELS;
|
|
337
|
+
var navLabel = ariaLabel || L.nav;
|
|
338
|
+
|
|
339
|
+
/* Accept the same rich-step shape HStepper uses, so host modules
|
|
340
|
+
* can pass the same array to both steppers without re-mapping. */
|
|
341
|
+
var normalisedItems = items.map(function (it) {
|
|
342
|
+
if (isRichStep(it) && it.status !== undefined) {
|
|
343
|
+
var _it$title;
|
|
344
|
+
return {
|
|
345
|
+
state: normaliseStatusToState(it.status),
|
|
346
|
+
title: (_it$title = it.title) !== null && _it$title !== void 0 ? _it$title : it.label,
|
|
347
|
+
meta: it.meta,
|
|
348
|
+
timestamp: it.timestamp,
|
|
349
|
+
actor: it.actor
|
|
350
|
+
};
|
|
351
|
+
}
|
|
352
|
+
return it;
|
|
353
|
+
});
|
|
354
|
+
return /*#__PURE__*/_jsx("ol", {
|
|
355
|
+
style: {
|
|
356
|
+
listStyle: "none",
|
|
357
|
+
padding: 0,
|
|
358
|
+
margin: 0
|
|
359
|
+
},
|
|
360
|
+
"aria-label": navLabel,
|
|
361
|
+
children: normalisedItems.map(function (it, i) {
|
|
362
|
+
var _it$state;
|
|
363
|
+
var st = (_it$state = it.state) !== null && _it$state !== void 0 ? _it$state : "pending";
|
|
364
|
+
return /*#__PURE__*/_jsxs("li", {
|
|
365
|
+
"aria-current": st === "active" ? "step" : undefined,
|
|
366
|
+
style: {
|
|
367
|
+
display: "flex",
|
|
368
|
+
gap: 12,
|
|
369
|
+
paddingBottom: i < normalisedItems.length - 1 ? 16 : 0,
|
|
370
|
+
position: "relative"
|
|
371
|
+
},
|
|
372
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
373
|
+
"aria-hidden": "true",
|
|
374
|
+
style: _objectSpread(_objectSpread({}, dotBaseStyle), stateStyle(st)),
|
|
375
|
+
children: st === "complete" ? /*#__PURE__*/_jsx(CheckIcon, {
|
|
376
|
+
fontSize: "inherit"
|
|
377
|
+
}) : i + 1
|
|
378
|
+
}), /*#__PURE__*/_jsx("span", {
|
|
379
|
+
className: "pui-sr-only",
|
|
380
|
+
children: L.state[st]
|
|
381
|
+
}), /*#__PURE__*/_jsxs("div", {
|
|
382
|
+
style: {
|
|
383
|
+
flex: 1
|
|
384
|
+
},
|
|
385
|
+
children: [/*#__PURE__*/_jsx(Box, {
|
|
386
|
+
component: titleAs,
|
|
387
|
+
sx: {
|
|
388
|
+
margin: 0,
|
|
389
|
+
fontSize: "var(--text-sm)",
|
|
390
|
+
fontWeight: "var(--fw-semibold)",
|
|
391
|
+
color: "var(--fg)",
|
|
392
|
+
lineHeight: "var(--lh-snug)"
|
|
393
|
+
},
|
|
394
|
+
children: it.title
|
|
395
|
+
}), (it.timestamp != null || it.actor != null) && /*#__PURE__*/_jsxs("p", {
|
|
396
|
+
style: {
|
|
397
|
+
margin: "2px 0 0",
|
|
398
|
+
fontSize: "var(--text-xs)",
|
|
399
|
+
color: "var(--fg-subtle)"
|
|
400
|
+
},
|
|
401
|
+
children: [it.timestamp != null ? it.timestamp : null, it.timestamp != null && it.actor != null ? " · " : null, it.actor != null ? /*#__PURE__*/_jsx("span", {
|
|
402
|
+
style: {
|
|
403
|
+
color: "var(--fg-muted)",
|
|
404
|
+
fontWeight: "var(--fw-medium)"
|
|
405
|
+
},
|
|
406
|
+
children: it.actor
|
|
407
|
+
}) : null]
|
|
408
|
+
}), it.meta != null && it.meta !== "" && /*#__PURE__*/_jsx("p", {
|
|
409
|
+
style: {
|
|
410
|
+
margin: "2px 0 0",
|
|
411
|
+
fontSize: "var(--text-xs)",
|
|
412
|
+
color: "var(--fg-subtle)"
|
|
413
|
+
},
|
|
414
|
+
children: it.meta
|
|
415
|
+
})]
|
|
416
|
+
}), i < normalisedItems.length - 1 && /*#__PURE__*/_jsx("span", {
|
|
417
|
+
"aria-hidden": "true",
|
|
418
|
+
style: {
|
|
419
|
+
position: "absolute",
|
|
420
|
+
left: 11,
|
|
421
|
+
top: 26,
|
|
422
|
+
bottom: 0,
|
|
423
|
+
width: 2,
|
|
424
|
+
background: "var(--border)"
|
|
425
|
+
}
|
|
426
|
+
})]
|
|
427
|
+
}, i);
|
|
428
|
+
})
|
|
429
|
+
});
|
|
430
|
+
}
|
|
431
|
+
export default HStepper;
|
|
432
|
+
//# sourceMappingURL=Stepper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Stepper.js","names":["React","CheckIcon","Box","mergeLabels","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","DEFAULT_H_LABELS","Object","freeze","nav","item","n","label","state","suffix","concat","DEFAULT_V_LABELS","complete","active","pending","disabled","dotBaseStyle","width","height","borderRadius","display","placeItems","fontSize","fontWeight","flex","border","transition","stateStyle","background","borderColor","color","StepInner","_ref","index","children","style","_objectSpread","whiteSpace","stepBoxSx","alignItems","gap","padding","font","textAlign","outline","outlineOffset","isRichStep","s","_typeof","Array","isArray","isValidElement","normaliseStatusToState","status","normaliseSteps","steps","current","length","map","i","_rich$id","rich","key","id","clickable","HStepper","_ref2","_ref2$current","onJump","onStepClick","ariaLabel","labels","L","navLabel","jumpHandler","normalised","overflowX","step","a11yLabel","component","type","undefined","onClick","sx","cursor","minWidth","VStepper","_ref3","items","_ref3$titleAs","titleAs","normalisedItems","it","_it$title","title","meta","timestamp","actor","listStyle","margin","_it$state","st","paddingBottom","position","className","lineHeight","left","top","bottom"],"sources":["../../../../src/lib/v2/components/Stepper.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport CheckIcon from \"@mui/icons-material/Check\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Stepper - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Stepper\". Required on flows ≥ 3 steps (R-3.4).\r\n *\r\n * Two ways to drive HStepper:\r\n *\r\n * 1. SIMPLE mode — plain labels + `current` index (Charter default):\r\n *\r\n * <HStepper\r\n * steps={[\"Identification\", \"Marchandise\", \"Banque\", \"Validation\"]}\r\n * current={1}\r\n * onJump={i => goTo(i)}\r\n * />\r\n *\r\n * 2. RICH mode — objects carry their own state, including a \"disabled\"\r\n * state for locked future steps (used by wizards where step N is\r\n * unavailable until step N-1 has been submitted):\r\n *\r\n * <HStepper\r\n * steps={[\r\n * { id: \"importateur\", label: \"Importateur\", status: \"completed\" },\r\n * { id: \"donneesTI\", label: \"Données\", status: \"current\" },\r\n * { id: \"marchandises\",label: \"Marchandises\", status: \"disabled\" },\r\n * { id: \"revision\", label: \"Révision\", status: \"pending\" },\r\n * ]}\r\n * onStepClick={i => goTo(i)}\r\n * ariaLabel=\"Étapes de création du titre\"\r\n * />\r\n *\r\n * status values: \"current\" | \"active\" | \"completed\" | \"complete\" |\r\n * \"pending\" | \"disabled\"\r\n * (\"current\"/\"active\" and \"completed\"/\"complete\" are accepted as\r\n * synonyms to ease migration from host modules.)\r\n *\r\n * VStepper — vertical history/progression timeline. Each item may carry\r\n * `timestamp` (date/time of the action) and `actor` (the user who did it);\r\n * they render as a muted \"timestamp · actor\" line under the title. `meta`\r\n * still works for free-form text (e.g. \"En cours\" on the active step):\r\n *\r\n * <VStepper items={[\r\n * { status: \"completed\", title: \"Titre d'importation créé\",\r\n * timestamp: \"27/03/2025 09:48\", actor: \"dsmoimp\" },\r\n * { status: \"completed\", title: \"Soumis à la banque (CITIBANK)\",\r\n * timestamp: \"27/03/2025 10:16\", actor: \"Transit Jebli\" },\r\n * { status: \"active\", title: \"En attente de réponse banque\", meta: \"En cours\" },\r\n * ]} />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <HStepper labels={{\r\n * nav: \"Form steps\",\r\n * item: (n, label, state) =>\r\n * `Step ${n}: ${label} (${\r\n * state === \"complete\" ? \"completed\" :\r\n * state === \"active\" ? \"in progress\" : \"upcoming\"\r\n * })`,\r\n * }} />\r\n *\r\n * <VStepper labels={{\r\n * nav: \"Step history\",\r\n * state: { complete: \"Completed step.\", active: \"Current step.\", pending: \"Upcoming step.\" },\r\n * }} />\r\n *\r\n * A11y note (R-Ar.1):\r\n * Clickable HStepper steps render as real <button> elements.\r\n * VStepper's per-item title element is host-configurable via\r\n * `titleAs` so the page heading hierarchy stays consistent.\r\n */\r\n\r\nexport type StepState = \"complete\" | \"active\" | \"pending\" | \"disabled\";\r\nexport type StepStatus =\r\n | \"current\"\r\n | \"active\"\r\n | \"completed\"\r\n | \"complete\"\r\n | \"pending\"\r\n | \"disabled\";\r\n\r\nexport interface HStepperRichStep {\r\n id?: string | number | undefined;\r\n label?: React.ReactNode | undefined;\r\n status?: StepStatus | undefined;\r\n}\r\n\r\nexport type HStepperStep = React.ReactNode | HStepperRichStep;\r\n\r\ninterface NormalisedStep {\r\n key: React.Key;\r\n label: React.ReactNode;\r\n state: StepState;\r\n clickable: boolean;\r\n}\r\n\r\nconst DEFAULT_H_LABELS = Object.freeze({\r\n nav: \"Étapes du formulaire\",\r\n item: (n: number, label: React.ReactNode, state: StepState): string => {\r\n const suffix =\r\n state === \"complete\" ? \" (complétée)\" :\r\n state === \"active\" ? \" (en cours)\" :\r\n state === \"disabled\" ? \" (verrouillée)\" : \" (à venir)\";\r\n return `Étape ${n} : ${label}${suffix}`;\r\n },\r\n});\r\n\r\nconst DEFAULT_V_LABELS: {\r\n nav: string;\r\n state: Partial<Record<StepState, string>>;\r\n} = Object.freeze({\r\n nav: \"Historique des étapes\",\r\n state: Object.freeze({\r\n complete: \"Étape complétée. \",\r\n active: \"Étape en cours. \",\r\n pending: \"Étape à venir. \",\r\n /* WCAG 1.4.1 — the fourth state was MISSING. VStepper accepts the same rich\r\n * item shape as HStepper (see normalisedItems below: \"so host modules can pass\r\n * the same array to both steppers\"), and HStepper documents\r\n * `status: \"disabled\"` for wizard steps locked until the previous one is\r\n * submitted. So a disabled step could reach VStepper and render an EMPTY\r\n * sr-only span — its state conveyed by colour alone, which is precisely what\r\n * the comment on that span forbids. No host had to do anything wrong. */\r\n disabled: \"Étape verrouillée. \",\r\n }),\r\n});\r\n\r\nconst dotBaseStyle: React.CSSProperties = {\r\n width: 24,\r\n height: 24,\r\n borderRadius: \"50%\",\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n flex: \"0 0 auto\",\r\n border: \"2px solid\",\r\n transition:\r\n \"background var(--duration-base, 180ms), color var(--duration-base, 180ms), border-color var(--duration-base, 180ms)\",\r\n};\r\n\r\nconst stateStyle = (state: StepState): React.CSSProperties => {\r\n if (state === \"complete\") {\r\n return { background: \"var(--accent)\", borderColor: \"var(--accent)\", color: \"var(--accent-fg)\" };\r\n }\r\n if (state === \"active\") {\r\n return { background: \"var(--surface)\", borderColor: \"var(--accent)\", color: \"var(--accent)\" };\r\n }\r\n if (state === \"disabled\") {\r\n return { background: \"var(--bg-subtle)\", borderColor: \"var(--border)\", color: \"var(--fg-subtle)\" };\r\n }\r\n return { background: \"var(--surface)\", borderColor: \"var(--border-strong)\", color: \"var(--fg-subtle)\" };\r\n};\r\n\r\ninterface StepInnerProps {\r\n index: number;\r\n label: React.ReactNode;\r\n state: StepState;\r\n}\r\n\r\n// Inner content shared between the clickable <button> and the\r\n// non-interactive <span> renderings of an HStepper step.\r\nfunction StepInner({ index, label, state }: StepInnerProps) {\r\n return (\r\n <>\r\n <span style={{ ...dotBaseStyle, ...stateStyle(state) }}>\r\n {state === \"complete\" ? <CheckIcon fontSize=\"inherit\" /> : index + 1}\r\n </span>\r\n <span\r\n style={{\r\n fontSize: \"var(--text-sm)\",\r\n // Was 650 (non-standard, banned by Batch 1 typography tokens).\r\n // var(--fw-semibold) (600) is the canonical \"emphasised\" weight.\r\n fontWeight: state === \"active\" ? \"var(--fw-semibold)\" : \"var(--fw-medium)\",\r\n color:\r\n state === \"pending\" ? \"var(--fg-subtle)\" :\r\n state === \"disabled\" ? \"var(--fg-muted)\" : \"var(--fg)\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {label}\r\n </span>\r\n </>\r\n );\r\n}\r\n\r\nconst stepBoxSx = {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 1,\r\n padding: \"var(--s-1) calc(var(--s-1) + 2px)\",\r\n borderRadius: \"var(--r-md)\",\r\n // Reset native <button> styling to match the previous Box look.\r\n background: \"transparent\",\r\n border: 0,\r\n font: \"inherit\",\r\n textAlign: \"left\",\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n} satisfies SxProps<Theme>;\r\n\r\n/* Detect whether the `steps` array carries plain labels (legacy)\r\n * or rich {id, label, status} objects. ReactElements (icons,\r\n * fragments) and strings are treated as plain labels.\r\n * Plain boolean predicate (not a type guard): the rich object shape\r\n * for VStepper also carries title/meta/etc., so narrowing to\r\n * HStepperRichStep here would hide those fields. */\r\nfunction isRichStep(s: unknown): boolean {\r\n return (\r\n s != null &&\r\n typeof s === \"object\" &&\r\n !Array.isArray(s) &&\r\n !React.isValidElement(s) &&\r\n (\"label\" in s || \"status\" in s)\r\n );\r\n}\r\n\r\nfunction normaliseStatusToState(status: StepStatus | undefined): StepState {\r\n if (status === \"current\" || status === \"active\") return \"active\";\r\n if (status === \"completed\" || status === \"complete\") return \"complete\";\r\n if (status === \"disabled\") return \"disabled\";\r\n return \"pending\";\r\n}\r\n\r\n/* Convert rich steps to the legacy { label, state, clickable, key }\r\n * shape consumed by the rendering loop. */\r\nfunction normaliseSteps(steps: HStepperStep[], current: number): NormalisedStep[] {\r\n if (steps.length === 0) return [];\r\n if (isRichStep(steps[0])) {\r\n return steps.map((s, i): NormalisedStep => {\r\n const rich = s as HStepperRichStep;\r\n const state = normaliseStatusToState(rich.status);\r\n return {\r\n key: rich.id ?? i,\r\n label: rich.label,\r\n state,\r\n // Disabled steps are never clickable. Other rich states\r\n // remain clickable so the host can offer free navigation.\r\n clickable: state !== \"disabled\",\r\n };\r\n });\r\n }\r\n // Legacy: plain labels driven by `current`.\r\n return steps.map((label, i): NormalisedStep => ({\r\n key: i,\r\n label: label as React.ReactNode,\r\n state: i < current ? \"complete\" : i === current ? \"active\" : \"pending\",\r\n clickable: i <= current,\r\n }));\r\n}\r\n\r\nexport interface HStepperLabels {\r\n nav?: string | undefined;\r\n item?: ((n: number, label: React.ReactNode, state: StepState) => string) | undefined;\r\n}\r\n\r\nexport interface HStepperProps {\r\n /**\r\n * Either an array of plain labels (strings/nodes) driven by\r\n * `current`, or an array of `{ id?, label, status }` objects\r\n * where status carries the per-step state.\r\n */\r\n steps: HStepperStep[];\r\n /** Legacy: index of the active step. Ignored when `steps` are rich objects. */\r\n current?: number | undefined;\r\n /** Click handler. Receives the step index. */\r\n onJump?: ((index: number) => void) | undefined;\r\n /** Alias of `onJump` (some host modules used this name). */\r\n onStepClick?: ((index: number) => void) | undefined;\r\n /** Shortcut for `labels.nav`. */\r\n ariaLabel?: string | undefined;\r\n /** Full i18n override; see file header. */\r\n labels?: HStepperLabels | undefined;\r\n}\r\n\r\nexport function HStepper({\r\n steps,\r\n current = 0,\r\n onJump,\r\n onStepClick,\r\n ariaLabel,\r\n labels,\r\n}: HStepperProps) {\r\n const L = mergeLabels(DEFAULT_H_LABELS, labels);\r\n const navLabel = ariaLabel || L.nav;\r\n const jumpHandler = onJump || onStepClick;\r\n\r\n const normalised = normaliseSteps(steps, current);\r\n\r\n return (\r\n <nav\r\n aria-label={navLabel}\r\n style={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: 8,\r\n padding: \"12px 0\",\r\n overflowX: \"auto\",\r\n }}\r\n >\r\n {normalised.map((step, i) => {\r\n const a11yLabel = L.item(i + 1, step.label, step.state);\r\n return (\r\n <React.Fragment key={step.key}>\r\n {step.clickable ? (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n aria-current={step.state === \"active\" ? \"step\" : undefined}\r\n aria-label={a11yLabel}\r\n onClick={() => jumpHandler?.(i)}\r\n sx={{ ...stepBoxSx, cursor: \"pointer\" }}\r\n >\r\n <StepInner index={i} label={step.label} state={step.state} />\r\n </Box>\r\n ) : (\r\n <Box\r\n component=\"span\"\r\n aria-label={a11yLabel}\r\n aria-disabled={step.state === \"disabled\" ? \"true\" : undefined}\r\n sx={{ ...stepBoxSx, cursor: \"default\" }}\r\n >\r\n <StepInner index={i} label={step.label} state={step.state} />\r\n </Box>\r\n )}\r\n {i < normalised.length - 1 && (\r\n <Box\r\n aria-hidden=\"true\"\r\n sx={{\r\n flex: 1,\r\n minWidth: 24,\r\n height: 2,\r\n background: step.state === \"complete\" ? \"var(--accent)\" : \"var(--border)\",\r\n borderRadius: 1,\r\n }}\r\n />\r\n )}\r\n </React.Fragment>\r\n );\r\n })}\r\n </nav>\r\n );\r\n}\r\n\r\nexport interface VStepperItem {\r\n state?: StepState | undefined;\r\n status?: StepStatus | undefined;\r\n title?: React.ReactNode | undefined;\r\n label?: React.ReactNode | undefined;\r\n meta?: React.ReactNode | undefined;\r\n timestamp?: React.ReactNode | undefined;\r\n actor?: React.ReactNode | undefined;\r\n}\r\n\r\nexport interface VStepperLabels {\r\n nav?: string | undefined;\r\n /**\r\n * SR-only sentence per step state. Widened from the three visible states to the\r\n * full `StepState` union: `disabled` was unreachable for hosts even though\r\n * VStepper accepts disabled items, so its text alternative could not be\r\n * translated (WCAG 1.4.1 + R-Ar.3).\r\n */\r\n state?: Partial<Record<StepState, string>> | undefined;\r\n}\r\n\r\nexport interface VStepperProps {\r\n items: VStepperItem[];\r\n titleAs?: \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"div\" | \"span\" | \"p\" | undefined;\r\n ariaLabel?: string | undefined;\r\n labels?: VStepperLabels | undefined;\r\n}\r\n\r\n/**\r\n * VStepper - vertical historical / progression stepper.\r\n *\r\n * @param items - list of { state|status, title, meta?, timestamp?, actor? }.\r\n * `timestamp` (date/time) + `actor` (user) render as a\r\n * muted \"timestamp · actor\" line under the title; `meta`\r\n * renders on its own line (free-form, e.g. \"En cours\").\r\n * @param titleAs - element used for each step title. Defaults to \"h4\".\r\n * Hosts whose outline already used h2/h3 above the\r\n * stepper should pick the next level (e.g. titleAs=\"h3\"\r\n * after an h2 ActionBar title). Pass \"div\"/\"span\" to\r\n * opt out of heading semantics entirely.\r\n * @param labels - i18n overrides; see file header.\r\n */\r\nexport function VStepper({ items, titleAs = \"h4\", labels, ariaLabel }: VStepperProps) {\r\n /*\r\n * Nested-dictionary merge, both levels through the shared undefined-safe helper\r\n * (gap G-24, fourth instance after Dropzone.reasons and DataGridLabels.\r\n * pagination).\r\n *\r\n * The previous form spread `...labels` at the top level, so an explicitly-passed\r\n * `undefined` on `nav` DELETED the default and left the <ol> without an\r\n * accessible name (R-Ar.5). And the inner `|| {}` guarded the `state` sub-object\r\n * against being undefined without guarding its VALUES — so\r\n * `state: { complete: undefined }` emptied the sr-only span below and reduced the\r\n * step's state to colour alone, defeating the WCAG 1.4.1 rule its own comment\r\n * invokes.\r\n *\r\n * `state` is merged at its OWN level rather than through a recursive deep merge:\r\n * two explicit levels can be read, a recursive helper hides how deep it goes.\r\n * Same convention as _dataGridShared.\r\n */\r\n const L = labels\r\n ? mergeLabels(DEFAULT_V_LABELS, {\r\n ...labels,\r\n state: mergeLabels(DEFAULT_V_LABELS.state, labels.state),\r\n })\r\n : DEFAULT_V_LABELS;\r\n const navLabel = ariaLabel || L.nav;\r\n\r\n /* Accept the same rich-step shape HStepper uses, so host modules\r\n * can pass the same array to both steppers without re-mapping. */\r\n const normalisedItems = items.map((it) => {\r\n if (isRichStep(it) && it.status !== undefined) {\r\n return {\r\n state: normaliseStatusToState(it.status),\r\n title: it.title ?? it.label,\r\n meta: it.meta,\r\n timestamp: it.timestamp,\r\n actor: it.actor,\r\n };\r\n }\r\n return it;\r\n });\r\n\r\n return (\r\n <ol style={{ listStyle: \"none\", padding: 0, margin: 0 }} aria-label={navLabel}>\r\n {normalisedItems.map((it, i) => {\r\n const st: StepState = it.state ?? \"pending\";\r\n return (\r\n <li\r\n key={i}\r\n aria-current={st === \"active\" ? \"step\" : undefined}\r\n style={{\r\n display: \"flex\",\r\n gap: 12,\r\n paddingBottom: i < normalisedItems.length - 1 ? 16 : 0,\r\n position: \"relative\",\r\n }}\r\n >\r\n <span aria-hidden=\"true\" style={{ ...dotBaseStyle, ...stateStyle(st) }}>\r\n {st === \"complete\" ? <CheckIcon fontSize=\"inherit\" /> : i + 1}\r\n </span>\r\n {/* WCAG 1.4.1 - convey state in text, not only colour. */}\r\n <span className=\"pui-sr-only\">{L.state[st]}</span>\r\n <div style={{ flex: 1 }}>\r\n <Box\r\n component={titleAs}\r\n sx={{\r\n margin: 0,\r\n fontSize: \"var(--text-sm)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n }}\r\n >\r\n {it.title}\r\n </Box>\r\n {(it.timestamp != null || it.actor != null) && (\r\n <p\r\n style={{\r\n margin: \"2px 0 0\",\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n }}\r\n >\r\n {it.timestamp != null ? it.timestamp : null}\r\n {it.timestamp != null && it.actor != null ? \" · \" : null}\r\n {it.actor != null ? (\r\n <span style={{ color: \"var(--fg-muted)\", fontWeight: \"var(--fw-medium)\" }}>\r\n {it.actor}\r\n </span>\r\n ) : null}\r\n </p>\r\n )}\r\n {it.meta != null && it.meta !== \"\" && (\r\n <p\r\n style={{\r\n margin: \"2px 0 0\",\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n }}\r\n >\r\n {it.meta}\r\n </p>\r\n )}\r\n </div>\r\n {i < normalisedItems.length - 1 && (\r\n <span\r\n aria-hidden=\"true\"\r\n style={{\r\n position: \"absolute\",\r\n left: 11, top: 26, bottom: 0,\r\n width: 2,\r\n background: \"var(--border)\",\r\n }}\r\n />\r\n )}\r\n </li>\r\n );\r\n })}\r\n </ol>\r\n );\r\n}\r\n\r\nexport default HStepper;\r\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,SAAS,MAAM,2BAA2B;AACjD,OAAOC,GAAG,MAAM,mBAAmB;AAEnC,SAASC,WAAW,QAAQ,sBAAsB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnEA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AA6FA,IAAMC,gBAAgB,GAAGC,MAAM,CAACC,MAAM,CAAC;EACrCC,GAAG,EAAE,sBAAsB;EAC3BC,IAAI,EAAE,SAAAA,KAACC,CAAS,EAAEC,KAAsB,EAAEC,KAAgB,EAAa;IACrE,IAAMC,MAAM,GACVD,KAAK,KAAK,UAAU,GAAG,cAAc,GACrCA,KAAK,KAAK,QAAQ,GAAK,aAAa,GACpCA,KAAK,KAAK,UAAU,GAAG,gBAAgB,GAAG,YAAY;IACxD,mBAAAE,MAAA,CAAgBJ,CAAC,SAAAI,MAAA,CAAMH,KAAK,EAAAG,MAAA,CAAGD,MAAM;EACvC;AACF,CAAC,CAAC;AAEF,IAAME,gBAGL,GAAGT,MAAM,CAACC,MAAM,CAAC;EAChBC,GAAG,EAAE,uBAAuB;EAC5BI,KAAK,EAAEN,MAAM,CAACC,MAAM,CAAC;IACnBS,QAAQ,EAAE,mBAAmB;IAC7BC,MAAM,EAAI,kBAAkB;IAC5BC,OAAO,EAAG,iBAAiB;IAC3B;AACJ;AACA;AACA;AACA;AACA;AACA;IACIC,QAAQ,EAAE;EACZ,CAAC;AACH,CAAC,CAAC;AAEF,IAAMC,YAAiC,GAAG;EACxCC,KAAK,EAAE,EAAE;EACTC,MAAM,EAAE,EAAE;EACVC,YAAY,EAAE,KAAK;EACnBC,OAAO,EAAE,MAAM;EACfC,UAAU,EAAE,QAAQ;EACpBC,QAAQ,EAAE,gBAAgB;EAC1BC,UAAU,EAAE,oBAAoB;EAChCC,IAAI,EAAE,UAAU;EAChBC,MAAM,EAAE,WAAW;EACnBC,UAAU,EACR;AACJ,CAAC;AAED,IAAMC,UAAU,GAAG,SAAbA,UAAUA,CAAInB,KAAgB,EAA0B;EAC5D,IAAIA,KAAK,KAAK,UAAU,EAAE;IACxB,OAAO;MAAEoB,UAAU,EAAE,eAAe;MAAEC,WAAW,EAAE,eAAe;MAAEC,KAAK,EAAE;IAAmB,CAAC;EACjG;EACA,IAAItB,KAAK,KAAK,QAAQ,EAAE;IACtB,OAAO;MAAEoB,UAAU,EAAE,gBAAgB;MAAEC,WAAW,EAAE,eAAe;MAAEC,KAAK,EAAE;IAAgB,CAAC;EAC/F;EACA,IAAItB,KAAK,KAAK,UAAU,EAAE;IACxB,OAAO;MAAEoB,UAAU,EAAE,kBAAkB;MAAEC,WAAW,EAAE,eAAe;MAAEC,KAAK,EAAE;IAAmB,CAAC;EACpG;EACA,OAAO;IAAEF,UAAU,EAAE,gBAAgB;IAAEC,WAAW,EAAE,sBAAsB;IAAEC,KAAK,EAAE;EAAmB,CAAC;AACzG,CAAC;AAQD;AACA;AACA,SAASC,SAASA,CAAAC,IAAA,EAA0C;EAAA,IAAvCC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAE1B,KAAK,GAAAyB,IAAA,CAALzB,KAAK;IAAEC,KAAK,GAAAwB,IAAA,CAALxB,KAAK;EACtC,oBACER,KAAA,CAAAF,SAAA;IAAAoC,QAAA,gBACEtC,IAAA;MAAMuC,KAAK,EAAAC,aAAA,CAAAA,aAAA,KAAOpB,YAAY,GAAKW,UAAU,CAACnB,KAAK,CAAC,CAAG;MAAA0B,QAAA,EACpD1B,KAAK,KAAK,UAAU,gBAAGZ,IAAA,CAACJ,SAAS;QAAC8B,QAAQ,EAAC;MAAS,CAAE,CAAC,GAAGW,KAAK,GAAG;IAAC,CAChE,CAAC,eACPrC,IAAA;MACEuC,KAAK,EAAE;QACLb,QAAQ,EAAE,gBAAgB;QAC1B;QACA;QACAC,UAAU,EAAEf,KAAK,KAAK,QAAQ,GAAG,oBAAoB,GAAG,kBAAkB;QAC1EsB,KAAK,EACHtB,KAAK,KAAK,SAAS,GAAI,kBAAkB,GACzCA,KAAK,KAAK,UAAU,GAAG,iBAAiB,GAAI,WAAW;QACzD6B,UAAU,EAAE;MACd,CAAE;MAAAH,QAAA,EAED3B;IAAK,CACF,CAAC;EAAA,CACP,CAAC;AAEP;AAEA,IAAM+B,SAAS,GAAG;EAChBlB,OAAO,EAAE,MAAM;EACfmB,UAAU,EAAE,QAAQ;EACpBC,GAAG,EAAE,CAAC;EACNC,OAAO,EAAE,mCAAmC;EAC5CtB,YAAY,EAAE,aAAa;EAC3B;EACAS,UAAU,EAAE,aAAa;EACzBH,MAAM,EAAE,CAAC;EACTiB,IAAI,EAAE,SAAS;EACfC,SAAS,EAAE,MAAM;EACjB,iBAAiB,EAAE;IACjBC,OAAO,EAAE,yBAAyB;IAClCC,aAAa,EAAE;EACjB;AACF,CAA0B;;AAE1B;AACA;AACA;AACA;AACA;AACA;AACA,SAASC,UAAUA,CAACC,CAAU,EAAW;EACvC,OACEA,CAAC,IAAI,IAAI,IACTC,OAAA,CAAOD,CAAC,MAAK,QAAQ,IACrB,CAACE,KAAK,CAACC,OAAO,CAACH,CAAC,CAAC,IACjB,eAACxD,KAAK,CAAC4D,cAAc,CAACJ,CAAC,CAAC,KACvB,OAAO,IAAIA,CAAC,IAAI,QAAQ,IAAIA,CAAC,CAAC;AAEnC;AAEA,SAASK,sBAAsBA,CAACC,MAA8B,EAAa;EACzE,IAAIA,MAAM,KAAK,SAAS,IAAMA,MAAM,KAAK,QAAQ,EAAK,OAAO,QAAQ;EACrE,IAAIA,MAAM,KAAK,WAAW,IAAIA,MAAM,KAAK,UAAU,EAAG,OAAO,UAAU;EACvE,IAAIA,MAAM,KAAK,UAAU,EAAE,OAAO,UAAU;EAC5C,OAAO,SAAS;AAClB;;AAEA;AACA;AACA,SAASC,cAAcA,CAACC,KAAqB,EAAEC,OAAe,EAAoB;EAChF,IAAID,KAAK,CAACE,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EACjC,IAAIX,UAAU,CAACS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACG,GAAG,CAAC,UAACX,CAAC,EAAEY,CAAC,EAAqB;MAAA,IAAAC,QAAA;MACzC,IAAMC,IAAI,GAAGd,CAAqB;MAClC,IAAMvC,KAAK,GAAG4C,sBAAsB,CAACS,IAAI,CAACR,MAAM,CAAC;MACjD,OAAO;QACLS,GAAG,GAAAF,QAAA,GAAQC,IAAI,CAACE,EAAE,cAAAH,QAAA,cAAAA,QAAA,GAAID,CAAC;QACvBpD,KAAK,EAAMsD,IAAI,CAACtD,KAAK;QACrBC,KAAK,EAALA,KAAK;QACL;QACA;QACAwD,SAAS,EAAExD,KAAK,KAAK;MACvB,CAAC;IACH,CAAC,CAAC;EACJ;EACA;EACA,OAAO+C,KAAK,CAACG,GAAG,CAAC,UAACnD,KAAK,EAAEoD,CAAC;IAAA,OAAsB;MAC9CG,GAAG,EAAQH,CAAC;MACZpD,KAAK,EAAMA,KAAwB;MACnCC,KAAK,EAAMmD,CAAC,GAAGH,OAAO,GAAG,UAAU,GAAGG,CAAC,KAAKH,OAAO,GAAG,QAAQ,GAAG,SAAS;MAC1EQ,SAAS,EAAEL,CAAC,IAAIH;IAClB,CAAC;EAAA,CAAC,CAAC;AACL;AA0BA,OAAO,SAASS,QAAQA,CAAAC,KAAA,EAON;EAAA,IANhBX,KAAK,GAAAW,KAAA,CAALX,KAAK;IAAAY,aAAA,GAAAD,KAAA,CACLV,OAAO;IAAPA,OAAO,GAAAW,aAAA,cAAG,CAAC,GAAAA,aAAA;IACXC,MAAM,GAAAF,KAAA,CAANE,MAAM;IACNC,WAAW,GAAAH,KAAA,CAAXG,WAAW;IACXC,SAAS,GAAAJ,KAAA,CAATI,SAAS;IACTC,MAAM,GAAAL,KAAA,CAANK,MAAM;EAEN,IAAMC,CAAC,GAAG9E,WAAW,CAACO,gBAAgB,EAAEsE,MAAM,CAAC;EAC/C,IAAME,QAAQ,GAAGH,SAAS,IAAIE,CAAC,CAACpE,GAAG;EACnC,IAAMsE,WAAW,GAAGN,MAAM,IAAIC,WAAW;EAEzC,IAAMM,UAAU,GAAGrB,cAAc,CAACC,KAAK,EAAEC,OAAO,CAAC;EAEjD,oBACE5D,IAAA;IACE,cAAY6E,QAAS;IACrBtC,KAAK,EAAE;MACLf,OAAO,EAAE,MAAM;MACfmB,UAAU,EAAE,QAAQ;MACpBC,GAAG,EAAE,CAAC;MACNC,OAAO,EAAE,QAAQ;MACjBmC,SAAS,EAAE;IACb,CAAE;IAAA1C,QAAA,EAEDyC,UAAU,CAACjB,GAAG,CAAC,UAACmB,IAAI,EAAElB,CAAC,EAAK;MAC3B,IAAMmB,SAAS,GAAGN,CAAC,CAACnE,IAAI,CAACsD,CAAC,GAAG,CAAC,EAAEkB,IAAI,CAACtE,KAAK,EAAEsE,IAAI,CAACrE,KAAK,CAAC;MACvD,oBACER,KAAA,CAACT,KAAK,CAACM,QAAQ;QAAAqC,QAAA,GACZ2C,IAAI,CAACb,SAAS,gBACbpE,IAAA,CAACH,GAAG;UACFsF,SAAS,EAAC,QAAQ;UAClBC,IAAI,EAAC,QAAQ;UACb,gBAAcH,IAAI,CAACrE,KAAK,KAAK,QAAQ,GAAG,MAAM,GAAGyE,SAAU;UAC3D,cAAYH,SAAU;UACtBI,OAAO,EAAE,SAAAA,QAAA;YAAA,OAAMR,WAAW,aAAXA,WAAW,uBAAXA,WAAW,CAAGf,CAAC,CAAC;UAAA,CAAC;UAChCwB,EAAE,EAAA/C,aAAA,CAAAA,aAAA,KAAOE,SAAS;YAAE8C,MAAM,EAAE;UAAS,EAAG;UAAAlD,QAAA,eAExCtC,IAAA,CAACmC,SAAS;YAACE,KAAK,EAAE0B,CAAE;YAACpD,KAAK,EAAEsE,IAAI,CAACtE,KAAM;YAACC,KAAK,EAAEqE,IAAI,CAACrE;UAAM,CAAE;QAAC,CAC1D,CAAC,gBAENZ,IAAA,CAACH,GAAG;UACFsF,SAAS,EAAC,MAAM;UAChB,cAAYD,SAAU;UACtB,iBAAeD,IAAI,CAACrE,KAAK,KAAK,UAAU,GAAG,MAAM,GAAGyE,SAAU;UAC9DE,EAAE,EAAA/C,aAAA,CAAAA,aAAA,KAAOE,SAAS;YAAE8C,MAAM,EAAE;UAAS,EAAG;UAAAlD,QAAA,eAExCtC,IAAA,CAACmC,SAAS;YAACE,KAAK,EAAE0B,CAAE;YAACpD,KAAK,EAAEsE,IAAI,CAACtE,KAAM;YAACC,KAAK,EAAEqE,IAAI,CAACrE;UAAM,CAAE;QAAC,CAC1D,CACN,EACAmD,CAAC,GAAGgB,UAAU,CAAClB,MAAM,GAAG,CAAC,iBACxB7D,IAAA,CAACH,GAAG;UACF,eAAY,MAAM;UAClB0F,EAAE,EAAE;YACF3D,IAAI,EAAE,CAAC;YACP6D,QAAQ,EAAE,EAAE;YACZnE,MAAM,EAAE,CAAC;YACTU,UAAU,EAAEiD,IAAI,CAACrE,KAAK,KAAK,UAAU,GAAG,eAAe,GAAG,eAAe;YACzEW,YAAY,EAAE;UAChB;QAAE,CACH,CACF;MAAA,GAjCkB0D,IAAI,CAACf,GAkCV,CAAC;IAErB,CAAC;EAAC,CACC,CAAC;AAEV;AA8BA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASwB,QAAQA,CAAAC,KAAA,EAA8D;EAAA,IAA3DC,KAAK,GAAAD,KAAA,CAALC,KAAK;IAAAC,aAAA,GAAAF,KAAA,CAAEG,OAAO;IAAPA,OAAO,GAAAD,aAAA,cAAG,IAAI,GAAAA,aAAA;IAAElB,MAAM,GAAAgB,KAAA,CAANhB,MAAM;IAAED,SAAS,GAAAiB,KAAA,CAATjB,SAAS;EACjE;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAME,CAAC,GAAGD,MAAM,GACZ7E,WAAW,CAACiB,gBAAgB,EAAAyB,aAAA,CAAAA,aAAA,KACvBmC,MAAM;IACT/D,KAAK,EAAEd,WAAW,CAACiB,gBAAgB,CAACH,KAAK,EAAE+D,MAAM,CAAC/D,KAAK;EAAC,EACzD,CAAC,GACFG,gBAAgB;EACpB,IAAM8D,QAAQ,GAAGH,SAAS,IAAIE,CAAC,CAACpE,GAAG;;EAEnC;AACF;EACE,IAAMuF,eAAe,GAAGH,KAAK,CAAC9B,GAAG,CAAC,UAACkC,EAAE,EAAK;IACxC,IAAI9C,UAAU,CAAC8C,EAAE,CAAC,IAAIA,EAAE,CAACvC,MAAM,KAAK4B,SAAS,EAAE;MAAA,IAAAY,SAAA;MAC7C,OAAO;QACLrF,KAAK,EAAE4C,sBAAsB,CAACwC,EAAE,CAACvC,MAAM,CAAC;QACxCyC,KAAK,GAAAD,SAAA,GAAED,EAAE,CAACE,KAAK,cAAAD,SAAA,cAAAA,SAAA,GAAID,EAAE,CAACrF,KAAK;QAC3BwF,IAAI,EAAGH,EAAE,CAACG,IAAI;QACdC,SAAS,EAAEJ,EAAE,CAACI,SAAS;QACvBC,KAAK,EAAEL,EAAE,CAACK;MACZ,CAAC;IACH;IACA,OAAOL,EAAE;EACX,CAAC,CAAC;EAEF,oBACEhG,IAAA;IAAIuC,KAAK,EAAE;MAAE+D,SAAS,EAAE,MAAM;MAAEzD,OAAO,EAAE,CAAC;MAAE0D,MAAM,EAAE;IAAE,CAAE;IAAC,cAAY1B,QAAS;IAAAvC,QAAA,EAC3EyD,eAAe,CAACjC,GAAG,CAAC,UAACkC,EAAE,EAAEjC,CAAC,EAAK;MAAA,IAAAyC,SAAA;MAC9B,IAAMC,EAAa,IAAAD,SAAA,GAAGR,EAAE,CAACpF,KAAK,cAAA4F,SAAA,cAAAA,SAAA,GAAI,SAAS;MAC3C,oBACEpG,KAAA;QAEE,gBAAcqG,EAAE,KAAK,QAAQ,GAAG,MAAM,GAAGpB,SAAU;QACnD9C,KAAK,EAAE;UACLf,OAAO,EAAE,MAAM;UACfoB,GAAG,EAAE,EAAE;UACP8D,aAAa,EAAE3C,CAAC,GAAGgC,eAAe,CAAClC,MAAM,GAAG,CAAC,GAAG,EAAE,GAAG,CAAC;UACtD8C,QAAQ,EAAE;QACZ,CAAE;QAAArE,QAAA,gBAEFtC,IAAA;UAAM,eAAY,MAAM;UAACuC,KAAK,EAAAC,aAAA,CAAAA,aAAA,KAAOpB,YAAY,GAAKW,UAAU,CAAC0E,EAAE,CAAC,CAAG;UAAAnE,QAAA,EACpEmE,EAAE,KAAK,UAAU,gBAAGzG,IAAA,CAACJ,SAAS;YAAC8B,QAAQ,EAAC;UAAS,CAAE,CAAC,GAAGqC,CAAC,GAAG;QAAC,CACzD,CAAC,eAEP/D,IAAA;UAAM4G,SAAS,EAAC,aAAa;UAAAtE,QAAA,EAAEsC,CAAC,CAAChE,KAAK,CAAC6F,EAAE;QAAC,CAAO,CAAC,eAClDrG,KAAA;UAAKmC,KAAK,EAAE;YAAEX,IAAI,EAAE;UAAE,CAAE;UAAAU,QAAA,gBACtBtC,IAAA,CAACH,GAAG;YACFsF,SAAS,EAAEW,OAAQ;YACnBP,EAAE,EAAE;cACFgB,MAAM,EAAE,CAAC;cACT7E,QAAQ,EAAE,gBAAgB;cAC1BC,UAAU,EAAE,oBAAoB;cAChCO,KAAK,EAAE,WAAW;cAClB2E,UAAU,EAAE;YACd,CAAE;YAAAvE,QAAA,EAED0D,EAAE,CAACE;UAAK,CACN,CAAC,EACL,CAACF,EAAE,CAACI,SAAS,IAAI,IAAI,IAAIJ,EAAE,CAACK,KAAK,IAAI,IAAI,kBACxCjG,KAAA;YACEmC,KAAK,EAAE;cACLgE,MAAM,EAAE,SAAS;cACjB7E,QAAQ,EAAE,gBAAgB;cAC1BQ,KAAK,EAAE;YACT,CAAE;YAAAI,QAAA,GAED0D,EAAE,CAACI,SAAS,IAAI,IAAI,GAAGJ,EAAE,CAACI,SAAS,GAAG,IAAI,EAC1CJ,EAAE,CAACI,SAAS,IAAI,IAAI,IAAIJ,EAAE,CAACK,KAAK,IAAI,IAAI,GAAG,KAAK,GAAG,IAAI,EACvDL,EAAE,CAACK,KAAK,IAAI,IAAI,gBACfrG,IAAA;cAAMuC,KAAK,EAAE;gBAAEL,KAAK,EAAE,iBAAiB;gBAAEP,UAAU,EAAE;cAAmB,CAAE;cAAAW,QAAA,EACvE0D,EAAE,CAACK;YAAK,CACL,CAAC,GACL,IAAI;UAAA,CACP,CACJ,EACAL,EAAE,CAACG,IAAI,IAAI,IAAI,IAAIH,EAAE,CAACG,IAAI,KAAK,EAAE,iBAChCnG,IAAA;YACEuC,KAAK,EAAE;cACLgE,MAAM,EAAE,SAAS;cACjB7E,QAAQ,EAAE,gBAAgB;cAC1BQ,KAAK,EAAE;YACT,CAAE;YAAAI,QAAA,EAED0D,EAAE,CAACG;UAAI,CACP,CACJ;QAAA,CACE,CAAC,EACLpC,CAAC,GAAGgC,eAAe,CAAClC,MAAM,GAAG,CAAC,iBAC7B7D,IAAA;UACE,eAAY,MAAM;UAClBuC,KAAK,EAAE;YACLoE,QAAQ,EAAE,UAAU;YACpBG,IAAI,EAAE,EAAE;YAAEC,GAAG,EAAE,EAAE;YAAEC,MAAM,EAAE,CAAC;YAC5B3F,KAAK,EAAE,CAAC;YACRW,UAAU,EAAE;UACd;QAAE,CACH,CACF;MAAA,GAlEI+B,CAmEH,CAAC;IAET,CAAC;EAAC,CACA,CAAC;AAET;AAEA,eAAeM,QAAQ","ignoreList":[]}
|