@portnet/ui 6.0.0 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -0
- package/dist/esm/index.js +214 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +159 -0
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +143 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +265 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +248 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +380 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +332 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/esm/v2/__tests__/apiError.test.js +181 -0
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +146 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +230 -0
- package/dist/esm/v2/components/Accordion.js.map +1 -0
- package/dist/esm/v2/components/ActionStrip.js +146 -0
- package/dist/esm/v2/components/ActionStrip.js.map +1 -0
- package/dist/esm/v2/components/Banner.js +254 -0
- package/dist/esm/v2/components/Banner.js.map +1 -0
- package/dist/esm/v2/components/Busy.js +97 -0
- package/dist/esm/v2/components/Busy.js.map +1 -0
- package/dist/esm/v2/components/Button.js +114 -0
- package/dist/esm/v2/components/Button.js.map +1 -0
- package/dist/esm/v2/components/CategoryTag.js +81 -0
- package/dist/esm/v2/components/CategoryTag.js.map +1 -0
- package/dist/esm/v2/components/Checkbox.js +124 -0
- package/dist/esm/v2/components/Checkbox.js.map +1 -0
- package/dist/esm/v2/components/Chip.js +124 -0
- package/dist/esm/v2/components/Chip.js.map +1 -0
- package/dist/esm/v2/components/Combobox.js +394 -0
- package/dist/esm/v2/components/Combobox.js.map +1 -0
- package/dist/esm/v2/components/CommandPalette.js +660 -0
- package/dist/esm/v2/components/CommandPalette.js.map +1 -0
- package/dist/esm/v2/components/ConfirmDialog.js +144 -0
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/esm/v2/components/DatePicker.js +200 -0
- package/dist/esm/v2/components/DatePicker.js.map +1 -0
- package/dist/esm/v2/components/DateRangePicker.js +289 -0
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
- package/dist/esm/v2/components/DateTimePicker.js +215 -0
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
- package/dist/esm/v2/components/Drawer.js +333 -0
- package/dist/esm/v2/components/Drawer.js.map +1 -0
- package/dist/esm/v2/components/Dropzone.js +540 -0
- package/dist/esm/v2/components/Dropzone.js.map +1 -0
- package/dist/esm/v2/components/EmptyState.js +102 -0
- package/dist/esm/v2/components/EmptyState.js.map +1 -0
- package/dist/esm/v2/components/FavoriteToggle.js +127 -0
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/esm/v2/components/Field.js +259 -0
- package/dist/esm/v2/components/Field.js.map +1 -0
- package/dist/esm/v2/components/FieldError.js +124 -0
- package/dist/esm/v2/components/FieldError.js.map +1 -0
- package/dist/esm/v2/components/FieldHelp.js +202 -0
- package/dist/esm/v2/components/FieldHelp.js.map +1 -0
- package/dist/esm/v2/components/FileCard.js +162 -0
- package/dist/esm/v2/components/FileCard.js.map +1 -0
- package/dist/esm/v2/components/FilterTab.js +138 -0
- package/dist/esm/v2/components/FilterTab.js.map +1 -0
- package/dist/esm/v2/components/ForbiddenPage.js +74 -0
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/esm/v2/components/FormGrid.js +179 -0
- package/dist/esm/v2/components/FormGrid.js.map +1 -0
- package/dist/esm/v2/components/FormikDisplay.js +118 -0
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
- package/dist/esm/v2/components/Input.js +107 -0
- package/dist/esm/v2/components/Input.js.map +1 -0
- package/dist/esm/v2/components/KPICard.js +237 -0
- package/dist/esm/v2/components/KPICard.js.map +1 -0
- package/dist/esm/v2/components/KPIStrip.js +84 -0
- package/dist/esm/v2/components/KPIStrip.js.map +1 -0
- package/dist/esm/v2/components/KV.js +75 -0
- package/dist/esm/v2/components/KV.js.map +1 -0
- package/dist/esm/v2/components/KVGrid.js +74 -0
- package/dist/esm/v2/components/KVGrid.js.map +1 -0
- package/dist/esm/v2/components/Layout.js +284 -0
- package/dist/esm/v2/components/Layout.js.map +1 -0
- package/dist/esm/v2/components/MobileRowCard.js +314 -0
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
- package/dist/esm/v2/components/Modal.js +276 -0
- package/dist/esm/v2/components/Modal.js.map +1 -0
- package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/esm/v2/components/NotFoundPage.js +58 -0
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
- package/dist/esm/v2/components/NumberInput.js +309 -0
- package/dist/esm/v2/components/NumberInput.js.map +1 -0
- package/dist/esm/v2/components/OverflowMenu.js +184 -0
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
- package/dist/esm/v2/components/PdfViewer.js +122 -0
- package/dist/esm/v2/components/PdfViewer.js.map +1 -0
- package/dist/esm/v2/components/ProgressBar.js +202 -0
- package/dist/esm/v2/components/ProgressBar.js.map +1 -0
- package/dist/esm/v2/components/Radio.js +228 -0
- package/dist/esm/v2/components/Radio.js.map +1 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/esm/v2/components/SectionHeader.js +132 -0
- package/dist/esm/v2/components/SectionHeader.js.map +1 -0
- package/dist/esm/v2/components/Segmented.js +254 -0
- package/dist/esm/v2/components/Segmented.js.map +1 -0
- package/dist/esm/v2/components/Select.js +490 -0
- package/dist/esm/v2/components/Select.js.map +1 -0
- package/dist/esm/v2/components/ServerErrorPage.js +74 -0
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/esm/v2/components/Skeleton.js +269 -0
- package/dist/esm/v2/components/Skeleton.js.map +1 -0
- package/dist/esm/v2/components/SkipLink.js +49 -0
- package/dist/esm/v2/components/SkipLink.js.map +1 -0
- package/dist/esm/v2/components/Spinner.js +69 -0
- package/dist/esm/v2/components/Spinner.js.map +1 -0
- package/dist/esm/v2/components/Status.js +64 -0
- package/dist/esm/v2/components/Status.js.map +1 -0
- package/dist/esm/v2/components/Stepper.js +432 -0
- package/dist/esm/v2/components/Stepper.js.map +1 -0
- package/dist/esm/v2/components/Surface.js +159 -0
- package/dist/esm/v2/components/Surface.js.map +1 -0
- package/dist/esm/v2/components/Switch.js +128 -0
- package/dist/esm/v2/components/Switch.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +150 -0
- package/dist/esm/v2/components/Tabs.js.map +1 -0
- package/dist/esm/v2/components/TelInput.js +274 -0
- package/dist/esm/v2/components/TelInput.js.map +1 -0
- package/dist/esm/v2/components/Textarea.js +72 -0
- package/dist/esm/v2/components/Textarea.js.map +1 -0
- package/dist/esm/v2/components/TimePicker.js +134 -0
- package/dist/esm/v2/components/TimePicker.js.map +1 -0
- package/dist/esm/v2/components/Toast.js +376 -0
- package/dist/esm/v2/components/Toast.js.map +1 -0
- package/dist/esm/v2/components/Tooltip.js +161 -0
- package/dist/esm/v2/components/Tooltip.js.map +1 -0
- package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/esm/v2/components/_pickerShared.js +60 -0
- package/dist/esm/v2/components/_pickerShared.js.map +1 -0
- package/dist/esm/v2/components/index.js +271 -0
- package/dist/esm/v2/components/index.js.map +1 -0
- package/dist/esm/v2/hooks/index.js +10 -0
- package/dist/esm/v2/hooks/index.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/esm/v2/hooks/useDensity.js +119 -0
- package/dist/esm/v2/hooks/useDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useSortedRows.js +32 -0
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/esm/v2/hooks/useTabLoading.js +79 -0
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/esm/v2/index.js +132 -0
- package/dist/esm/v2/index.js.map +1 -0
- package/dist/esm/v2/modalContext.js +108 -0
- package/dist/esm/v2/modalContext.js.map +1 -0
- package/dist/esm/v2/models/favorite.js +2 -0
- package/dist/esm/v2/models/favorite.js.map +1 -0
- package/dist/esm/v2/models/index.js +12 -0
- package/dist/esm/v2/models/index.js.map +1 -0
- package/dist/esm/v2/models/personalization.js +2 -0
- package/dist/esm/v2/models/personalization.js.map +1 -0
- package/dist/esm/v2/models/referentiel.js +2 -0
- package/dist/esm/v2/models/referentiel.js.map +1 -0
- package/dist/esm/v2/models/savedFilter.js +2 -0
- package/dist/esm/v2/models/savedFilter.js.map +1 -0
- package/dist/esm/v2/patterns/ActionBar.js +603 -0
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/esm/v2/patterns/DataGrid.js +820 -0
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +117 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormPageShell.js +126 -0
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/FormSection.js +190 -0
- package/dist/esm/v2/patterns/FormSection.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js +140 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCombobox.js +118 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +162 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +150 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +148 -0
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
- package/dist/esm/v2/patterns/FormikInput.js +130 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js +141 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/FormikSelect.js +162 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +79 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +212 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/esm/v2/patterns/PageContent.js +62 -0
- package/dist/esm/v2/patterns/PageContent.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +615 -0
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +122 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/SortableHeader.js +179 -0
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/esm/v2/patterns/Tour.js +471 -0
- package/dist/esm/v2/patterns/Tour.js.map +1 -0
- package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js +74 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +112 -0
- package/dist/esm/v2/patterns/_sort.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +178 -0
- package/dist/esm/v2/patterns/index.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/index.js +11 -0
- package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +209 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +22 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/esm/v2/personalization/index.js +64 -0
- package/dist/esm/v2/personalization/index.js.map +1 -0
- package/dist/esm/v2/personalization/personalizationContext.js +108 -0
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/esm/v2/personalization/schema.js +92 -0
- package/dist/esm/v2/personalization/schema.js.map +1 -0
- package/dist/esm/v2/personalization/types.js +2 -0
- package/dist/esm/v2/personalization/types.js.map +1 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/esm/v2/referentiel/index.js +15 -0
- package/dist/esm/v2/referentiel/index.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/esm/v2/styles/base.css +425 -0
- package/dist/esm/v2/styles/css.d.ts +10 -0
- package/dist/esm/v2/styles/index.js +12 -0
- package/dist/esm/v2/styles/index.js.map +1 -0
- package/dist/esm/v2/theme/_brand.js +64 -0
- package/dist/esm/v2/theme/_brand.js.map +1 -0
- package/dist/esm/v2/theme/_brandSecondary.js +60 -0
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/esm/v2/theme/cssVariables.js +198 -0
- package/dist/esm/v2/theme/cssVariables.js.map +1 -0
- package/dist/esm/v2/theme/index.js +32 -0
- package/dist/esm/v2/theme/index.js.map +1 -0
- package/dist/esm/v2/tokens/breakpoints.js +106 -0
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +219 -0
- package/dist/esm/v2/tokens/colors.js.map +1 -0
- package/dist/esm/v2/tokens/density.js +98 -0
- package/dist/esm/v2/tokens/density.js.map +1 -0
- package/dist/esm/v2/tokens/index.js +80 -0
- package/dist/esm/v2/tokens/index.js.map +1 -0
- package/dist/esm/v2/tokens/motion.js +88 -0
- package/dist/esm/v2/tokens/motion.js.map +1 -0
- package/dist/esm/v2/tokens/radius.js +22 -0
- package/dist/esm/v2/tokens/radius.js.map +1 -0
- package/dist/esm/v2/tokens/shadows.js +40 -0
- package/dist/esm/v2/tokens/shadows.js.map +1 -0
- package/dist/esm/v2/tokens/spacing.js +51 -0
- package/dist/esm/v2/tokens/spacing.js.map +1 -0
- package/dist/esm/v2/tokens/state.js +41 -0
- package/dist/esm/v2/tokens/state.js.map +1 -0
- package/dist/esm/v2/tokens/statusPalette.js +66 -0
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
- package/dist/esm/v2/tokens/tokens.json +153 -0
- package/dist/esm/v2/tokens/typography.js +149 -0
- package/dist/esm/v2/tokens/typography.js.map +1 -0
- package/dist/esm/v2/tokens/zIndex.js +44 -0
- package/dist/esm/v2/tokens/zIndex.js.map +1 -0
- package/dist/esm/v2/types/common.js +2 -0
- package/dist/esm/v2/types/common.js.map +1 -0
- package/dist/esm/v2/types/datagrid.js +2 -0
- package/dist/esm/v2/types/datagrid.js.map +1 -0
- package/dist/esm/v2/types/index.js +12 -0
- package/dist/esm/v2/types/index.js.map +1 -0
- package/dist/esm/v2/utils/apiError.js +281 -0
- package/dist/esm/v2/utils/apiError.js.map +1 -0
- package/dist/esm/v2/utils/contrast.js +157 -0
- package/dist/esm/v2/utils/contrast.js.map +1 -0
- package/dist/esm/v2/utils/cx.js +38 -0
- package/dist/esm/v2/utils/cx.js.map +1 -0
- package/dist/esm/v2/utils/fileDownload.js +226 -0
- package/dist/esm/v2/utils/fileDownload.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +78 -0
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
- package/dist/esm/v2/utils/index.js +43 -0
- package/dist/esm/v2/utils/index.js.map +1 -0
- package/dist/esm/v2/utils/mergeLabels.js +86 -0
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
- package/dist/esm/v2/utils/networkStatus.js +114 -0
- package/dist/esm/v2/utils/networkStatus.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/FieldError.test.js +160 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +150 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +144 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js +268 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +247 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +381 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +52 -56
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +20 -24
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/components/Accordion.d.ts +6 -6
- package/dist/v2/components/Accordion.d.ts.map +1 -1
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.d.ts +12 -12
- package/dist/v2/components/ActionStrip.d.ts.map +1 -1
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.d.ts +48 -9
- package/dist/v2/components/Banner.d.ts.map +1 -1
- package/dist/v2/components/Banner.js +116 -35
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.d.ts +3 -3
- package/dist/v2/components/Busy.d.ts.map +1 -1
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.d.ts +6 -6
- package/dist/v2/components/Button.d.ts.map +1 -1
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts +3 -3
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.d.ts +11 -11
- package/dist/v2/components/Checkbox.d.ts.map +1 -1
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.d.ts +8 -8
- package/dist/v2/components/Chip.d.ts.map +1 -1
- package/dist/v2/components/Chip.js +2 -1
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.d.ts +27 -27
- package/dist/v2/components/Combobox.d.ts.map +1 -1
- package/dist/v2/components/Combobox.js +3 -2
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.d.ts +20 -20
- package/dist/v2/components/CommandPalette.d.ts.map +1 -1
- package/dist/v2/components/CommandPalette.js +2 -6
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.d.ts +13 -13
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +2 -1
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.d.ts +11 -11
- package/dist/v2/components/DatePicker.d.ts.map +1 -1
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.d.ts +16 -16
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
- package/dist/v2/components/DateRangePicker.js +2 -1
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts +11 -11
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +37 -4
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts +18 -18
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +2 -1
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.d.ts +34 -34
- package/dist/v2/components/Dropzone.d.ts.map +1 -1
- package/dist/v2/components/Dropzone.js +11 -3
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.d.ts +7 -7
- package/dist/v2/components/EmptyState.d.ts.map +1 -1
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.d.ts +7 -7
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +2 -1
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +76 -13
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +87 -9
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.d.ts +78 -0
- package/dist/v2/components/FieldError.d.ts.map +1 -0
- package/dist/v2/components/FieldError.js +131 -0
- package/dist/v2/components/FieldError.js.map +1 -0
- package/dist/v2/components/FieldHelp.d.ts +7 -7
- package/dist/v2/components/FieldHelp.d.ts.map +1 -1
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.d.ts +75 -0
- package/dist/v2/components/FileCard.d.ts.map +1 -0
- package/dist/v2/components/FileCard.js +169 -0
- package/dist/v2/components/FileCard.js.map +1 -0
- package/dist/v2/components/FilterTab.d.ts +9 -9
- package/dist/v2/components/FilterTab.d.ts.map +1 -1
- package/dist/v2/components/FilterTab.js +2 -1
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/FormGrid.d.ts +9 -4
- package/dist/v2/components/FormGrid.d.ts.map +1 -1
- package/dist/v2/components/FormGrid.js +11 -1
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +6 -6
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +6 -6
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.d.ts +43 -13
- package/dist/v2/components/KPICard.d.ts.map +1 -1
- package/dist/v2/components/KPICard.js +53 -14
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.d.ts +68 -0
- package/dist/v2/components/KPIStrip.d.ts.map +1 -0
- package/dist/v2/components/KPIStrip.js +92 -0
- package/dist/v2/components/KPIStrip.js.map +1 -0
- package/dist/v2/components/KV.d.ts +3 -3
- package/dist/v2/components/KV.d.ts.map +1 -1
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.d.ts +2 -2
- package/dist/v2/components/KVGrid.d.ts.map +1 -1
- package/dist/v2/components/KVGrid.js +8 -1
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.d.ts +7 -7
- package/dist/v2/components/Layout.d.ts.map +1 -1
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.d.ts +13 -13
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.d.ts +12 -12
- package/dist/v2/components/Modal.d.ts.map +1 -1
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NumberInput.d.ts +14 -14
- package/dist/v2/components/NumberInput.d.ts.map +1 -1
- package/dist/v2/components/NumberInput.js +7 -6
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.d.ts +14 -14
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
- package/dist/v2/components/OverflowMenu.js +4 -8
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.d.ts +9 -9
- package/dist/v2/components/PdfViewer.d.ts.map +1 -1
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.d.ts +10 -10
- package/dist/v2/components/ProgressBar.d.ts.map +1 -1
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.d.ts +7 -7
- package/dist/v2/components/Radio.d.ts.map +1 -1
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
- package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
- package/dist/v2/components/SectionErrorBoundary.js +221 -0
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/v2/components/SectionHeader.d.ts +5 -5
- package/dist/v2/components/SectionHeader.d.ts.map +1 -1
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.d.ts +11 -11
- package/dist/v2/components/Segmented.d.ts.map +1 -1
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +33 -15
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +147 -30
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.d.ts +15 -15
- package/dist/v2/components/Skeleton.d.ts.map +1 -1
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.d.ts +2 -2
- package/dist/v2/components/SkipLink.d.ts.map +1 -1
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Status.d.ts +3 -3
- package/dist/v2/components/Status.d.ts.map +1 -1
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.d.ts +28 -22
- package/dist/v2/components/Stepper.d.ts.map +1 -1
- package/dist/v2/components/Stepper.js +31 -5
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.d.ts +94 -0
- package/dist/v2/components/Surface.d.ts.map +1 -0
- package/dist/v2/components/Surface.js +163 -0
- package/dist/v2/components/Surface.js.map +1 -0
- package/dist/v2/components/Switch.d.ts +4 -4
- package/dist/v2/components/Switch.d.ts.map +1 -1
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/Tabs.d.ts +6 -6
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.d.ts +8 -8
- package/dist/v2/components/TelInput.d.ts.map +1 -1
- package/dist/v2/components/TelInput.js +18 -18
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.d.ts +1 -1
- package/dist/v2/components/Textarea.d.ts.map +1 -1
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.d.ts +11 -11
- package/dist/v2/components/TimePicker.d.ts.map +1 -1
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.d.ts +6 -6
- package/dist/v2/components/Toast.d.ts.map +1 -1
- package/dist/v2/components/Toast.js +9 -8
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.d.ts +1 -1
- package/dist/v2/components/Tooltip.d.ts.map +1 -1
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/index.d.ts +170 -0
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +35 -0
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +1 -1
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +13 -13
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +11 -11
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -8
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.d.ts +33 -33
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/ActionBar.js +2 -1
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/BulkActionBar.js +2 -1
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +4 -8
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +2 -1
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.d.ts +15 -15
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +14 -61
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +2 -1
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.d.ts +4 -4
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +19 -8
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +106 -71
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +147 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +18 -12
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +5 -2
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +48 -8
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +58 -65
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
- package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDateTimePicker.js +158 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikFile.d.ts +8 -8
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +51 -6
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +53 -2
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
- package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikRadioGroup.js +148 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +41 -12
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +32 -3
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +14 -6
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +5 -2
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +21 -8
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +27 -14
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.d.ts +3 -3
- package/dist/v2/patterns/PageContent.d.ts.map +1 -1
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/ReferentielField.d.ts +49 -49
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +2 -1
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +92 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +9 -8
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.d.ts +12 -12
- package/dist/v2/patterns/Tour.d.ts.map +1 -1
- package/dist/v2/patterns/Tour.js +9 -8
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +37 -3
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +81 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/index.d.ts +114 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +34 -0
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +215 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +6 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +13 -0
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +18 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +13 -0
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/schema.d.ts +2 -2
- package/dist/v2/personalization/schema.d.ts.map +1 -1
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/personalization/types.d.ts +19 -19
- package/dist/v2/personalization/types.d.ts.map +1 -1
- package/dist/v2/personalization/types.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +25 -1
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +59 -59
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/utils/apiError.d.ts +65 -4
- package/dist/v2/utils/apiError.d.ts.map +1 -1
- package/dist/v2/utils/apiError.js +69 -6
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/index.d.ts +1 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +7 -0
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.d.ts +59 -0
- package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
- package/dist/v2/utils/mergeLabels.js +93 -0
- package/dist/v2/utils/mergeLabels.js.map +1 -0
- package/package.json +23 -15
|
@@ -0,0 +1,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":"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","ignoreList":[]}
|