@portnet/ui 6.0.0 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -0
- package/dist/esm/index.js +214 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +159 -0
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +143 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +265 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +248 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +380 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +332 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/esm/v2/__tests__/apiError.test.js +181 -0
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +146 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +230 -0
- package/dist/esm/v2/components/Accordion.js.map +1 -0
- package/dist/esm/v2/components/ActionStrip.js +146 -0
- package/dist/esm/v2/components/ActionStrip.js.map +1 -0
- package/dist/esm/v2/components/Banner.js +254 -0
- package/dist/esm/v2/components/Banner.js.map +1 -0
- package/dist/esm/v2/components/Busy.js +97 -0
- package/dist/esm/v2/components/Busy.js.map +1 -0
- package/dist/esm/v2/components/Button.js +114 -0
- package/dist/esm/v2/components/Button.js.map +1 -0
- package/dist/esm/v2/components/CategoryTag.js +81 -0
- package/dist/esm/v2/components/CategoryTag.js.map +1 -0
- package/dist/esm/v2/components/Checkbox.js +124 -0
- package/dist/esm/v2/components/Checkbox.js.map +1 -0
- package/dist/esm/v2/components/Chip.js +124 -0
- package/dist/esm/v2/components/Chip.js.map +1 -0
- package/dist/esm/v2/components/Combobox.js +394 -0
- package/dist/esm/v2/components/Combobox.js.map +1 -0
- package/dist/esm/v2/components/CommandPalette.js +660 -0
- package/dist/esm/v2/components/CommandPalette.js.map +1 -0
- package/dist/esm/v2/components/ConfirmDialog.js +144 -0
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/esm/v2/components/DatePicker.js +200 -0
- package/dist/esm/v2/components/DatePicker.js.map +1 -0
- package/dist/esm/v2/components/DateRangePicker.js +289 -0
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
- package/dist/esm/v2/components/DateTimePicker.js +215 -0
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
- package/dist/esm/v2/components/Drawer.js +333 -0
- package/dist/esm/v2/components/Drawer.js.map +1 -0
- package/dist/esm/v2/components/Dropzone.js +540 -0
- package/dist/esm/v2/components/Dropzone.js.map +1 -0
- package/dist/esm/v2/components/EmptyState.js +102 -0
- package/dist/esm/v2/components/EmptyState.js.map +1 -0
- package/dist/esm/v2/components/FavoriteToggle.js +127 -0
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/esm/v2/components/Field.js +259 -0
- package/dist/esm/v2/components/Field.js.map +1 -0
- package/dist/esm/v2/components/FieldError.js +124 -0
- package/dist/esm/v2/components/FieldError.js.map +1 -0
- package/dist/esm/v2/components/FieldHelp.js +202 -0
- package/dist/esm/v2/components/FieldHelp.js.map +1 -0
- package/dist/esm/v2/components/FileCard.js +162 -0
- package/dist/esm/v2/components/FileCard.js.map +1 -0
- package/dist/esm/v2/components/FilterTab.js +138 -0
- package/dist/esm/v2/components/FilterTab.js.map +1 -0
- package/dist/esm/v2/components/ForbiddenPage.js +74 -0
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/esm/v2/components/FormGrid.js +179 -0
- package/dist/esm/v2/components/FormGrid.js.map +1 -0
- package/dist/esm/v2/components/FormikDisplay.js +118 -0
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
- package/dist/esm/v2/components/Input.js +107 -0
- package/dist/esm/v2/components/Input.js.map +1 -0
- package/dist/esm/v2/components/KPICard.js +237 -0
- package/dist/esm/v2/components/KPICard.js.map +1 -0
- package/dist/esm/v2/components/KPIStrip.js +84 -0
- package/dist/esm/v2/components/KPIStrip.js.map +1 -0
- package/dist/esm/v2/components/KV.js +75 -0
- package/dist/esm/v2/components/KV.js.map +1 -0
- package/dist/esm/v2/components/KVGrid.js +74 -0
- package/dist/esm/v2/components/KVGrid.js.map +1 -0
- package/dist/esm/v2/components/Layout.js +284 -0
- package/dist/esm/v2/components/Layout.js.map +1 -0
- package/dist/esm/v2/components/MobileRowCard.js +314 -0
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
- package/dist/esm/v2/components/Modal.js +276 -0
- package/dist/esm/v2/components/Modal.js.map +1 -0
- package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/esm/v2/components/NotFoundPage.js +58 -0
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
- package/dist/esm/v2/components/NumberInput.js +309 -0
- package/dist/esm/v2/components/NumberInput.js.map +1 -0
- package/dist/esm/v2/components/OverflowMenu.js +184 -0
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
- package/dist/esm/v2/components/PdfViewer.js +122 -0
- package/dist/esm/v2/components/PdfViewer.js.map +1 -0
- package/dist/esm/v2/components/ProgressBar.js +202 -0
- package/dist/esm/v2/components/ProgressBar.js.map +1 -0
- package/dist/esm/v2/components/Radio.js +228 -0
- package/dist/esm/v2/components/Radio.js.map +1 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/esm/v2/components/SectionHeader.js +132 -0
- package/dist/esm/v2/components/SectionHeader.js.map +1 -0
- package/dist/esm/v2/components/Segmented.js +254 -0
- package/dist/esm/v2/components/Segmented.js.map +1 -0
- package/dist/esm/v2/components/Select.js +490 -0
- package/dist/esm/v2/components/Select.js.map +1 -0
- package/dist/esm/v2/components/ServerErrorPage.js +74 -0
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/esm/v2/components/Skeleton.js +269 -0
- package/dist/esm/v2/components/Skeleton.js.map +1 -0
- package/dist/esm/v2/components/SkipLink.js +49 -0
- package/dist/esm/v2/components/SkipLink.js.map +1 -0
- package/dist/esm/v2/components/Spinner.js +69 -0
- package/dist/esm/v2/components/Spinner.js.map +1 -0
- package/dist/esm/v2/components/Status.js +64 -0
- package/dist/esm/v2/components/Status.js.map +1 -0
- package/dist/esm/v2/components/Stepper.js +432 -0
- package/dist/esm/v2/components/Stepper.js.map +1 -0
- package/dist/esm/v2/components/Surface.js +159 -0
- package/dist/esm/v2/components/Surface.js.map +1 -0
- package/dist/esm/v2/components/Switch.js +128 -0
- package/dist/esm/v2/components/Switch.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +150 -0
- package/dist/esm/v2/components/Tabs.js.map +1 -0
- package/dist/esm/v2/components/TelInput.js +274 -0
- package/dist/esm/v2/components/TelInput.js.map +1 -0
- package/dist/esm/v2/components/Textarea.js +72 -0
- package/dist/esm/v2/components/Textarea.js.map +1 -0
- package/dist/esm/v2/components/TimePicker.js +134 -0
- package/dist/esm/v2/components/TimePicker.js.map +1 -0
- package/dist/esm/v2/components/Toast.js +376 -0
- package/dist/esm/v2/components/Toast.js.map +1 -0
- package/dist/esm/v2/components/Tooltip.js +161 -0
- package/dist/esm/v2/components/Tooltip.js.map +1 -0
- package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/esm/v2/components/_pickerShared.js +60 -0
- package/dist/esm/v2/components/_pickerShared.js.map +1 -0
- package/dist/esm/v2/components/index.js +271 -0
- package/dist/esm/v2/components/index.js.map +1 -0
- package/dist/esm/v2/hooks/index.js +10 -0
- package/dist/esm/v2/hooks/index.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/esm/v2/hooks/useDensity.js +119 -0
- package/dist/esm/v2/hooks/useDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useSortedRows.js +32 -0
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/esm/v2/hooks/useTabLoading.js +79 -0
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/esm/v2/index.js +132 -0
- package/dist/esm/v2/index.js.map +1 -0
- package/dist/esm/v2/modalContext.js +108 -0
- package/dist/esm/v2/modalContext.js.map +1 -0
- package/dist/esm/v2/models/favorite.js +2 -0
- package/dist/esm/v2/models/favorite.js.map +1 -0
- package/dist/esm/v2/models/index.js +12 -0
- package/dist/esm/v2/models/index.js.map +1 -0
- package/dist/esm/v2/models/personalization.js +2 -0
- package/dist/esm/v2/models/personalization.js.map +1 -0
- package/dist/esm/v2/models/referentiel.js +2 -0
- package/dist/esm/v2/models/referentiel.js.map +1 -0
- package/dist/esm/v2/models/savedFilter.js +2 -0
- package/dist/esm/v2/models/savedFilter.js.map +1 -0
- package/dist/esm/v2/patterns/ActionBar.js +603 -0
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/esm/v2/patterns/DataGrid.js +820 -0
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +117 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormPageShell.js +126 -0
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/FormSection.js +190 -0
- package/dist/esm/v2/patterns/FormSection.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js +140 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCombobox.js +118 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +162 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +150 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +148 -0
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
- package/dist/esm/v2/patterns/FormikInput.js +130 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js +141 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/FormikSelect.js +162 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +79 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +212 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/esm/v2/patterns/PageContent.js +62 -0
- package/dist/esm/v2/patterns/PageContent.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +615 -0
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +122 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/SortableHeader.js +179 -0
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/esm/v2/patterns/Tour.js +471 -0
- package/dist/esm/v2/patterns/Tour.js.map +1 -0
- package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js +74 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +112 -0
- package/dist/esm/v2/patterns/_sort.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +178 -0
- package/dist/esm/v2/patterns/index.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/index.js +11 -0
- package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +209 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +22 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/esm/v2/personalization/index.js +64 -0
- package/dist/esm/v2/personalization/index.js.map +1 -0
- package/dist/esm/v2/personalization/personalizationContext.js +108 -0
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/esm/v2/personalization/schema.js +92 -0
- package/dist/esm/v2/personalization/schema.js.map +1 -0
- package/dist/esm/v2/personalization/types.js +2 -0
- package/dist/esm/v2/personalization/types.js.map +1 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/esm/v2/referentiel/index.js +15 -0
- package/dist/esm/v2/referentiel/index.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/esm/v2/styles/base.css +425 -0
- package/dist/esm/v2/styles/css.d.ts +10 -0
- package/dist/esm/v2/styles/index.js +12 -0
- package/dist/esm/v2/styles/index.js.map +1 -0
- package/dist/esm/v2/theme/_brand.js +64 -0
- package/dist/esm/v2/theme/_brand.js.map +1 -0
- package/dist/esm/v2/theme/_brandSecondary.js +60 -0
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/esm/v2/theme/cssVariables.js +198 -0
- package/dist/esm/v2/theme/cssVariables.js.map +1 -0
- package/dist/esm/v2/theme/index.js +32 -0
- package/dist/esm/v2/theme/index.js.map +1 -0
- package/dist/esm/v2/tokens/breakpoints.js +106 -0
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +219 -0
- package/dist/esm/v2/tokens/colors.js.map +1 -0
- package/dist/esm/v2/tokens/density.js +98 -0
- package/dist/esm/v2/tokens/density.js.map +1 -0
- package/dist/esm/v2/tokens/index.js +80 -0
- package/dist/esm/v2/tokens/index.js.map +1 -0
- package/dist/esm/v2/tokens/motion.js +88 -0
- package/dist/esm/v2/tokens/motion.js.map +1 -0
- package/dist/esm/v2/tokens/radius.js +22 -0
- package/dist/esm/v2/tokens/radius.js.map +1 -0
- package/dist/esm/v2/tokens/shadows.js +40 -0
- package/dist/esm/v2/tokens/shadows.js.map +1 -0
- package/dist/esm/v2/tokens/spacing.js +51 -0
- package/dist/esm/v2/tokens/spacing.js.map +1 -0
- package/dist/esm/v2/tokens/state.js +41 -0
- package/dist/esm/v2/tokens/state.js.map +1 -0
- package/dist/esm/v2/tokens/statusPalette.js +66 -0
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
- package/dist/esm/v2/tokens/tokens.json +153 -0
- package/dist/esm/v2/tokens/typography.js +149 -0
- package/dist/esm/v2/tokens/typography.js.map +1 -0
- package/dist/esm/v2/tokens/zIndex.js +44 -0
- package/dist/esm/v2/tokens/zIndex.js.map +1 -0
- package/dist/esm/v2/types/common.js +2 -0
- package/dist/esm/v2/types/common.js.map +1 -0
- package/dist/esm/v2/types/datagrid.js +2 -0
- package/dist/esm/v2/types/datagrid.js.map +1 -0
- package/dist/esm/v2/types/index.js +12 -0
- package/dist/esm/v2/types/index.js.map +1 -0
- package/dist/esm/v2/utils/apiError.js +281 -0
- package/dist/esm/v2/utils/apiError.js.map +1 -0
- package/dist/esm/v2/utils/contrast.js +157 -0
- package/dist/esm/v2/utils/contrast.js.map +1 -0
- package/dist/esm/v2/utils/cx.js +38 -0
- package/dist/esm/v2/utils/cx.js.map +1 -0
- package/dist/esm/v2/utils/fileDownload.js +226 -0
- package/dist/esm/v2/utils/fileDownload.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +78 -0
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
- package/dist/esm/v2/utils/index.js +43 -0
- package/dist/esm/v2/utils/index.js.map +1 -0
- package/dist/esm/v2/utils/mergeLabels.js +86 -0
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
- package/dist/esm/v2/utils/networkStatus.js +114 -0
- package/dist/esm/v2/utils/networkStatus.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/FieldError.test.js +160 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +150 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +144 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js +268 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +247 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +381 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +52 -56
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +20 -24
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/components/Accordion.d.ts +6 -6
- package/dist/v2/components/Accordion.d.ts.map +1 -1
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.d.ts +12 -12
- package/dist/v2/components/ActionStrip.d.ts.map +1 -1
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.d.ts +48 -9
- package/dist/v2/components/Banner.d.ts.map +1 -1
- package/dist/v2/components/Banner.js +116 -35
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.d.ts +3 -3
- package/dist/v2/components/Busy.d.ts.map +1 -1
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.d.ts +6 -6
- package/dist/v2/components/Button.d.ts.map +1 -1
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts +3 -3
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.d.ts +11 -11
- package/dist/v2/components/Checkbox.d.ts.map +1 -1
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.d.ts +8 -8
- package/dist/v2/components/Chip.d.ts.map +1 -1
- package/dist/v2/components/Chip.js +2 -1
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.d.ts +27 -27
- package/dist/v2/components/Combobox.d.ts.map +1 -1
- package/dist/v2/components/Combobox.js +3 -2
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.d.ts +20 -20
- package/dist/v2/components/CommandPalette.d.ts.map +1 -1
- package/dist/v2/components/CommandPalette.js +2 -6
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.d.ts +13 -13
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +2 -1
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.d.ts +11 -11
- package/dist/v2/components/DatePicker.d.ts.map +1 -1
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.d.ts +16 -16
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
- package/dist/v2/components/DateRangePicker.js +2 -1
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts +11 -11
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +37 -4
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts +18 -18
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +2 -1
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.d.ts +34 -34
- package/dist/v2/components/Dropzone.d.ts.map +1 -1
- package/dist/v2/components/Dropzone.js +11 -3
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.d.ts +7 -7
- package/dist/v2/components/EmptyState.d.ts.map +1 -1
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.d.ts +7 -7
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +2 -1
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +76 -13
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +87 -9
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.d.ts +78 -0
- package/dist/v2/components/FieldError.d.ts.map +1 -0
- package/dist/v2/components/FieldError.js +131 -0
- package/dist/v2/components/FieldError.js.map +1 -0
- package/dist/v2/components/FieldHelp.d.ts +7 -7
- package/dist/v2/components/FieldHelp.d.ts.map +1 -1
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.d.ts +75 -0
- package/dist/v2/components/FileCard.d.ts.map +1 -0
- package/dist/v2/components/FileCard.js +169 -0
- package/dist/v2/components/FileCard.js.map +1 -0
- package/dist/v2/components/FilterTab.d.ts +9 -9
- package/dist/v2/components/FilterTab.d.ts.map +1 -1
- package/dist/v2/components/FilterTab.js +2 -1
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/FormGrid.d.ts +9 -4
- package/dist/v2/components/FormGrid.d.ts.map +1 -1
- package/dist/v2/components/FormGrid.js +11 -1
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +6 -6
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +6 -6
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.d.ts +43 -13
- package/dist/v2/components/KPICard.d.ts.map +1 -1
- package/dist/v2/components/KPICard.js +53 -14
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.d.ts +68 -0
- package/dist/v2/components/KPIStrip.d.ts.map +1 -0
- package/dist/v2/components/KPIStrip.js +92 -0
- package/dist/v2/components/KPIStrip.js.map +1 -0
- package/dist/v2/components/KV.d.ts +3 -3
- package/dist/v2/components/KV.d.ts.map +1 -1
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.d.ts +2 -2
- package/dist/v2/components/KVGrid.d.ts.map +1 -1
- package/dist/v2/components/KVGrid.js +8 -1
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.d.ts +7 -7
- package/dist/v2/components/Layout.d.ts.map +1 -1
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.d.ts +13 -13
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.d.ts +12 -12
- package/dist/v2/components/Modal.d.ts.map +1 -1
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NumberInput.d.ts +14 -14
- package/dist/v2/components/NumberInput.d.ts.map +1 -1
- package/dist/v2/components/NumberInput.js +7 -6
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.d.ts +14 -14
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
- package/dist/v2/components/OverflowMenu.js +4 -8
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.d.ts +9 -9
- package/dist/v2/components/PdfViewer.d.ts.map +1 -1
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.d.ts +10 -10
- package/dist/v2/components/ProgressBar.d.ts.map +1 -1
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.d.ts +7 -7
- package/dist/v2/components/Radio.d.ts.map +1 -1
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
- package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
- package/dist/v2/components/SectionErrorBoundary.js +221 -0
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/v2/components/SectionHeader.d.ts +5 -5
- package/dist/v2/components/SectionHeader.d.ts.map +1 -1
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.d.ts +11 -11
- package/dist/v2/components/Segmented.d.ts.map +1 -1
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +33 -15
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +147 -30
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.d.ts +15 -15
- package/dist/v2/components/Skeleton.d.ts.map +1 -1
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.d.ts +2 -2
- package/dist/v2/components/SkipLink.d.ts.map +1 -1
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Status.d.ts +3 -3
- package/dist/v2/components/Status.d.ts.map +1 -1
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.d.ts +28 -22
- package/dist/v2/components/Stepper.d.ts.map +1 -1
- package/dist/v2/components/Stepper.js +31 -5
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.d.ts +94 -0
- package/dist/v2/components/Surface.d.ts.map +1 -0
- package/dist/v2/components/Surface.js +163 -0
- package/dist/v2/components/Surface.js.map +1 -0
- package/dist/v2/components/Switch.d.ts +4 -4
- package/dist/v2/components/Switch.d.ts.map +1 -1
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/Tabs.d.ts +6 -6
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.d.ts +8 -8
- package/dist/v2/components/TelInput.d.ts.map +1 -1
- package/dist/v2/components/TelInput.js +18 -18
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.d.ts +1 -1
- package/dist/v2/components/Textarea.d.ts.map +1 -1
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.d.ts +11 -11
- package/dist/v2/components/TimePicker.d.ts.map +1 -1
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.d.ts +6 -6
- package/dist/v2/components/Toast.d.ts.map +1 -1
- package/dist/v2/components/Toast.js +9 -8
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.d.ts +1 -1
- package/dist/v2/components/Tooltip.d.ts.map +1 -1
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/index.d.ts +170 -0
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +35 -0
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +1 -1
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +13 -13
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +11 -11
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -8
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.d.ts +33 -33
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/ActionBar.js +2 -1
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/BulkActionBar.js +2 -1
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +4 -8
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +2 -1
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.d.ts +15 -15
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +14 -61
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +2 -1
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.d.ts +4 -4
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +19 -8
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +106 -71
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +147 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +18 -12
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +5 -2
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +48 -8
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +58 -65
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
- package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDateTimePicker.js +158 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikFile.d.ts +8 -8
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +51 -6
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +53 -2
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
- package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikRadioGroup.js +148 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +41 -12
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +32 -3
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +14 -6
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +5 -2
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +21 -8
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +27 -14
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.d.ts +3 -3
- package/dist/v2/patterns/PageContent.d.ts.map +1 -1
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/ReferentielField.d.ts +49 -49
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +2 -1
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +92 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +9 -8
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.d.ts +12 -12
- package/dist/v2/patterns/Tour.d.ts.map +1 -1
- package/dist/v2/patterns/Tour.js +9 -8
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +37 -3
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +81 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/index.d.ts +114 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +34 -0
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +215 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +6 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +13 -0
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +18 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +13 -0
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/schema.d.ts +2 -2
- package/dist/v2/personalization/schema.d.ts.map +1 -1
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/personalization/types.d.ts +19 -19
- package/dist/v2/personalization/types.d.ts.map +1 -1
- package/dist/v2/personalization/types.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +25 -1
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +59 -59
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/utils/apiError.d.ts +65 -4
- package/dist/v2/utils/apiError.d.ts.map +1 -1
- package/dist/v2/utils/apiError.js +69 -6
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/index.d.ts +1 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +7 -0
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.d.ts +59 -0
- package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
- package/dist/v2/utils/mergeLabels.js +93 -0
- package/dist/v2/utils/mergeLabels.js.map +1 -0
- package/package.json +23 -15
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
import * as React from "react";
|
|
8
|
+
import Box from "@mui/material/Box";
|
|
9
|
+
import { mergeLabels } from "../utils/mergeLabels";
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* FilterTab - Portnet UI v2
|
|
13
|
+
*
|
|
14
|
+
* Charter §03 · Component "FilterTabs". Pills used to quickly filter a list
|
|
15
|
+
* by status, with an active-state count and pop animation on update.
|
|
16
|
+
*
|
|
17
|
+
* <FilterTab active={filter === "all"} count={42} onClick={() => setFilter("all")}>
|
|
18
|
+
* Tous
|
|
19
|
+
* </FilterTab>
|
|
20
|
+
*
|
|
21
|
+
* Localisation (FR / EN / AR):
|
|
22
|
+
* <FilterTab labels={{
|
|
23
|
+
* countLabel: (n) => `${n} items`,
|
|
24
|
+
* shortcutHint: (s) => `Shortcut: ${s}`,
|
|
25
|
+
* }} ... />
|
|
26
|
+
*/
|
|
27
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
28
|
+
// Module-scoped to avoid Temporal Dead Zone when an invalid `variant` is
|
|
29
|
+
// passed: a local-const initialiser referencing palette.neutral before
|
|
30
|
+
// palette finished initialising would throw ReferenceError.
|
|
31
|
+
var PALETTES = {
|
|
32
|
+
neutral: {
|
|
33
|
+
activeBg: "var(--accent-soft)",
|
|
34
|
+
activeFg: "var(--accent)"
|
|
35
|
+
},
|
|
36
|
+
"new": {
|
|
37
|
+
activeBg: "var(--status-new-soft)",
|
|
38
|
+
activeFg: "var(--status-new-fg)"
|
|
39
|
+
},
|
|
40
|
+
sent: {
|
|
41
|
+
activeBg: "var(--status-sent-soft)",
|
|
42
|
+
activeFg: "var(--status-sent-fg)"
|
|
43
|
+
},
|
|
44
|
+
pending: {
|
|
45
|
+
activeBg: "var(--status-pending-soft)",
|
|
46
|
+
activeFg: "var(--status-pending-fg)"
|
|
47
|
+
},
|
|
48
|
+
approved: {
|
|
49
|
+
activeBg: "var(--status-approved-soft)",
|
|
50
|
+
activeFg: "var(--status-approved-fg)"
|
|
51
|
+
},
|
|
52
|
+
rejected: {
|
|
53
|
+
activeBg: "var(--status-rejected-soft)",
|
|
54
|
+
activeFg: "var(--status-rejected-fg)"
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
var DEFAULT_LABELS = Object.freeze({
|
|
58
|
+
countLabel: function countLabel(n) {
|
|
59
|
+
return "".concat(n, " \xE9l\xE9ments");
|
|
60
|
+
},
|
|
61
|
+
shortcutHint: function shortcutHint(s) {
|
|
62
|
+
return "Raccourci : ".concat(s);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
function FilterTab(_ref) {
|
|
66
|
+
var _ref$active = _ref.active,
|
|
67
|
+
active = _ref$active === void 0 ? false : _ref$active,
|
|
68
|
+
count = _ref.count,
|
|
69
|
+
_ref$variant = _ref.variant,
|
|
70
|
+
variant = _ref$variant === void 0 ? "neutral" : _ref$variant,
|
|
71
|
+
onClick = _ref.onClick,
|
|
72
|
+
shortcut = _ref.shortcut,
|
|
73
|
+
labels = _ref.labels,
|
|
74
|
+
children = _ref.children;
|
|
75
|
+
var palette = PALETTES[variant] || PALETTES.neutral;
|
|
76
|
+
var L = mergeLabels(DEFAULT_LABELS, labels);
|
|
77
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
78
|
+
component: "button",
|
|
79
|
+
type: "button",
|
|
80
|
+
"aria-pressed": active,
|
|
81
|
+
onClick: onClick,
|
|
82
|
+
title: shortcut ? L.shortcutHint(shortcut) : undefined,
|
|
83
|
+
sx: {
|
|
84
|
+
display: "inline-flex",
|
|
85
|
+
alignItems: "center",
|
|
86
|
+
gap: "var(--s-2)",
|
|
87
|
+
// Compact pill: 5/12 px in literal terms, expressed against
|
|
88
|
+
// the spacing scale so any future rescale propagates.
|
|
89
|
+
padding: "calc(var(--s-1) + 1px) var(--s-3)",
|
|
90
|
+
borderRadius: "var(--r-full)",
|
|
91
|
+
border: "1px solid ".concat(active ? "var(--accent)" : "var(--border)"),
|
|
92
|
+
background: active ? palette.activeBg : "var(--surface)",
|
|
93
|
+
color: active ? palette.activeFg : "var(--fg-muted)",
|
|
94
|
+
fontSize: "var(--text-xs)",
|
|
95
|
+
// Was 650 (banned) / 500. var(--fw-semibold) is the canonical
|
|
96
|
+
// emphasised weight; var(--fw-medium) the resting one.
|
|
97
|
+
fontWeight: active ? "var(--fw-semibold)" : "var(--fw-medium)",
|
|
98
|
+
cursor: "pointer",
|
|
99
|
+
fontFamily: "inherit",
|
|
100
|
+
transition: "background var(--duration-fast, 120ms) ease, " + "color var(--duration-fast, 120ms) ease, " + "border-color var(--duration-fast, 120ms) ease",
|
|
101
|
+
// R-F.1 - focus-visible required, charter §05. The previous
|
|
102
|
+
// implementation had NO focus style; keyboard users got no
|
|
103
|
+
// feedback when tabbing through filter chips.
|
|
104
|
+
"&:focus-visible": {
|
|
105
|
+
outline: "2px solid var(--accent)",
|
|
106
|
+
outlineOffset: "var(--pui-outline-offset)"
|
|
107
|
+
},
|
|
108
|
+
"&:hover": _objectSpread({}, !active ? {
|
|
109
|
+
background: "var(--bg-hover)"
|
|
110
|
+
} : {})
|
|
111
|
+
},
|
|
112
|
+
children: [/*#__PURE__*/_jsx("span", {
|
|
113
|
+
children: children
|
|
114
|
+
}), count != null && /*#__PURE__*/_jsx(Box, {
|
|
115
|
+
component: "span",
|
|
116
|
+
"aria-label": L.countLabel(count),
|
|
117
|
+
sx: {
|
|
118
|
+
display: "inline-block",
|
|
119
|
+
minWidth: 16,
|
|
120
|
+
padding: "0 var(--s-1)",
|
|
121
|
+
fontSize: "var(--text-xs)",
|
|
122
|
+
fontWeight: "var(--fw-bold)",
|
|
123
|
+
// Active keeps the accent emphasis (unchanged). Inactive now
|
|
124
|
+
// takes the variant palette (soft bg + status fg) so status
|
|
125
|
+
// counts stay colour-coded instead of greying out; neutral
|
|
126
|
+
// resolves to accent-soft / accent.
|
|
127
|
+
background: active ? "var(--accent)" : palette.activeBg,
|
|
128
|
+
color: active ? "var(--accent-fg)" : palette.activeFg,
|
|
129
|
+
borderRadius: "var(--r-full)",
|
|
130
|
+
lineHeight: "var(--lh-snug)",
|
|
131
|
+
textAlign: "center"
|
|
132
|
+
},
|
|
133
|
+
children: count
|
|
134
|
+
})]
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
export default FilterTab;
|
|
138
|
+
//# sourceMappingURL=FilterTab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FilterTab.js","names":["React","Box","mergeLabels","jsx","_jsx","jsxs","_jsxs","PALETTES","neutral","activeBg","activeFg","sent","pending","approved","rejected","DEFAULT_LABELS","Object","freeze","countLabel","n","concat","shortcutHint","s","FilterTab","_ref","_ref$active","active","count","_ref$variant","variant","onClick","shortcut","labels","children","palette","L","component","type","title","undefined","sx","display","alignItems","gap","padding","borderRadius","border","background","color","fontSize","fontWeight","cursor","fontFamily","transition","outline","outlineOffset","_objectSpread","minWidth","lineHeight","textAlign"],"sources":["../../../../src/lib/v2/components/FilterTab.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * FilterTab - Portnet UI v2\r\n *\r\n * Charter §03 · Component \"FilterTabs\". Pills used to quickly filter a list\r\n * by status, with an active-state count and pop animation on update.\r\n *\r\n * <FilterTab active={filter === \"all\"} count={42} onClick={() => setFilter(\"all\")}>\r\n * Tous\r\n * </FilterTab>\r\n *\r\n * Localisation (FR / EN / AR):\r\n * <FilterTab labels={{\r\n * countLabel: (n) => `${n} items`,\r\n * shortcutHint: (s) => `Shortcut: ${s}`,\r\n * }} ... />\r\n */\r\n\r\nexport type FilterTabVariant =\r\n | \"neutral\"\r\n | \"new\"\r\n | \"sent\"\r\n | \"pending\"\r\n | \"approved\"\r\n | \"rejected\";\r\n\r\ninterface PaletteEntry {\r\n activeBg: string;\r\n activeFg: string;\r\n}\r\n\r\n// Module-scoped to avoid Temporal Dead Zone when an invalid `variant` is\r\n// passed: a local-const initialiser referencing palette.neutral before\r\n// palette finished initialising would throw ReferenceError.\r\nconst PALETTES: Record<FilterTabVariant, PaletteEntry> = {\r\n neutral: { activeBg: \"var(--accent-soft)\", activeFg: \"var(--accent)\" },\r\n new: { activeBg: \"var(--status-new-soft)\", activeFg: \"var(--status-new-fg)\" },\r\n sent: { activeBg: \"var(--status-sent-soft)\", activeFg: \"var(--status-sent-fg)\" },\r\n pending: { activeBg: \"var(--status-pending-soft)\", activeFg: \"var(--status-pending-fg)\" },\r\n approved: { activeBg: \"var(--status-approved-soft)\", activeFg: \"var(--status-approved-fg)\" },\r\n rejected: { activeBg: \"var(--status-rejected-soft)\", activeFg: \"var(--status-rejected-fg)\" },\r\n};\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n countLabel: (n: number): string => `${n} éléments`,\r\n shortcutHint: (s: string): string => `Raccourci : ${s}`,\r\n});\r\n\r\nexport interface FilterTabLabels {\r\n countLabel?: ((n: number) => string) | undefined;\r\n shortcutHint?: ((s: string) => string) | undefined;\r\n}\r\n\r\nexport interface FilterTabProps {\r\n active?: boolean | undefined;\r\n count?: number | undefined;\r\n /** neutral | new | sent | pending | approved | rejected */\r\n variant?: FilterTabVariant | undefined;\r\n onClick?: React.MouseEventHandler<HTMLButtonElement> | undefined;\r\n shortcut?: string | undefined;\r\n labels?: FilterTabLabels | undefined;\r\n children?: React.ReactNode | undefined;\r\n}\r\n\r\nfunction FilterTab({\r\n active = false,\r\n count,\r\n variant = \"neutral\",\r\n onClick,\r\n shortcut,\r\n labels,\r\n children,\r\n}: FilterTabProps) {\r\n const palette = PALETTES[variant] || PALETTES.neutral;\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n\r\n return (\r\n <Box\r\n component=\"button\"\r\n type=\"button\"\r\n aria-pressed={active}\r\n onClick={onClick}\r\n title={shortcut ? L.shortcutHint(shortcut) : undefined}\r\n sx={{\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n // Compact pill: 5/12 px in literal terms, expressed against\r\n // the spacing scale so any future rescale propagates.\r\n padding: \"calc(var(--s-1) + 1px) var(--s-3)\",\r\n borderRadius: \"var(--r-full)\",\r\n border: `1px solid ${active ? \"var(--accent)\" : \"var(--border)\"}`,\r\n background: active ? palette.activeBg : \"var(--surface)\",\r\n color: active ? palette.activeFg : \"var(--fg-muted)\",\r\n fontSize: \"var(--text-xs)\",\r\n // Was 650 (banned) / 500. var(--fw-semibold) is the canonical\r\n // emphasised weight; var(--fw-medium) the resting one.\r\n fontWeight: active ? \"var(--fw-semibold)\" : \"var(--fw-medium)\",\r\n cursor: \"pointer\",\r\n fontFamily: \"inherit\",\r\n transition:\r\n \"background var(--duration-fast, 120ms) ease, \" +\r\n \"color var(--duration-fast, 120ms) ease, \" +\r\n \"border-color var(--duration-fast, 120ms) ease\",\r\n // R-F.1 - focus-visible required, charter §05. The previous\r\n // implementation had NO focus style; keyboard users got no\r\n // feedback when tabbing through filter chips.\r\n \"&:focus-visible\": {\r\n outline: \"2px solid var(--accent)\",\r\n outlineOffset: \"var(--pui-outline-offset)\",\r\n },\r\n \"&:hover\": {\r\n ...(!active ? { background: \"var(--bg-hover)\" } : {}),\r\n },\r\n }}\r\n >\r\n <span>{children}</span>\r\n {count != null && (\r\n <Box\r\n component=\"span\"\r\n aria-label={L.countLabel(count)}\r\n sx={{\r\n display: \"inline-block\",\r\n minWidth: 16,\r\n padding: \"0 var(--s-1)\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-bold)\",\r\n // Active keeps the accent emphasis (unchanged). Inactive now\r\n // takes the variant palette (soft bg + status fg) so status\r\n // counts stay colour-coded instead of greying out; neutral\r\n // resolves to accent-soft / accent.\r\n background: active ? \"var(--accent)\" : palette.activeBg,\r\n color: active ? \"var(--accent-fg)\" : palette.activeFg,\r\n borderRadius: \"var(--r-full)\",\r\n lineHeight: \"var(--lh-snug)\",\r\n textAlign: \"center\",\r\n }}\r\n >\r\n {count}\r\n </Box>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default FilterTab;\r\n"],"mappings":";;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,GAAG,MAAM,mBAAmB;AACnC,SAASC,WAAW,QAAQ,sBAAsB;;AAElD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAfA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AA8BA;AACA;AACA;AACA,IAAMC,QAAgD,GAAG;EACvDC,OAAO,EAAG;IAAEC,QAAQ,EAAE,oBAAoB;IAAWC,QAAQ,EAAE;EAAgB,CAAC;EAChF,OAAU;IAAED,QAAQ,EAAE,wBAAwB;IAAOC,QAAQ,EAAE;EAAuB,CAAC;EACvFC,IAAI,EAAM;IAAEF,QAAQ,EAAE,yBAAyB;IAAMC,QAAQ,EAAE;EAAwB,CAAC;EACxFE,OAAO,EAAG;IAAEH,QAAQ,EAAE,4BAA4B;IAAGC,QAAQ,EAAE;EAA2B,CAAC;EAC3FG,QAAQ,EAAE;IAAEJ,QAAQ,EAAE,6BAA6B;IAAEC,QAAQ,EAAE;EAA4B,CAAC;EAC5FI,QAAQ,EAAE;IAAEL,QAAQ,EAAE,6BAA6B;IAAEC,QAAQ,EAAE;EAA4B;AAC7F,CAAC;AAED,IAAMK,cAAc,GAAGC,MAAM,CAACC,MAAM,CAAC;EACnCC,UAAU,EAAI,SAAAA,WAACC,CAAS;IAAA,UAAAC,MAAA,CAAgBD,CAAC;EAAA,CAAW;EACpDE,YAAY,EAAE,SAAAA,aAACC,CAAS;IAAA,sBAAAF,MAAA,CAA4BE,CAAC;EAAA;AACvD,CAAC,CAAC;AAkBF,SAASC,SAASA,CAAAC,IAAA,EAQC;EAAA,IAAAC,WAAA,GAAAD,IAAA,CAPjBE,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,KAAK,GAAAA,WAAA;IACdE,KAAK,GAAAH,IAAA,CAALG,KAAK;IAAAC,YAAA,GAAAJ,IAAA,CACLK,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,SAAS,GAAAA,YAAA;IACnBE,OAAO,GAAAN,IAAA,CAAPM,OAAO;IACPC,QAAQ,GAAAP,IAAA,CAARO,QAAQ;IACRC,MAAM,GAAAR,IAAA,CAANQ,MAAM;IACNC,QAAQ,GAAAT,IAAA,CAARS,QAAQ;EAER,IAAMC,OAAO,GAAG3B,QAAQ,CAACsB,OAAO,CAAC,IAAItB,QAAQ,CAACC,OAAO;EACrD,IAAM2B,CAAC,GAAGjC,WAAW,CAACa,cAAc,EAAEiB,MAAM,CAAC;EAE7C,oBACE1B,KAAA,CAACL,GAAG;IACFmC,SAAS,EAAC,QAAQ;IAClBC,IAAI,EAAC,QAAQ;IACb,gBAAcX,MAAO;IACrBI,OAAO,EAAEA,OAAQ;IACjBQ,KAAK,EAAEP,QAAQ,GAAGI,CAAC,CAACd,YAAY,CAACU,QAAQ,CAAC,GAAGQ,SAAU;IACvDC,EAAE,EAAE;MACFC,OAAO,EAAE,aAAa;MACtBC,UAAU,EAAE,QAAQ;MACpBC,GAAG,EAAE,YAAY;MACjB;MACA;MACAC,OAAO,EAAE,mCAAmC;MAC5CC,YAAY,EAAE,eAAe;MAC7BC,MAAM,eAAA1B,MAAA,CAAeM,MAAM,GAAG,eAAe,GAAG,eAAe,CAAE;MACjEqB,UAAU,EAAErB,MAAM,GAAGQ,OAAO,CAACzB,QAAQ,GAAG,gBAAgB;MACxDuC,KAAK,EAAEtB,MAAM,GAAGQ,OAAO,CAACxB,QAAQ,GAAG,iBAAiB;MACpDuC,QAAQ,EAAE,gBAAgB;MAC1B;MACA;MACAC,UAAU,EAAExB,MAAM,GAAG,oBAAoB,GAAG,kBAAkB;MAC9DyB,MAAM,EAAE,SAAS;MACjBC,UAAU,EAAE,SAAS;MACrBC,UAAU,EACR,+CAA+C,GAC/C,0CAA0C,GAC1C,+CAA+C;MACjD;MACA;MACA;MACA,iBAAiB,EAAE;QACjBC,OAAO,EAAE,yBAAyB;QAClCC,aAAa,EAAE;MACjB,CAAC;MACD,SAAS,EAAAC,aAAA,KACH,CAAC9B,MAAM,GAAG;QAAEqB,UAAU,EAAE;MAAkB,CAAC,GAAG,CAAC,CAAC;IAExD,CAAE;IAAAd,QAAA,gBAEF7B,IAAA;MAAA6B,QAAA,EAAOA;IAAQ,CAAO,CAAC,EACtBN,KAAK,IAAI,IAAI,iBACZvB,IAAA,CAACH,GAAG;MACFmC,SAAS,EAAC,MAAM;MAChB,cAAYD,CAAC,CAACjB,UAAU,CAACS,KAAK,CAAE;MAChCa,EAAE,EAAE;QACFC,OAAO,EAAE,cAAc;QACvBgB,QAAQ,EAAE,EAAE;QACZb,OAAO,EAAE,cAAc;QACvBK,QAAQ,EAAE,gBAAgB;QAC1BC,UAAU,EAAE,gBAAgB;QAC5B;QACA;QACA;QACA;QACAH,UAAU,EAAErB,MAAM,GAAG,eAAe,GAAGQ,OAAO,CAACzB,QAAQ;QACvDuC,KAAK,EAAEtB,MAAM,GAAG,kBAAkB,GAAGQ,OAAO,CAACxB,QAAQ;QACrDmC,YAAY,EAAE,eAAe;QAC7Ba,UAAU,EAAE,gBAAgB;QAC5BC,SAAS,EAAE;MACb,CAAE;MAAA1B,QAAA,EAEDN;IAAK,CACH,CACN;EAAA,CACE,CAAC;AAEV;AAEA,eAAeJ,SAAS","ignoreList":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import Box from "@mui/material/Box";
|
|
2
|
+
import ArrowBack from "@mui/icons-material/ArrowBack";
|
|
3
|
+
import LockOutlined from "@mui/icons-material/LockOutlined";
|
|
4
|
+
import ActionBar from "../patterns/ActionBar";
|
|
5
|
+
import Button from "./Button";
|
|
6
|
+
import ErrorPageBody from "./_ErrorPageBody";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* ForbiddenPage — Portnet UI v2 (component)
|
|
10
|
+
*
|
|
11
|
+
* Charter §07 · 403 / Accès refusé.
|
|
12
|
+
*
|
|
13
|
+
* Router-agnostic by design: the page accepts `onBack` and `onHome`
|
|
14
|
+
* callback props rather than calling a router hook itself. This
|
|
15
|
+
* keeps the design system independent of any specific routing lib
|
|
16
|
+
* (react-router, TanStack Router, Next.js, …).
|
|
17
|
+
*
|
|
18
|
+
* Usage:
|
|
19
|
+
*
|
|
20
|
+
* import { ForbiddenPage } from "@portnet/ui/lib/v2";
|
|
21
|
+
* import { useNavigate } from "react-router-dom";
|
|
22
|
+
*
|
|
23
|
+
* function ForbiddenRoute() {
|
|
24
|
+
* const navigate = useNavigate();
|
|
25
|
+
* return (
|
|
26
|
+
* <ForbiddenPage
|
|
27
|
+
* onBack={() => navigate(-1)}
|
|
28
|
+
* onHome={() => navigate("/")}
|
|
29
|
+
* />
|
|
30
|
+
* );
|
|
31
|
+
* }
|
|
32
|
+
*
|
|
33
|
+
* Charter rules satisfied:
|
|
34
|
+
* R-2.1 no local UI primitive (composes ActionBar + Button only).
|
|
35
|
+
* R-Tg.1 44 px tactile floor enforced by v2.Button.
|
|
36
|
+
* R-A.1 ARIA landmarks via ActionBar's <header role="banner">.
|
|
37
|
+
* R-T.2 contrast verified for var(--fg) on var(--bg).
|
|
38
|
+
*/
|
|
39
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
40
|
+
function ForbiddenPage(_ref) {
|
|
41
|
+
var onBack = _ref.onBack,
|
|
42
|
+
onHome = _ref.onHome;
|
|
43
|
+
return /*#__PURE__*/_jsxs(_Fragment, {
|
|
44
|
+
children: [/*#__PURE__*/_jsx(ActionBar, {
|
|
45
|
+
back: onBack,
|
|
46
|
+
breadcrumb: ["Erreur", "Accès refusé"],
|
|
47
|
+
title: "Acc\xE8s refus\xE9"
|
|
48
|
+
}), /*#__PURE__*/_jsx(ErrorPageBody, {
|
|
49
|
+
icon: /*#__PURE__*/_jsx(LockOutlined, {
|
|
50
|
+
sx: {
|
|
51
|
+
fontSize: 64,
|
|
52
|
+
color: "var(--warning)"
|
|
53
|
+
}
|
|
54
|
+
}),
|
|
55
|
+
code: "403",
|
|
56
|
+
title: "Vous n'avez pas acc\xE8s \xE0 cette page",
|
|
57
|
+
description: "Votre profil ne dispose pas des autorisations n\xE9cessaires pour consulter cette page. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur, puis revenez \xE0 l'accueil."
|
|
58
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
59
|
+
sx: {
|
|
60
|
+
display: "flex",
|
|
61
|
+
justifyContent: "center",
|
|
62
|
+
paddingBottom: "var(--s-7)"
|
|
63
|
+
},
|
|
64
|
+
children: /*#__PURE__*/_jsx(Button, {
|
|
65
|
+
variant: "primary",
|
|
66
|
+
icon: /*#__PURE__*/_jsx(ArrowBack, {}),
|
|
67
|
+
onClick: onHome,
|
|
68
|
+
children: "Retour \xE0 l'accueil"
|
|
69
|
+
})
|
|
70
|
+
})]
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
export default ForbiddenPage;
|
|
74
|
+
//# sourceMappingURL=ForbiddenPage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ForbiddenPage.js","names":["Box","ArrowBack","LockOutlined","ActionBar","Button","ErrorPageBody","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","ForbiddenPage","_ref","onBack","onHome","children","back","breadcrumb","title","icon","sx","fontSize","color","code","description","display","justifyContent","paddingBottom","variant","onClick"],"sources":["../../../../src/lib/v2/components/ForbiddenPage.tsx"],"sourcesContent":["import Box from \"@mui/material/Box\";\r\nimport ArrowBack from \"@mui/icons-material/ArrowBack\";\r\nimport LockOutlined from \"@mui/icons-material/LockOutlined\";\r\nimport ActionBar from \"../patterns/ActionBar\";\r\nimport Button from \"./Button\";\r\nimport ErrorPageBody from \"./_ErrorPageBody\";\r\n\r\n/**\r\n * ForbiddenPage — Portnet UI v2 (component)\r\n *\r\n * Charter §07 · 403 / Accès refusé.\r\n *\r\n * Router-agnostic by design: the page accepts `onBack` and `onHome`\r\n * callback props rather than calling a router hook itself. This\r\n * keeps the design system independent of any specific routing lib\r\n * (react-router, TanStack Router, Next.js, …).\r\n *\r\n * Usage:\r\n *\r\n * import { ForbiddenPage } from \"@portnet/ui/lib/v2\";\r\n * import { useNavigate } from \"react-router-dom\";\r\n *\r\n * function ForbiddenRoute() {\r\n * const navigate = useNavigate();\r\n * return (\r\n * <ForbiddenPage\r\n * onBack={() => navigate(-1)}\r\n * onHome={() => navigate(\"/\")}\r\n * />\r\n * );\r\n * }\r\n *\r\n * Charter rules satisfied:\r\n * R-2.1 no local UI primitive (composes ActionBar + Button only).\r\n * R-Tg.1 44 px tactile floor enforced by v2.Button.\r\n * R-A.1 ARIA landmarks via ActionBar's <header role=\"banner\">.\r\n * R-T.2 contrast verified for var(--fg) on var(--bg).\r\n */\r\nexport interface ForbiddenPageProps {\r\n /** Callback for the back button (top-bar arrow). */\r\n onBack: () => void;\r\n /** Callback for the primary \"Retour à l'accueil\" CTA. */\r\n onHome: () => void;\r\n}\r\n\r\nfunction ForbiddenPage({ onBack, onHome }: ForbiddenPageProps) {\r\n return (\r\n <>\r\n <ActionBar\r\n back={onBack}\r\n breadcrumb={[\"Erreur\", \"Accès refusé\"]}\r\n title=\"Accès refusé\"\r\n />\r\n <ErrorPageBody\r\n icon={<LockOutlined sx={{ fontSize: 64, color: \"var(--warning)\" }} />}\r\n code=\"403\"\r\n title=\"Vous n'avez pas accès à cette page\"\r\n description=\"Votre profil ne dispose pas des autorisations nécessaires pour consulter cette page. Contactez votre administrateur si vous pensez qu'il s'agit d'une erreur, puis revenez à l'accueil.\"\r\n />\r\n <Box sx={{ display: \"flex\", justifyContent: \"center\", paddingBottom: \"var(--s-7)\" }}>\r\n <Button variant=\"primary\" icon={<ArrowBack />} onClick={onHome}>\r\n Retour à l'accueil\r\n </Button>\r\n </Box>\r\n </>\r\n );\r\n}\r\n\r\nexport default ForbiddenPage;\r\n"],"mappings":"AAAA,OAAOA,GAAG,MAAM,mBAAmB;AACnC,OAAOC,SAAS,MAAM,+BAA+B;AACrD,OAAOC,YAAY,MAAM,kCAAkC;AAC3D,OAAOC,SAAS,MAAM,uBAAuB;AAC7C,OAAOC,MAAM,MAAM,UAAU;AAC7B,OAAOC,aAAa,MAAM,kBAAkB;;AAE5C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA9BA,SAAAC,GAAA,IAAAC,IAAA,EAAAC,QAAA,IAAAC,SAAA,EAAAC,IAAA,IAAAC,KAAA;AAsCA,SAASC,aAAaA,CAAAC,IAAA,EAAyC;EAAA,IAAtCC,MAAM,GAAAD,IAAA,CAANC,MAAM;IAAEC,MAAM,GAAAF,IAAA,CAANE,MAAM;EACrC,oBACEJ,KAAA,CAAAF,SAAA;IAAAO,QAAA,gBACET,IAAA,CAACJ,SAAS;MACRc,IAAI,EAAEH,MAAO;MACbI,UAAU,EAAE,CAAC,QAAQ,EAAE,cAAc,CAAE;MACvCC,KAAK,EAAC;IAAc,CACrB,CAAC,eACFZ,IAAA,CAACF,aAAa;MACZe,IAAI,eAAEb,IAAA,CAACL,YAAY;QAACmB,EAAE,EAAE;UAAEC,QAAQ,EAAE,EAAE;UAAEC,KAAK,EAAE;QAAiB;MAAE,CAAE,CAAE;MACtEC,IAAI,EAAC,KAAK;MACVL,KAAK,EAAC,0CAAoC;MAC1CM,WAAW,EAAC;IAAyL,CACtM,CAAC,eACFlB,IAAA,CAACP,GAAG;MAACqB,EAAE,EAAE;QAAEK,OAAO,EAAE,MAAM;QAAEC,cAAc,EAAE,QAAQ;QAAEC,aAAa,EAAE;MAAa,CAAE;MAAAZ,QAAA,eAClFT,IAAA,CAACH,MAAM;QAACyB,OAAO,EAAC,SAAS;QAACT,IAAI,eAAEb,IAAA,CAACN,SAAS,IAAE,CAAE;QAAC6B,OAAO,EAAEf,MAAO;QAAAC,QAAA,EAAC;MAEhE,CAAQ;IAAC,CACN,CAAC;EAAA,CACN,CAAC;AAEP;AAEA,eAAeJ,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
var _excluded = ["children", "columns", "minColumnWidth", "gap", "sx"],
|
|
3
|
+
_excluded2 = ["children", "sx"],
|
|
4
|
+
_excluded3 = ["span", "children", "sx"];
|
|
5
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
6
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
7
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
8
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
9
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
10
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
11
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
12
|
+
import * as React from "react";
|
|
13
|
+
import Box from "@mui/material/Box";
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* FormGrid — Portnet UI v2
|
|
17
|
+
*
|
|
18
|
+
* Charter §03 R-3.2 — canonical RESPONSIVE form grid.
|
|
19
|
+
*
|
|
20
|
+
* ── Breakpoint strategy (aligné addpe-fe) ───────────────────────────
|
|
21
|
+
*
|
|
22
|
+
* Les clés xs/sm/md ci-dessous résolvent contre l'échelle de tokens
|
|
23
|
+
* Portnet câblée dans le thème MUI (Batch 1), PAS les défauts MUI :
|
|
24
|
+
*
|
|
25
|
+
* xs (<481px) : 1 colonne — mobile, chaque champ pleine largeur
|
|
26
|
+
* sm (481-767px) : 2 colonnes — tablette / grand mobile (transition douce)
|
|
27
|
+
* md (≥768px) : N colonnes — desktop (layout cible)
|
|
28
|
+
*
|
|
29
|
+
* Source: addpe-fe/AutorisationForm.js
|
|
30
|
+
* gridTemplateColumns: { xs: "1fr", sm: "1fr 1fr", md: "repeat(3, 1fr)" }
|
|
31
|
+
*
|
|
32
|
+
* ── Presets ─────────────────────────────────────────────────────────
|
|
33
|
+
*
|
|
34
|
+
* columns={1} → toujours 1 col (textarea, notes, upload)
|
|
35
|
+
* columns={2} → 1col xs / 2col sm+ (formulaires courts)
|
|
36
|
+
* columns={3} → 1col xs / 2col sm / 3col md (DEFAULT FormSection)
|
|
37
|
+
* columns={4} → 1col xs / 2col sm / 4col md (champs courts : codes, dates)
|
|
38
|
+
* minColumnWidth={N} → auto-fill adaptatif, 1col xs
|
|
39
|
+
*
|
|
40
|
+
* ── Sous-composants ─────────────────────────────────────────────────
|
|
41
|
+
*
|
|
42
|
+
* <FormGrid.Full> → span toutes colonnes (textarea, tables)
|
|
43
|
+
* <FormGrid.Item span> → span explicite (sm+), full-width xs
|
|
44
|
+
*
|
|
45
|
+
* ── Exemple ─────────────────────────────────────────────────────────
|
|
46
|
+
*
|
|
47
|
+
* <FormGrid columns={3}>
|
|
48
|
+
* <FormikInput name="nom" label="Nom" />
|
|
49
|
+
* <FormikInput name="prenom" label="Prénom" />
|
|
50
|
+
* <FormikInput name="code" label="Code" />
|
|
51
|
+
* <FormGrid.Full>
|
|
52
|
+
* <FormikTextarea name="obs" label="Observations" />
|
|
53
|
+
* </FormGrid.Full>
|
|
54
|
+
* </FormGrid>
|
|
55
|
+
*/
|
|
56
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
57
|
+
function FormGrid(_ref) {
|
|
58
|
+
var children = _ref.children,
|
|
59
|
+
columns = _ref.columns,
|
|
60
|
+
minColumnWidth = _ref.minColumnWidth,
|
|
61
|
+
gap = _ref.gap,
|
|
62
|
+
sx = _ref.sx,
|
|
63
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
64
|
+
var gridTemplateColumns = React.useMemo(function () {
|
|
65
|
+
/* Auto-fill adaptatif — minColumnWidth prime sur columns.
|
|
66
|
+
* min(${minColumnWidth}px, 100%) borne la largeur mini de chaque
|
|
67
|
+
* piste à celle du conteneur : au-dessus de sm, une piste ne peut
|
|
68
|
+
* jamais dépasser le conteneur (pas de débordement / Reflow 1.4.10). */
|
|
69
|
+
if (minColumnWidth) {
|
|
70
|
+
return {
|
|
71
|
+
xs: "1fr",
|
|
72
|
+
sm: "repeat(auto-fill, minmax(min(".concat(minColumnWidth, "px, 100%), 1fr))")
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
var cols = typeof columns === "number" && columns > 0 ? columns : 3;
|
|
76
|
+
|
|
77
|
+
/* Colonne unique — textarea, notes, upload : toujours pleine largeur */
|
|
78
|
+
if (cols === 1) return "1fr";
|
|
79
|
+
|
|
80
|
+
/* 2 colonnes — dès tablette (sm), pas d'échelon md nécessaire */
|
|
81
|
+
if (cols === 2) {
|
|
82
|
+
return {
|
|
83
|
+
xs: "1fr",
|
|
84
|
+
sm: "repeat(2, minmax(0, 1fr))"
|
|
85
|
+
};
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
/*
|
|
89
|
+
* 3+ colonnes — 3 échelons :
|
|
90
|
+
* xs : 1 col (mobile)
|
|
91
|
+
* sm : 2 cols (tablette — transition douce, évite les champs trop étroits)
|
|
92
|
+
* md : N cols (desktop — layout cible)
|
|
93
|
+
*
|
|
94
|
+
* Identique au pattern addpe-fe :
|
|
95
|
+
* { xs:"1fr", sm:"1fr 1fr", md:"repeat(3, 1fr)" }
|
|
96
|
+
*/
|
|
97
|
+
return {
|
|
98
|
+
xs: "1fr",
|
|
99
|
+
sm: "repeat(2, minmax(0, 1fr))",
|
|
100
|
+
md: "repeat(".concat(cols, ", minmax(0, 1fr))")
|
|
101
|
+
};
|
|
102
|
+
}, [columns, minColumnWidth]);
|
|
103
|
+
return /*#__PURE__*/_jsx(Box, _objectSpread(_objectSpread({
|
|
104
|
+
sx: _objectSpread({
|
|
105
|
+
display: "grid",
|
|
106
|
+
gridTemplateColumns: gridTemplateColumns,
|
|
107
|
+
/* Charter §2.3 — `-s-4` (16px) EST le « Gap formulaire (default) » ; le
|
|
108
|
+
* défaut précédent était `-s-3` (12px), que la même table réserve au
|
|
109
|
+
* « Padding cards compact ». Le composant canonique de grille de
|
|
110
|
+
* formulaire contredisait donc la valeur par défaut de la charte, et
|
|
111
|
+
* chaque module compensait en passant `gap` à la main. Changement
|
|
112
|
+
* VISUEL fleet-wide 12→16px sur toute grille sans `gap` explicite —
|
|
113
|
+
* même classe de correction que le 15→16px des titres FormSection.
|
|
114
|
+
*
|
|
115
|
+
* `??` et non `||` : `gap={0}` est une valeur légitime que `||`
|
|
116
|
+
* écrasait silencieusement par le défaut. */
|
|
117
|
+
gap: gap !== null && gap !== void 0 ? gap : "var(--s-4)",
|
|
118
|
+
alignItems: "start"
|
|
119
|
+
}, sx)
|
|
120
|
+
}, rest), {}, {
|
|
121
|
+
children: children
|
|
122
|
+
}));
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
/* ── FormGrid.Full ────────────────────────────────────────────────────
|
|
126
|
+
* Span toutes les colonnes à tous les breakpoints.
|
|
127
|
+
* Usage : textareas, file uploads, sub-tables, notes.
|
|
128
|
+
*/
|
|
129
|
+
|
|
130
|
+
function FormGridFull(_ref2) {
|
|
131
|
+
var children = _ref2.children,
|
|
132
|
+
sx = _ref2.sx,
|
|
133
|
+
rest = _objectWithoutProperties(_ref2, _excluded2);
|
|
134
|
+
return /*#__PURE__*/_jsx(Box, _objectSpread(_objectSpread({
|
|
135
|
+
sx: _objectSpread({
|
|
136
|
+
gridColumn: "1 / -1",
|
|
137
|
+
minWidth: 0
|
|
138
|
+
}, sx)
|
|
139
|
+
}, rest), {}, {
|
|
140
|
+
children: children
|
|
141
|
+
}));
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
/* ── FormGrid.Item ────────────────────────────────────────────────────
|
|
145
|
+
* Span explicite par breakpoint.
|
|
146
|
+
* xs → toujours pleine largeur (1 / -1)
|
|
147
|
+
* sm → span 1 (une cellule dans la grille 2-col tablette)
|
|
148
|
+
* md → span explicite (grille N-col desktop)
|
|
149
|
+
*
|
|
150
|
+
* Usage : Description (span=2 sur desktop, full-width mobile/tablette)
|
|
151
|
+
*/
|
|
152
|
+
|
|
153
|
+
function FormGridItem(_ref3) {
|
|
154
|
+
var _ref3$span = _ref3.span,
|
|
155
|
+
span = _ref3$span === void 0 ? 1 : _ref3$span,
|
|
156
|
+
children = _ref3.children,
|
|
157
|
+
sx = _ref3.sx,
|
|
158
|
+
rest = _objectWithoutProperties(_ref3, _excluded3);
|
|
159
|
+
return /*#__PURE__*/_jsx(Box, _objectSpread(_objectSpread({
|
|
160
|
+
sx: _objectSpread({
|
|
161
|
+
gridColumn: {
|
|
162
|
+
xs: "1 / -1",
|
|
163
|
+
/* mobile : toujours pleine largeur */
|
|
164
|
+
sm: "span 1",
|
|
165
|
+
/* tablette (2-col) : 1 cellule */
|
|
166
|
+
md: "span ".concat(span) /* desktop (N-col) : span explicite */
|
|
167
|
+
},
|
|
168
|
+
minWidth: 0
|
|
169
|
+
}, sx)
|
|
170
|
+
}, rest), {}, {
|
|
171
|
+
children: children
|
|
172
|
+
}));
|
|
173
|
+
}
|
|
174
|
+
var FormGridWithStatics = Object.assign(FormGrid, {
|
|
175
|
+
Item: FormGridItem,
|
|
176
|
+
Full: FormGridFull
|
|
177
|
+
});
|
|
178
|
+
export default FormGridWithStatics;
|
|
179
|
+
//# sourceMappingURL=FormGrid.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormGrid.js","names":["React","Box","jsx","_jsx","FormGrid","_ref","children","columns","minColumnWidth","gap","sx","rest","_objectWithoutProperties","_excluded","gridTemplateColumns","useMemo","xs","sm","concat","cols","md","_objectSpread","display","alignItems","FormGridFull","_ref2","_excluded2","gridColumn","minWidth","FormGridItem","_ref3","_ref3$span","span","_excluded3","FormGridWithStatics","Object","assign","Item","Full"],"sources":["../../../../src/lib/v2/components/FormGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { BoxProps } from \"@mui/material/Box\";\r\n\r\n/**\r\n * FormGrid — Portnet UI v2\r\n *\r\n * Charter §03 R-3.2 — canonical RESPONSIVE form grid.\r\n *\r\n * ── Breakpoint strategy (aligné addpe-fe) ───────────────────────────\r\n *\r\n * Les clés xs/sm/md ci-dessous résolvent contre l'échelle de tokens\r\n * Portnet câblée dans le thème MUI (Batch 1), PAS les défauts MUI :\r\n *\r\n * xs (<481px) : 1 colonne — mobile, chaque champ pleine largeur\r\n * sm (481-767px) : 2 colonnes — tablette / grand mobile (transition douce)\r\n * md (≥768px) : N colonnes — desktop (layout cible)\r\n *\r\n * Source: addpe-fe/AutorisationForm.js\r\n * gridTemplateColumns: { xs: \"1fr\", sm: \"1fr 1fr\", md: \"repeat(3, 1fr)\" }\r\n *\r\n * ── Presets ─────────────────────────────────────────────────────────\r\n *\r\n * columns={1} → toujours 1 col (textarea, notes, upload)\r\n * columns={2} → 1col xs / 2col sm+ (formulaires courts)\r\n * columns={3} → 1col xs / 2col sm / 3col md (DEFAULT FormSection)\r\n * columns={4} → 1col xs / 2col sm / 4col md (champs courts : codes, dates)\r\n * minColumnWidth={N} → auto-fill adaptatif, 1col xs\r\n *\r\n * ── Sous-composants ─────────────────────────────────────────────────\r\n *\r\n * <FormGrid.Full> → span toutes colonnes (textarea, tables)\r\n * <FormGrid.Item span> → span explicite (sm+), full-width xs\r\n *\r\n * ── Exemple ─────────────────────────────────────────────────────────\r\n *\r\n * <FormGrid columns={3}>\r\n * <FormikInput name=\"nom\" label=\"Nom\" />\r\n * <FormikInput name=\"prenom\" label=\"Prénom\" />\r\n * <FormikInput name=\"code\" label=\"Code\" />\r\n * <FormGrid.Full>\r\n * <FormikTextarea name=\"obs\" label=\"Observations\" />\r\n * </FormGrid.Full>\r\n * </FormGrid>\r\n */\r\nexport interface FormGridProps extends Omit<BoxProps, \"gap\"> {\r\n /**\r\n * Nombre de colonnes égales.\r\n * 1 → pleine largeur (notes, textarea)\r\n * 2 → 2 cols sm+\r\n * 3 → DEFAULT FormSection : 1col xs / 2col sm / 3col md\r\n * 4 → 1col xs / 2col sm / 4col md (champs courts)\r\n * Mutually exclusive avec minColumnWidth.\r\n */\r\n columns?: number | undefined;\r\n /** Auto-fill adaptatif — tracks d'au moins N px de large. */\r\n minColumnWidth?: number | undefined;\r\n /**\r\n * Gap de la grille. Défaut `var(--s-4)` — la charte §2.3 assigne\r\n * explicitement `-s-4` (16px) à « Gap formulaire (default) », `-s-3` (12px)\r\n * étant réservé au « Padding cards compact ». Gap G-13.\r\n */\r\n gap?: string | number | undefined;\r\n}\r\n\r\nfunction FormGrid({\r\n children,\r\n columns,\r\n minColumnWidth,\r\n gap,\r\n sx,\r\n ...rest\r\n}: FormGridProps) {\r\n const gridTemplateColumns = React.useMemo(() => {\r\n /* Auto-fill adaptatif — minColumnWidth prime sur columns.\r\n * min(${minColumnWidth}px, 100%) borne la largeur mini de chaque\r\n * piste à celle du conteneur : au-dessus de sm, une piste ne peut\r\n * jamais dépasser le conteneur (pas de débordement / Reflow 1.4.10). */\r\n if (minColumnWidth) {\r\n return {\r\n xs: \"1fr\",\r\n sm: `repeat(auto-fill, minmax(min(${minColumnWidth}px, 100%), 1fr))`,\r\n };\r\n }\r\n\r\n const cols = typeof columns === \"number\" && columns > 0 ? columns : 3;\r\n\r\n /* Colonne unique — textarea, notes, upload : toujours pleine largeur */\r\n if (cols === 1) return \"1fr\";\r\n\r\n /* 2 colonnes — dès tablette (sm), pas d'échelon md nécessaire */\r\n if (cols === 2) {\r\n return { xs: \"1fr\", sm: \"repeat(2, minmax(0, 1fr))\" };\r\n }\r\n\r\n /*\r\n * 3+ colonnes — 3 échelons :\r\n * xs : 1 col (mobile)\r\n * sm : 2 cols (tablette — transition douce, évite les champs trop étroits)\r\n * md : N cols (desktop — layout cible)\r\n *\r\n * Identique au pattern addpe-fe :\r\n * { xs:\"1fr\", sm:\"1fr 1fr\", md:\"repeat(3, 1fr)\" }\r\n */\r\n return {\r\n xs: \"1fr\",\r\n sm: \"repeat(2, minmax(0, 1fr))\",\r\n md: `repeat(${cols}, minmax(0, 1fr))`,\r\n };\r\n }, [columns, minColumnWidth]);\r\n\r\n return (\r\n <Box\r\n sx={{\r\n display: \"grid\",\r\n gridTemplateColumns,\r\n /* Charter §2.3 — `-s-4` (16px) EST le « Gap formulaire (default) » ; le\r\n * défaut précédent était `-s-3` (12px), que la même table réserve au\r\n * « Padding cards compact ». Le composant canonique de grille de\r\n * formulaire contredisait donc la valeur par défaut de la charte, et\r\n * chaque module compensait en passant `gap` à la main. Changement\r\n * VISUEL fleet-wide 12→16px sur toute grille sans `gap` explicite —\r\n * même classe de correction que le 15→16px des titres FormSection.\r\n *\r\n * `??` et non `||` : `gap={0}` est une valeur légitime que `||`\r\n * écrasait silencieusement par le défaut. */\r\n gap: gap ?? \"var(--s-4)\",\r\n alignItems: \"start\",\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\n/* ── FormGrid.Full ────────────────────────────────────────────────────\r\n * Span toutes les colonnes à tous les breakpoints.\r\n * Usage : textareas, file uploads, sub-tables, notes.\r\n */\r\nexport type FormGridFullProps = BoxProps;\r\n\r\nfunction FormGridFull({ children, sx, ...rest }: FormGridFullProps) {\r\n return (\r\n <Box sx={{ gridColumn: \"1 / -1\", minWidth: 0, ...sx }} {...rest}>\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\n/* ── FormGrid.Item ────────────────────────────────────────────────────\r\n * Span explicite par breakpoint.\r\n * xs → toujours pleine largeur (1 / -1)\r\n * sm → span 1 (une cellule dans la grille 2-col tablette)\r\n * md → span explicite (grille N-col desktop)\r\n *\r\n * Usage : Description (span=2 sur desktop, full-width mobile/tablette)\r\n */\r\nexport interface FormGridItemProps extends BoxProps {\r\n /**\r\n * Colonnes à couvrir sur md+ (desktop).\r\n * xs → toujours 1/-1 (pleine largeur).\r\n * sm → toujours span 1 (grille 2-col tablette).\r\n * Default : 1.\r\n */\r\n span?: number | undefined;\r\n}\r\n\r\nfunction FormGridItem({ span = 1, children, sx, ...rest }: FormGridItemProps) {\r\n return (\r\n <Box\r\n sx={{\r\n gridColumn: {\r\n xs: \"1 / -1\", /* mobile : toujours pleine largeur */\r\n sm: \"span 1\", /* tablette (2-col) : 1 cellule */\r\n md: `span ${span}`, /* desktop (N-col) : span explicite */\r\n },\r\n minWidth: 0,\r\n ...sx,\r\n }}\r\n {...rest}\r\n >\r\n {children}\r\n </Box>\r\n );\r\n}\r\n\r\nconst FormGridWithStatics = Object.assign(FormGrid, {\r\n Item: FormGridItem,\r\n Full: FormGridFull,\r\n});\r\n\r\nexport default FormGridWithStatics;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
import * as React from "react";
|
|
3
|
+
import Box from "@mui/material/Box";
|
|
4
|
+
import Typography from "@mui/material/Typography";
|
|
5
|
+
import { getIn, useFormikContext } from "formik";
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* FormikDisplay — Portnet UI v2
|
|
9
|
+
*
|
|
10
|
+
* Affiche une valeur Formik en lecture seule avec un fond grisé
|
|
11
|
+
* clairement distinct des champs saisissables (fond blanc).
|
|
12
|
+
*
|
|
13
|
+
* ── Audit contraste WCAG 2.1 SC 1.4.3 ──────────────────────────────
|
|
14
|
+
* Fond : --bg-subtle = #F1F2F5
|
|
15
|
+
*
|
|
16
|
+
* Valeur/hint : --fg-muted (#474C5A) → 7.52:1 ✅ AAA (> 7:1)
|
|
17
|
+
* À NE PAS utiliser sur ce fond :
|
|
18
|
+
* --fg-subtle (#6B7280) → 4.30:1 sur #F1F2F5 ❌ sous AA (4.5:1)
|
|
19
|
+
* (--fg-subtle est calibré "on white only" dans colors.js)
|
|
20
|
+
*
|
|
21
|
+
* ── Fond ────────────────────────────────────────────────────────────
|
|
22
|
+
* --bg-subtle (#F1F2F5) est clairement visible sur les sections
|
|
23
|
+
* (#FFFFFF surface), contrairement à --bg (#F7F8FA ≈ blanc).
|
|
24
|
+
*
|
|
25
|
+
* ── Usage ────────────────────────────────────────────────────────────
|
|
26
|
+
* <FormikDisplay name="donneesTI.etat" label="État"
|
|
27
|
+
* hint="Géré par le workflow" />
|
|
28
|
+
*
|
|
29
|
+
* <FormikDisplay name="importateur.codePIN" label="Code PIN" mono />
|
|
30
|
+
*/
|
|
31
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
32
|
+
function FormikDisplay(_ref) {
|
|
33
|
+
var name = _ref.name,
|
|
34
|
+
label = _ref.label,
|
|
35
|
+
hint = _ref.hint,
|
|
36
|
+
format = _ref.format,
|
|
37
|
+
_ref$mono = _ref.mono,
|
|
38
|
+
mono = _ref$mono === void 0 ? false : _ref$mono,
|
|
39
|
+
_ref$empty = _ref.empty,
|
|
40
|
+
empty = _ref$empty === void 0 ? "\u2014" : _ref$empty,
|
|
41
|
+
sx = _ref.sx;
|
|
42
|
+
var _useFormikContext = useFormikContext(),
|
|
43
|
+
values = _useFormikContext.values;
|
|
44
|
+
var raw = name ? getIn(values, name) : undefined;
|
|
45
|
+
var display;
|
|
46
|
+
if (format) {
|
|
47
|
+
display = format(raw);
|
|
48
|
+
} else if (raw === null || raw === undefined || String(raw).trim() === "") {
|
|
49
|
+
display = empty;
|
|
50
|
+
} else if (_typeof(raw) === "object") {
|
|
51
|
+
var obj = raw;
|
|
52
|
+
display = obj.description || obj.libelle || obj.code || JSON.stringify(raw);
|
|
53
|
+
} else {
|
|
54
|
+
display = String(raw);
|
|
55
|
+
}
|
|
56
|
+
var isEmpty = display === empty;
|
|
57
|
+
return /*#__PURE__*/_jsxs(Box, {
|
|
58
|
+
sx: sx,
|
|
59
|
+
children: [label && /*#__PURE__*/_jsx(Typography, {
|
|
60
|
+
component: "span",
|
|
61
|
+
sx: {
|
|
62
|
+
display: "block",
|
|
63
|
+
fontSize: "var(--text-xs, 12px)",
|
|
64
|
+
fontWeight: "var(--fw-semibold, 600)",
|
|
65
|
+
color: "var(--fg-muted)",
|
|
66
|
+
/* 7.52:1 sur bg-subtle ✅ AAA */
|
|
67
|
+
marginBottom: "var(--s-2)",
|
|
68
|
+
userSelect: "none"
|
|
69
|
+
},
|
|
70
|
+
children: label
|
|
71
|
+
}), /*#__PURE__*/_jsx(Box, {
|
|
72
|
+
role: "status",
|
|
73
|
+
"aria-label": label ? "".concat(label, " : ").concat(display) : "".concat(display),
|
|
74
|
+
sx: {
|
|
75
|
+
minHeight: 40,
|
|
76
|
+
display: "flex",
|
|
77
|
+
alignItems: "center",
|
|
78
|
+
padding: "var(--s-2) var(--s-3)",
|
|
79
|
+
background: "var(--bg-subtle, #f1f2f5)",
|
|
80
|
+
border: "1px solid var(--border, #e4e6eb)",
|
|
81
|
+
borderRadius: "var(--r-md, 6px)",
|
|
82
|
+
cursor: "default",
|
|
83
|
+
userSelect: "text",
|
|
84
|
+
overflow: "hidden"
|
|
85
|
+
},
|
|
86
|
+
children: /*#__PURE__*/_jsx(Typography, {
|
|
87
|
+
component: "span",
|
|
88
|
+
sx: {
|
|
89
|
+
fontSize: "var(--text-sm, 14px)",
|
|
90
|
+
fontFamily: mono ? "var(--font-mono, monospace)" : "inherit",
|
|
91
|
+
/*
|
|
92
|
+
* --fg-muted (#474C5A) = 7.52:1 sur --bg-subtle ✅ AAA
|
|
93
|
+
* Utilisé pour valeur présente ET placeholder vide.
|
|
94
|
+
* NE PAS substituer --fg-subtle (#6B7280) qui tombe à 4.30:1
|
|
95
|
+
* sur ce fond (sous WCAG AA).
|
|
96
|
+
*/
|
|
97
|
+
color: "var(--fg-muted)",
|
|
98
|
+
fontStyle: isEmpty ? "italic" : "normal",
|
|
99
|
+
overflow: "hidden",
|
|
100
|
+
textOverflow: "ellipsis",
|
|
101
|
+
whiteSpace: "nowrap"
|
|
102
|
+
},
|
|
103
|
+
children: display
|
|
104
|
+
})
|
|
105
|
+
}), hint && /*#__PURE__*/_jsx(Typography, {
|
|
106
|
+
component: "span",
|
|
107
|
+
sx: {
|
|
108
|
+
display: "block",
|
|
109
|
+
marginTop: "var(--s-1)",
|
|
110
|
+
fontSize: "var(--text-xs, 12px)",
|
|
111
|
+
color: "var(--fg-muted)" /* 7.52:1 sur bg-subtle ✅ */
|
|
112
|
+
},
|
|
113
|
+
children: hint
|
|
114
|
+
})]
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
export default FormikDisplay;
|
|
118
|
+
//# sourceMappingURL=FormikDisplay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormikDisplay.js","names":["React","Box","Typography","getIn","useFormikContext","jsx","_jsx","jsxs","_jsxs","FormikDisplay","_ref","name","label","hint","format","_ref$mono","mono","_ref$empty","empty","sx","_useFormikContext","values","raw","undefined","display","String","trim","_typeof","obj","description","libelle","code","JSON","stringify","isEmpty","children","component","fontSize","fontWeight","color","marginBottom","userSelect","role","concat","minHeight","alignItems","padding","background","border","borderRadius","cursor","overflow","fontFamily","fontStyle","textOverflow","whiteSpace","marginTop"],"sources":["../../../../src/lib/v2/components/FormikDisplay.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Typography from \"@mui/material/Typography\";\r\nimport { getIn, useFormikContext } from \"formik\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * FormikDisplay — Portnet UI v2\r\n *\r\n * Affiche une valeur Formik en lecture seule avec un fond grisé\r\n * clairement distinct des champs saisissables (fond blanc).\r\n *\r\n * ── Audit contraste WCAG 2.1 SC 1.4.3 ──────────────────────────────\r\n * Fond : --bg-subtle = #F1F2F5\r\n *\r\n * Valeur/hint : --fg-muted (#474C5A) → 7.52:1 ✅ AAA (> 7:1)\r\n * À NE PAS utiliser sur ce fond :\r\n * --fg-subtle (#6B7280) → 4.30:1 sur #F1F2F5 ❌ sous AA (4.5:1)\r\n * (--fg-subtle est calibré \"on white only\" dans colors.js)\r\n *\r\n * ── Fond ────────────────────────────────────────────────────────────\r\n * --bg-subtle (#F1F2F5) est clairement visible sur les sections\r\n * (#FFFFFF surface), contrairement à --bg (#F7F8FA ≈ blanc).\r\n *\r\n * ── Usage ────────────────────────────────────────────────────────────\r\n * <FormikDisplay name=\"donneesTI.etat\" label=\"État\"\r\n * hint=\"Géré par le workflow\" />\r\n *\r\n * <FormikDisplay name=\"importateur.codePIN\" label=\"Code PIN\" mono />\r\n */\r\n\r\nexport interface FormikDisplayProps {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n hint?: React.ReactNode | undefined;\r\n format?: ((raw: unknown) => React.ReactNode) | undefined;\r\n mono?: boolean | undefined;\r\n empty?: string | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nfunction FormikDisplay({\r\n name,\r\n label,\r\n hint,\r\n format,\r\n mono = false,\r\n empty = \"\\u2014\",\r\n sx,\r\n}: FormikDisplayProps) {\r\n const { values } = useFormikContext();\r\n const raw: unknown = name ? getIn(values, name) : undefined;\r\n\r\n let display: React.ReactNode;\r\n if (format) {\r\n display = format(raw);\r\n } else if (raw === null || raw === undefined || String(raw).trim() === \"\") {\r\n display = empty;\r\n } else if (typeof raw === \"object\") {\r\n const obj = raw as { description?: React.ReactNode; libelle?: React.ReactNode; code?: React.ReactNode };\r\n display = obj.description || obj.libelle || obj.code || JSON.stringify(raw);\r\n } else {\r\n display = String(raw);\r\n }\r\n\r\n const isEmpty = display === empty;\r\n\r\n return (\r\n <Box sx={sx}>\r\n {/* Label — même style que Field.js */}\r\n {label && (\r\n <Typography\r\n component=\"span\"\r\n sx={{\r\n display: \"block\",\r\n fontSize: \"var(--text-xs, 12px)\",\r\n fontWeight: \"var(--fw-semibold, 600)\",\r\n color: \"var(--fg-muted)\", /* 7.52:1 sur bg-subtle ✅ AAA */\r\n marginBottom: \"var(--s-2)\",\r\n userSelect: \"none\",\r\n }}\r\n >\r\n {label}\r\n </Typography>\r\n )}\r\n\r\n <Box\r\n role=\"status\"\r\n aria-label={label ? `${label} : ${display}` : `${display}`}\r\n sx={{\r\n minHeight: 40,\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: \"var(--s-2) var(--s-3)\",\r\n background: \"var(--bg-subtle, #f1f2f5)\",\r\n border: \"1px solid var(--border, #e4e6eb)\",\r\n borderRadius: \"var(--r-md, 6px)\",\r\n cursor: \"default\",\r\n userSelect: \"text\",\r\n overflow: \"hidden\",\r\n }}\r\n >\r\n <Typography\r\n component=\"span\"\r\n sx={{\r\n fontSize: \"var(--text-sm, 14px)\",\r\n fontFamily: mono ? \"var(--font-mono, monospace)\" : \"inherit\",\r\n /*\r\n * --fg-muted (#474C5A) = 7.52:1 sur --bg-subtle ✅ AAA\r\n * Utilisé pour valeur présente ET placeholder vide.\r\n * NE PAS substituer --fg-subtle (#6B7280) qui tombe à 4.30:1\r\n * sur ce fond (sous WCAG AA).\r\n */\r\n color: \"var(--fg-muted)\",\r\n fontStyle: isEmpty ? \"italic\" : \"normal\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n }}\r\n >\r\n {display}\r\n </Typography>\r\n </Box>\r\n\r\n {/* Hint — --fg-muted (7.52:1) car --fg-subtle (4.30:1) échoue AA sur bg-subtle */}\r\n {hint && (\r\n <Typography\r\n component=\"span\"\r\n sx={{\r\n display: \"block\",\r\n marginTop: \"var(--s-1)\",\r\n fontSize: \"var(--text-xs, 12px)\",\r\n color: \"var(--fg-muted)\", /* 7.52:1 sur bg-subtle ✅ */\r\n }}\r\n >\r\n {hint}\r\n </Typography>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default FormikDisplay;\r\n"],"mappings":"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","ignoreList":[]}
|