@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["React","_interopRequireWildcard","require","_Select","_interopRequireDefault","_MenuItem","_Chip","_Box","_Close","_Search","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","DEFAULT_LABELS","freeze","placeholder","clearAll","clearAllAria","removeChip","lbl","concat","searchLabel","searchClear","noOptions","SEARCH_WRAPPER_SX","position","top","zIndex","background","padding","borderBottom","display","alignItems","gap","Select","forwardRef","_ref","ref","onChange","onBlur","_ref$options","options","disabled","error","_ref$fullWidth","fullWidth","_ref$multiple","multiple","labels","_ref$searchable","searchable","searchThreshold","callerInputRef","inputRef","sx","rest","innerInputRef","useRef","setInputRef","useCallback","node","current","showSearch","process","env","console","warn","L","effectivePlaceholder","_React$useState","useState","_React$useState2","searchQuery","setSearchQuery","searchRef","handleClose","handleOpen","setTimeout","_searchRef$current","focus","filteredOptions","useMemo","trim","q","toLowerCase","label","includes","optionLabel","v","opt","find","fireChange","nextValue","removeOne","val","e","stopPropagation","stop","jsxs","onOpen","onClose","displayEmpty","size","renderValue","selected","jsx","style","color","children","flexWrap","map","onMouseDown","onDelete","deleteIcon","fontSize","height","paddingInline","component","type","onClick","border","borderRadius","fontWeight","cursor","fontFamily","transition","outline","outlineOffset","onKeyDown","flexShrink","flex","_searchRef$current2","l","_default","exports"],"sources":["../../../src/lib/v2/components/Select.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiSelect from \"@mui/material/Select\";\r\nimport type { SelectProps as MuiSelectProps } from \"@mui/material/Select\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport Box from \"@mui/material/Box\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * Select — Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Select\".\r\n *\r\n * R-Sel.1 — > 30 options → use searchThreshold or Combobox.\r\n * R-Sel.2 — 2–3 options → prefer Radio or Segmented control.\r\n * R-Sel.3 — Placeholder = \"Sélectionner…\", never empty.\r\n * R-Sel.4 — Multi-select → chips dans l'input + bouton « Tout effacer ».\r\n * R-Sel.5 — searchThreshold / searchable → auto-search for large lists (NEW).\r\n *\r\n * Autocomplete / search (R-Sel.5):\r\n * Pass `searchThreshold={N}` to show a search input when options >= N.\r\n * Pass `searchable` as a shorthand to always show search.\r\n *\r\n * Generic pattern: set searchThreshold once per component type and ALL\r\n * instances with enough items get free-text filtering automatically.\r\n *\r\n * <Select searchThreshold={8} options={pays} value={v} onChange={...} />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * Pass `labels` to override user-visible strings.\r\n *\r\n * MUI v9 focus safety:\r\n * MuiSelect focuses its hidden input on click via an internal inputRef.\r\n * We always pass an explicit inputRef (merged with any caller ref) so\r\n * that focus target is never null — otherwise clicking the closed select\r\n * throws \"Cannot read properties of null (reading 'focus')\" from inside\r\n * MUI's own click handler.\r\n */\r\n\r\nexport type SelectOptionValue = string | number;\r\n\r\nexport interface SelectOptionObject {\r\n value: SelectOptionValue;\r\n label: React.ReactNode;\r\n}\r\n\r\nexport type SelectOption = string | SelectOptionObject;\r\n\r\nexport type SelectValue = SelectOptionValue | SelectOptionValue[];\r\n\r\n/**\r\n * onChange event shape. Deliberately loose: the component fires onChange\r\n * both from MUI's native SelectChangeEvent AND from a synthetic\r\n * { target: { value } } object in the chip-remove / clear-all paths.\r\n */\r\nexport interface SelectChangeLike {\r\n target: { value: SelectValue };\r\n}\r\n\r\nexport interface SelectLabels {\r\n placeholder?: string;\r\n clearAll?: string;\r\n clearAllAria?: string;\r\n removeChip?: (label: React.ReactNode) => string;\r\n searchLabel?: string;\r\n searchClear?: string;\r\n noOptions?: string;\r\n}\r\n\r\nexport interface SelectProps\r\n extends Omit<\r\n MuiSelectProps<SelectValue>,\r\n \"value\" | \"onChange\" | \"renderValue\" | \"children\" | \"inputRef\"\r\n > {\r\n value?: SelectValue;\r\n onChange?: (event: SelectChangeLike) => void;\r\n options?: SelectOption[];\r\n placeholder?: string;\r\n labels?: SelectLabels;\r\n searchable?: boolean;\r\n searchThreshold?: number;\r\n /** Optional caller-provided input ref; merged with the internal one. */\r\n inputRef?: React.Ref<HTMLInputElement>;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n placeholder: \"Sélectionner…\",\r\n clearAll: \"Tout effacer\",\r\n clearAllAria: \"Tout effacer la sélection\",\r\n removeChip: (lbl: React.ReactNode) => `Retirer ${String(lbl)}`,\r\n searchLabel: \"Rechercher…\",\r\n searchClear: \"Effacer la recherche\",\r\n noOptions: \"Aucun résultat\",\r\n});\r\n\r\n/* ── Search input — sticky at top of dropdown list ─────────────────\r\n * Rendered as a non-MenuItem Box so ArrowKey list-navigation skips it.\r\n * onKeyDown stopPropagation prevents MUI's keyboard handler from\r\n * treating typed characters as list-navigation shortcuts.\r\n * ─────────────────────────────────────────────────────────────────── */\r\nconst SEARCH_WRAPPER_SX = Object.freeze({\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n background: \"var(--surface)\",\r\n padding: \"var(--s-2) var(--s-3)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst Select = React.forwardRef<HTMLInputElement, SelectProps>(function Select(\r\n {\r\n value,\r\n onChange,\r\n onBlur,\r\n options = [],\r\n placeholder,\r\n disabled,\r\n error,\r\n fullWidth = true,\r\n multiple = false,\r\n labels,\r\n searchable = false,\r\n searchThreshold,\r\n inputRef: callerInputRef,\r\n sx,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n /* ── MUI v9 focus safety — always-present input ref ──────────────\r\n * MuiSelect calls inputRef.current.focus() on click. Guarantee a\r\n * live node by owning the ref here and merging any caller-provided\r\n * inputRef / forwarded ref onto it. */\r\n const innerInputRef = React.useRef<HTMLInputElement | null>(null);\r\n const setInputRef = React.useCallback(\r\n (node: HTMLInputElement | null) => {\r\n innerInputRef.current = node;\r\n if (typeof callerInputRef === \"function\") callerInputRef(node);\r\n // A caller-supplied ref object is typed with a readonly `current` by\r\n // React; writing to it here is the documented ref-merge idiom, so a\r\n // single narrow assertion to a writable shape is justified.\r\n else if (callerInputRef) {\r\n (callerInputRef as { current: HTMLInputElement | null }).current = node;\r\n }\r\n if (typeof ref === \"function\") ref(node);\r\n else if (ref) ref.current = node;\r\n },\r\n [callerInputRef, ref],\r\n );\r\n\r\n /* ── Determine whether to show search ──────────────────────────── */\r\n const showSearch =\r\n searchable ||\r\n (typeof searchThreshold === \"number\" && options.length >= searchThreshold);\r\n\r\n /* Dev-time charter warn: only fires when no search is configured */\r\n if (process.env[\"NODE_ENV\"] !== \"production\" && !showSearch && options.length > 30) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `[@portnet/ui v2] <Select> has ${options.length} options — charter R-Sel.1: use searchThreshold={8} or Combobox above 30.`,\r\n );\r\n }\r\n\r\n const L = labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS;\r\n const effectivePlaceholder = placeholder ?? L.placeholder;\r\n\r\n /* ── Search state ──────────────────────────────────────────────── */\r\n const [searchQuery, setSearchQuery] = React.useState(\"\");\r\n const searchRef = React.useRef<HTMLInputElement | null>(null);\r\n\r\n const handleClose = React.useCallback(() => setSearchQuery(\"\"), []);\r\n\r\n /* Focus the search input as soon as the dropdown opens.\r\n * MUI renders the Popover asynchronously → small delay needed. */\r\n const handleOpen = React.useCallback(() => {\r\n if (showSearch) {\r\n setTimeout(() => searchRef.current?.focus(), 50);\r\n }\r\n }, [showSearch]);\r\n\r\n const filteredOptions = React.useMemo(() => {\r\n if (!showSearch || !searchQuery.trim()) return options;\r\n const q = searchQuery.trim().toLowerCase();\r\n return options.filter((o) => {\r\n const label = typeof o === \"string\" ? o : o.label;\r\n return String(label).toLowerCase().includes(q);\r\n });\r\n }, [options, searchQuery, showSearch]);\r\n\r\n /* ── Label resolver ────────────────────────────────────────────── */\r\n const optionLabel = React.useCallback(\r\n (v: SelectValue): React.ReactNode => {\r\n const opt = options.find((o) => (typeof o === \"string\" ? o : o.value) === v);\r\n if (!opt) return v;\r\n return typeof opt === \"string\" ? opt : opt.label;\r\n },\r\n [options],\r\n );\r\n\r\n /* ── Multi-select helpers ──────────────────────────────────────── */\r\n const fireChange = React.useCallback(\r\n (nextValue: SelectValue) => {\r\n if (!onChange) return;\r\n onChange({ target: { value: nextValue } });\r\n },\r\n [onChange],\r\n );\r\n\r\n const removeOne = (val: SelectOptionValue) => (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n if (!multiple) return;\r\n const arr = Array.isArray(value) ? value : [];\r\n fireChange(arr.filter((v) => v !== val));\r\n };\r\n\r\n const clearAll = (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n if (!multiple) return;\r\n fireChange([]);\r\n };\r\n\r\n const stop = (e: React.SyntheticEvent) => e.stopPropagation();\r\n\r\n return (\r\n <MuiSelect<SelectValue>\r\n inputRef={setInputRef}\r\n value={value ?? (multiple ? [] : \"\")}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n onOpen={handleOpen}\r\n onClose={handleClose}\r\n displayEmpty\r\n disabled={disabled}\r\n error={!!error}\r\n fullWidth={fullWidth}\r\n multiple={multiple}\r\n size=\"small\"\r\n renderValue={(selected: SelectValue) => {\r\n if (multiple) {\r\n const arr = Array.isArray(selected) ? selected : [];\r\n if (arr.length === 0) {\r\n return <span style={{ color: \"var(--fg-subtle)\" }}>{effectivePlaceholder}</span>;\r\n }\r\n return (\r\n <Box sx={{ display: \"flex\", flexWrap: \"wrap\", alignItems: \"center\", gap: 0.5 }}>\r\n {arr.map((v) => {\r\n const lbl = optionLabel(v);\r\n return (\r\n <MuiChip\r\n key={v}\r\n size=\"small\"\r\n label={lbl}\r\n onMouseDown={stop}\r\n onDelete={removeOne(v)}\r\n deleteIcon={\r\n <CloseIcon\r\n fontSize=\"small\"\r\n onMouseDown={stop}\r\n aria-label={L.removeChip(lbl)}\r\n />\r\n }\r\n sx={{\r\n height: 22,\r\n \"& .MuiChip-label\": { paddingInline: 1, fontSize: 12 },\r\n }}\r\n />\r\n );\r\n })}\r\n {arr.length > 0 && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onMouseDown={stop}\r\n onClick={clearAll}\r\n aria-label={L.clearAllAria}\r\n sx={{\r\n background: \"transparent\",\r\n border: \"1px dashed var(--border)\",\r\n borderRadius: \"var(--r-sm)\",\r\n padding: \"1px 8px\",\r\n fontSize: 11,\r\n fontWeight: 600,\r\n color: \"var(--fg-muted)\",\r\n cursor: \"pointer\",\r\n fontFamily: \"inherit\",\r\n transition: \"background var(--duration-fast, 80ms) ease\",\r\n \"&:hover\": { background: \"var(--bg-subtle)\", color: \"var(--fg)\" },\r\n \"&:focus-visible\": { outline: \"2px solid var(--accent)\", outlineOffset: \"var(--pui-outline-offset)\" },\r\n }}\r\n >\r\n {L.clearAll}\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n }\r\n if (selected === \"\" || selected == null) {\r\n return <span style={{ color: \"var(--fg-subtle)\" }}>{effectivePlaceholder}</span>;\r\n }\r\n return optionLabel(selected);\r\n }}\r\n sx={sx}\r\n {...rest}\r\n >\r\n {/* Search input — sticky, non-selectable, captures keyboard events */}\r\n {showSearch && (\r\n <Box\r\n onKeyDown={(e) => e.stopPropagation()}\r\n onClick={(e) => e.stopPropagation()}\r\n sx={SEARCH_WRAPPER_SX}\r\n >\r\n <SearchIcon sx={{ fontSize: 16, color: \"var(--fg-subtle)\", flexShrink: 0 }} aria-hidden=\"true\" />\r\n <Box\r\n component=\"input\"\r\n ref={searchRef}\r\n value={searchQuery}\r\n onChange={(e) => setSearchQuery(e.target.value)}\r\n placeholder={L.searchLabel}\r\n aria-label={L.searchLabel}\r\n sx={{\r\n flex: 1,\r\n border: \"none\",\r\n outline: \"none\",\r\n background: \"transparent\",\r\n fontSize: \"var(--text-sm)\",\r\n fontFamily: \"inherit\",\r\n color: \"var(--fg)\",\r\n \"&::placeholder\": { color: \"var(--fg-subtle)\" },\r\n }}\r\n />\r\n {searchQuery && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={(e) => { e.stopPropagation(); setSearchQuery(\"\"); searchRef.current?.focus(); }}\r\n aria-label={L.searchClear}\r\n sx={{ background: \"transparent\", border: \"none\", cursor: \"pointer\", display: \"flex\", alignItems: \"center\", padding: 0, flexShrink: 0 }}\r\n >\r\n <CloseIcon sx={{ fontSize: 14, color: \"var(--fg-muted)\" }} />\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n\r\n {/* Empty state when search yields no results */}\r\n {showSearch && searchQuery.trim() && filteredOptions.length === 0 && (\r\n <MenuItem disabled sx={{ color: \"var(--fg-subtle)\", fontSize: \"var(--text-sm)\" }}>\r\n {L.noOptions}\r\n </MenuItem>\r\n )}\r\n\r\n {filteredOptions.map((o) => {\r\n const v = typeof o === \"string\" ? o : o.value;\r\n const l = typeof o === \"string\" ? o : o.label;\r\n return <MenuItem key={v} value={v}>{l}</MenuItem>;\r\n })}\r\n </MuiSelect>\r\n );\r\n});\r\n\r\nexport default Select;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["React","_interopRequireWildcard","require","_Select","_interopRequireDefault","_MenuItem","_Chip","_Box","_Close","_Search","_mergeLabels","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","Array","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","_createForOfIteratorHelper","o","allowArrayLike","it","F","s","n","e","_e2","f","normalCompletion","didErr","step","_e3","minLen","_arrayLikeToArray","toString","slice","constructor","name","from","test","len","arr2","DEFAULT_LABELS","freeze","placeholder","clearAll","clearAllAria","removeChip","lbl","concat","searchLabel","searchClear","noOptions","isRecord","v","valueKey","_iterator","_step","k","candidate","sameOptionValue","a","b","ka","labelFromValue","_iterator2","_step2","SEARCH_WRAPPER_SX","position","top","zIndex","background","padding","borderBottom","display","alignItems","gap","Select","forwardRef","_ref","ref","onChange","onBlur","_ref$options","options","disabled","error","_ref$fullWidth","fullWidth","_ref$multiple","multiple","labels","_ref$searchable","searchable","searchThreshold","callerInputRef","inputRef","sx","rest","innerInputRef","useRef","setInputRef","useCallback","node","current","showSearch","process","env","console","warn","L","mergeLabels","effectivePlaceholder","_React$useState","useState","_React$useState2","searchQuery","setSearchQuery","searchRef","handleClose","handleOpen","setTimeout","_searchRef$current","focus","filteredOptions","useMemo","trim","q","toLowerCase","label","includes","optionLabel","opt","find","derived","jsx","style","color","children","fireChange","nextValue","removeOne","val","stopPropagation","stop","jsxs","onOpen","onClose","displayEmpty","size","renderValue","selected","flexWrap","map","onMouseDown","onDelete","deleteIcon","fontSize","height","paddingInline","component","type","onClick","border","borderRadius","fontWeight","cursor","fontFamily","transition","outline","outlineOffset","onKeyDown","flexShrink","flex","_searchRef$current2","l","_default","exports"],"sources":["../../../src/lib/v2/components/Select.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport MuiSelect from \"@mui/material/Select\";\r\nimport type { SelectProps as MuiSelectProps } from \"@mui/material/Select\";\r\nimport MenuItem from \"@mui/material/MenuItem\";\r\nimport MuiChip from \"@mui/material/Chip\";\r\nimport Box from \"@mui/material/Box\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport SearchIcon from \"@mui/icons-material/Search\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Select — Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Select\".\r\n *\r\n * R-Sel.1 — > 30 options → use searchThreshold or Combobox.\r\n * R-Sel.2 — 2–3 options → prefer Radio or Segmented control.\r\n * R-Sel.3 — Placeholder = \"Sélectionner…\", never empty.\r\n * R-Sel.4 — Multi-select → chips dans l'input + bouton « Tout effacer ».\r\n * R-Sel.5 — searchThreshold / searchable → auto-search for large lists (NEW).\r\n *\r\n * Autocomplete / search (R-Sel.5):\r\n * Pass `searchThreshold={N}` to show a search input when options >= N.\r\n * Pass `searchable` as a shorthand to always show search.\r\n *\r\n * Generic pattern: set searchThreshold once per component type and ALL\r\n * instances with enough items get free-text filtering automatically.\r\n *\r\n * <Select searchThreshold={8} options={pays} value={v} onChange={...} />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * Pass `labels` to override user-visible strings.\r\n *\r\n * MUI v9 focus safety:\r\n * MuiSelect focuses its hidden input on click via an internal inputRef.\r\n * We always pass an explicit inputRef (merged with any caller ref) so\r\n * that focus target is never null — otherwise clicking the closed select\r\n * throws \"Cannot read properties of null (reading 'focus')\" from inside\r\n * MUI's own click handler.\r\n */\r\n\r\nexport type SelectOptionValue = string | number;\r\n\r\nexport interface SelectOptionObject {\r\n value: SelectOptionValue;\r\n label: React.ReactNode;\r\n}\r\n\r\nexport type SelectOption = string | SelectOptionObject;\r\n\r\nexport type SelectValue = SelectOptionValue | SelectOptionValue[];\r\n\r\n/**\r\n * onChange event shape. Deliberately loose: the component fires onChange\r\n * both from MUI's native SelectChangeEvent AND from a synthetic\r\n * { target: { value } } object in the chip-remove / clear-all paths.\r\n */\r\nexport interface SelectChangeLike {\r\n target: { value: SelectValue };\r\n}\r\n\r\nexport interface SelectLabels {\r\n placeholder?: string | undefined;\r\n clearAll?: string | undefined;\r\n clearAllAria?: string | undefined;\r\n removeChip?: ((label: React.ReactNode) => string) | undefined;\r\n searchLabel?: string | undefined;\r\n searchClear?: string | undefined;\r\n noOptions?: string | undefined;\r\n}\r\n\r\nexport interface SelectProps\r\n extends Omit<\r\n MuiSelectProps<SelectValue>,\r\n \"value\" | \"onChange\" | \"renderValue\" | \"children\" | \"inputRef\"\r\n > {\r\n value?: SelectValue | undefined;\r\n onChange?: ((event: SelectChangeLike) => void) | undefined;\r\n options?: SelectOption[] | undefined;\r\n placeholder?: string | undefined;\r\n labels?: SelectLabels | undefined;\r\n searchable?: boolean | undefined;\r\n searchThreshold?: number | undefined;\r\n /** Optional caller-provided input ref; merged with the internal one. */\r\n inputRef?: React.Ref<HTMLInputElement> | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n placeholder: \"Sélectionner…\",\r\n clearAll: \"Tout effacer\",\r\n clearAllAria: \"Tout effacer la sélection\",\r\n removeChip: (lbl: React.ReactNode) => `Retirer ${String(lbl)}`,\r\n searchLabel: \"Rechercher…\",\r\n searchClear: \"Effacer la recherche\",\r\n noOptions: \"Aucun résultat\",\r\n});\r\n\r\n/* ── Out-of-contract object values: defensive resolution ───────────\r\n *\r\n * `SelectOptionValue` is declared `string | number`, but several GU modules\r\n * store whole referentiel objects as the Select value — see R-29 in the\r\n * amssnur-ui behaviour register, and the `bmdav-fe` precedent that first\r\n * surfaced `FormikComboboxProps`. Their payload mappers read\r\n * `values.typeDemande.code`, so the object IS the value they need back.\r\n *\r\n * That is out of contract, and until the opt-in opaque value described in R-29\r\n * lands it is also reality. This component must therefore be DEFENSIVE about\r\n * object values rather than crash on them. Three concrete failures it had:\r\n *\r\n * 1. `optionLabel` returned the raw value when no option matched, so\r\n * `renderValue` handed a plain object to React:\r\n * \"Objects are not valid as a React child\r\n * (found: object with keys {id, code, description})\"\r\n * This is a HARD CRASH, caught only if the host wraps the section in an\r\n * error boundary. Reported from amssnur-ui on two screens.\r\n *\r\n * 2. `options.find((o) => o.value === v)` is REFERENCE equality for objects.\r\n * A value seeded from an API payload is never the same instance as an\r\n * option fetched separately, so it never matched — which is what made (1)\r\n * fire on the edit path even when the option list was fully loaded.\r\n *\r\n * 3. `key={v}` on each MenuItem stringifies an object to \"[object Object]\",\r\n * giving every item in the list the SAME React key.\r\n *\r\n * `value={v}` is still passed through unchanged, so `onChange` returns the\r\n * caller's own object reference and the object-valued contract keeps working.\r\n */\r\n\r\nexport function isRecord(v: unknown): v is Record<string, unknown> {\r\n return typeof v === \"object\" && v !== null;\r\n}\r\n\r\n/** Stable string key for a value, primitive or object. \"\" when undecidable. */\r\nexport function valueKey(v: unknown): string {\r\n if (v === null || v === undefined) return \"\";\r\n if (!isRecord(v)) return String(v);\r\n for (const k of [\"value\", \"id\", \"code\"] as const) {\r\n const candidate = v[k];\r\n if (candidate !== null && candidate !== undefined && !isRecord(candidate)) {\r\n return String(candidate);\r\n }\r\n }\r\n return \"\";\r\n}\r\n\r\n/**\r\n * Value equality that survives object identity loss.\r\n *\r\n * Reference/primitive equality first (the common path), then a structural\r\n * comparison on the discriminating key. The `!== \"\"` guard matters: without it\r\n * two objects that expose no key would compare equal to each other AND to any\r\n * empty value.\r\n */\r\nexport function sameOptionValue(a: unknown, b: unknown): boolean {\r\n if (a === b) return true;\r\n if (isRecord(a) || isRecord(b)) {\r\n const ka = valueKey(a);\r\n return ka !== \"\" && ka === valueKey(b);\r\n }\r\n return String(a) === String(b);\r\n}\r\n\r\n/**\r\n * Best-effort label for a value with no matching option. Returns `null` when\r\n * nothing renderable can be derived, so the caller shows the placeholder\r\n * instead of throwing.\r\n */\r\nexport function labelFromValue(v: unknown): React.ReactNode {\r\n if (v === null || v === undefined) return null;\r\n if (!isRecord(v)) return String(v);\r\n for (const k of [\"label\", \"description\", \"name\", \"libelle\", \"code\"] as const) {\r\n const candidate = v[k];\r\n if (candidate !== null && candidate !== undefined && !isRecord(candidate)) {\r\n const s = String(candidate);\r\n if (s !== \"\") return s;\r\n }\r\n }\r\n return null;\r\n}\r\n\r\n/* ── Search input — sticky at top of dropdown list ─────────────────\r\n * Rendered as a non-MenuItem Box so ArrowKey list-navigation skips it.\r\n * onKeyDown stopPropagation prevents MUI's keyboard handler from\r\n * treating typed characters as list-navigation shortcuts.\r\n * ─────────────────────────────────────────────────────────────────── */\r\nconst SEARCH_WRAPPER_SX = Object.freeze({\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n background: \"var(--surface)\",\r\n padding: \"var(--s-2) var(--s-3)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst Select = React.forwardRef<HTMLInputElement, SelectProps>(function Select(\r\n {\r\n value,\r\n onChange,\r\n onBlur,\r\n options = [],\r\n placeholder,\r\n disabled,\r\n error,\r\n fullWidth = true,\r\n multiple = false,\r\n labels,\r\n searchable = false,\r\n searchThreshold,\r\n inputRef: callerInputRef,\r\n sx,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n /* ── MUI v9 focus safety — always-present input ref ──────────────\r\n * MuiSelect calls inputRef.current.focus() on click. Guarantee a\r\n * live node by owning the ref here and merging any caller-provided\r\n * inputRef / forwarded ref onto it. */\r\n const innerInputRef = React.useRef<HTMLInputElement | null>(null);\r\n const setInputRef = React.useCallback(\r\n (node: HTMLInputElement | null) => {\r\n innerInputRef.current = node;\r\n if (typeof callerInputRef === \"function\") callerInputRef(node);\r\n // A caller-supplied ref object is typed with a readonly `current` by\r\n // React; writing to it here is the documented ref-merge idiom, so a\r\n // single narrow assertion to a writable shape is justified.\r\n else if (callerInputRef) {\r\n (callerInputRef as { current: HTMLInputElement | null }).current = node;\r\n }\r\n if (typeof ref === \"function\") ref(node);\r\n else if (ref) ref.current = node;\r\n },\r\n [callerInputRef, ref],\r\n );\r\n\r\n /* ── Determine whether to show search ──────────────────────────── */\r\n const showSearch =\r\n searchable ||\r\n (typeof searchThreshold === \"number\" && options.length >= searchThreshold);\r\n\r\n /* Dev-time charter warn: only fires when no search is configured */\r\n if (process.env[\"NODE_ENV\"] !== \"production\" && !showSearch && options.length > 30) {\r\n // eslint-disable-next-line no-console\r\n console.warn(\r\n `[@portnet/ui v2] <Select> has ${options.length} options — charter R-Sel.1: use searchThreshold={8} or Combobox above 30.`,\r\n );\r\n }\r\n\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const effectivePlaceholder = placeholder ?? L.placeholder;\r\n\r\n /* ── Search state ──────────────────────────────────────────────── */\r\n const [searchQuery, setSearchQuery] = React.useState(\"\");\r\n const searchRef = React.useRef<HTMLInputElement | null>(null);\r\n\r\n const handleClose = React.useCallback(() => setSearchQuery(\"\"), []);\r\n\r\n /* Focus the search input as soon as the dropdown opens.\r\n * MUI renders the Popover asynchronously → small delay needed. */\r\n const handleOpen = React.useCallback(() => {\r\n if (showSearch) {\r\n setTimeout(() => searchRef.current?.focus(), 50);\r\n }\r\n }, [showSearch]);\r\n\r\n const filteredOptions = React.useMemo(() => {\r\n if (!showSearch || !searchQuery.trim()) return options;\r\n const q = searchQuery.trim().toLowerCase();\r\n return options.filter((o) => {\r\n const label = typeof o === \"string\" ? o : o.label;\r\n return String(label).toLowerCase().includes(q);\r\n });\r\n }, [options, searchQuery, showSearch]);\r\n\r\n /* ── Label resolver ────────────────────────────────────────────── */\r\n const optionLabel = React.useCallback(\r\n (v: SelectValue): React.ReactNode => {\r\n const opt = options.find((o) =>\r\n sameOptionValue(typeof o === \"string\" ? o : o.value, v),\r\n );\r\n if (opt) return typeof opt === \"string\" ? opt : opt.label;\r\n\r\n /* No match. NEVER return `v` unguarded — an object here is a React-child\r\n * crash. Derive something readable, else show the placeholder. */\r\n const derived = labelFromValue(v);\r\n if (derived !== null) return derived;\r\n return (\r\n <span style={{ color: \"var(--fg-subtle)\" }}>{effectivePlaceholder}</span>\r\n );\r\n },\r\n [options, effectivePlaceholder],\r\n );\r\n\r\n /* ── Multi-select helpers ──────────────────────────────────────── */\r\n const fireChange = React.useCallback(\r\n (nextValue: SelectValue) => {\r\n if (!onChange) return;\r\n onChange({ target: { value: nextValue } });\r\n },\r\n [onChange],\r\n );\r\n\r\n const removeOne = (val: SelectOptionValue) => (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n if (!multiple) return;\r\n const arr = Array.isArray(value) ? value : [];\r\n fireChange(arr.filter((v) => !sameOptionValue(v, val)));\r\n };\r\n\r\n const clearAll = (e: React.SyntheticEvent) => {\r\n e.stopPropagation();\r\n if (!multiple) return;\r\n fireChange([]);\r\n };\r\n\r\n const stop = (e: React.SyntheticEvent) => e.stopPropagation();\r\n\r\n return (\r\n <MuiSelect<SelectValue>\r\n inputRef={setInputRef}\r\n value={value ?? (multiple ? [] : \"\")}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n onOpen={handleOpen}\r\n onClose={handleClose}\r\n displayEmpty\r\n disabled={disabled}\r\n error={!!error}\r\n fullWidth={fullWidth}\r\n multiple={multiple}\r\n size=\"small\"\r\n renderValue={(selected: SelectValue) => {\r\n if (multiple) {\r\n const arr = Array.isArray(selected) ? selected : [];\r\n if (arr.length === 0) {\r\n return <span style={{ color: \"var(--fg-subtle)\" }}>{effectivePlaceholder}</span>;\r\n }\r\n return (\r\n <Box sx={{ display: \"flex\", flexWrap: \"wrap\", alignItems: \"center\", gap: 0.5 }}>\r\n {arr.map((v, i) => {\r\n const lbl = optionLabel(v);\r\n return (\r\n <MuiChip\r\n key={valueKey(v) || `sel-${i}`}\r\n size=\"small\"\r\n label={lbl}\r\n onMouseDown={stop}\r\n onDelete={removeOne(v)}\r\n deleteIcon={\r\n <CloseIcon\r\n fontSize=\"small\"\r\n onMouseDown={stop}\r\n aria-label={L.removeChip(lbl)}\r\n />\r\n }\r\n sx={{\r\n height: 22,\r\n \"& .MuiChip-label\": { paddingInline: 1, fontSize: 12 },\r\n }}\r\n />\r\n );\r\n })}\r\n {arr.length > 0 && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onMouseDown={stop}\r\n onClick={clearAll}\r\n aria-label={L.clearAllAria}\r\n sx={{\r\n background: \"transparent\",\r\n border: \"1px dashed var(--border)\",\r\n borderRadius: \"var(--r-sm)\",\r\n padding: \"1px 8px\",\r\n fontSize: 11,\r\n fontWeight: 600,\r\n color: \"var(--fg-muted)\",\r\n cursor: \"pointer\",\r\n fontFamily: \"inherit\",\r\n transition: \"background var(--duration-fast, 80ms) ease\",\r\n \"&:hover\": { background: \"var(--bg-subtle)\", color: \"var(--fg)\" },\r\n \"&:focus-visible\": { outline: \"2px solid var(--accent)\", outlineOffset: \"var(--pui-outline-offset)\" },\r\n }}\r\n >\r\n {L.clearAll}\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n }\r\n if (selected === \"\" || selected == null) {\r\n return <span style={{ color: \"var(--fg-subtle)\" }}>{effectivePlaceholder}</span>;\r\n }\r\n return optionLabel(selected);\r\n }}\r\n sx={sx}\r\n {...rest}\r\n >\r\n {/* Search input — sticky, non-selectable, captures keyboard events */}\r\n {showSearch && (\r\n <Box\r\n onKeyDown={(e) => e.stopPropagation()}\r\n onClick={(e) => e.stopPropagation()}\r\n sx={SEARCH_WRAPPER_SX}\r\n >\r\n <SearchIcon sx={{ fontSize: 16, color: \"var(--fg-subtle)\", flexShrink: 0 }} aria-hidden=\"true\" />\r\n <Box\r\n component=\"input\"\r\n ref={searchRef}\r\n value={searchQuery}\r\n onChange={(e) => setSearchQuery(e.target.value)}\r\n placeholder={L.searchLabel}\r\n aria-label={L.searchLabel}\r\n sx={{\r\n flex: 1,\r\n border: \"none\",\r\n outline: \"none\",\r\n background: \"transparent\",\r\n fontSize: \"var(--text-sm)\",\r\n fontFamily: \"inherit\",\r\n color: \"var(--fg)\",\r\n \"&::placeholder\": { color: \"var(--fg-subtle)\" },\r\n }}\r\n />\r\n {searchQuery && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={(e) => { e.stopPropagation(); setSearchQuery(\"\"); searchRef.current?.focus(); }}\r\n aria-label={L.searchClear}\r\n sx={{ background: \"transparent\", border: \"none\", cursor: \"pointer\", display: \"flex\", alignItems: \"center\", padding: 0, flexShrink: 0 }}\r\n >\r\n <CloseIcon sx={{ fontSize: 14, color: \"var(--fg-muted)\" }} />\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n\r\n {/* Empty state when search yields no results */}\r\n {showSearch && searchQuery.trim() && filteredOptions.length === 0 && (\r\n <MenuItem disabled sx={{ color: \"var(--fg-subtle)\", fontSize: \"var(--text-sm)\" }}>\r\n {L.noOptions}\r\n </MenuItem>\r\n )}\r\n\r\n {filteredOptions.map((o, i) => {\r\n const v = typeof o === \"string\" ? o : o.value;\r\n const l = typeof o === \"string\" ? o : o.label;\r\n /* key via valueKey: an object value stringifies to \"[object Object]\",\r\n * which would give every item in the list the same React key. */\r\n return <MenuItem key={valueKey(v) || `opt-${i}`} value={v}>{l}</MenuItem>;\r\n })}\r\n </MuiSelect>\r\n );\r\n});\r\n\r\nexport default Select;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -4,7 +4,7 @@ export interface ServerErrorPageProps {
|
|
|
4
4
|
/** Callback for the primary "Retour à l'accueil" CTA. */
|
|
5
5
|
onHome: () => void;
|
|
6
6
|
/** Optional retry callback. When omitted, the Réessayer button is hidden. */
|
|
7
|
-
onRetry?: () => void;
|
|
7
|
+
onRetry?: (() => void) | undefined;
|
|
8
8
|
}
|
|
9
9
|
declare function ServerErrorPage({ onBack, onHome, onRetry }: ServerErrorPageProps): import("react").JSX.Element;
|
|
10
10
|
export default ServerErrorPage;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerErrorPage.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/ServerErrorPage.tsx"],"names":[],"mappings":"AAiCA,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,yDAAyD;IACzD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"ServerErrorPage.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/ServerErrorPage.tsx"],"names":[],"mappings":"AAiCA,MAAM,WAAW,oBAAoB;IACnC,oDAAoD;IACpD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,yDAAyD;IACzD,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,6EAA6E;IAC7E,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;CACpC;AAED,iBAAS,eAAe,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,oBAAoB,+BAiCzE;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerErrorPage.js","names":["_Box","_interopRequireDefault","require","_ArrowBack","_ErrorOutlined","_ActionBar","_Button","_ErrorPageBody","_jsxRuntime","obj","__esModule","ServerErrorPage","_ref","onBack","onHome","onRetry","jsxs","Fragment","children","jsx","back","breadcrumb","title","icon","sx","fontSize","color","code","description","display","justifyContent","gap","paddingBottom","variant","onClick","_default","exports"],"sources":["../../../src/lib/v2/components/ServerErrorPage.tsx"],"sourcesContent":["/**\r\n * ServerErrorPage — Portnet UI v2 (component)\r\n *\r\n * Charter §07 · 500 / Erreur serveur.\r\n *\r\n * Adds an optional onRetry callback on top of the ForbiddenPage /\r\n * NotFoundPage contract. The retry button is only rendered when\r\n * onRetry is supplied — the lib deliberately avoids defaulting it\r\n * to window.location.reload() because that policy belongs to the\r\n * host (some hosts may prefer cache-clear, axios retry, backoff,\r\n * or a route-level revalidation).\r\n *\r\n * import { ServerErrorPage } from \"@portnet/ui/lib/v2\";\r\n * import { useNavigate } from \"react-router-dom\";\r\n *\r\n * function ServerErrorRoute() {\r\n * const navigate = useNavigate();\r\n * return (\r\n * <ServerErrorPage\r\n * onBack={() => navigate(-1)}\r\n * onHome={() => navigate(\"/\")}\r\n * onRetry={() => window.location.reload()}\r\n * />\r\n * );\r\n * }\r\n */\r\nimport Box from \"@mui/material/Box\";\r\nimport ArrowBack from \"@mui/icons-material/ArrowBack\";\r\nimport ErrorOutline from \"@mui/icons-material/ErrorOutlined\";\r\nimport ActionBar from \"../patterns/ActionBar\";\r\nimport Button from \"./Button\";\r\nimport ErrorPageBody from \"./_ErrorPageBody\";\r\n\r\nexport interface ServerErrorPageProps {\r\n /** Callback for the back button (top-bar arrow). */\r\n onBack: () => void;\r\n /** Callback for the primary \"Retour à l'accueil\" CTA. */\r\n onHome: () => void;\r\n /** Optional retry callback. When omitted, the Réessayer button is hidden. */\r\n onRetry?: () => void;\r\n}\r\n\r\nfunction ServerErrorPage({ onBack, onHome, onRetry }: ServerErrorPageProps) {\r\n return (\r\n <>\r\n <ActionBar\r\n back={onBack}\r\n breadcrumb={[\"Erreur\", \"Erreur serveur\"]}\r\n title=\"Erreur serveur\"\r\n />\r\n <ErrorPageBody\r\n icon={<ErrorOutline sx={{ fontSize: 64, color: \"var(--danger)\" }} />}\r\n code=\"500\"\r\n title=\"Le serveur a rencontré une erreur\"\r\n description=\"Le service est momentanément indisponible. Réessayez dans quelques instants. Si le problème persiste, contactez le support en mentionnant le code 500.\"\r\n />\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n gap: \"var(--s-3)\",\r\n paddingBottom: \"var(--s-7)\",\r\n }}\r\n >\r\n {onRetry ? (\r\n <Button variant=\"ghost\" onClick={onRetry}>\r\n Réessayer\r\n </Button>\r\n ) : null}\r\n <Button variant=\"primary\" icon={<ArrowBack />} onClick={onHome}>\r\n Retour à l'accueil\r\n </Button>\r\n </Box>\r\n </>\r\n );\r\n}\r\n\r\nexport default ServerErrorPage;\r\n"],"mappings":";;;;;;AA0BA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,cAAA,GAAAN,sBAAA,CAAAC,OAAA;AAA6C,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AA/B7C;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;;AAiBA,SAASE,eAAeA,CAAAC,IAAA,EAAoD;EAAA,IAAjDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;EAChD,oBACE,IAAAP,WAAA,CAAAQ,IAAA,EAAAR,WAAA,CAAAS,QAAA;IAAAC,QAAA,gBACE,IAAAV,WAAA,CAAAW,GAAA,EAACd,UAAA,WAAS;MACRe,IAAI,EAAEP,MAAO;MACbQ,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAE;MACzCC,KAAK,EAAC;IAAgB,CACvB,CAAC,eACF,IAAAd,WAAA,CAAAW,GAAA,EAACZ,cAAA,WAAa;MACZgB,IAAI,eAAE,IAAAf,WAAA,CAAAW,GAAA,EAACf,cAAA,WAAY;QAACoB,EAAE,EAAE;UAAEC,QAAQ,EAAE,EAAE;UAAEC,KAAK,EAAE;QAAgB;MAAE,CAAE,CAAE;MACrEC,IAAI,EAAC,KAAK;MACVL,KAAK,EAAC,sCAAmC;MACzCM,WAAW,EAAC;IAAwJ,CACrK,CAAC,eACF,IAAApB,WAAA,CAAAQ,IAAA,EAAChB,IAAA,WAAG;MACFwB,EAAE,EAAE;QACFK,OAAO,EAAS,MAAM;QACtBC,cAAc,EAAE,QAAQ;QACxBC,GAAG,EAAa,YAAY;QAC5BC,aAAa,EAAG;MAClB,CAAE;MAAAd,QAAA,GAEDH,OAAO,gBACN,IAAAP,WAAA,CAAAW,GAAA,EAACb,OAAA,WAAM;QAAC2B,OAAO,EAAC,OAAO;QAACC,OAAO,EAAEnB,OAAQ;QAAAG,QAAA,EAAC;MAE1C,CAAQ,CAAC,GACP,IAAI,eACR,IAAAV,WAAA,CAAAW,GAAA,EAACb,OAAA,WAAM;QAAC2B,OAAO,EAAC,SAAS;QAACV,IAAI,eAAE,IAAAf,WAAA,CAAAW,GAAA,EAAChB,UAAA,WAAS,IAAE,CAAE;QAAC+B,OAAO,EAAEpB,MAAO;QAAAI,QAAA,EAAC;MAEhE,CAAQ,CAAC;IAAA,CACN,CAAC;EAAA,CACN,CAAC;AAEP;AAAC,IAAAiB,QAAA,GAAAC,OAAA,cAEczB,eAAe","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ServerErrorPage.js","names":["_Box","_interopRequireDefault","require","_ArrowBack","_ErrorOutlined","_ActionBar","_Button","_ErrorPageBody","_jsxRuntime","obj","__esModule","ServerErrorPage","_ref","onBack","onHome","onRetry","jsxs","Fragment","children","jsx","back","breadcrumb","title","icon","sx","fontSize","color","code","description","display","justifyContent","gap","paddingBottom","variant","onClick","_default","exports"],"sources":["../../../src/lib/v2/components/ServerErrorPage.tsx"],"sourcesContent":["/**\r\n * ServerErrorPage — Portnet UI v2 (component)\r\n *\r\n * Charter §07 · 500 / Erreur serveur.\r\n *\r\n * Adds an optional onRetry callback on top of the ForbiddenPage /\r\n * NotFoundPage contract. The retry button is only rendered when\r\n * onRetry is supplied — the lib deliberately avoids defaulting it\r\n * to window.location.reload() because that policy belongs to the\r\n * host (some hosts may prefer cache-clear, axios retry, backoff,\r\n * or a route-level revalidation).\r\n *\r\n * import { ServerErrorPage } from \"@portnet/ui/lib/v2\";\r\n * import { useNavigate } from \"react-router-dom\";\r\n *\r\n * function ServerErrorRoute() {\r\n * const navigate = useNavigate();\r\n * return (\r\n * <ServerErrorPage\r\n * onBack={() => navigate(-1)}\r\n * onHome={() => navigate(\"/\")}\r\n * onRetry={() => window.location.reload()}\r\n * />\r\n * );\r\n * }\r\n */\r\nimport Box from \"@mui/material/Box\";\r\nimport ArrowBack from \"@mui/icons-material/ArrowBack\";\r\nimport ErrorOutline from \"@mui/icons-material/ErrorOutlined\";\r\nimport ActionBar from \"../patterns/ActionBar\";\r\nimport Button from \"./Button\";\r\nimport ErrorPageBody from \"./_ErrorPageBody\";\r\n\r\nexport interface ServerErrorPageProps {\r\n /** Callback for the back button (top-bar arrow). */\r\n onBack: () => void;\r\n /** Callback for the primary \"Retour à l'accueil\" CTA. */\r\n onHome: () => void;\r\n /** Optional retry callback. When omitted, the Réessayer button is hidden. */\r\n onRetry?: (() => void) | undefined;\r\n}\r\n\r\nfunction ServerErrorPage({ onBack, onHome, onRetry }: ServerErrorPageProps) {\r\n return (\r\n <>\r\n <ActionBar\r\n back={onBack}\r\n breadcrumb={[\"Erreur\", \"Erreur serveur\"]}\r\n title=\"Erreur serveur\"\r\n />\r\n <ErrorPageBody\r\n icon={<ErrorOutline sx={{ fontSize: 64, color: \"var(--danger)\" }} />}\r\n code=\"500\"\r\n title=\"Le serveur a rencontré une erreur\"\r\n description=\"Le service est momentanément indisponible. Réessayez dans quelques instants. Si le problème persiste, contactez le support en mentionnant le code 500.\"\r\n />\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n justifyContent: \"center\",\r\n gap: \"var(--s-3)\",\r\n paddingBottom: \"var(--s-7)\",\r\n }}\r\n >\r\n {onRetry ? (\r\n <Button variant=\"ghost\" onClick={onRetry}>\r\n Réessayer\r\n </Button>\r\n ) : null}\r\n <Button variant=\"primary\" icon={<ArrowBack />} onClick={onHome}>\r\n Retour à l'accueil\r\n </Button>\r\n </Box>\r\n </>\r\n );\r\n}\r\n\r\nexport default ServerErrorPage;\r\n"],"mappings":";;;;;;AA0BA,IAAAA,IAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,UAAA,GAAAF,sBAAA,CAAAC,OAAA;AACA,IAAAE,cAAA,GAAAH,sBAAA,CAAAC,OAAA;AACA,IAAAG,UAAA,GAAAJ,sBAAA,CAAAC,OAAA;AACA,IAAAI,OAAA,GAAAL,sBAAA,CAAAC,OAAA;AACA,IAAAK,cAAA,GAAAN,sBAAA,CAAAC,OAAA;AAA6C,IAAAM,WAAA,GAAAN,OAAA;AAAA,SAAAD,uBAAAQ,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AA/B7C;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;;AAiBA,SAASE,eAAeA,CAAAC,IAAA,EAAoD;EAAA,IAAjDC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;IAAEC,OAAO,GAAAH,IAAA,CAAPG,OAAO;EAChD,oBACE,IAAAP,WAAA,CAAAQ,IAAA,EAAAR,WAAA,CAAAS,QAAA;IAAAC,QAAA,gBACE,IAAAV,WAAA,CAAAW,GAAA,EAACd,UAAA,WAAS;MACRe,IAAI,EAAEP,MAAO;MACbQ,UAAU,EAAE,CAAC,QAAQ,EAAE,gBAAgB,CAAE;MACzCC,KAAK,EAAC;IAAgB,CACvB,CAAC,eACF,IAAAd,WAAA,CAAAW,GAAA,EAACZ,cAAA,WAAa;MACZgB,IAAI,eAAE,IAAAf,WAAA,CAAAW,GAAA,EAACf,cAAA,WAAY;QAACoB,EAAE,EAAE;UAAEC,QAAQ,EAAE,EAAE;UAAEC,KAAK,EAAE;QAAgB;MAAE,CAAE,CAAE;MACrEC,IAAI,EAAC,KAAK;MACVL,KAAK,EAAC,sCAAmC;MACzCM,WAAW,EAAC;IAAwJ,CACrK,CAAC,eACF,IAAApB,WAAA,CAAAQ,IAAA,EAAChB,IAAA,WAAG;MACFwB,EAAE,EAAE;QACFK,OAAO,EAAS,MAAM;QACtBC,cAAc,EAAE,QAAQ;QACxBC,GAAG,EAAa,YAAY;QAC5BC,aAAa,EAAG;MAClB,CAAE;MAAAd,QAAA,GAEDH,OAAO,gBACN,IAAAP,WAAA,CAAAW,GAAA,EAACb,OAAA,WAAM;QAAC2B,OAAO,EAAC,OAAO;QAACC,OAAO,EAAEnB,OAAQ;QAAAG,QAAA,EAAC;MAE1C,CAAQ,CAAC,GACP,IAAI,eACR,IAAAV,WAAA,CAAAW,GAAA,EAACb,OAAA,WAAM;QAAC2B,OAAO,EAAC,SAAS;QAACV,IAAI,eAAE,IAAAf,WAAA,CAAAW,GAAA,EAAChB,UAAA,WAAS,IAAE,CAAE;QAAC+B,OAAO,EAAEpB,MAAO;QAAAI,QAAA,EAAC;MAEhE,CAAQ,CAAC;IAAA,CACN,CAAC;EAAA,CACN,CAAC;AAEP;AAAC,IAAAiB,QAAA,GAAAC,OAAA,cAEczB,eAAe","ignoreList":[]}
|
|
@@ -24,32 +24,32 @@ import * as React from "react";
|
|
|
24
24
|
* are aria-hidden placeholders that don't carry localisable strings.
|
|
25
25
|
*/
|
|
26
26
|
export interface SkeletonProps {
|
|
27
|
-
width?: string | number;
|
|
28
|
-
height?: string | number;
|
|
29
|
-
radius?: number;
|
|
30
|
-
style?: React.CSSProperties;
|
|
31
|
-
className?: string;
|
|
27
|
+
width?: string | number | undefined;
|
|
28
|
+
height?: string | number | undefined;
|
|
29
|
+
radius?: number | undefined;
|
|
30
|
+
style?: React.CSSProperties | undefined;
|
|
31
|
+
className?: string | undefined;
|
|
32
32
|
}
|
|
33
33
|
export declare function Skeleton({ width, height, radius, style, className }: SkeletonProps): React.JSX.Element;
|
|
34
34
|
export declare function SkeletonKPI(): React.JSX.Element;
|
|
35
35
|
export interface SkeletonRowProps {
|
|
36
|
-
cols?: number;
|
|
37
|
-
withCheckbox?: boolean;
|
|
38
|
-
withActions?: boolean;
|
|
36
|
+
cols?: number | undefined;
|
|
37
|
+
withCheckbox?: boolean | undefined;
|
|
38
|
+
withActions?: boolean | undefined;
|
|
39
39
|
}
|
|
40
40
|
export declare function SkeletonRow({ cols, withCheckbox, withActions }: SkeletonRowProps): React.JSX.Element;
|
|
41
41
|
export declare function SkeletonDetailHero(): React.JSX.Element;
|
|
42
42
|
export interface SkeletonTabContentProps {
|
|
43
|
-
rows?: number;
|
|
44
|
-
loadingLabel?: string;
|
|
43
|
+
rows?: number | undefined;
|
|
44
|
+
loadingLabel?: string | undefined;
|
|
45
45
|
}
|
|
46
46
|
export declare function SkeletonTabContent({ rows, loadingLabel }: SkeletonTabContentProps): React.JSX.Element;
|
|
47
47
|
export interface SkeletonTextProps {
|
|
48
|
-
lines?: number;
|
|
49
|
-
widths?: Array<string | number
|
|
50
|
-
height?: string | number;
|
|
51
|
-
gap?: string;
|
|
52
|
-
loadingLabel?: string;
|
|
48
|
+
lines?: number | undefined;
|
|
49
|
+
widths?: Array<string | number> | undefined;
|
|
50
|
+
height?: string | number | undefined;
|
|
51
|
+
gap?: string | undefined;
|
|
52
|
+
loadingLabel?: string | undefined;
|
|
53
53
|
}
|
|
54
54
|
export declare function SkeletonText({ lines, widths, height, gap, loadingLabel, }: SkeletonTextProps): React.JSX.Element;
|
|
55
55
|
export default Skeleton;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Skeleton.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Skeleton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,WAAW,aAAa;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAChC;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAAc,EAAE,MAAW,EAAE,MAAU,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,aAAa,qBAcpG;AAED,wBAAgB,WAAW,sBAgB1B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,WAAW,CAAC,EAAE,IAAQ,EAAE,YAAmB,EAAE,WAAkB,EAAE,EAAE,gBAAgB,qBAoBlG;AAED,wBAAgB,kBAAkB,sBAwBjC;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,kBAAkB,CAAC,EAAE,IAAQ,EAAE,YAAuC,EAAE,EAAE,uBAAuB,qBAiBhH;AAuBD,MAAM,WAAW,iBAAiB;IAChC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,MAAM,CAAC,EAAE,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,GAAG,SAAS,CAAC;IAC5C,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACnC;AAED,wBAAgB,YAAY,CAAC,EAC3B,KAAS,EACT,MAAM,EACN,MAAW,EACX,GAAkB,EAClB,YAA4B,GAC7B,EAAE,iBAAiB,qBA0BnB;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Skeleton.js","names":["React","_interopRequireWildcard","require","_cx","_jsxRuntime","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","Skeleton","_ref","_ref$width","width","_ref$height","height","_ref$radius","radius","style","className","jsx","cx","display","borderRadius","SkeletonKPI","jsxs","padding","background","border","children","marginBottom","SkeletonRow","_ref2","_ref2$cols","cols","_ref2$withCheckbox","withCheckbox","_ref2$withActions","withActions","widths","borderBottom","Array","from","_","w","SkeletonDetailHero","gap","paddingTop","borderTop","map","flex","SkeletonTabContent","_ref3","_ref3$rows","rows","_ref3$loadingLabel","loadingLabel","flexDirection","alignItems","concat","SKELETON_TEXT_DEFAULT_WIDTHS","SkeletonText","_ref4","_ref4$lines","lines","_ref4$height","_ref4$gap","_ref4$loadingLabel","safeLines","Math","max","floor","pattern","isArray","raw","_default","exports"],"sources":["../../../src/lib/v2/components/Skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cx } from \"../utils/cx\";\r\n\r\n/**\r\n * Skeleton - Portnet UI v2\r\n *\r\n * Charter §03 / §04.2.\r\n * R-Sk.1 - Affiché si chargement > 200 ms ; sinon ne rien afficher.\r\n * R-Sk.2 - Forme et nombre miment le contenu réel.\r\n * R-Sk.3 - aria-busy sur container, contenu skeleton aria-hidden.\r\n * R-Sk.4 - Animation supprimée si prefers-reduced-motion (handled in base.css).\r\n *\r\n * Primitive:\r\n * <Skeleton width=\"60%\" height={14} />\r\n *\r\n * Named compositions:\r\n * <SkeletonRow cols={6} />\r\n * <SkeletonKPI />\r\n * <SkeletonDetailHero />\r\n * <SkeletonTabContent rows={4} />\r\n * <SkeletonText lines={5} />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * SkeletonTabContent and SkeletonText surface a textual aria-busy\r\n * region; pass `loadingLabel` to localise. The other compositions\r\n * are aria-hidden placeholders that don't carry localisable strings.\r\n */\r\n\r\nexport interface SkeletonProps {\r\n width?: string | number;\r\n height?: string | number;\r\n radius?: number;\r\n style?: React.CSSProperties;\r\n className?: string;\r\n}\r\n\r\nexport function Skeleton({ width = \"100%\", height = 14, radius = 6, style, className }: SkeletonProps) {\r\n return (\r\n <span\r\n className={cx(\"pui-skeleton\", className)}\r\n style={{\r\n display: \"block\",\r\n width,\r\n height,\r\n borderRadius: radius,\r\n ...style,\r\n }}\r\n aria-hidden=\"true\"\r\n />\r\n );\r\n}\r\n\r\nexport function SkeletonKPI() {\r\n return (\r\n <div\r\n aria-hidden=\"true\"\r\n style={{\r\n padding: \"var(--s-4) var(--s-5)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n }}\r\n >\r\n <Skeleton width=\"55%\" height={11} style={{ marginBottom: \"var(--s-3)\" }} />\r\n <Skeleton width=\"38%\" height={28} style={{ marginBottom: \"var(--s-2)\" }} />\r\n <Skeleton width=\"72%\" height={11} />\r\n </div>\r\n );\r\n}\r\n\r\nexport interface SkeletonRowProps {\r\n cols?: number;\r\n withCheckbox?: boolean;\r\n withActions?: boolean;\r\n}\r\n\r\nexport function SkeletonRow({ cols = 8, withCheckbox = true, withActions = true }: SkeletonRowProps) {\r\n const widths = [\"28%\", \"16%\", \"9%\", \"12%\", \"14%\", \"20%\", \"12%\", \"10%\"];\r\n return (\r\n <tr aria-hidden=\"true\" style={{ borderBottom: \"1px solid var(--border)\" }}>\r\n {withCheckbox && (\r\n <td style={{ padding: \"var(--s-3) var(--s-4)\" }}>\r\n <Skeleton width={16} height={16} radius={4} />\r\n </td>\r\n )}\r\n {Array.from({ length: cols }, (_, i) => {\r\n const w = widths[i % widths.length];\r\n return (\r\n <td key={i} style={{ padding: \"var(--s-3) var(--s-4)\" }}>\r\n <Skeleton height={13} {...(w !== undefined ? { width: w } : {})} />\r\n </td>\r\n );\r\n })}\r\n {withActions && <td />}\r\n </tr>\r\n );\r\n}\r\n\r\nexport function SkeletonDetailHero() {\r\n return (\r\n <div\r\n aria-hidden=\"true\"\r\n style={{\r\n padding: \"var(--s-5) var(--s-6)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n marginBottom: \"var(--s-4)\",\r\n }}\r\n >\r\n <Skeleton width=\"38%\" height={22} style={{ marginBottom: \"var(--s-2)\" }} />\r\n <Skeleton width=\"55%\" height={11} style={{ marginBottom: \"var(--s-4)\" }} />\r\n <div style={{ display: \"flex\", gap: \"var(--s-6)\", paddingTop: \"var(--s-4)\", borderTop: \"1px solid var(--border)\" }}>\r\n {[1, 2, 3].map((i) => (\r\n <div key={i} style={{ flex: 1 }}>\r\n <Skeleton width=\"60%\" height={10} style={{ marginBottom: \"var(--s-2)\" }} />\r\n <Skeleton width=\"80%\" height={16} />\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport interface SkeletonTabContentProps {\r\n rows?: number;\r\n loadingLabel?: string;\r\n}\r\n\r\nexport function SkeletonTabContent({ rows = 4, loadingLabel = \"Chargement du contenu…\" }: SkeletonTabContentProps) {\r\n return (\r\n <div\r\n aria-busy=\"true\"\r\n aria-label={loadingLabel}\r\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"var(--s-3)\", padding: \"var(--s-2) 0\" }}\r\n >\r\n <Skeleton width=\"40%\" height={18} style={{ marginBottom: \"var(--s-1)\" }} />\r\n {Array.from({ length: rows }, (_, i) => (\r\n <div key={i} style={{ display: \"flex\", gap: \"var(--s-3)\", alignItems: \"center\" }}>\r\n <Skeleton width={`${60 + (i % 3) * 12}%`} height={13} />\r\n <Skeleton width=\"15%\" height={13} />\r\n <Skeleton width=\"10%\" height={13} />\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * SkeletonText — 5-line shimmer for narrow contexts (drawer body,\r\n * sub-skeleton inside a tab, narrow-column placeholder). Targets the\r\n * gap between SkeletonRow (table cells) and SkeletonDetailHero (full\r\n * page surface).\r\n *\r\n * API:\r\n * <SkeletonText lines={5} /> // varied widths\r\n * <SkeletonText lines={4} widths={[80, 60, 90, 50]} /> // explicit\r\n * <SkeletonText lines={5} height={16} loadingLabel=\"…\" />\r\n *\r\n * `widths` accepts numbers (treated as percentages) or strings\r\n * (passed through to the Skeleton primitive width prop).\r\n * If `widths` is shorter than `lines`, it cycles.\r\n *\r\n * Like SkeletonTabContent, this carries the labelled aria-busy\r\n * region — it's typically used as a standalone loading surface, not\r\n * as a sub-element of a larger Skeleton composition.\r\n */\r\nconst SKELETON_TEXT_DEFAULT_WIDTHS = [80, 60, 90, 70, 50];\r\n\r\nexport interface SkeletonTextProps {\r\n lines?: number;\r\n widths?: Array<string | number>;\r\n height?: string | number;\r\n gap?: string;\r\n loadingLabel?: string;\r\n}\r\n\r\nexport function SkeletonText({\r\n lines = 3,\r\n widths,\r\n height = 14,\r\n gap = \"var(--s-3)\",\r\n loadingLabel = \"Chargement…\",\r\n}: SkeletonTextProps) {\r\n const safeLines = Math.max(1, Math.floor(lines));\r\n const pattern =\r\n Array.isArray(widths) && widths.length > 0\r\n ? widths\r\n : SKELETON_TEXT_DEFAULT_WIDTHS;\r\n\r\n return (\r\n <div\r\n aria-busy=\"true\"\r\n aria-label={loadingLabel}\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap,\r\n }}\r\n >\r\n {Array.from({ length: safeLines }, (_, i) => {\r\n const raw = pattern[i % pattern.length];\r\n const w = typeof raw === \"number\" ? `${raw}%` : raw;\r\n return (\r\n <Skeleton key={i} {...(w !== undefined ? { width: w } : {})} height={height} radius={4} />\r\n );\r\n })}\r\n </div>\r\n );\r\n}\r\n\r\nexport default Skeleton;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Skeleton.js","names":["React","_interopRequireWildcard","require","_cx","_jsxRuntime","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","Skeleton","_ref","_ref$width","width","_ref$height","height","_ref$radius","radius","style","className","jsx","cx","display","borderRadius","SkeletonKPI","jsxs","padding","background","border","children","marginBottom","SkeletonRow","_ref2","_ref2$cols","cols","_ref2$withCheckbox","withCheckbox","_ref2$withActions","withActions","widths","borderBottom","Array","from","_","w","SkeletonDetailHero","gap","paddingTop","borderTop","map","flex","SkeletonTabContent","_ref3","_ref3$rows","rows","_ref3$loadingLabel","loadingLabel","flexDirection","alignItems","concat","SKELETON_TEXT_DEFAULT_WIDTHS","SkeletonText","_ref4","_ref4$lines","lines","_ref4$height","_ref4$gap","_ref4$loadingLabel","safeLines","Math","max","floor","pattern","isArray","raw","_default","exports"],"sources":["../../../src/lib/v2/components/Skeleton.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { cx } from \"../utils/cx\";\r\n\r\n/**\r\n * Skeleton - Portnet UI v2\r\n *\r\n * Charter §03 / §04.2.\r\n * R-Sk.1 - Affiché si chargement > 200 ms ; sinon ne rien afficher.\r\n * R-Sk.2 - Forme et nombre miment le contenu réel.\r\n * R-Sk.3 - aria-busy sur container, contenu skeleton aria-hidden.\r\n * R-Sk.4 - Animation supprimée si prefers-reduced-motion (handled in base.css).\r\n *\r\n * Primitive:\r\n * <Skeleton width=\"60%\" height={14} />\r\n *\r\n * Named compositions:\r\n * <SkeletonRow cols={6} />\r\n * <SkeletonKPI />\r\n * <SkeletonDetailHero />\r\n * <SkeletonTabContent rows={4} />\r\n * <SkeletonText lines={5} />\r\n *\r\n * Localisation (FR / EN / AR):\r\n * SkeletonTabContent and SkeletonText surface a textual aria-busy\r\n * region; pass `loadingLabel` to localise. The other compositions\r\n * are aria-hidden placeholders that don't carry localisable strings.\r\n */\r\n\r\nexport interface SkeletonProps {\r\n width?: string | number | undefined;\r\n height?: string | number | undefined;\r\n radius?: number | undefined;\r\n style?: React.CSSProperties | undefined;\r\n className?: string | undefined;\r\n}\r\n\r\nexport function Skeleton({ width = \"100%\", height = 14, radius = 6, style, className }: SkeletonProps) {\r\n return (\r\n <span\r\n className={cx(\"pui-skeleton\", className)}\r\n style={{\r\n display: \"block\",\r\n width,\r\n height,\r\n borderRadius: radius,\r\n ...style,\r\n }}\r\n aria-hidden=\"true\"\r\n />\r\n );\r\n}\r\n\r\nexport function SkeletonKPI() {\r\n return (\r\n <div\r\n aria-hidden=\"true\"\r\n style={{\r\n padding: \"var(--s-4) var(--s-5)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n }}\r\n >\r\n <Skeleton width=\"55%\" height={11} style={{ marginBottom: \"var(--s-3)\" }} />\r\n <Skeleton width=\"38%\" height={28} style={{ marginBottom: \"var(--s-2)\" }} />\r\n <Skeleton width=\"72%\" height={11} />\r\n </div>\r\n );\r\n}\r\n\r\nexport interface SkeletonRowProps {\r\n cols?: number | undefined;\r\n withCheckbox?: boolean | undefined;\r\n withActions?: boolean | undefined;\r\n}\r\n\r\nexport function SkeletonRow({ cols = 8, withCheckbox = true, withActions = true }: SkeletonRowProps) {\r\n const widths = [\"28%\", \"16%\", \"9%\", \"12%\", \"14%\", \"20%\", \"12%\", \"10%\"];\r\n return (\r\n <tr aria-hidden=\"true\" style={{ borderBottom: \"1px solid var(--border)\" }}>\r\n {withCheckbox && (\r\n <td style={{ padding: \"var(--s-3) var(--s-4)\" }}>\r\n <Skeleton width={16} height={16} radius={4} />\r\n </td>\r\n )}\r\n {Array.from({ length: cols }, (_, i) => {\r\n const w = widths[i % widths.length];\r\n return (\r\n <td key={i} style={{ padding: \"var(--s-3) var(--s-4)\" }}>\r\n <Skeleton height={13} {...(w !== undefined ? { width: w } : {})} />\r\n </td>\r\n );\r\n })}\r\n {withActions && <td />}\r\n </tr>\r\n );\r\n}\r\n\r\nexport function SkeletonDetailHero() {\r\n return (\r\n <div\r\n aria-hidden=\"true\"\r\n style={{\r\n padding: \"var(--s-5) var(--s-6)\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n marginBottom: \"var(--s-4)\",\r\n }}\r\n >\r\n <Skeleton width=\"38%\" height={22} style={{ marginBottom: \"var(--s-2)\" }} />\r\n <Skeleton width=\"55%\" height={11} style={{ marginBottom: \"var(--s-4)\" }} />\r\n <div style={{ display: \"flex\", gap: \"var(--s-6)\", paddingTop: \"var(--s-4)\", borderTop: \"1px solid var(--border)\" }}>\r\n {[1, 2, 3].map((i) => (\r\n <div key={i} style={{ flex: 1 }}>\r\n <Skeleton width=\"60%\" height={10} style={{ marginBottom: \"var(--s-2)\" }} />\r\n <Skeleton width=\"80%\" height={16} />\r\n </div>\r\n ))}\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport interface SkeletonTabContentProps {\r\n rows?: number | undefined;\r\n loadingLabel?: string | undefined;\r\n}\r\n\r\nexport function SkeletonTabContent({ rows = 4, loadingLabel = \"Chargement du contenu…\" }: SkeletonTabContentProps) {\r\n return (\r\n <div\r\n aria-busy=\"true\"\r\n aria-label={loadingLabel}\r\n style={{ display: \"flex\", flexDirection: \"column\", gap: \"var(--s-3)\", padding: \"var(--s-2) 0\" }}\r\n >\r\n <Skeleton width=\"40%\" height={18} style={{ marginBottom: \"var(--s-1)\" }} />\r\n {Array.from({ length: rows }, (_, i) => (\r\n <div key={i} style={{ display: \"flex\", gap: \"var(--s-3)\", alignItems: \"center\" }}>\r\n <Skeleton width={`${60 + (i % 3) * 12}%`} height={13} />\r\n <Skeleton width=\"15%\" height={13} />\r\n <Skeleton width=\"10%\" height={13} />\r\n </div>\r\n ))}\r\n </div>\r\n );\r\n}\r\n\r\n/**\r\n * SkeletonText — 5-line shimmer for narrow contexts (drawer body,\r\n * sub-skeleton inside a tab, narrow-column placeholder). Targets the\r\n * gap between SkeletonRow (table cells) and SkeletonDetailHero (full\r\n * page surface).\r\n *\r\n * API:\r\n * <SkeletonText lines={5} /> // varied widths\r\n * <SkeletonText lines={4} widths={[80, 60, 90, 50]} /> // explicit\r\n * <SkeletonText lines={5} height={16} loadingLabel=\"…\" />\r\n *\r\n * `widths` accepts numbers (treated as percentages) or strings\r\n * (passed through to the Skeleton primitive width prop).\r\n * If `widths` is shorter than `lines`, it cycles.\r\n *\r\n * Like SkeletonTabContent, this carries the labelled aria-busy\r\n * region — it's typically used as a standalone loading surface, not\r\n * as a sub-element of a larger Skeleton composition.\r\n */\r\nconst SKELETON_TEXT_DEFAULT_WIDTHS = [80, 60, 90, 70, 50];\r\n\r\nexport interface SkeletonTextProps {\r\n lines?: number | undefined;\r\n widths?: Array<string | number> | undefined;\r\n height?: string | number | undefined;\r\n gap?: string | undefined;\r\n loadingLabel?: string | undefined;\r\n}\r\n\r\nexport function SkeletonText({\r\n lines = 3,\r\n widths,\r\n height = 14,\r\n gap = \"var(--s-3)\",\r\n loadingLabel = \"Chargement…\",\r\n}: SkeletonTextProps) {\r\n const safeLines = Math.max(1, Math.floor(lines));\r\n const pattern =\r\n Array.isArray(widths) && widths.length > 0\r\n ? widths\r\n : SKELETON_TEXT_DEFAULT_WIDTHS;\r\n\r\n return (\r\n <div\r\n aria-busy=\"true\"\r\n aria-label={loadingLabel}\r\n style={{\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap,\r\n }}\r\n >\r\n {Array.from({ length: safeLines }, (_, i) => {\r\n const raw = pattern[i % pattern.length];\r\n const w = typeof raw === \"number\" ? `${raw}%` : raw;\r\n return (\r\n <Skeleton key={i} {...(w !== undefined ? { width: w } : {})} height={height} radius={4} />\r\n );\r\n })}\r\n </div>\r\n );\r\n}\r\n\r\nexport default Skeleton;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -22,8 +22,8 @@ import * as React from "react";
|
|
|
22
22
|
* preserved (no preventDefault).
|
|
23
23
|
*/
|
|
24
24
|
export interface SkipLinkProps {
|
|
25
|
-
href?: string;
|
|
26
|
-
label?: React.ReactNode;
|
|
25
|
+
href?: string | undefined;
|
|
26
|
+
label?: React.ReactNode | undefined;
|
|
27
27
|
}
|
|
28
28
|
declare function SkipLink({ href, label }: SkipLinkProps): React.JSX.Element;
|
|
29
29
|
export default SkipLink;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkipLink.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/SkipLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"SkipLink.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/SkipLink.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,MAAM,WAAW,aAAa;IAC5B,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;CACrC;AAED,iBAAS,QAAQ,CAAC,EAAE,IAAsB,EAAE,KAAoC,EAAE,EAAE,aAAa,qBAiBhG;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SkipLink.js","names":["React","_interopRequireWildcard","require","_jsxRuntime","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SkipLink","_ref","_ref$href","href","_ref$label","label","handleClick","useCallback","document","startsWith","target","getElementById","slice","hasAttribute","setAttribute","focus","jsx","className","onClick","children","_default","exports"],"sources":["../../../src/lib/v2/components/SkipLink.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\n/**\r\n * SkipLink — Portnet UI v2\r\n *\r\n * WCAG 2.4.1 · Charter R-N.6.\r\n * Mount as the FIRST focusable element of the AppShell.\r\n *\r\n * <SkipLink href=\"#main-content\" />\r\n * …\r\n * <main id=\"main-content\">\r\n *\r\n * Visible-on-focus is handled by the `.pui-skip-link` class (base.css):\r\n * clipped off-screen but kept in the tab order, revealed on :focus /\r\n * :focus-visible.\r\n *\r\n * Focus movement (SL-1): a bare in-page anchor scrolls to the target and sets\r\n * the sequential-focus starting point in Chrome/Firefox/Edge, but Safari does\r\n * not move focus INTO the target unless it is focusable — so the next Tab may\r\n * not continue from the main region there. On activation we additionally focus\r\n * the target, adding tabIndex=-1 if the host didn't, so keyboard + screen-reader\r\n * users land in the region. The default anchor behaviour (scroll + hash) is\r\n * preserved (no preventDefault).\r\n */\r\n\r\nexport interface SkipLinkProps {\r\n href?: string;\r\n label?: React.ReactNode;\r\n}\r\n\r\nfunction SkipLink({ href = \"#main-content\", label = \"Aller au contenu principal\" }: SkipLinkProps) {\r\n const handleClick = React.useCallback(() => {\r\n if (typeof document === \"undefined\" || !href.startsWith(\"#\")) return;\r\n const target = document.getElementById(href.slice(1));\r\n if (!target) return;\r\n // Bare in-page anchors don't reliably move focus into the target across\r\n // browsers; make it programmatically focusable (without joining the tab\r\n // order) and focus it. Default scroll + hash update are left intact.\r\n if (!target.hasAttribute(\"tabindex\")) target.setAttribute(\"tabindex\", \"-1\");\r\n target.focus();\r\n }, [href]);\r\n\r\n return (\r\n <a className=\"pui-skip-link\" href={href} onClick={handleClick}>\r\n {label}\r\n </a>\r\n );\r\n}\r\n\r\nexport default SkipLink;\r\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,SAASW,QAAQA,CAAAC,IAAA,EAAkF;EAAA,IAAAC,SAAA,GAAAD,IAAA,CAA/EE,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,eAAe,GAAAA,SAAA;IAAAE,UAAA,GAAAH,IAAA,CAAEI,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,4BAA4B,GAAAA,UAAA;EAC9E,IAAME,WAAW,GAAGhC,KAAK,CAACiC,WAAW,CAAC,YAAM;IAC1C,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACL,IAAI,CAACM,UAAU,CAAC,GAAG,CAAC,EAAE;IAC9D,IAAMC,MAAM,GAAGF,QAAQ,CAACG,cAAc,CAACR,IAAI,CAACS,KAAK,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAACF,MAAM,EAAE;IACb;IACA;IACA;IACA,IAAI,CAACA,MAAM,CAACG,YAAY,CAAC,UAAU,CAAC,EAAEH,MAAM,CAACI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;IAC3EJ,MAAM,CAACK,KAAK,CAAC,CAAC;EAChB,CAAC,EAAE,CAACZ,IAAI,CAAC,CAAC;EAEV,oBACE,IAAA1B,WAAA,CAAAuC,GAAA;IAAGC,SAAS,EAAC,eAAe;IAACd,IAAI,EAAEA,IAAK;IAACe,OAAO,EAAEZ,WAAY;IAAAa,QAAA,EAC3Dd;EAAK,CACL,CAAC;AAER;AAAC,IAAAe,QAAA,GAAAC,OAAA,cAEcrB,QAAQ","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SkipLink.js","names":["React","_interopRequireWildcard","require","_jsxRuntime","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","SkipLink","_ref","_ref$href","href","_ref$label","label","handleClick","useCallback","document","startsWith","target","getElementById","slice","hasAttribute","setAttribute","focus","jsx","className","onClick","children","_default","exports"],"sources":["../../../src/lib/v2/components/SkipLink.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\n/**\r\n * SkipLink — Portnet UI v2\r\n *\r\n * WCAG 2.4.1 · Charter R-N.6.\r\n * Mount as the FIRST focusable element of the AppShell.\r\n *\r\n * <SkipLink href=\"#main-content\" />\r\n * …\r\n * <main id=\"main-content\">\r\n *\r\n * Visible-on-focus is handled by the `.pui-skip-link` class (base.css):\r\n * clipped off-screen but kept in the tab order, revealed on :focus /\r\n * :focus-visible.\r\n *\r\n * Focus movement (SL-1): a bare in-page anchor scrolls to the target and sets\r\n * the sequential-focus starting point in Chrome/Firefox/Edge, but Safari does\r\n * not move focus INTO the target unless it is focusable — so the next Tab may\r\n * not continue from the main region there. On activation we additionally focus\r\n * the target, adding tabIndex=-1 if the host didn't, so keyboard + screen-reader\r\n * users land in the region. The default anchor behaviour (scroll + hash) is\r\n * preserved (no preventDefault).\r\n */\r\n\r\nexport interface SkipLinkProps {\r\n href?: string | undefined;\r\n label?: React.ReactNode | undefined;\r\n}\r\n\r\nfunction SkipLink({ href = \"#main-content\", label = \"Aller au contenu principal\" }: SkipLinkProps) {\r\n const handleClick = React.useCallback(() => {\r\n if (typeof document === \"undefined\" || !href.startsWith(\"#\")) return;\r\n const target = document.getElementById(href.slice(1));\r\n if (!target) return;\r\n // Bare in-page anchors don't reliably move focus into the target across\r\n // browsers; make it programmatically focusable (without joining the tab\r\n // order) and focus it. Default scroll + hash update are left intact.\r\n if (!target.hasAttribute(\"tabindex\")) target.setAttribute(\"tabindex\", \"-1\");\r\n target.focus();\r\n }, [href]);\r\n\r\n return (\r\n <a className=\"pui-skip-link\" href={href} onClick={handleClick}>\r\n {label}\r\n </a>\r\n );\r\n}\r\n\r\nexport default SkipLink;\r\n"],"mappings":";;;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AAA+B,IAAAC,WAAA,GAAAD,OAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAJ,wBAAAQ,GAAA,EAAAJ,WAAA,SAAAA,WAAA,IAAAI,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAE,OAAA,CAAAF,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAG,KAAA,GAAAR,wBAAA,CAAAC,WAAA,OAAAO,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAJ,GAAA,YAAAG,KAAA,CAAAE,GAAA,CAAAL,GAAA,SAAAM,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAX,GAAA,QAAAW,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAd,GAAA,EAAAW,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAV,GAAA,EAAAW,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAX,GAAA,CAAAW,GAAA,SAAAL,MAAA,cAAAN,GAAA,MAAAG,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAAhB,GAAA,EAAAM,MAAA,YAAAA,MAAA;AAE/B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAOA,SAASW,QAAQA,CAAAC,IAAA,EAAkF;EAAA,IAAAC,SAAA,GAAAD,IAAA,CAA/EE,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,eAAe,GAAAA,SAAA;IAAAE,UAAA,GAAAH,IAAA,CAAEI,KAAK;IAALA,KAAK,GAAAD,UAAA,cAAG,4BAA4B,GAAAA,UAAA;EAC9E,IAAME,WAAW,GAAGhC,KAAK,CAACiC,WAAW,CAAC,YAAM;IAC1C,IAAI,OAAOC,QAAQ,KAAK,WAAW,IAAI,CAACL,IAAI,CAACM,UAAU,CAAC,GAAG,CAAC,EAAE;IAC9D,IAAMC,MAAM,GAAGF,QAAQ,CAACG,cAAc,CAACR,IAAI,CAACS,KAAK,CAAC,CAAC,CAAC,CAAC;IACrD,IAAI,CAACF,MAAM,EAAE;IACb;IACA;IACA;IACA,IAAI,CAACA,MAAM,CAACG,YAAY,CAAC,UAAU,CAAC,EAAEH,MAAM,CAACI,YAAY,CAAC,UAAU,EAAE,IAAI,CAAC;IAC3EJ,MAAM,CAACK,KAAK,CAAC,CAAC;EAChB,CAAC,EAAE,CAACZ,IAAI,CAAC,CAAC;EAEV,oBACE,IAAA1B,WAAA,CAAAuC,GAAA;IAAGC,SAAS,EAAC,eAAe;IAACd,IAAI,EAAEA,IAAK;IAACe,OAAO,EAAEZ,WAAY;IAAAa,QAAA,EAC3Dd;EAAK,CACL,CAAC;AAER;AAAC,IAAAe,QAAA,GAAAC,OAAA,cAEcrB,QAAQ","ignoreList":[]}
|
|
@@ -33,9 +33,9 @@ import { STATUS_LABELS_FR } from "../tokens/statusPalette";
|
|
|
33
33
|
*/
|
|
34
34
|
export type StatusKind = keyof typeof STATUS_LABELS_FR;
|
|
35
35
|
export interface StatusProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
36
|
-
kind?: StatusKind;
|
|
37
|
-
label?: React.ReactNode;
|
|
38
|
-
labels?: Partial<Record<StatusKind, React.ReactNode
|
|
36
|
+
kind?: StatusKind | undefined;
|
|
37
|
+
label?: React.ReactNode | undefined;
|
|
38
|
+
labels?: Partial<Record<StatusKind, React.ReactNode>> | undefined;
|
|
39
39
|
}
|
|
40
40
|
declare function Status({ kind, label, labels, className, ...rest }: StatusProps): React.JSX.Element;
|
|
41
41
|
export default Status;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Status.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Status.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAe,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEvD,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACxE,IAAI,CAAC,EAAE,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"Status.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Status.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,EAAe,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAExE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AAEH,MAAM,MAAM,UAAU,GAAG,MAAM,OAAO,gBAAgB,CAAC;AAEvD,MAAM,WAAW,WAAY,SAAQ,KAAK,CAAC,cAAc,CAAC,eAAe,CAAC;IACxE,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,MAAM,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,GAAG,SAAS,CAAC;CACnE;AAED,iBAAS,MAAM,CAAC,EAAE,IAAgB,EAAE,KAAK,EAAE,MAAM,EAAE,SAAc,EAAE,GAAG,IAAI,EAAE,EAAE,WAAW,qBAexF;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Status.js","names":["React","_interopRequireWildcard","require","_statusPalette","_jsxRuntime","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Status","_ref","_ref2","_ref$kind","kind","label","labels","_ref$className","className","rest","safe","STATUS_KEYS","includes","text","STATUS_LABELS_FR","jsx","concat","trim","children","_default","exports"],"sources":["../../../src/lib/v2/components/Status.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { STATUS_KEYS, STATUS_LABELS_FR } from \"../tokens/statusPalette\";\r\n\r\n/**\r\n * Status - Portnet UI v2\r\n *\r\n * Charter §02.1 — workflow status chip. Six and only six kinds.\r\n * Any other business status MUST map onto one of these.\r\n *\r\n * <Status kind=\"approved\" /> // → \"Approuvé\" (FR fallback)\r\n * <Status kind=\"pending\" label=\"Custom\" /> // explicit override (single)\r\n * <Status kind=\"approved\"\r\n * labels={{ approved: t(\"status.approved\"),\r\n * rejected: t(\"status.rejected\"), ... }} />\r\n *\r\n * Label resolution (highest priority first)\r\n * 1. `label` prop — single explicit override.\r\n * 2. `labels[kind]` — i18n map provided by the host.\r\n * 3. STATUS_LABELS_FR[kind] — legacy FR fallback.\r\n *\r\n * A11y note (R-Ar.1, R-Ar.3):\r\n * This component renders a plain inline <span>. It does NOT carry\r\n * role=\"status\" / aria-live — those are reserved for status MESSAGES\r\n * (toasts, banners). A status pill is a styled label; promoting it\r\n * to a live region causes SRs to announce every chip on mount and on\r\n * each re-render (e.g., on every DataGrid pagination tick).\r\n *\r\n * When the chip's *value* changes (e.g., a workflow transition just\r\n * succeeded), it is the host's responsibility to surface that change\r\n * via the canonical feedback channel — toast (R-A.1) or row flash\r\n * (.pui-row-updated) — NOT by mutating the chip alone.\r\n *\r\n * Forbidden: ad-hoc colours. Use Chip for filter pills, not Status.\r\n */\r\n\r\nexport type StatusKind = keyof typeof STATUS_LABELS_FR;\r\n\r\nexport interface StatusProps extends React.HTMLAttributes<HTMLSpanElement> {\r\n kind?: StatusKind;\r\n label?: React.ReactNode;\r\n labels?: Partial<Record<StatusKind, React.ReactNode
|
|
1
|
+
{"version":3,"file":"Status.js","names":["React","_interopRequireWildcard","require","_statusPalette","_jsxRuntime","_excluded","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","Status","_ref","_ref2","_ref$kind","kind","label","labels","_ref$className","className","rest","safe","STATUS_KEYS","includes","text","STATUS_LABELS_FR","jsx","concat","trim","children","_default","exports"],"sources":["../../../src/lib/v2/components/Status.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { STATUS_KEYS, STATUS_LABELS_FR } from \"../tokens/statusPalette\";\r\n\r\n/**\r\n * Status - Portnet UI v2\r\n *\r\n * Charter §02.1 — workflow status chip. Six and only six kinds.\r\n * Any other business status MUST map onto one of these.\r\n *\r\n * <Status kind=\"approved\" /> // → \"Approuvé\" (FR fallback)\r\n * <Status kind=\"pending\" label=\"Custom\" /> // explicit override (single)\r\n * <Status kind=\"approved\"\r\n * labels={{ approved: t(\"status.approved\"),\r\n * rejected: t(\"status.rejected\"), ... }} />\r\n *\r\n * Label resolution (highest priority first)\r\n * 1. `label` prop — single explicit override.\r\n * 2. `labels[kind]` — i18n map provided by the host.\r\n * 3. STATUS_LABELS_FR[kind] — legacy FR fallback.\r\n *\r\n * A11y note (R-Ar.1, R-Ar.3):\r\n * This component renders a plain inline <span>. It does NOT carry\r\n * role=\"status\" / aria-live — those are reserved for status MESSAGES\r\n * (toasts, banners). A status pill is a styled label; promoting it\r\n * to a live region causes SRs to announce every chip on mount and on\r\n * each re-render (e.g., on every DataGrid pagination tick).\r\n *\r\n * When the chip's *value* changes (e.g., a workflow transition just\r\n * succeeded), it is the host's responsibility to surface that change\r\n * via the canonical feedback channel — toast (R-A.1) or row flash\r\n * (.pui-row-updated) — NOT by mutating the chip alone.\r\n *\r\n * Forbidden: ad-hoc colours. Use Chip for filter pills, not Status.\r\n */\r\n\r\nexport type StatusKind = keyof typeof STATUS_LABELS_FR;\r\n\r\nexport interface StatusProps extends React.HTMLAttributes<HTMLSpanElement> {\r\n kind?: StatusKind | undefined;\r\n label?: React.ReactNode | undefined;\r\n labels?: Partial<Record<StatusKind, React.ReactNode>> | undefined;\r\n}\r\n\r\nfunction Status({ kind = \"neutral\", label, labels, className = \"\", ...rest }: StatusProps) {\r\n const safe = STATUS_KEYS.includes(kind) ? kind : \"neutral\";\r\n const text =\r\n label\r\n ?? (labels && labels[safe])\r\n ?? STATUS_LABELS_FR[safe];\r\n return (\r\n <span\r\n className={`pui-status ${className}`.trim()}\r\n data-kind={safe}\r\n {...rest}\r\n >\r\n {text}\r\n </span>\r\n );\r\n}\r\n\r\nexport default Status;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -70,14 +70,14 @@ import * as React from "react";
|
|
|
70
70
|
export type StepState = "complete" | "active" | "pending" | "disabled";
|
|
71
71
|
export type StepStatus = "current" | "active" | "completed" | "complete" | "pending" | "disabled";
|
|
72
72
|
export interface HStepperRichStep {
|
|
73
|
-
id?: string | number;
|
|
74
|
-
label?: React.ReactNode;
|
|
75
|
-
status?: StepStatus;
|
|
73
|
+
id?: string | number | undefined;
|
|
74
|
+
label?: React.ReactNode | undefined;
|
|
75
|
+
status?: StepStatus | undefined;
|
|
76
76
|
}
|
|
77
77
|
export type HStepperStep = React.ReactNode | HStepperRichStep;
|
|
78
78
|
export interface HStepperLabels {
|
|
79
|
-
nav?: string;
|
|
80
|
-
item?: (n: number, label: React.ReactNode, state: StepState) => string;
|
|
79
|
+
nav?: string | undefined;
|
|
80
|
+
item?: ((n: number, label: React.ReactNode, state: StepState) => string) | undefined;
|
|
81
81
|
}
|
|
82
82
|
export interface HStepperProps {
|
|
83
83
|
/**
|
|
@@ -87,35 +87,41 @@ export interface HStepperProps {
|
|
|
87
87
|
*/
|
|
88
88
|
steps: HStepperStep[];
|
|
89
89
|
/** Legacy: index of the active step. Ignored when `steps` are rich objects. */
|
|
90
|
-
current?: number;
|
|
90
|
+
current?: number | undefined;
|
|
91
91
|
/** Click handler. Receives the step index. */
|
|
92
|
-
onJump?: (index: number) => void;
|
|
92
|
+
onJump?: ((index: number) => void) | undefined;
|
|
93
93
|
/** Alias of `onJump` (some host modules used this name). */
|
|
94
|
-
onStepClick?: (index: number) => void;
|
|
94
|
+
onStepClick?: ((index: number) => void) | undefined;
|
|
95
95
|
/** Shortcut for `labels.nav`. */
|
|
96
|
-
ariaLabel?: string;
|
|
96
|
+
ariaLabel?: string | undefined;
|
|
97
97
|
/** Full i18n override; see file header. */
|
|
98
|
-
labels?: HStepperLabels;
|
|
98
|
+
labels?: HStepperLabels | undefined;
|
|
99
99
|
}
|
|
100
100
|
export declare function HStepper({ steps, current, onJump, onStepClick, ariaLabel, labels, }: HStepperProps): React.JSX.Element;
|
|
101
101
|
export interface VStepperItem {
|
|
102
|
-
state?: StepState;
|
|
103
|
-
status?: StepStatus;
|
|
104
|
-
title?: React.ReactNode;
|
|
105
|
-
label?: React.ReactNode;
|
|
106
|
-
meta?: React.ReactNode;
|
|
107
|
-
timestamp?: React.ReactNode;
|
|
108
|
-
actor?: React.ReactNode;
|
|
102
|
+
state?: StepState | undefined;
|
|
103
|
+
status?: StepStatus | undefined;
|
|
104
|
+
title?: React.ReactNode | undefined;
|
|
105
|
+
label?: React.ReactNode | undefined;
|
|
106
|
+
meta?: React.ReactNode | undefined;
|
|
107
|
+
timestamp?: React.ReactNode | undefined;
|
|
108
|
+
actor?: React.ReactNode | undefined;
|
|
109
109
|
}
|
|
110
110
|
export interface VStepperLabels {
|
|
111
|
-
nav?: string;
|
|
112
|
-
|
|
111
|
+
nav?: string | undefined;
|
|
112
|
+
/**
|
|
113
|
+
* SR-only sentence per step state. Widened from the three visible states to the
|
|
114
|
+
* full `StepState` union: `disabled` was unreachable for hosts even though
|
|
115
|
+
* VStepper accepts disabled items, so its text alternative could not be
|
|
116
|
+
* translated (WCAG 1.4.1 + R-Ar.3).
|
|
117
|
+
*/
|
|
118
|
+
state?: Partial<Record<StepState, string>> | undefined;
|
|
113
119
|
}
|
|
114
120
|
export interface VStepperProps {
|
|
115
121
|
items: VStepperItem[];
|
|
116
|
-
titleAs?: "h2" | "h3" | "h4" | "h5" | "h6" | "div" | "span" | "p";
|
|
117
|
-
ariaLabel?: string;
|
|
118
|
-
labels?: VStepperLabels;
|
|
122
|
+
titleAs?: "h2" | "h3" | "h4" | "h5" | "h6" | "div" | "span" | "p" | undefined;
|
|
123
|
+
ariaLabel?: string | undefined;
|
|
124
|
+
labels?: VStepperLabels | undefined;
|
|
119
125
|
}
|
|
120
126
|
/**
|
|
121
127
|
* VStepper - vertical historical / progression stepper.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Stepper.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"Stepper.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Stepper.tsx"],"names":[],"mappings":"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"}
|