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