@portnet/ui 6.0.0 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -0
- package/dist/esm/index.js +214 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +159 -0
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +143 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +265 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +248 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +380 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +332 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/esm/v2/__tests__/apiError.test.js +181 -0
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +146 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +230 -0
- package/dist/esm/v2/components/Accordion.js.map +1 -0
- package/dist/esm/v2/components/ActionStrip.js +146 -0
- package/dist/esm/v2/components/ActionStrip.js.map +1 -0
- package/dist/esm/v2/components/Banner.js +254 -0
- package/dist/esm/v2/components/Banner.js.map +1 -0
- package/dist/esm/v2/components/Busy.js +97 -0
- package/dist/esm/v2/components/Busy.js.map +1 -0
- package/dist/esm/v2/components/Button.js +114 -0
- package/dist/esm/v2/components/Button.js.map +1 -0
- package/dist/esm/v2/components/CategoryTag.js +81 -0
- package/dist/esm/v2/components/CategoryTag.js.map +1 -0
- package/dist/esm/v2/components/Checkbox.js +124 -0
- package/dist/esm/v2/components/Checkbox.js.map +1 -0
- package/dist/esm/v2/components/Chip.js +124 -0
- package/dist/esm/v2/components/Chip.js.map +1 -0
- package/dist/esm/v2/components/Combobox.js +394 -0
- package/dist/esm/v2/components/Combobox.js.map +1 -0
- package/dist/esm/v2/components/CommandPalette.js +660 -0
- package/dist/esm/v2/components/CommandPalette.js.map +1 -0
- package/dist/esm/v2/components/ConfirmDialog.js +144 -0
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/esm/v2/components/DatePicker.js +200 -0
- package/dist/esm/v2/components/DatePicker.js.map +1 -0
- package/dist/esm/v2/components/DateRangePicker.js +289 -0
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
- package/dist/esm/v2/components/DateTimePicker.js +215 -0
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
- package/dist/esm/v2/components/Drawer.js +333 -0
- package/dist/esm/v2/components/Drawer.js.map +1 -0
- package/dist/esm/v2/components/Dropzone.js +540 -0
- package/dist/esm/v2/components/Dropzone.js.map +1 -0
- package/dist/esm/v2/components/EmptyState.js +102 -0
- package/dist/esm/v2/components/EmptyState.js.map +1 -0
- package/dist/esm/v2/components/FavoriteToggle.js +127 -0
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/esm/v2/components/Field.js +259 -0
- package/dist/esm/v2/components/Field.js.map +1 -0
- package/dist/esm/v2/components/FieldError.js +124 -0
- package/dist/esm/v2/components/FieldError.js.map +1 -0
- package/dist/esm/v2/components/FieldHelp.js +202 -0
- package/dist/esm/v2/components/FieldHelp.js.map +1 -0
- package/dist/esm/v2/components/FileCard.js +162 -0
- package/dist/esm/v2/components/FileCard.js.map +1 -0
- package/dist/esm/v2/components/FilterTab.js +138 -0
- package/dist/esm/v2/components/FilterTab.js.map +1 -0
- package/dist/esm/v2/components/ForbiddenPage.js +74 -0
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/esm/v2/components/FormGrid.js +179 -0
- package/dist/esm/v2/components/FormGrid.js.map +1 -0
- package/dist/esm/v2/components/FormikDisplay.js +118 -0
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
- package/dist/esm/v2/components/Input.js +107 -0
- package/dist/esm/v2/components/Input.js.map +1 -0
- package/dist/esm/v2/components/KPICard.js +237 -0
- package/dist/esm/v2/components/KPICard.js.map +1 -0
- package/dist/esm/v2/components/KPIStrip.js +84 -0
- package/dist/esm/v2/components/KPIStrip.js.map +1 -0
- package/dist/esm/v2/components/KV.js +75 -0
- package/dist/esm/v2/components/KV.js.map +1 -0
- package/dist/esm/v2/components/KVGrid.js +74 -0
- package/dist/esm/v2/components/KVGrid.js.map +1 -0
- package/dist/esm/v2/components/Layout.js +284 -0
- package/dist/esm/v2/components/Layout.js.map +1 -0
- package/dist/esm/v2/components/MobileRowCard.js +314 -0
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
- package/dist/esm/v2/components/Modal.js +276 -0
- package/dist/esm/v2/components/Modal.js.map +1 -0
- package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/esm/v2/components/NotFoundPage.js +58 -0
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
- package/dist/esm/v2/components/NumberInput.js +309 -0
- package/dist/esm/v2/components/NumberInput.js.map +1 -0
- package/dist/esm/v2/components/OverflowMenu.js +184 -0
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
- package/dist/esm/v2/components/PdfViewer.js +122 -0
- package/dist/esm/v2/components/PdfViewer.js.map +1 -0
- package/dist/esm/v2/components/ProgressBar.js +202 -0
- package/dist/esm/v2/components/ProgressBar.js.map +1 -0
- package/dist/esm/v2/components/Radio.js +228 -0
- package/dist/esm/v2/components/Radio.js.map +1 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/esm/v2/components/SectionHeader.js +132 -0
- package/dist/esm/v2/components/SectionHeader.js.map +1 -0
- package/dist/esm/v2/components/Segmented.js +254 -0
- package/dist/esm/v2/components/Segmented.js.map +1 -0
- package/dist/esm/v2/components/Select.js +490 -0
- package/dist/esm/v2/components/Select.js.map +1 -0
- package/dist/esm/v2/components/ServerErrorPage.js +74 -0
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/esm/v2/components/Skeleton.js +269 -0
- package/dist/esm/v2/components/Skeleton.js.map +1 -0
- package/dist/esm/v2/components/SkipLink.js +49 -0
- package/dist/esm/v2/components/SkipLink.js.map +1 -0
- package/dist/esm/v2/components/Spinner.js +69 -0
- package/dist/esm/v2/components/Spinner.js.map +1 -0
- package/dist/esm/v2/components/Status.js +64 -0
- package/dist/esm/v2/components/Status.js.map +1 -0
- package/dist/esm/v2/components/Stepper.js +432 -0
- package/dist/esm/v2/components/Stepper.js.map +1 -0
- package/dist/esm/v2/components/Surface.js +159 -0
- package/dist/esm/v2/components/Surface.js.map +1 -0
- package/dist/esm/v2/components/Switch.js +128 -0
- package/dist/esm/v2/components/Switch.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +150 -0
- package/dist/esm/v2/components/Tabs.js.map +1 -0
- package/dist/esm/v2/components/TelInput.js +274 -0
- package/dist/esm/v2/components/TelInput.js.map +1 -0
- package/dist/esm/v2/components/Textarea.js +72 -0
- package/dist/esm/v2/components/Textarea.js.map +1 -0
- package/dist/esm/v2/components/TimePicker.js +134 -0
- package/dist/esm/v2/components/TimePicker.js.map +1 -0
- package/dist/esm/v2/components/Toast.js +376 -0
- package/dist/esm/v2/components/Toast.js.map +1 -0
- package/dist/esm/v2/components/Tooltip.js +161 -0
- package/dist/esm/v2/components/Tooltip.js.map +1 -0
- package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/esm/v2/components/_pickerShared.js +60 -0
- package/dist/esm/v2/components/_pickerShared.js.map +1 -0
- package/dist/esm/v2/components/index.js +271 -0
- package/dist/esm/v2/components/index.js.map +1 -0
- package/dist/esm/v2/hooks/index.js +10 -0
- package/dist/esm/v2/hooks/index.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/esm/v2/hooks/useDensity.js +119 -0
- package/dist/esm/v2/hooks/useDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useSortedRows.js +32 -0
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/esm/v2/hooks/useTabLoading.js +79 -0
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/esm/v2/index.js +132 -0
- package/dist/esm/v2/index.js.map +1 -0
- package/dist/esm/v2/modalContext.js +108 -0
- package/dist/esm/v2/modalContext.js.map +1 -0
- package/dist/esm/v2/models/favorite.js +2 -0
- package/dist/esm/v2/models/favorite.js.map +1 -0
- package/dist/esm/v2/models/index.js +12 -0
- package/dist/esm/v2/models/index.js.map +1 -0
- package/dist/esm/v2/models/personalization.js +2 -0
- package/dist/esm/v2/models/personalization.js.map +1 -0
- package/dist/esm/v2/models/referentiel.js +2 -0
- package/dist/esm/v2/models/referentiel.js.map +1 -0
- package/dist/esm/v2/models/savedFilter.js +2 -0
- package/dist/esm/v2/models/savedFilter.js.map +1 -0
- package/dist/esm/v2/patterns/ActionBar.js +603 -0
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/esm/v2/patterns/DataGrid.js +820 -0
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +117 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormPageShell.js +126 -0
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/FormSection.js +190 -0
- package/dist/esm/v2/patterns/FormSection.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js +140 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCombobox.js +118 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +162 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +150 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +148 -0
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
- package/dist/esm/v2/patterns/FormikInput.js +130 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js +141 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/FormikSelect.js +162 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +79 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +212 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/esm/v2/patterns/PageContent.js +62 -0
- package/dist/esm/v2/patterns/PageContent.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +615 -0
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +122 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/SortableHeader.js +179 -0
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/esm/v2/patterns/Tour.js +471 -0
- package/dist/esm/v2/patterns/Tour.js.map +1 -0
- package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js +74 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +112 -0
- package/dist/esm/v2/patterns/_sort.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +178 -0
- package/dist/esm/v2/patterns/index.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/index.js +11 -0
- package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +209 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +22 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/esm/v2/personalization/index.js +64 -0
- package/dist/esm/v2/personalization/index.js.map +1 -0
- package/dist/esm/v2/personalization/personalizationContext.js +108 -0
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/esm/v2/personalization/schema.js +92 -0
- package/dist/esm/v2/personalization/schema.js.map +1 -0
- package/dist/esm/v2/personalization/types.js +2 -0
- package/dist/esm/v2/personalization/types.js.map +1 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/esm/v2/referentiel/index.js +15 -0
- package/dist/esm/v2/referentiel/index.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/esm/v2/styles/base.css +425 -0
- package/dist/esm/v2/styles/css.d.ts +10 -0
- package/dist/esm/v2/styles/index.js +12 -0
- package/dist/esm/v2/styles/index.js.map +1 -0
- package/dist/esm/v2/theme/_brand.js +64 -0
- package/dist/esm/v2/theme/_brand.js.map +1 -0
- package/dist/esm/v2/theme/_brandSecondary.js +60 -0
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/esm/v2/theme/cssVariables.js +198 -0
- package/dist/esm/v2/theme/cssVariables.js.map +1 -0
- package/dist/esm/v2/theme/index.js +32 -0
- package/dist/esm/v2/theme/index.js.map +1 -0
- package/dist/esm/v2/tokens/breakpoints.js +106 -0
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +219 -0
- package/dist/esm/v2/tokens/colors.js.map +1 -0
- package/dist/esm/v2/tokens/density.js +98 -0
- package/dist/esm/v2/tokens/density.js.map +1 -0
- package/dist/esm/v2/tokens/index.js +80 -0
- package/dist/esm/v2/tokens/index.js.map +1 -0
- package/dist/esm/v2/tokens/motion.js +88 -0
- package/dist/esm/v2/tokens/motion.js.map +1 -0
- package/dist/esm/v2/tokens/radius.js +22 -0
- package/dist/esm/v2/tokens/radius.js.map +1 -0
- package/dist/esm/v2/tokens/shadows.js +40 -0
- package/dist/esm/v2/tokens/shadows.js.map +1 -0
- package/dist/esm/v2/tokens/spacing.js +51 -0
- package/dist/esm/v2/tokens/spacing.js.map +1 -0
- package/dist/esm/v2/tokens/state.js +41 -0
- package/dist/esm/v2/tokens/state.js.map +1 -0
- package/dist/esm/v2/tokens/statusPalette.js +66 -0
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
- package/dist/esm/v2/tokens/tokens.json +153 -0
- package/dist/esm/v2/tokens/typography.js +149 -0
- package/dist/esm/v2/tokens/typography.js.map +1 -0
- package/dist/esm/v2/tokens/zIndex.js +44 -0
- package/dist/esm/v2/tokens/zIndex.js.map +1 -0
- package/dist/esm/v2/types/common.js +2 -0
- package/dist/esm/v2/types/common.js.map +1 -0
- package/dist/esm/v2/types/datagrid.js +2 -0
- package/dist/esm/v2/types/datagrid.js.map +1 -0
- package/dist/esm/v2/types/index.js +12 -0
- package/dist/esm/v2/types/index.js.map +1 -0
- package/dist/esm/v2/utils/apiError.js +281 -0
- package/dist/esm/v2/utils/apiError.js.map +1 -0
- package/dist/esm/v2/utils/contrast.js +157 -0
- package/dist/esm/v2/utils/contrast.js.map +1 -0
- package/dist/esm/v2/utils/cx.js +38 -0
- package/dist/esm/v2/utils/cx.js.map +1 -0
- package/dist/esm/v2/utils/fileDownload.js +226 -0
- package/dist/esm/v2/utils/fileDownload.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +78 -0
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
- package/dist/esm/v2/utils/index.js +43 -0
- package/dist/esm/v2/utils/index.js.map +1 -0
- package/dist/esm/v2/utils/mergeLabels.js +86 -0
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
- package/dist/esm/v2/utils/networkStatus.js +114 -0
- package/dist/esm/v2/utils/networkStatus.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/FieldError.test.js +160 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +150 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +144 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js +268 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +247 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +381 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +52 -56
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +20 -24
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/components/Accordion.d.ts +6 -6
- package/dist/v2/components/Accordion.d.ts.map +1 -1
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.d.ts +12 -12
- package/dist/v2/components/ActionStrip.d.ts.map +1 -1
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.d.ts +48 -9
- package/dist/v2/components/Banner.d.ts.map +1 -1
- package/dist/v2/components/Banner.js +116 -35
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.d.ts +3 -3
- package/dist/v2/components/Busy.d.ts.map +1 -1
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.d.ts +6 -6
- package/dist/v2/components/Button.d.ts.map +1 -1
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts +3 -3
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.d.ts +11 -11
- package/dist/v2/components/Checkbox.d.ts.map +1 -1
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.d.ts +8 -8
- package/dist/v2/components/Chip.d.ts.map +1 -1
- package/dist/v2/components/Chip.js +2 -1
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.d.ts +27 -27
- package/dist/v2/components/Combobox.d.ts.map +1 -1
- package/dist/v2/components/Combobox.js +3 -2
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.d.ts +20 -20
- package/dist/v2/components/CommandPalette.d.ts.map +1 -1
- package/dist/v2/components/CommandPalette.js +2 -6
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.d.ts +13 -13
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +2 -1
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.d.ts +11 -11
- package/dist/v2/components/DatePicker.d.ts.map +1 -1
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.d.ts +16 -16
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
- package/dist/v2/components/DateRangePicker.js +2 -1
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts +11 -11
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +37 -4
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts +18 -18
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +2 -1
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.d.ts +34 -34
- package/dist/v2/components/Dropzone.d.ts.map +1 -1
- package/dist/v2/components/Dropzone.js +11 -3
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.d.ts +7 -7
- package/dist/v2/components/EmptyState.d.ts.map +1 -1
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.d.ts +7 -7
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +2 -1
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +76 -13
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +87 -9
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.d.ts +78 -0
- package/dist/v2/components/FieldError.d.ts.map +1 -0
- package/dist/v2/components/FieldError.js +131 -0
- package/dist/v2/components/FieldError.js.map +1 -0
- package/dist/v2/components/FieldHelp.d.ts +7 -7
- package/dist/v2/components/FieldHelp.d.ts.map +1 -1
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.d.ts +75 -0
- package/dist/v2/components/FileCard.d.ts.map +1 -0
- package/dist/v2/components/FileCard.js +169 -0
- package/dist/v2/components/FileCard.js.map +1 -0
- package/dist/v2/components/FilterTab.d.ts +9 -9
- package/dist/v2/components/FilterTab.d.ts.map +1 -1
- package/dist/v2/components/FilterTab.js +2 -1
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/FormGrid.d.ts +9 -4
- package/dist/v2/components/FormGrid.d.ts.map +1 -1
- package/dist/v2/components/FormGrid.js +11 -1
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +6 -6
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +6 -6
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.d.ts +43 -13
- package/dist/v2/components/KPICard.d.ts.map +1 -1
- package/dist/v2/components/KPICard.js +53 -14
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.d.ts +68 -0
- package/dist/v2/components/KPIStrip.d.ts.map +1 -0
- package/dist/v2/components/KPIStrip.js +92 -0
- package/dist/v2/components/KPIStrip.js.map +1 -0
- package/dist/v2/components/KV.d.ts +3 -3
- package/dist/v2/components/KV.d.ts.map +1 -1
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.d.ts +2 -2
- package/dist/v2/components/KVGrid.d.ts.map +1 -1
- package/dist/v2/components/KVGrid.js +8 -1
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.d.ts +7 -7
- package/dist/v2/components/Layout.d.ts.map +1 -1
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.d.ts +13 -13
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.d.ts +12 -12
- package/dist/v2/components/Modal.d.ts.map +1 -1
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NumberInput.d.ts +14 -14
- package/dist/v2/components/NumberInput.d.ts.map +1 -1
- package/dist/v2/components/NumberInput.js +7 -6
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.d.ts +14 -14
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
- package/dist/v2/components/OverflowMenu.js +4 -8
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.d.ts +9 -9
- package/dist/v2/components/PdfViewer.d.ts.map +1 -1
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.d.ts +10 -10
- package/dist/v2/components/ProgressBar.d.ts.map +1 -1
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.d.ts +7 -7
- package/dist/v2/components/Radio.d.ts.map +1 -1
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
- package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
- package/dist/v2/components/SectionErrorBoundary.js +221 -0
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/v2/components/SectionHeader.d.ts +5 -5
- package/dist/v2/components/SectionHeader.d.ts.map +1 -1
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.d.ts +11 -11
- package/dist/v2/components/Segmented.d.ts.map +1 -1
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +33 -15
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +147 -30
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.d.ts +15 -15
- package/dist/v2/components/Skeleton.d.ts.map +1 -1
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.d.ts +2 -2
- package/dist/v2/components/SkipLink.d.ts.map +1 -1
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Status.d.ts +3 -3
- package/dist/v2/components/Status.d.ts.map +1 -1
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.d.ts +28 -22
- package/dist/v2/components/Stepper.d.ts.map +1 -1
- package/dist/v2/components/Stepper.js +31 -5
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.d.ts +94 -0
- package/dist/v2/components/Surface.d.ts.map +1 -0
- package/dist/v2/components/Surface.js +163 -0
- package/dist/v2/components/Surface.js.map +1 -0
- package/dist/v2/components/Switch.d.ts +4 -4
- package/dist/v2/components/Switch.d.ts.map +1 -1
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/Tabs.d.ts +6 -6
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.d.ts +8 -8
- package/dist/v2/components/TelInput.d.ts.map +1 -1
- package/dist/v2/components/TelInput.js +18 -18
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.d.ts +1 -1
- package/dist/v2/components/Textarea.d.ts.map +1 -1
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.d.ts +11 -11
- package/dist/v2/components/TimePicker.d.ts.map +1 -1
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.d.ts +6 -6
- package/dist/v2/components/Toast.d.ts.map +1 -1
- package/dist/v2/components/Toast.js +9 -8
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.d.ts +1 -1
- package/dist/v2/components/Tooltip.d.ts.map +1 -1
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/index.d.ts +170 -0
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +35 -0
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +1 -1
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +13 -13
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +11 -11
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -8
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.d.ts +33 -33
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/ActionBar.js +2 -1
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/BulkActionBar.js +2 -1
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +4 -8
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +2 -1
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.d.ts +15 -15
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +14 -61
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +2 -1
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.d.ts +4 -4
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +19 -8
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +106 -71
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +147 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +18 -12
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +5 -2
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +48 -8
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +58 -65
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
- package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDateTimePicker.js +158 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikFile.d.ts +8 -8
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +51 -6
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +53 -2
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
- package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikRadioGroup.js +148 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +41 -12
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +32 -3
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +14 -6
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +5 -2
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +21 -8
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +27 -14
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.d.ts +3 -3
- package/dist/v2/patterns/PageContent.d.ts.map +1 -1
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/ReferentielField.d.ts +49 -49
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +2 -1
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +92 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +9 -8
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.d.ts +12 -12
- package/dist/v2/patterns/Tour.d.ts.map +1 -1
- package/dist/v2/patterns/Tour.js +9 -8
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +37 -3
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +81 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/index.d.ts +114 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +34 -0
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +215 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +6 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +13 -0
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +18 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +13 -0
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/schema.d.ts +2 -2
- package/dist/v2/personalization/schema.d.ts.map +1 -1
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/personalization/types.d.ts +19 -19
- package/dist/v2/personalization/types.d.ts.map +1 -1
- package/dist/v2/personalization/types.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +25 -1
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +59 -59
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/utils/apiError.d.ts +65 -4
- package/dist/v2/utils/apiError.d.ts.map +1 -1
- package/dist/v2/utils/apiError.js +69 -6
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/index.d.ts +1 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +7 -0
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.d.ts +59 -0
- package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
- package/dist/v2/utils/mergeLabels.js +93 -0
- package/dist/v2/utils/mergeLabels.js.map +1 -0
- package/package.json +23 -15
|
@@ -46,21 +46,21 @@ import type { ButtonProps } from "./Button";
|
|
|
46
46
|
* container is column-reverse too, so Back sits at the very bottom.
|
|
47
47
|
*/
|
|
48
48
|
export interface ActionStripAction {
|
|
49
|
-
id?: string;
|
|
49
|
+
id?: string | undefined;
|
|
50
50
|
label: React.ReactNode;
|
|
51
|
-
onClick?: ButtonProps["onClick"];
|
|
52
|
-
icon?: React.ReactNode;
|
|
53
|
-
variant?: ButtonProps["variant"];
|
|
54
|
-
loading?: boolean;
|
|
55
|
-
disabled?: boolean;
|
|
56
|
-
type?: "button" | "submit" | "reset";
|
|
51
|
+
onClick?: ButtonProps["onClick"] | undefined;
|
|
52
|
+
icon?: React.ReactNode | undefined;
|
|
53
|
+
variant?: ButtonProps["variant"] | undefined;
|
|
54
|
+
loading?: boolean | undefined;
|
|
55
|
+
disabled?: boolean | undefined;
|
|
56
|
+
type?: "button" | "submit" | "reset" | undefined;
|
|
57
57
|
}
|
|
58
58
|
export interface ActionStripProps extends BoxProps {
|
|
59
|
-
back?: ButtonProps["onClick"];
|
|
60
|
-
backLabel?: React.ReactNode;
|
|
61
|
-
secondary?: ActionStripAction[];
|
|
62
|
-
primary?: ActionStripAction;
|
|
63
|
-
align?: "start" | "end";
|
|
59
|
+
back?: ButtonProps["onClick"] | undefined;
|
|
60
|
+
backLabel?: React.ReactNode | undefined;
|
|
61
|
+
secondary?: ActionStripAction[] | undefined;
|
|
62
|
+
primary?: ActionStripAction | undefined;
|
|
63
|
+
align?: "start" | "end" | undefined;
|
|
64
64
|
}
|
|
65
65
|
declare function ActionStrip({ back, backLabel, secondary, primary, align, sx, ...rest }: ActionStripProps): React.JSX.Element;
|
|
66
66
|
export default ActionStrip;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionStrip.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/ActionStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"ActionStrip.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/ActionStrip.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2CG;AAEH,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACxB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC7C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC7C,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;CAClD;AAED,MAAM,WAAW,gBAAiB,SAAQ,QAAQ;IAChD,IAAI,CAAC,EAAE,WAAW,CAAC,SAAS,CAAC,GAAG,SAAS,CAAC;IAC1C,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,SAAS,CAAC,EAAE,iBAAiB,EAAE,GAAG,SAAS,CAAC;IAC5C,OAAO,CAAC,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACxC,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,CAAC;CACrC;AAED,iBAAS,WAAW,CAAC,EACnB,IAAI,EACJ,SAAoB,EACpB,SAAc,EACd,OAAO,EACP,KAAa,EACb,EAAE,EACF,GAAG,IAAI,EACR,EAAE,gBAAgB,qBAuElB;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActionStrip.js","names":["React","_interopRequireWildcard","require","_ArrowBack","_interopRequireDefault","_Box","_Button","_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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","ActionStrip","_ref","back","_ref$backLabel","backLabel","_ref$secondary","secondary","primary","_ref$align","align","sx","rest","jsxs","display","flexDirection","xs","sm","alignItems","justifyContent","gap","marginTop","paddingTop","borderTop","children","jsx","variant","icon","onClick","flexWrap","map","action","disabled","type","loading","label","id","concat","_default","exports"],"sources":["../../../src/lib/v2/components/ActionStrip.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport ArrowBackIcon from \"@mui/icons-material/ArrowBack\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { BoxProps } from \"@mui/material/Box\";\r\nimport Button from \"./Button\";\r\nimport type { ButtonProps } from \"./Button\";\r\n\r\n/**\r\n * ActionStrip — Portnet UI v2\r\n *\r\n * Charter §03 · footer-level action row. Distinct from ActionBar\r\n * (page header) and BulkActionBar (selection toolbar). Use this\r\n * primitive at the BOTTOM of a form or below a section's content\r\n * to anchor the principal CTAs.\r\n *\r\n * ┌─────────────────────────────────────────────────────────┐\r\n * │ ← Retour Annuler ✉ Envoyer │\r\n * └─────────────────────────────────────────────────────────┘\r\n *\r\n * Replaces:\r\n * - AppGlobalActions wrapper (audit Batch 2 M17)\r\n * - AppButtonsGroup wrapper (audit Batch 2 M13)\r\n * - inline `display:flex; justifyContent: flex-end; gap: var(--s-3)`\r\n * Box blocks in CreationTIMarchandises update dialog, etc.\r\n *\r\n * API:\r\n *\r\n * <ActionStrip\r\n * back={() => navigate(-1)} // omit if no Back affordance\r\n * backLabel=\"Retour\"\r\n * secondary={[\r\n * { label: \"Annuler\", variant: \"ghost\", onClick: cancel },\r\n * ]}\r\n * primary={{\r\n * label: \"Envoyer\",\r\n * icon: <SendIcon />,\r\n * onClick: submit,\r\n * loading: isSubmitting,\r\n * }}\r\n * />\r\n *\r\n * Single-CTA shortcut:\r\n *\r\n * <ActionStrip primary={{ label: \"Valider\", onClick: confirm }} />\r\n *\r\n * Responsive: on the `xs` breakpoint the strip becomes a vertical\r\n * stack of primary → secondary → back so the primary CTA stays\r\n * above the fold and reachable by thumb. The right cluster stacks\r\n * column-reverse with stretched (full-width) buttons; the outer\r\n * container is column-reverse too, so Back sits at the very bottom.\r\n */\r\n\r\nexport interface ActionStripAction {\r\n id?: string;\r\n label: React.ReactNode;\r\n onClick?: ButtonProps[\"onClick\"];\r\n icon?: React.ReactNode;\r\n variant?: ButtonProps[\"variant\"];\r\n loading?: boolean;\r\n disabled?: boolean;\r\n type?: \"button\" | \"submit\" | \"reset\";\r\n}\r\n\r\nexport interface ActionStripProps extends BoxProps {\r\n back?: ButtonProps[\"onClick\"];\r\n backLabel?: React.ReactNode;\r\n secondary?: ActionStripAction[];\r\n primary?: ActionStripAction;\r\n align?: \"start\" | \"end\";\r\n}\r\n\r\nfunction ActionStrip({\r\n back,\r\n backLabel = \"Retour\",\r\n secondary = [],\r\n primary,\r\n align = \"end\",\r\n sx,\r\n ...rest\r\n}: ActionStripProps) {\r\n return (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: { xs: \"column-reverse\", sm: \"row\" },\r\n alignItems: { xs: \"stretch\", sm: \"center\" },\r\n justifyContent: align === \"start\" ? \"flex-start\" : \"space-between\",\r\n gap: \"var(--s-3)\",\r\n marginTop: \"var(--s-5)\",\r\n paddingTop: \"var(--s-4)\",\r\n borderTop: \"1px solid var(--border)\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {/* Left cluster — Back affordance */}\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"var(--s-2)\" }}>\r\n {back && (\r\n <Button\r\n variant=\"ghost\"\r\n icon={<ArrowBackIcon />}\r\n onClick={back}\r\n >\r\n {backLabel}\r\n </Button>\r\n )}\r\n </Box>\r\n\r\n {/* Right cluster — secondary + primary.\r\n xs : column-reverse + stretch → full-width buttons, primary on\r\n top (primary → secondary), reachable by thumb.\r\n sm+ : single centred row, primary anchored to the right edge. */}\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: { xs: \"column-reverse\", sm: \"row\" },\r\n alignItems: { xs: \"stretch\", sm: \"center\" },\r\n gap: \"var(--s-3)\",\r\n flexWrap: \"wrap\",\r\n justifyContent: { xs: \"flex-start\", sm: \"flex-end\" },\r\n }}\r\n >\r\n {secondary.map((action, i) => (\r\n <Button\r\n key={action.id || `sec-${i}`}\r\n variant={action.variant || \"ghost\"}\r\n icon={action.icon}\r\n onClick={action.onClick}\r\n disabled={action.disabled}\r\n type={action.type}\r\n {...(action.loading !== undefined ? { loading: action.loading } : {})}\r\n >\r\n {action.label}\r\n </Button>\r\n ))}\r\n {primary && (\r\n <Button\r\n variant={primary.variant || \"primary\"}\r\n icon={primary.icon}\r\n onClick={primary.onClick}\r\n disabled={primary.disabled}\r\n type={primary.type}\r\n {...(primary.loading !== undefined ? { loading: primary.loading } : {})}\r\n >\r\n {primary.label}\r\n </Button>\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n\r\nexport default ActionStrip;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ActionStrip.js","names":["React","_interopRequireWildcard","require","_ArrowBack","_interopRequireDefault","_Box","_Button","_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","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","ActionStrip","_ref","back","_ref$backLabel","backLabel","_ref$secondary","secondary","primary","_ref$align","align","sx","rest","jsxs","display","flexDirection","xs","sm","alignItems","justifyContent","gap","marginTop","paddingTop","borderTop","children","jsx","variant","icon","onClick","flexWrap","map","action","disabled","type","loading","label","id","concat","_default","exports"],"sources":["../../../src/lib/v2/components/ActionStrip.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport ArrowBackIcon from \"@mui/icons-material/ArrowBack\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { BoxProps } from \"@mui/material/Box\";\r\nimport Button from \"./Button\";\r\nimport type { ButtonProps } from \"./Button\";\r\n\r\n/**\r\n * ActionStrip — Portnet UI v2\r\n *\r\n * Charter §03 · footer-level action row. Distinct from ActionBar\r\n * (page header) and BulkActionBar (selection toolbar). Use this\r\n * primitive at the BOTTOM of a form or below a section's content\r\n * to anchor the principal CTAs.\r\n *\r\n * ┌─────────────────────────────────────────────────────────┐\r\n * │ ← Retour Annuler ✉ Envoyer │\r\n * └─────────────────────────────────────────────────────────┘\r\n *\r\n * Replaces:\r\n * - AppGlobalActions wrapper (audit Batch 2 M17)\r\n * - AppButtonsGroup wrapper (audit Batch 2 M13)\r\n * - inline `display:flex; justifyContent: flex-end; gap: var(--s-3)`\r\n * Box blocks in CreationTIMarchandises update dialog, etc.\r\n *\r\n * API:\r\n *\r\n * <ActionStrip\r\n * back={() => navigate(-1)} // omit if no Back affordance\r\n * backLabel=\"Retour\"\r\n * secondary={[\r\n * { label: \"Annuler\", variant: \"ghost\", onClick: cancel },\r\n * ]}\r\n * primary={{\r\n * label: \"Envoyer\",\r\n * icon: <SendIcon />,\r\n * onClick: submit,\r\n * loading: isSubmitting,\r\n * }}\r\n * />\r\n *\r\n * Single-CTA shortcut:\r\n *\r\n * <ActionStrip primary={{ label: \"Valider\", onClick: confirm }} />\r\n *\r\n * Responsive: on the `xs` breakpoint the strip becomes a vertical\r\n * stack of primary → secondary → back so the primary CTA stays\r\n * above the fold and reachable by thumb. The right cluster stacks\r\n * column-reverse with stretched (full-width) buttons; the outer\r\n * container is column-reverse too, so Back sits at the very bottom.\r\n */\r\n\r\nexport interface ActionStripAction {\r\n id?: string | undefined;\r\n label: React.ReactNode;\r\n onClick?: ButtonProps[\"onClick\"] | undefined;\r\n icon?: React.ReactNode | undefined;\r\n variant?: ButtonProps[\"variant\"] | undefined;\r\n loading?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n type?: \"button\" | \"submit\" | \"reset\" | undefined;\r\n}\r\n\r\nexport interface ActionStripProps extends BoxProps {\r\n back?: ButtonProps[\"onClick\"] | undefined;\r\n backLabel?: React.ReactNode | undefined;\r\n secondary?: ActionStripAction[] | undefined;\r\n primary?: ActionStripAction | undefined;\r\n align?: \"start\" | \"end\" | undefined;\r\n}\r\n\r\nfunction ActionStrip({\r\n back,\r\n backLabel = \"Retour\",\r\n secondary = [],\r\n primary,\r\n align = \"end\",\r\n sx,\r\n ...rest\r\n}: ActionStripProps) {\r\n return (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: { xs: \"column-reverse\", sm: \"row\" },\r\n alignItems: { xs: \"stretch\", sm: \"center\" },\r\n justifyContent: align === \"start\" ? \"flex-start\" : \"space-between\",\r\n gap: \"var(--s-3)\",\r\n marginTop: \"var(--s-5)\",\r\n paddingTop: \"var(--s-4)\",\r\n borderTop: \"1px solid var(--border)\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {/* Left cluster — Back affordance */}\r\n <Box sx={{ display: \"flex\", alignItems: \"center\", gap: \"var(--s-2)\" }}>\r\n {back && (\r\n <Button\r\n variant=\"ghost\"\r\n icon={<ArrowBackIcon />}\r\n onClick={back}\r\n >\r\n {backLabel}\r\n </Button>\r\n )}\r\n </Box>\r\n\r\n {/* Right cluster — secondary + primary.\r\n xs : column-reverse + stretch → full-width buttons, primary on\r\n top (primary → secondary), reachable by thumb.\r\n sm+ : single centred row, primary anchored to the right edge. */}\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n flexDirection: { xs: \"column-reverse\", sm: \"row\" },\r\n alignItems: { xs: \"stretch\", sm: \"center\" },\r\n gap: \"var(--s-3)\",\r\n flexWrap: \"wrap\",\r\n justifyContent: { xs: \"flex-start\", sm: \"flex-end\" },\r\n }}\r\n >\r\n {secondary.map((action, i) => (\r\n <Button\r\n key={action.id || `sec-${i}`}\r\n variant={action.variant || \"ghost\"}\r\n icon={action.icon}\r\n onClick={action.onClick}\r\n disabled={action.disabled}\r\n type={action.type}\r\n {...(action.loading !== undefined ? { loading: action.loading } : {})}\r\n >\r\n {action.label}\r\n </Button>\r\n ))}\r\n {primary && (\r\n <Button\r\n variant={primary.variant || \"primary\"}\r\n icon={primary.icon}\r\n onClick={primary.onClick}\r\n disabled={primary.disabled}\r\n type={primary.type}\r\n {...(primary.loading !== undefined ? { loading: primary.loading } : {})}\r\n >\r\n {primary.label}\r\n </Button>\r\n )}\r\n </Box>\r\n </Box>\r\n );\r\n}\r\n\r\nexport default ActionStrip;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,8 +12,37 @@ import * as React from "react";
|
|
|
12
12
|
* Connexion perdue.
|
|
13
13
|
* </Banner>
|
|
14
14
|
*
|
|
15
|
+
* Action cluster (capability gap G-19)
|
|
16
|
+
* ------------------------------------
|
|
17
|
+
* `action` is the primary affordance (outlined). `secondaryAction` is the
|
|
18
|
+
* subordinate one (borderless + underlined), rendered to its LEFT per the
|
|
19
|
+
* charter's R-M.6 ordering (« action principale à droite, secondaire à gauche »).
|
|
20
|
+
* Both accept an optional leading `icon`.
|
|
21
|
+
*
|
|
22
|
+
* <Banner
|
|
23
|
+
* variant="info"
|
|
24
|
+
* title="Brouillon trouvé"
|
|
25
|
+
* action={{ label: "Restaurer", onClick: restore }}
|
|
26
|
+
* secondaryAction={{ label: "Ignorer", onClick: discard }}
|
|
27
|
+
* >
|
|
28
|
+
* Une saisie en cours a été détectée sur ce poste.
|
|
29
|
+
* </Banner>
|
|
30
|
+
*
|
|
31
|
+
* WHY THIS WAS ADDED. Banner previously destructured a FIXED prop list with no
|
|
32
|
+
* rest spread and supported neither `secondaryAction` nor `action.icon`. Every
|
|
33
|
+
* audited module had nonetheless passed them — four dead props in addpe-fe alone
|
|
34
|
+
* (its own comments record the discovery) — so the affordances silently did not
|
|
35
|
+
* exist: a draft-restore banner offered "Restaurer" with NO way to dismiss, and
|
|
36
|
+
* error banners lost their intended escape hatch. Props that look supported and
|
|
37
|
+
* are dropped in silence are worse than absent ones, because a reviewer reading
|
|
38
|
+
* the call site believes the affordance ships.
|
|
39
|
+
*
|
|
40
|
+
* `onClose` remains a distinct concern: it is DISMISSAL (an ✕ icon-button), not
|
|
41
|
+
* an action. Use `secondaryAction` when the second choice carries business
|
|
42
|
+
* meaning ("Ignorer" clears a draft; "Retour à la liste" navigates).
|
|
43
|
+
*
|
|
15
44
|
* Localisation (FR / EN / AR):
|
|
16
|
-
* - `action.label`
|
|
45
|
+
* - `action.label` / `secondaryAction.label` are consumer-controlled.
|
|
17
46
|
* - `closeLabel` overrides the dismiss button's aria-label
|
|
18
47
|
* (default "Fermer").
|
|
19
48
|
*
|
|
@@ -32,18 +61,28 @@ import * as React from "react";
|
|
|
32
61
|
export type BannerVariant = "info" | "success" | "warning" | "error";
|
|
33
62
|
export interface BannerAction {
|
|
34
63
|
label: React.ReactNode;
|
|
35
|
-
onClick?: () => void;
|
|
64
|
+
onClick?: (() => void) | undefined;
|
|
65
|
+
/**
|
|
66
|
+
* Optional leading icon. Rendered `aria-hidden` — the label carries the
|
|
67
|
+
* accessible name (R-Ar.2), so an icon-only banner action is not supported by
|
|
68
|
+
* design: a banner action must read as a verb+object CTA (§09.2).
|
|
69
|
+
*/
|
|
70
|
+
icon?: React.ReactNode | undefined;
|
|
36
71
|
}
|
|
37
72
|
export interface BannerProps {
|
|
38
|
-
variant?: BannerVariant;
|
|
73
|
+
variant?: BannerVariant | undefined;
|
|
39
74
|
children: React.ReactNode;
|
|
40
|
-
title?: React.ReactNode;
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
75
|
+
title?: React.ReactNode | undefined;
|
|
76
|
+
/** Primary affordance — outlined, rendered rightmost of the cluster. */
|
|
77
|
+
action?: BannerAction | undefined;
|
|
78
|
+
/** Subordinate affordance — borderless, rendered LEFT of `action` (R-M.6). */
|
|
79
|
+
secondaryAction?: BannerAction | undefined;
|
|
80
|
+
onClose?: (() => void) | undefined;
|
|
81
|
+
closeLabel?: string | undefined;
|
|
44
82
|
}
|
|
45
|
-
declare function Banner({ variant, children, title, action, // { label, onClick }
|
|
46
|
-
|
|
83
|
+
declare function Banner({ variant, children, title, action, // { label, onClick, icon } — primary
|
|
84
|
+
secondaryAction, // { label, onClick, icon } — subordinate (G-19)
|
|
85
|
+
onClose, // optional dismissal (✕), distinct from an action
|
|
47
86
|
closeLabel, }: BannerProps): React.JSX.Element;
|
|
48
87
|
export default Banner;
|
|
49
88
|
//# sourceMappingURL=Banner.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B
|
|
1
|
+
{"version":3,"file":"Banner.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Banner.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAU/B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0DG;AAEH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;AAgBrE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC;;;;OAIG;IACH,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;CACpC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;IAC1B,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,wEAAwE;IACxE,MAAM,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAClC,8EAA8E;IAC9E,eAAe,CAAC,EAAE,YAAY,GAAG,SAAS,CAAC;IAC3C,OAAO,CAAC,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,SAAS,CAAC;IACnC,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACjC;AA2ED,iBAAS,MAAM,CAAC,EACd,OAAgB,EAChB,QAAQ,EACR,KAAK,EACL,MAAM,EAAY,qCAAqC;AACvD,eAAe,EAAG,gDAAgD;AAClE,OAAO,EAAW,kDAAkD;AACpE,UAAqB,GACtB,EAAE,WAAW,qBAkFb;AAED,eAAe,MAAM,CAAC"}
|
|
@@ -30,8 +30,37 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
|
|
|
30
30
|
* Connexion perdue.
|
|
31
31
|
* </Banner>
|
|
32
32
|
*
|
|
33
|
+
* Action cluster (capability gap G-19)
|
|
34
|
+
* ------------------------------------
|
|
35
|
+
* `action` is the primary affordance (outlined). `secondaryAction` is the
|
|
36
|
+
* subordinate one (borderless + underlined), rendered to its LEFT per the
|
|
37
|
+
* charter's R-M.6 ordering (« action principale à droite, secondaire à gauche »).
|
|
38
|
+
* Both accept an optional leading `icon`.
|
|
39
|
+
*
|
|
40
|
+
* <Banner
|
|
41
|
+
* variant="info"
|
|
42
|
+
* title="Brouillon trouvé"
|
|
43
|
+
* action={{ label: "Restaurer", onClick: restore }}
|
|
44
|
+
* secondaryAction={{ label: "Ignorer", onClick: discard }}
|
|
45
|
+
* >
|
|
46
|
+
* Une saisie en cours a été détectée sur ce poste.
|
|
47
|
+
* </Banner>
|
|
48
|
+
*
|
|
49
|
+
* WHY THIS WAS ADDED. Banner previously destructured a FIXED prop list with no
|
|
50
|
+
* rest spread and supported neither `secondaryAction` nor `action.icon`. Every
|
|
51
|
+
* audited module had nonetheless passed them — four dead props in addpe-fe alone
|
|
52
|
+
* (its own comments record the discovery) — so the affordances silently did not
|
|
53
|
+
* exist: a draft-restore banner offered "Restaurer" with NO way to dismiss, and
|
|
54
|
+
* error banners lost their intended escape hatch. Props that look supported and
|
|
55
|
+
* are dropped in silence are worse than absent ones, because a reviewer reading
|
|
56
|
+
* the call site believes the affordance ships.
|
|
57
|
+
*
|
|
58
|
+
* `onClose` remains a distinct concern: it is DISMISSAL (an ✕ icon-button), not
|
|
59
|
+
* an action. Use `secondaryAction` when the second choice carries business
|
|
60
|
+
* meaning ("Ignorer" clears a draft; "Retour à la liste" navigates).
|
|
61
|
+
*
|
|
33
62
|
* Localisation (FR / EN / AR):
|
|
34
|
-
* - `action.label`
|
|
63
|
+
* - `action.label` / `secondaryAction.label` are consumer-controlled.
|
|
35
64
|
* - `closeLabel` overrides the dismiss button's aria-label
|
|
36
65
|
* (default "Fermer").
|
|
37
66
|
*
|
|
@@ -74,15 +103,78 @@ var VARIANT = {
|
|
|
74
103
|
icon: _ErrorOutlined["default"]
|
|
75
104
|
}
|
|
76
105
|
};
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
106
|
+
/**
|
|
107
|
+
* One button of the action cluster. Extracted rather than duplicated: the two
|
|
108
|
+
* emphases differ only by border and underline, and a second inline copy of a
|
|
109
|
+
* 25-line `sx` block is exactly how the focus-visible and contrast guarantees
|
|
110
|
+
* below drift apart.
|
|
111
|
+
*
|
|
112
|
+
* Colour is `cfg.text` for BOTH border and label — it passes 1.4.3 (≥ 4.5:1) as
|
|
113
|
+
* text and 1.4.11 (≥ 3:1) as a UI boundary on the soft background. Do not swap
|
|
114
|
+
* it for `cfg.fg`, which only clears the non-text threshold.
|
|
115
|
+
*/
|
|
116
|
+
function BannerActionButton(_ref) {
|
|
117
|
+
var action = _ref.action,
|
|
118
|
+
color = _ref.color,
|
|
119
|
+
emphasis = _ref.emphasis;
|
|
120
|
+
var isPrimary = emphasis === "primary";
|
|
121
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
|
|
122
|
+
component: "button",
|
|
123
|
+
type: "button",
|
|
124
|
+
onClick: action.onClick,
|
|
125
|
+
sx: {
|
|
126
|
+
display: "inline-flex",
|
|
127
|
+
alignItems: "center",
|
|
128
|
+
gap: "var(--s-1)",
|
|
129
|
+
background: "transparent",
|
|
130
|
+
/* Transparent border on the secondary keeps both buttons on the same
|
|
131
|
+
* baseline and the same height — without it the cluster jitters. */
|
|
132
|
+
border: "1px solid ".concat(isPrimary ? color : "transparent"),
|
|
133
|
+
color: color,
|
|
134
|
+
padding: "var(--s-1) var(--s-3)",
|
|
135
|
+
borderRadius: "var(--r-sm)",
|
|
136
|
+
fontSize: "var(--text-xs)",
|
|
137
|
+
fontWeight: "var(--fw-semibold)",
|
|
138
|
+
textDecoration: isPrimary ? "none" : "underline",
|
|
139
|
+
cursor: "pointer",
|
|
140
|
+
fontFamily: "inherit",
|
|
141
|
+
whiteSpace: "nowrap",
|
|
142
|
+
transition: "background var(--duration-fast) ease",
|
|
143
|
+
"&:hover": {
|
|
144
|
+
background: "color-mix(in srgb, currentColor 10%, transparent)"
|
|
145
|
+
},
|
|
146
|
+
// R-F.1 - focus-visible required, charter §05.
|
|
147
|
+
"&:focus-visible": {
|
|
148
|
+
outline: "2px solid currentColor",
|
|
149
|
+
outlineOffset: "var(--pui-outline-offset)"
|
|
150
|
+
}
|
|
151
|
+
},
|
|
152
|
+
children: [action.icon && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
153
|
+
component: "span",
|
|
154
|
+
"aria-hidden": "true",
|
|
155
|
+
sx: {
|
|
156
|
+
display: "inline-flex",
|
|
157
|
+
flexShrink: 0,
|
|
158
|
+
/* Normalise a consumer-supplied MUI icon (24px by default) onto the
|
|
159
|
+
* label's optical scale. --text-h3 is the 16px token. */
|
|
160
|
+
"& > *": {
|
|
161
|
+
fontSize: "var(--text-h3)"
|
|
162
|
+
}
|
|
163
|
+
},
|
|
164
|
+
children: action.icon
|
|
165
|
+
}), action.label]
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
function Banner(_ref2) {
|
|
169
|
+
var _ref2$variant = _ref2.variant,
|
|
170
|
+
variant = _ref2$variant === void 0 ? "info" : _ref2$variant,
|
|
171
|
+
children = _ref2.children,
|
|
172
|
+
title = _ref2.title,
|
|
173
|
+
action = _ref2.action,
|
|
174
|
+
secondaryAction = _ref2.secondaryAction,
|
|
175
|
+
onClose = _ref2.onClose,
|
|
176
|
+
_ref2$closeLabel = _ref2.closeLabel,
|
|
177
|
+
closeLabel = _ref2$closeLabel === void 0 ? "Fermer" : _ref2$closeLabel;
|
|
86
178
|
var cfg = VARIANT[variant] || VARIANT.info;
|
|
87
179
|
var Icon = cfg.icon;
|
|
88
180
|
var isErr = variant === "error";
|
|
@@ -136,33 +228,22 @@ function Banner(_ref) {
|
|
|
136
228
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
137
229
|
children: children
|
|
138
230
|
})]
|
|
139
|
-
}), action && /*#__PURE__*/(0, _jsxRuntime.
|
|
140
|
-
component: "button",
|
|
141
|
-
type: "button",
|
|
142
|
-
onClick: action.onClick,
|
|
231
|
+
}), (action || secondaryAction) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box["default"], {
|
|
143
232
|
sx: {
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
color: cfg.text,
|
|
149
|
-
padding: "var(--s-1) var(--s-3)",
|
|
150
|
-
borderRadius: "var(--r-sm)",
|
|
151
|
-
fontSize: "var(--text-xs)",
|
|
152
|
-
fontWeight: "var(--fw-semibold)",
|
|
153
|
-
cursor: "pointer",
|
|
154
|
-
fontFamily: "inherit",
|
|
155
|
-
transition: "background var(--duration-fast) ease",
|
|
156
|
-
"&:hover": {
|
|
157
|
-
background: "color-mix(in srgb, currentColor 10%, transparent)"
|
|
158
|
-
},
|
|
159
|
-
// R-F.1 - focus-visible required, charter §05.
|
|
160
|
-
"&:focus-visible": {
|
|
161
|
-
outline: "2px solid currentColor",
|
|
162
|
-
outlineOffset: "var(--pui-outline-offset)"
|
|
163
|
-
}
|
|
233
|
+
display: "flex",
|
|
234
|
+
alignItems: "center",
|
|
235
|
+
gap: "var(--s-2)",
|
|
236
|
+
flexShrink: 0
|
|
164
237
|
},
|
|
165
|
-
children:
|
|
238
|
+
children: [secondaryAction && /*#__PURE__*/(0, _jsxRuntime.jsx)(BannerActionButton, {
|
|
239
|
+
action: secondaryAction,
|
|
240
|
+
color: cfg.text,
|
|
241
|
+
emphasis: "secondary"
|
|
242
|
+
}), action && /*#__PURE__*/(0, _jsxRuntime.jsx)(BannerActionButton, {
|
|
243
|
+
action: action,
|
|
244
|
+
color: cfg.text,
|
|
245
|
+
emphasis: "primary"
|
|
246
|
+
})]
|
|
166
247
|
}), onClose && /*#__PURE__*/(0, _jsxRuntime.jsx)(_IconButton["default"], {
|
|
167
248
|
"aria-label": closeLabel,
|
|
168
249
|
size: "small",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_Close","_Check","_ErrorOutlined","_WarningAmberOutlined","_InfoOutlined","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","VARIANT","info","bg","fg","text","icon","InfoIcon","success","CheckIcon","warning","WarningIcon","error","ErrorIcon","Banner","_ref","_ref$variant","variant","children","title","action","onClose","_ref$closeLabel","closeLabel","cfg","Icon","isErr","jsxs","role","sx","display","alignItems","gap","padding","borderRadius","background","color","border","concat","fontSize","jsx","style","marginTop","flexShrink","flex","fontWeight","marginBottom","component","type","onClick","cursor","fontFamily","transition","outline","outlineOffset","label","size","marginRight","_default","exports"],"sources":["../../../src/lib/v2/components/Banner.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport type { SvgIconComponent } from \"@mui/icons-material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport CheckIcon from \"@mui/icons-material/Check\";\r\nimport ErrorIcon from \"@mui/icons-material/ErrorOutlined\";\r\nimport WarningIcon from \"@mui/icons-material/WarningAmberOutlined\";\r\nimport InfoIcon from \"@mui/icons-material/InfoOutlined\";\r\n\r\n/**\r\n * Banner - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Banner\". For persistent system-wide messages\r\n * (network error, maintenance, banner alerts on top of a section).\r\n *\r\n * R-A.2 - Erreur bloquante = role=\"alert\" aria-live=\"assertive\".\r\n * R-F.1 - Focus visible required on the action button.\r\n *\r\n * <Banner variant=\"error\" action={{ label: \"Réessayer\", onClick: retry }}>\r\n * Connexion perdue.\r\n * </Banner>\r\n *\r\n * Localisation (FR / EN / AR):\r\n * - `action.label` is consumer-controlled.\r\n * - `closeLabel` overrides the dismiss button's aria-label\r\n * (default \"Fermer\").\r\n *\r\n * A11y note (WCAG 1.4.3):\r\n * Each variant carries TWO colours - a saturated one for icons + border\r\n * (passes 1.4.11 ≥ 3:1) and a darker -fg one for text (passes 1.4.3\r\n * ≥ 4.5:1) on the soft background. Don't collapse them.\r\n *\r\n * A11y note (live regions, R-A.1 / R-A.2):\r\n * aria-relevant=\"additions text\" is set explicitly. Per WAI-ARIA both\r\n * role=\"alert\" and role=\"status\" imply this default, but real-world\r\n * SR + browser combos (NVDA + Firefox especially) have shipped\r\n * announcement-skipping bugs in the absence of an explicit attribute.\r\n * Defense-in-depth.\r\n */\r\n\r\nexport type BannerVariant = \"info\" | \"success\" | \"warning\" | \"error\";\r\n\r\ninterface BannerVariantConfig {\r\n bg: string;\r\n fg: string;\r\n text: string;\r\n icon: SvgIconComponent;\r\n}\r\n\r\nconst VARIANT: Record<BannerVariant, BannerVariantConfig> = {\r\n info: { bg: \"var(--info-soft)\", fg: \"var(--info)\", text: \"var(--info-fg)\", icon: InfoIcon },\r\n success: { bg: \"var(--success-soft)\", fg: \"var(--success)\", text: \"var(--success-fg)\", icon: CheckIcon },\r\n warning: { bg: \"var(--warning-soft)\", fg: \"var(--warning)\", text: \"var(--warning-fg)\", icon: WarningIcon },\r\n error: { bg: \"var(--danger-soft)\", fg: \"var(--danger)\", text: \"var(--danger-fg)\", icon: ErrorIcon },\r\n};\r\n\r\nexport interface BannerAction {\r\n label: React.ReactNode;\r\n onClick?: () => void;\r\n}\r\n\r\nexport interface BannerProps {\r\n variant?: BannerVariant;\r\n children: React.ReactNode;\r\n title?: React.ReactNode;\r\n action?: BannerAction;\r\n onClose?: () => void;\r\n closeLabel?: string;\r\n}\r\n\r\nfunction Banner({\r\n variant = \"info\",\r\n children,\r\n title,\r\n action, // { label, onClick }\r\n onClose, // optional dismissal\r\n closeLabel = \"Fermer\",\r\n}: BannerProps) {\r\n const cfg = VARIANT[variant] || VARIANT.info;\r\n const Icon = cfg.icon;\r\n const isErr = variant === \"error\";\r\n\r\n return (\r\n <Box\r\n role={isErr ? \"alert\" : \"status\"}\r\n aria-live={isErr ? \"assertive\" : \"polite\"}\r\n aria-relevant=\"additions text\"\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"flex-start\",\r\n gap: \"var(--s-3)\",\r\n padding: \"var(--s-3) var(--s-4)\",\r\n borderRadius: \"var(--r-md)\",\r\n background: cfg.bg,\r\n // Body text inherits this colour - keep at standard --fg for\r\n // maximum legibility (the soft bg is light, --fg is the darkest).\r\n color: \"var(--fg)\",\r\n // Border on the saturated variant colour - meets 1.4.11.\r\n border: `1px solid ${cfg.fg}`,\r\n fontSize: \"var(--text-sm)\",\r\n }}\r\n >\r\n <Icon\r\n fontSize=\"small\"\r\n aria-hidden=\"true\"\r\n // Icon stays on cfg.fg - passes 1.4.11 (≥ 3:1) for non-text UI.\r\n sx={{ color: cfg.fg }}\r\n // Optical alignment of the icon with the first text line -\r\n // deliberate non-token value (not a spacing token concern).\r\n style={{ marginTop: 2, flexShrink: 0 }}\r\n />\r\n <Box sx={{ flex: 1 }}>\r\n {title && (\r\n // Title uses cfg.text - passes 1.4.3 (≥ 4.5:1) on cfg.bg.\r\n <Box sx={{ fontWeight: \"var(--fw-semibold)\", marginBottom: \"var(--s-1)\", color: cfg.text }}>\r\n {title}\r\n </Box>\r\n )}\r\n <Box>{children}</Box>\r\n </Box>\r\n {action && (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={action.onClick}\r\n sx={{\r\n background: \"transparent\",\r\n // Border + text both on cfg.text so the button label is\r\n // legible (1.4.3) AND the border is visible (1.4.11).\r\n border: `1px solid ${cfg.text}`,\r\n color: cfg.text,\r\n padding: \"var(--s-1) var(--s-3)\",\r\n borderRadius: \"var(--r-sm)\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n cursor: \"pointer\",\r\n fontFamily: \"inherit\",\r\n transition: \"background var(--duration-fast) ease\",\r\n \"&:hover\": {\r\n background: \"color-mix(in srgb, currentColor 10%, transparent)\",\r\n },\r\n // R-F.1 - focus-visible required, charter §05.\r\n \"&:focus-visible\": {\r\n outline: \"2px solid currentColor\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n }}\r\n >\r\n {action.label}\r\n </Box>\r\n )}\r\n {onClose && (\r\n <IconButton\r\n aria-label={closeLabel}\r\n size=\"small\"\r\n onClick={onClose}\r\n // Close icon is non-text UI - cfg.fg is fine (1.4.11).\r\n sx={{ color: cfg.fg, marginRight: \"calc(-1 * var(--s-1))\" }}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default Banner;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Banner.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_IconButton","_Close","_Check","_ErrorOutlined","_WarningAmberOutlined","_InfoOutlined","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","VARIANT","info","bg","fg","text","icon","InfoIcon","success","CheckIcon","warning","WarningIcon","error","ErrorIcon","BannerActionButton","_ref","action","color","emphasis","isPrimary","jsxs","component","type","onClick","sx","display","alignItems","gap","background","border","concat","padding","borderRadius","fontSize","fontWeight","textDecoration","cursor","fontFamily","whiteSpace","transition","outline","outlineOffset","children","jsx","flexShrink","label","Banner","_ref2","_ref2$variant","variant","title","secondaryAction","onClose","_ref2$closeLabel","closeLabel","cfg","Icon","isErr","role","style","marginTop","flex","marginBottom","size","marginRight","_default","exports"],"sources":["../../../src/lib/v2/components/Banner.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport type { SvgIconComponent } from \"@mui/icons-material\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport CheckIcon from \"@mui/icons-material/Check\";\r\nimport ErrorIcon from \"@mui/icons-material/ErrorOutlined\";\r\nimport WarningIcon from \"@mui/icons-material/WarningAmberOutlined\";\r\nimport InfoIcon from \"@mui/icons-material/InfoOutlined\";\r\n\r\n/**\r\n * Banner - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"Banner\". For persistent system-wide messages\r\n * (network error, maintenance, banner alerts on top of a section).\r\n *\r\n * R-A.2 - Erreur bloquante = role=\"alert\" aria-live=\"assertive\".\r\n * R-F.1 - Focus visible required on the action button.\r\n *\r\n * <Banner variant=\"error\" action={{ label: \"Réessayer\", onClick: retry }}>\r\n * Connexion perdue.\r\n * </Banner>\r\n *\r\n * Action cluster (capability gap G-19)\r\n * ------------------------------------\r\n * `action` is the primary affordance (outlined). `secondaryAction` is the\r\n * subordinate one (borderless + underlined), rendered to its LEFT per the\r\n * charter's R-M.6 ordering (« action principale à droite, secondaire à gauche »).\r\n * Both accept an optional leading `icon`.\r\n *\r\n * <Banner\r\n * variant=\"info\"\r\n * title=\"Brouillon trouvé\"\r\n * action={{ label: \"Restaurer\", onClick: restore }}\r\n * secondaryAction={{ label: \"Ignorer\", onClick: discard }}\r\n * >\r\n * Une saisie en cours a été détectée sur ce poste.\r\n * </Banner>\r\n *\r\n * WHY THIS WAS ADDED. Banner previously destructured a FIXED prop list with no\r\n * rest spread and supported neither `secondaryAction` nor `action.icon`. Every\r\n * audited module had nonetheless passed them — four dead props in addpe-fe alone\r\n * (its own comments record the discovery) — so the affordances silently did not\r\n * exist: a draft-restore banner offered \"Restaurer\" with NO way to dismiss, and\r\n * error banners lost their intended escape hatch. Props that look supported and\r\n * are dropped in silence are worse than absent ones, because a reviewer reading\r\n * the call site believes the affordance ships.\r\n *\r\n * `onClose` remains a distinct concern: it is DISMISSAL (an ✕ icon-button), not\r\n * an action. Use `secondaryAction` when the second choice carries business\r\n * meaning (\"Ignorer\" clears a draft; \"Retour à la liste\" navigates).\r\n *\r\n * Localisation (FR / EN / AR):\r\n * - `action.label` / `secondaryAction.label` are consumer-controlled.\r\n * - `closeLabel` overrides the dismiss button's aria-label\r\n * (default \"Fermer\").\r\n *\r\n * A11y note (WCAG 1.4.3):\r\n * Each variant carries TWO colours - a saturated one for icons + border\r\n * (passes 1.4.11 ≥ 3:1) and a darker -fg one for text (passes 1.4.3\r\n * ≥ 4.5:1) on the soft background. Don't collapse them.\r\n *\r\n * A11y note (live regions, R-A.1 / R-A.2):\r\n * aria-relevant=\"additions text\" is set explicitly. Per WAI-ARIA both\r\n * role=\"alert\" and role=\"status\" imply this default, but real-world\r\n * SR + browser combos (NVDA + Firefox especially) have shipped\r\n * announcement-skipping bugs in the absence of an explicit attribute.\r\n * Defense-in-depth.\r\n */\r\n\r\nexport type BannerVariant = \"info\" | \"success\" | \"warning\" | \"error\";\r\n\r\ninterface BannerVariantConfig {\r\n bg: string;\r\n fg: string;\r\n text: string;\r\n icon: SvgIconComponent;\r\n}\r\n\r\nconst VARIANT: Record<BannerVariant, BannerVariantConfig> = {\r\n info: { bg: \"var(--info-soft)\", fg: \"var(--info)\", text: \"var(--info-fg)\", icon: InfoIcon },\r\n success: { bg: \"var(--success-soft)\", fg: \"var(--success)\", text: \"var(--success-fg)\", icon: CheckIcon },\r\n warning: { bg: \"var(--warning-soft)\", fg: \"var(--warning)\", text: \"var(--warning-fg)\", icon: WarningIcon },\r\n error: { bg: \"var(--danger-soft)\", fg: \"var(--danger)\", text: \"var(--danger-fg)\", icon: ErrorIcon },\r\n};\r\n\r\nexport interface BannerAction {\r\n label: React.ReactNode;\r\n onClick?: (() => void) | undefined;\r\n /**\r\n * Optional leading icon. Rendered `aria-hidden` — the label carries the\r\n * accessible name (R-Ar.2), so an icon-only banner action is not supported by\r\n * design: a banner action must read as a verb+object CTA (§09.2).\r\n */\r\n icon?: React.ReactNode | undefined;\r\n}\r\n\r\nexport interface BannerProps {\r\n variant?: BannerVariant | undefined;\r\n children: React.ReactNode;\r\n title?: React.ReactNode | undefined;\r\n /** Primary affordance — outlined, rendered rightmost of the cluster. */\r\n action?: BannerAction | undefined;\r\n /** Subordinate affordance — borderless, rendered LEFT of `action` (R-M.6). */\r\n secondaryAction?: BannerAction | undefined;\r\n onClose?: (() => void) | undefined;\r\n closeLabel?: string | undefined;\r\n}\r\n\r\n/**\r\n * One button of the action cluster. Extracted rather than duplicated: the two\r\n * emphases differ only by border and underline, and a second inline copy of a\r\n * 25-line `sx` block is exactly how the focus-visible and contrast guarantees\r\n * below drift apart.\r\n *\r\n * Colour is `cfg.text` for BOTH border and label — it passes 1.4.3 (≥ 4.5:1) as\r\n * text and 1.4.11 (≥ 3:1) as a UI boundary on the soft background. Do not swap\r\n * it for `cfg.fg`, which only clears the non-text threshold.\r\n */\r\nfunction BannerActionButton({\r\n action,\r\n color,\r\n emphasis,\r\n}: {\r\n action: BannerAction;\r\n color: string;\r\n emphasis: \"primary\" | \"secondary\";\r\n}) {\r\n const isPrimary = emphasis === \"primary\";\r\n return (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n onClick={action.onClick}\r\n sx={{\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n background: \"transparent\",\r\n /* Transparent border on the secondary keeps both buttons on the same\r\n * baseline and the same height — without it the cluster jitters. */\r\n border: `1px solid ${isPrimary ? color : \"transparent\"}`,\r\n color,\r\n padding: \"var(--s-1) var(--s-3)\",\r\n borderRadius: \"var(--r-sm)\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n textDecoration: isPrimary ? \"none\" : \"underline\",\r\n cursor: \"pointer\",\r\n fontFamily: \"inherit\",\r\n whiteSpace: \"nowrap\",\r\n transition: \"background var(--duration-fast) ease\",\r\n \"&:hover\": {\r\n background: \"color-mix(in srgb, currentColor 10%, transparent)\",\r\n },\r\n // R-F.1 - focus-visible required, charter §05.\r\n \"&:focus-visible\": {\r\n outline: \"2px solid currentColor\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n }}\r\n >\r\n {action.icon && (\r\n <Box\r\n component=\"span\"\r\n aria-hidden=\"true\"\r\n sx={{\r\n display: \"inline-flex\",\r\n flexShrink: 0,\r\n /* Normalise a consumer-supplied MUI icon (24px by default) onto the\r\n * label's optical scale. --text-h3 is the 16px token. */\r\n \"& > *\": { fontSize: \"var(--text-h3)\" },\r\n }}\r\n >\r\n {action.icon}\r\n </Box>\r\n )}\r\n {action.label}\r\n </Box>\r\n );\r\n}\r\n\r\nfunction Banner({\r\n variant = \"info\",\r\n children,\r\n title,\r\n action, // { label, onClick, icon } — primary\r\n secondaryAction, // { label, onClick, icon } — subordinate (G-19)\r\n onClose, // optional dismissal (✕), distinct from an action\r\n closeLabel = \"Fermer\",\r\n}: BannerProps) {\r\n const cfg = VARIANT[variant] || VARIANT.info;\r\n const Icon = cfg.icon;\r\n const isErr = variant === \"error\";\r\n\r\n return (\r\n <Box\r\n role={isErr ? \"alert\" : \"status\"}\r\n aria-live={isErr ? \"assertive\" : \"polite\"}\r\n aria-relevant=\"additions text\"\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"flex-start\",\r\n gap: \"var(--s-3)\",\r\n padding: \"var(--s-3) var(--s-4)\",\r\n borderRadius: \"var(--r-md)\",\r\n background: cfg.bg,\r\n // Body text inherits this colour - keep at standard --fg for\r\n // maximum legibility (the soft bg is light, --fg is the darkest).\r\n color: \"var(--fg)\",\r\n // Border on the saturated variant colour - meets 1.4.11.\r\n border: `1px solid ${cfg.fg}`,\r\n fontSize: \"var(--text-sm)\",\r\n }}\r\n >\r\n <Icon\r\n fontSize=\"small\"\r\n aria-hidden=\"true\"\r\n // Icon stays on cfg.fg - passes 1.4.11 (≥ 3:1) for non-text UI.\r\n sx={{ color: cfg.fg }}\r\n // Optical alignment of the icon with the first text line -\r\n // deliberate non-token value (not a spacing token concern).\r\n style={{ marginTop: 2, flexShrink: 0 }}\r\n />\r\n <Box sx={{ flex: 1 }}>\r\n {title && (\r\n // Title uses cfg.text - passes 1.4.3 (≥ 4.5:1) on cfg.bg.\r\n <Box sx={{ fontWeight: \"var(--fw-semibold)\", marginBottom: \"var(--s-1)\", color: cfg.text }}>\r\n {title}\r\n </Box>\r\n )}\r\n <Box>{children}</Box>\r\n </Box>\r\n {(action || secondaryAction) && (\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n flexShrink: 0,\r\n }}\r\n >\r\n {/* R-M.6 — secondary on the LEFT, primary on the right. */}\r\n {secondaryAction && (\r\n <BannerActionButton\r\n action={secondaryAction}\r\n color={cfg.text}\r\n emphasis=\"secondary\"\r\n />\r\n )}\r\n {action && (\r\n <BannerActionButton\r\n action={action}\r\n color={cfg.text}\r\n emphasis=\"primary\"\r\n />\r\n )}\r\n </Box>\r\n )}\r\n {onClose && (\r\n <IconButton\r\n aria-label={closeLabel}\r\n size=\"small\"\r\n onClick={onClose}\r\n // Close icon is non-text UI - cfg.fg is fine (1.4.11).\r\n sx={{ color: cfg.fg, marginRight: \"calc(-1 * var(--s-1))\" }}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default Banner;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
export interface SectionBusyProps {
|
|
2
2
|
/** SR announcement; appears as aria-label on the inner SVG. */
|
|
3
|
-
label?: string;
|
|
3
|
+
label?: string | undefined;
|
|
4
4
|
/**
|
|
5
5
|
* If false, the overlay backdrop is transparent (still blocks
|
|
6
6
|
* clicks, still announces busy). Use when the section already
|
|
7
7
|
* has a subtle bg and you don't want a double scrim.
|
|
8
8
|
*/
|
|
9
|
-
surface?: boolean;
|
|
9
|
+
surface?: boolean | undefined;
|
|
10
10
|
}
|
|
11
11
|
export declare function SectionBusy({ label, surface }: SectionBusyProps): import("react").JSX.Element;
|
|
12
12
|
export interface PageBusyProps {
|
|
13
13
|
/** SR announcement; appears as aria-label on the inner SVG. */
|
|
14
|
-
label?: string;
|
|
14
|
+
label?: string | undefined;
|
|
15
15
|
}
|
|
16
16
|
export declare function PageBusy({ label }: PageBusyProps): import("react").JSX.Element;
|
|
17
17
|
export default SectionBusy;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Busy.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Busy.tsx"],"names":[],"mappings":"AAmDA,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"Busy.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Busy.tsx"],"names":[],"mappings":"AAmDA,MAAM,WAAW,gBAAgB;IAC/B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,wBAAgB,WAAW,CAAC,EAAE,KAA6B,EAAE,OAAc,EAAE,EAAE,gBAAgB,+BAoB9F;AAED,MAAM,WAAW,aAAa;IAC5B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAED,wBAAgB,QAAQ,CAAC,EAAE,KAA6B,EAAE,EAAE,aAAa,+BAgBxE;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Busy.js","names":["_Box","_interopRequireDefault","require","_Spinner","_jsxRuntime","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","SHARED_OVERLAY_SX","freeze","display","placeItems","background","pointerEvents","SectionBusy","_ref","_ref$label","label","_ref$surface","surface","jsx","role","sx","position","inset","borderRadius","zIndex","children","size","PageBusy","_ref2","_ref2$label","_default","exports"],"sources":["../../../src/lib/v2/components/Busy.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport Spinner from \"./Spinner\";\r\n\r\n/**\r\n * Busy — Portnet UI v2\r\n *\r\n * Charter §04.4 · canonical loading-overlay primitive. Replaces the\r\n * inline PAGE_OVERLAY_SX block that host modules previously froze\r\n * in 15+ feature pages (cf. ms-ti-fe VALIDATION_REPORT §6 — uplift\r\n * pattern catalogued under \"Spinner overlay block\").\r\n *\r\n * Two variants:\r\n *\r\n * <SectionBusy />\r\n * covers the nearest positioned ancestor (parent must have\r\n * `position: relative`). Use when a section/card is waiting on\r\n * data but the rest of the page is still usable.\r\n *\r\n * <PageBusy />\r\n * fixed full-viewport variant. Use when the whole page is\r\n * blocked (e.g. initial fetch, submit-in-flight on a wizard).\r\n *\r\n * Both expose role=\"status\" + aria-live=\"polite\" + aria-busy=\"true\"\r\n * so screen-reader users hear the loading state, and they forward\r\n * the `label` prop to the inner Spinner — that text is announced\r\n * via aria-label on the SVG (R-Ar.1).\r\n *\r\n * Reduced-motion: the Spinner's CSS animation is suppressed under\r\n * `prefers-reduced-motion: reduce` (handled in pui-spinner base\r\n * stylesheet — no per-component duplication).\r\n *\r\n * Usage:\r\n *\r\n * // Section-level (parent has position: relative):\r\n * <Box sx={{ position: \"relative\" }}>\r\n * <ContentThatCanLoad />\r\n * {isLoading && <SectionBusy label=\"Chargement des marchandises\" />}\r\n * </Box>\r\n *\r\n * // Full-page (e.g. wizard during create+navigate):\r\n * {isPageLoading && <PageBusy label=\"Création en cours\" />}\r\n */\r\n\r\nconst SHARED_OVERLAY_SX = Object.freeze({\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n background: \"color-mix(in srgb, var(--bg) 70%, transparent)\",\r\n pointerEvents: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nexport interface SectionBusyProps {\r\n /** SR announcement; appears as aria-label on the inner SVG. */\r\n label?: string;\r\n /**\r\n * If false, the overlay backdrop is transparent (still blocks\r\n * clicks, still announces busy). Use when the section already\r\n * has a subtle bg and you don't want a double scrim.\r\n */\r\n surface?: boolean;\r\n}\r\n\r\nexport function SectionBusy({ label = \"Chargement en cours\", surface = true }: SectionBusyProps) {\r\n return (\r\n <Box\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-busy=\"true\"\r\n sx={{\r\n ...SHARED_OVERLAY_SX,\r\n position: \"absolute\",\r\n inset: 0,\r\n background: surface\r\n ? SHARED_OVERLAY_SX.background\r\n : \"transparent\",\r\n borderRadius: \"var(--r-lg)\",\r\n zIndex: 1,\r\n }}\r\n >\r\n <Spinner size={20} label={label} />\r\n </Box>\r\n );\r\n}\r\n\r\nexport interface PageBusyProps {\r\n /** SR announcement; appears as aria-label on the inner SVG. */\r\n label?: string;\r\n}\r\n\r\nexport function PageBusy({ label = \"Chargement en cours\" }: PageBusyProps) {\r\n return (\r\n <Box\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-busy=\"true\"\r\n sx={{\r\n ...SHARED_OVERLAY_SX,\r\n position: \"fixed\",\r\n inset: 0,\r\n zIndex: \"var(--z-modal, 9999)\",\r\n }}\r\n >\r\n <Spinner size={28} label={label} />\r\n </Box>\r\n );\r\n}\r\n\r\nexport default SectionBusy;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Busy.js","names":["_Box","_interopRequireDefault","require","_Spinner","_jsxRuntime","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","SHARED_OVERLAY_SX","freeze","display","placeItems","background","pointerEvents","SectionBusy","_ref","_ref$label","label","_ref$surface","surface","jsx","role","sx","position","inset","borderRadius","zIndex","children","size","PageBusy","_ref2","_ref2$label","_default","exports"],"sources":["../../../src/lib/v2/components/Busy.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport Spinner from \"./Spinner\";\r\n\r\n/**\r\n * Busy — Portnet UI v2\r\n *\r\n * Charter §04.4 · canonical loading-overlay primitive. Replaces the\r\n * inline PAGE_OVERLAY_SX block that host modules previously froze\r\n * in 15+ feature pages (cf. ms-ti-fe VALIDATION_REPORT §6 — uplift\r\n * pattern catalogued under \"Spinner overlay block\").\r\n *\r\n * Two variants:\r\n *\r\n * <SectionBusy />\r\n * covers the nearest positioned ancestor (parent must have\r\n * `position: relative`). Use when a section/card is waiting on\r\n * data but the rest of the page is still usable.\r\n *\r\n * <PageBusy />\r\n * fixed full-viewport variant. Use when the whole page is\r\n * blocked (e.g. initial fetch, submit-in-flight on a wizard).\r\n *\r\n * Both expose role=\"status\" + aria-live=\"polite\" + aria-busy=\"true\"\r\n * so screen-reader users hear the loading state, and they forward\r\n * the `label` prop to the inner Spinner — that text is announced\r\n * via aria-label on the SVG (R-Ar.1).\r\n *\r\n * Reduced-motion: the Spinner's CSS animation is suppressed under\r\n * `prefers-reduced-motion: reduce` (handled in pui-spinner base\r\n * stylesheet — no per-component duplication).\r\n *\r\n * Usage:\r\n *\r\n * // Section-level (parent has position: relative):\r\n * <Box sx={{ position: \"relative\" }}>\r\n * <ContentThatCanLoad />\r\n * {isLoading && <SectionBusy label=\"Chargement des marchandises\" />}\r\n * </Box>\r\n *\r\n * // Full-page (e.g. wizard during create+navigate):\r\n * {isPageLoading && <PageBusy label=\"Création en cours\" />}\r\n */\r\n\r\nconst SHARED_OVERLAY_SX = Object.freeze({\r\n display: \"grid\",\r\n placeItems: \"center\",\r\n background: \"color-mix(in srgb, var(--bg) 70%, transparent)\",\r\n pointerEvents: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nexport interface SectionBusyProps {\r\n /** SR announcement; appears as aria-label on the inner SVG. */\r\n label?: string | undefined;\r\n /**\r\n * If false, the overlay backdrop is transparent (still blocks\r\n * clicks, still announces busy). Use when the section already\r\n * has a subtle bg and you don't want a double scrim.\r\n */\r\n surface?: boolean | undefined;\r\n}\r\n\r\nexport function SectionBusy({ label = \"Chargement en cours\", surface = true }: SectionBusyProps) {\r\n return (\r\n <Box\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-busy=\"true\"\r\n sx={{\r\n ...SHARED_OVERLAY_SX,\r\n position: \"absolute\",\r\n inset: 0,\r\n background: surface\r\n ? SHARED_OVERLAY_SX.background\r\n : \"transparent\",\r\n borderRadius: \"var(--r-lg)\",\r\n zIndex: 1,\r\n }}\r\n >\r\n <Spinner size={20} label={label} />\r\n </Box>\r\n );\r\n}\r\n\r\nexport interface PageBusyProps {\r\n /** SR announcement; appears as aria-label on the inner SVG. */\r\n label?: string | undefined;\r\n}\r\n\r\nexport function PageBusy({ label = \"Chargement en cours\" }: PageBusyProps) {\r\n return (\r\n <Box\r\n role=\"status\"\r\n aria-live=\"polite\"\r\n aria-busy=\"true\"\r\n sx={{\r\n ...SHARED_OVERLAY_SX,\r\n position: \"fixed\",\r\n inset: 0,\r\n zIndex: \"var(--z-modal, 9999)\",\r\n }}\r\n >\r\n <Spinner size={28} label={label} />\r\n </Box>\r\n );\r\n}\r\n\r\nexport default SectionBusy;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,17 +19,17 @@ type ButtonVariant = "primary" | "secondary" | "ghost" | "danger";
|
|
|
19
19
|
type ButtonSize = "sm" | "md";
|
|
20
20
|
export interface ButtonProps extends Omit<MuiButtonProps, "variant" | "size"> {
|
|
21
21
|
/** Visual variant. @default "secondary" */
|
|
22
|
-
variant?: ButtonVariant;
|
|
22
|
+
variant?: ButtonVariant | undefined;
|
|
23
23
|
/** Charter size — "md" (40px visual) or "sm" (32px visual). @default "md" */
|
|
24
|
-
size?: ButtonSize;
|
|
24
|
+
size?: ButtonSize | undefined;
|
|
25
25
|
/** Leading icon (start adornment). */
|
|
26
|
-
icon?: React.ReactNode;
|
|
26
|
+
icon?: React.ReactNode | undefined;
|
|
27
27
|
/** Trailing icon (end adornment). */
|
|
28
|
-
iconRight?: React.ReactNode;
|
|
28
|
+
iconRight?: React.ReactNode | undefined;
|
|
29
29
|
/** Icon-only button — requires `aria-label` (charter R-B.5). @default false */
|
|
30
|
-
iconOnly?: boolean;
|
|
30
|
+
iconOnly?: boolean | undefined;
|
|
31
31
|
/** Show an inline spinner and disable interaction. @default false */
|
|
32
|
-
loading?: boolean;
|
|
32
|
+
loading?: boolean | undefined;
|
|
33
33
|
}
|
|
34
34
|
declare const Button: React.ForwardRefExoticComponent<Omit<ButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
|
|
35
35
|
export default Button;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI1E;;;;;;;;;;;;;;GAcG;AACH,KAAK,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAClE,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAiB9B,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3E,2CAA2C;IAC3C,OAAO,CAAC,EAAE,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Button.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/components/Button.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,WAAW,IAAI,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAI1E;;;;;;;;;;;;;;GAcG;AACH,KAAK,aAAa,GAAG,SAAS,GAAG,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC;AAClE,KAAK,UAAU,GAAG,IAAI,GAAG,IAAI,CAAC;AAiB9B,MAAM,WAAW,WAAY,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,MAAM,CAAC;IAC3E,2CAA2C;IAC3C,OAAO,CAAC,EAAE,aAAa,GAAG,SAAS,CAAC;IACpC,6EAA6E;IAC7E,IAAI,CAAC,EAAE,UAAU,GAAG,SAAS,CAAC;IAC9B,sCAAsC;IACtC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,qCAAqC;IACrC,SAAS,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACxC,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,QAAA,MAAM,MAAM,oGAoEV,CAAC;AAEH,eAAe,MAAM,CAAC"}
|