@portnet/ui 6.0.1 → 6.0.3
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 +737 -0
- package/dist/esm/index.js +90 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
- package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldNaming.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 +18 -18
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/esm/v2/__tests__/apiError.test.js +50 -69
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
- package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
- package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
- package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +48 -70
- package/dist/esm/v2/components/Accordion.js.map +1 -1
- package/dist/esm/v2/components/ActionStrip.js +31 -43
- package/dist/esm/v2/components/ActionStrip.js.map +1 -1
- package/dist/esm/v2/components/Banner.js +25 -22
- package/dist/esm/v2/components/Banner.js.map +1 -1
- package/dist/esm/v2/components/Busy.js +14 -19
- package/dist/esm/v2/components/Busy.js.map +1 -1
- package/dist/esm/v2/components/Button.js +34 -45
- package/dist/esm/v2/components/Button.js.map +1 -1
- package/dist/esm/v2/components/CategoryTag.js +44 -27
- package/dist/esm/v2/components/CategoryTag.js.map +1 -1
- package/dist/esm/v2/components/Checkbox.js +32 -38
- package/dist/esm/v2/components/Checkbox.js.map +1 -1
- package/dist/esm/v2/components/Chip.js +23 -36
- package/dist/esm/v2/components/Chip.js.map +1 -1
- package/dist/esm/v2/components/Combobox.js +112 -136
- package/dist/esm/v2/components/Combobox.js.map +1 -1
- package/dist/esm/v2/components/CommandPalette.js +113 -198
- package/dist/esm/v2/components/CommandPalette.js.map +1 -1
- package/dist/esm/v2/components/ConfirmDialog.js +36 -45
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/esm/v2/components/DatePicker.js +78 -81
- package/dist/esm/v2/components/DatePicker.js.map +1 -1
- package/dist/esm/v2/components/DateRangePicker.js +63 -74
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
- package/dist/esm/v2/components/DateTimePicker.js +118 -90
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
- package/dist/esm/v2/components/Drawer.js +71 -65
- package/dist/esm/v2/components/Drawer.js.map +1 -1
- package/dist/esm/v2/components/Dropzone.js +130 -177
- package/dist/esm/v2/components/Dropzone.js.map +1 -1
- package/dist/esm/v2/components/EmptyState.js +9 -9
- package/dist/esm/v2/components/EmptyState.js.map +1 -1
- package/dist/esm/v2/components/FavoriteToggle.js +24 -33
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/esm/v2/components/Field.js +210 -52
- package/dist/esm/v2/components/Field.js.map +1 -1
- package/dist/esm/v2/components/FieldError.js +9 -13
- package/dist/esm/v2/components/FieldError.js.map +1 -1
- package/dist/esm/v2/components/FieldHelp.js +28 -49
- package/dist/esm/v2/components/FieldHelp.js.map +1 -1
- package/dist/esm/v2/components/FileCard.js +14 -19
- package/dist/esm/v2/components/FileCard.js.map +1 -1
- package/dist/esm/v2/components/FilterTab.js +22 -31
- package/dist/esm/v2/components/FilterTab.js.map +1 -1
- package/dist/esm/v2/components/ForbiddenPage.js +28 -8
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/esm/v2/components/FormGrid.js +48 -54
- package/dist/esm/v2/components/FormGrid.js.map +1 -1
- package/dist/esm/v2/components/FormikDisplay.js +98 -24
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
- package/dist/esm/v2/components/Input.js +75 -34
- package/dist/esm/v2/components/Input.js.map +1 -1
- package/dist/esm/v2/components/KPICard.js +42 -51
- package/dist/esm/v2/components/KPICard.js.map +1 -1
- package/dist/esm/v2/components/KPIStrip.js +9 -15
- package/dist/esm/v2/components/KPIStrip.js.map +1 -1
- package/dist/esm/v2/components/KV.js +16 -23
- package/dist/esm/v2/components/KV.js.map +1 -1
- package/dist/esm/v2/components/KVGrid.js +15 -23
- package/dist/esm/v2/components/KVGrid.js.map +1 -1
- package/dist/esm/v2/components/Layout.js +81 -117
- package/dist/esm/v2/components/Layout.js.map +1 -1
- package/dist/esm/v2/components/MobileRowCard.js +64 -75
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
- package/dist/esm/v2/components/Modal.js +44 -53
- package/dist/esm/v2/components/Modal.js.map +1 -1
- package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/esm/v2/components/NotFoundPage.js +28 -9
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
- package/dist/esm/v2/components/NumberInput.js +77 -107
- package/dist/esm/v2/components/NumberInput.js.map +1 -1
- package/dist/esm/v2/components/OverflowMenu.js +24 -42
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
- package/dist/esm/v2/components/PdfViewer.js +24 -33
- package/dist/esm/v2/components/PdfViewer.js.map +1 -1
- package/dist/esm/v2/components/ProgressBar.js +28 -36
- package/dist/esm/v2/components/ProgressBar.js.map +1 -1
- package/dist/esm/v2/components/Radio.js +49 -57
- package/dist/esm/v2/components/Radio.js.map +1 -1
- package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/esm/v2/components/SectionHeader.js +24 -31
- package/dist/esm/v2/components/SectionHeader.js.map +1 -1
- package/dist/esm/v2/components/Segmented.js +59 -84
- package/dist/esm/v2/components/Segmented.js.map +1 -1
- package/dist/esm/v2/components/Select.js +100 -138
- package/dist/esm/v2/components/Select.js.map +1 -1
- package/dist/esm/v2/components/ServerErrorPage.js +27 -10
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/esm/v2/components/Skeleton.js +81 -96
- package/dist/esm/v2/components/Skeleton.js.map +1 -1
- package/dist/esm/v2/components/SkipLink.js +6 -7
- package/dist/esm/v2/components/SkipLink.js.map +1 -1
- package/dist/esm/v2/components/Spinner.js +13 -22
- package/dist/esm/v2/components/Spinner.js.map +1 -1
- package/dist/esm/v2/components/Status.js +14 -25
- package/dist/esm/v2/components/Status.js.map +1 -1
- package/dist/esm/v2/components/Stepper.js +68 -71
- package/dist/esm/v2/components/Stepper.js.map +1 -1
- package/dist/esm/v2/components/Surface.js +25 -44
- package/dist/esm/v2/components/Surface.js.map +1 -1
- package/dist/esm/v2/components/Switch.js +21 -29
- package/dist/esm/v2/components/Switch.js.map +1 -1
- package/dist/esm/v2/components/TabPanel.js +84 -0
- package/dist/esm/v2/components/TabPanel.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +43 -19
- package/dist/esm/v2/components/Tabs.js.map +1 -1
- package/dist/esm/v2/components/TelInput.js +75 -108
- package/dist/esm/v2/components/TelInput.js.map +1 -1
- package/dist/esm/v2/components/Textarea.js +21 -30
- package/dist/esm/v2/components/Textarea.js.map +1 -1
- package/dist/esm/v2/components/TimePicker.js +59 -69
- package/dist/esm/v2/components/TimePicker.js.map +1 -1
- package/dist/esm/v2/components/Toast.js +109 -163
- package/dist/esm/v2/components/Toast.js.map +1 -1
- package/dist/esm/v2/components/Tooltip.js +18 -31
- package/dist/esm/v2/components/Tooltip.js.map +1 -1
- package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/esm/v2/components/_pickerShared.js +2 -2
- package/dist/esm/v2/components/_pickerShared.js.map +1 -1
- package/dist/esm/v2/components/index.js +64 -0
- package/dist/esm/v2/components/index.js.map +1 -1
- package/dist/esm/v2/hooks/index.js +62 -0
- package/dist/esm/v2/hooks/index.js.map +1 -1
- package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
- package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/esm/v2/hooks/useDensity.js +13 -17
- package/dist/esm/v2/hooks/useDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useSortedRows.js +3 -5
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/esm/v2/hooks/useTabLoading.js +6 -21
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/esm/v2/index.js +14 -4
- package/dist/esm/v2/index.js.map +1 -1
- package/dist/esm/v2/modalContext.js +2 -2
- package/dist/esm/v2/modalContext.js.map +1 -1
- package/dist/esm/v2/models/favorite.js.map +1 -1
- package/dist/esm/v2/models/personalization.js.map +1 -1
- package/dist/esm/v2/models/referentiel.js.map +1 -1
- package/dist/esm/v2/models/savedFilter.js.map +1 -1
- package/dist/esm/v2/patterns/ActionBar.js +115 -159
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/AppMain.js +108 -0
- package/dist/esm/v2/patterns/AppMain.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/ChartFigure.js +151 -0
- package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/esm/v2/patterns/DataGrid.js +221 -255
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/esm/v2/patterns/DetailSplit.js +108 -0
- package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
- package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/esm/v2/patterns/FormPageShell.js +43 -41
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/FormSection.js +30 -38
- package/dist/esm/v2/patterns/FormSection.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
- package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +94 -78
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
- package/dist/esm/v2/patterns/FormikInput.js +40 -50
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/FormikSelect.js +64 -84
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/esm/v2/patterns/PageContent.js +10 -14
- package/dist/esm/v2/patterns/PageContent.js.map +1 -1
- package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
- package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +327 -312
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/SortableHeader.js +22 -45
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/esm/v2/patterns/Tour.js +94 -120
- package/dist/esm/v2/patterns/Tour.js.map +1 -1
- package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +17 -33
- package/dist/esm/v2/patterns/_sort.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/esm/v2/patterns/filterCriteria.js +102 -0
- package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +235 -0
- package/dist/esm/v2/patterns/index.js.map +1 -1
- package/dist/esm/v2/patterns/rowActions.js +223 -0
- package/dist/esm/v2/patterns/rowActions.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +5 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/esm/v2/personalization/index.js +35 -0
- package/dist/esm/v2/personalization/index.js.map +1 -1
- package/dist/esm/v2/personalization/personalizationContext.js +9 -9
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/esm/v2/personalization/schema.js +8 -9
- package/dist/esm/v2/personalization/schema.js.map +1 -1
- package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/esm/v2/referentiel/types.js +2 -0
- package/dist/esm/v2/referentiel/types.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/esm/v2/theme/_brand.js +8 -24
- package/dist/esm/v2/theme/_brand.js.map +1 -1
- package/dist/esm/v2/theme/_brandSecondary.js +8 -24
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/esm/v2/theme/cssVariables.js +62 -69
- package/dist/esm/v2/theme/cssVariables.js.map +1 -1
- package/dist/esm/v2/theme/index.js +5 -5
- package/dist/esm/v2/theme/index.js.map +1 -1
- package/dist/esm/v2/tokens/breakpoints.js +14 -14
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
- package/dist/esm/v2/tokens/chart.js +261 -0
- package/dist/esm/v2/tokens/chart.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +22 -22
- package/dist/esm/v2/tokens/colors.js.map +1 -1
- package/dist/esm/v2/tokens/density.js +62 -7
- package/dist/esm/v2/tokens/density.js.map +1 -1
- package/dist/esm/v2/tokens/index.js +49 -34
- package/dist/esm/v2/tokens/index.js.map +1 -1
- package/dist/esm/v2/tokens/motion.js +12 -20
- package/dist/esm/v2/tokens/motion.js.map +1 -1
- package/dist/esm/v2/tokens/radius.js +1 -1
- package/dist/esm/v2/tokens/radius.js.map +1 -1
- package/dist/esm/v2/tokens/shadows.js +6 -6
- package/dist/esm/v2/tokens/shadows.js.map +1 -1
- package/dist/esm/v2/tokens/spacing.js +2 -2
- package/dist/esm/v2/tokens/spacing.js.map +1 -1
- package/dist/esm/v2/tokens/state.js +1 -1
- package/dist/esm/v2/tokens/state.js.map +1 -1
- package/dist/esm/v2/tokens/statusPalette.js +17 -21
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
- package/dist/esm/v2/tokens/tokens.json +6 -1
- package/dist/esm/v2/tokens/typography.js +13 -13
- package/dist/esm/v2/tokens/typography.js.map +1 -1
- package/dist/esm/v2/tokens/zIndex.js +1 -1
- package/dist/esm/v2/tokens/zIndex.js.map +1 -1
- package/dist/esm/v2/types/datagrid.js.map +1 -1
- package/dist/esm/v2/utils/apiError.js +16 -37
- package/dist/esm/v2/utils/apiError.js.map +1 -1
- package/dist/esm/v2/utils/contrast.js +31 -32
- package/dist/esm/v2/utils/contrast.js.map +1 -1
- package/dist/esm/v2/utils/cx.js +5 -25
- package/dist/esm/v2/utils/cx.js.map +1 -1
- package/dist/esm/v2/utils/fileDownload.js +23 -26
- package/dist/esm/v2/utils/fileDownload.js.map +1 -1
- package/dist/esm/v2/utils/fileValidation.js +209 -0
- package/dist/esm/v2/utils/fileValidation.js.map +1 -0
- package/dist/esm/v2/utils/fmtDate.js +111 -0
- package/dist/esm/v2/utils/fmtDate.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +8 -10
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
- package/dist/esm/v2/utils/formikErrors.js +78 -0
- package/dist/esm/v2/utils/formikErrors.js.map +1 -0
- package/dist/esm/v2/utils/index.js +35 -2
- package/dist/esm/v2/utils/index.js.map +1 -1
- package/dist/esm/v2/utils/mergeLabels.js +7 -12
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
- package/dist/esm/v2/utils/networkStatus.js +12 -12
- package/dist/esm/v2/utils/networkStatus.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -47
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/AppMain.test.js +133 -0
- package/dist/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/v2/__tests__/ChartFigure.test.js +183 -0
- package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/v2/__tests__/FieldError.test.js +98 -69
- package/dist/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/v2/__tests__/FieldNaming.test.js +161 -0
- package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +148 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +45 -48
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
- package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/v2/__tests__/apiError.test.js +50 -69
- package/dist/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/v2/__tests__/banned-patterns.test.js +42 -123
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/v2/__tests__/chart-palette.test.js +205 -0
- package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/v2/__tests__/fileValidation.test.js +136 -0
- package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/v2/__tests__/filterCriteria.test.js +324 -0
- package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/fmtDate.test.js +69 -0
- package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +38 -46
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/__tests__/locale-fallback.test.js +47 -52
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
- package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/rowActions.test.js +186 -0
- package/dist/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/v2/components/Accordion.js +60 -82
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.js +40 -52
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.js +42 -41
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.js +22 -27
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.js +39 -50
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js +49 -32
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.js +39 -45
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.js +29 -42
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.js +122 -144
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.js +138 -225
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +46 -56
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.js +81 -86
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.js +77 -87
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +121 -95
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +93 -88
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.js +150 -196
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.js +18 -20
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +28 -39
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +121 -5
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +221 -62
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.js +18 -21
- package/dist/v2/components/FieldError.js.map +1 -1
- package/dist/v2/components/FieldHelp.js +40 -60
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.js +27 -31
- package/dist/v2/components/FileCard.js.map +1 -1
- package/dist/v2/components/FilterTab.js +30 -38
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/ForbiddenPage.d.ts +25 -1
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
- package/dist/v2/components/ForbiddenPage.js +37 -17
- package/dist/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/v2/components/FormGrid.js +53 -59
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +50 -1
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js +108 -33
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +40 -0
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js +81 -41
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.js +57 -67
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.js +16 -22
- package/dist/v2/components/KPIStrip.js.map +1 -1
- package/dist/v2/components/KV.js +25 -31
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.js +19 -26
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.js +91 -120
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.js +79 -91
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.js +61 -69
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js +38 -21
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NotFoundPage.d.ts +17 -1
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
- package/dist/v2/components/NotFoundPage.js +37 -18
- package/dist/v2/components/NotFoundPage.js.map +1 -1
- package/dist/v2/components/NumberInput.js +88 -118
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.js +38 -56
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.js +34 -45
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.js +42 -49
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.js +59 -67
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.js +90 -135
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/v2/components/SectionHeader.js +34 -41
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.js +69 -93
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +26 -2
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +120 -155
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +27 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js +37 -20
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.js +86 -100
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.js +9 -12
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Spinner.js +16 -25
- package/dist/v2/components/Spinner.js.map +1 -1
- package/dist/v2/components/Status.js +18 -29
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.js +80 -82
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.js +34 -49
- package/dist/v2/components/Surface.js.map +1 -1
- package/dist/v2/components/Switch.js +29 -37
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/TabPanel.d.ts +17 -0
- package/dist/v2/components/TabPanel.d.ts.map +1 -0
- package/dist/v2/components/TabPanel.js +90 -0
- package/dist/v2/components/TabPanel.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +25 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js +53 -29
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.js +80 -115
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.js +26 -35
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.js +62 -74
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.js +119 -174
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.js +23 -38
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/_ErrorPageBody.js +15 -16
- package/dist/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/v2/components/_pickerShared.js +5 -5
- package/dist/v2/components/_pickerShared.js.map +1 -1
- package/dist/v2/components/index.d.ts +67 -1
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +153 -136
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/hooks/index.d.ts +65 -0
- package/dist/v2/hooks/index.d.ts.map +1 -1
- package/dist/v2/hooks/index.js +63 -24
- package/dist/v2/hooks/index.js.map +1 -1
- package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
- package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
- package/dist/v2/hooks/useAppliedFilters.js +117 -0
- package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.js +87 -0
- package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +6 -20
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/v2/hooks/useDensity.d.ts.map +1 -1
- package/dist/v2/hooks/useDensity.js +14 -18
- package/dist/v2/hooks/useDensity.js.map +1 -1
- package/dist/v2/hooks/useFocusFirstError.js +26 -34
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +20 -24
- package/dist/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.js +39 -54
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +5 -13
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/v2/hooks/useSortedRows.js +4 -6
- package/dist/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/v2/hooks/useTabLoading.js +7 -22
- package/dist/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js +143 -145
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/modalContext.js +2 -2
- package/dist/v2/modalContext.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +8 -9
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/index.js +4 -4
- package/dist/v2/models/index.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +44 -48
- 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 +32 -50
- 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 -17
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.js +152 -187
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/AppMain.d.ts +109 -0
- package/dist/v2/patterns/AppMain.d.ts.map +1 -0
- package/dist/v2/patterns/AppMain.js +115 -0
- package/dist/v2/patterns/AppMain.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +40 -42
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/ChartFigure.d.ts +124 -0
- package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
- package/dist/v2/patterns/ChartFigure.js +159 -0
- package/dist/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +60 -94
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/DataGrid.js +262 -297
- package/dist/v2/patterns/DataGrid.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +103 -106
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js +179 -217
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/DetailSplit.d.ts +87 -0
- package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
- package/dist/v2/patterns/DetailSplit.js +116 -0
- package/dist/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +32 -80
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +36 -44
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
- package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
- package/dist/v2/patterns/FilterTabBar.js +120 -0
- package/dist/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +20 -23
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.js +53 -50
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +8 -3
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +44 -51
- 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 +138 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +55 -69
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +59 -106
- 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 +144 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.js +25 -26
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
- package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorSummary.js +97 -0
- package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +14 -1
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js +99 -83
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +11 -1
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +45 -55
- 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 +137 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js +54 -64
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +9 -1
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +70 -89
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -48
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.js +17 -20
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
- package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
- package/dist/v2/patterns/PreviewDrawer.js +159 -0
- package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +86 -2
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +347 -327
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.js +50 -77
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js +122 -143
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.js +35 -57
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.js +121 -142
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +131 -147
- 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 +80 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_sort.js +17 -33
- package/dist/v2/patterns/_sort.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js +124 -163
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js +80 -99
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/filterCriteria.d.ts +78 -0
- package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
- package/dist/v2/patterns/filterCriteria.js +110 -0
- package/dist/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +247 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +182 -70
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/patterns/rowActions.d.ts +150 -0
- package/dist/v2/patterns/rowActions.d.ts.map +1 -0
- package/dist/v2/patterns/rowActions.js +232 -0
- package/dist/v2/patterns/rowActions.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js +57 -53
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/index.js +5 -5
- package/dist/v2/personalization/adapters/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/favorites.js +39 -62
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
- 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 +210 -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 +23 -10
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js +81 -182
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +34 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +41 -21
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/personalizationContext.js +10 -12
- package/dist/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/v2/personalization/schema.js +8 -9
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js +31 -45
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/index.js +11 -13
- package/dist/v2/referentiel/index.js.map +1 -1
- package/dist/v2/referentiel/types.d.ts +105 -0
- package/dist/v2/referentiel/types.d.ts.map +1 -0
- package/dist/v2/referentiel/types.js +6 -0
- package/dist/v2/referentiel/types.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +13 -16
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js +63 -120
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js +40 -95
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/_brand.js +12 -26
- package/dist/v2/theme/_brand.js.map +1 -1
- package/dist/v2/theme/_brandSecondary.js +12 -26
- package/dist/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +41 -49
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/theme/cssVariables.d.ts +3 -3
- package/dist/v2/theme/cssVariables.d.ts.map +1 -1
- package/dist/v2/theme/cssVariables.js +65 -70
- package/dist/v2/theme/cssVariables.js.map +1 -1
- package/dist/v2/theme/index.js +10 -10
- package/dist/v2/theme/index.js.map +1 -1
- package/dist/v2/tokens/breakpoints.js +16 -16
- package/dist/v2/tokens/breakpoints.js.map +1 -1
- package/dist/v2/tokens/chart.d.ts +103 -0
- package/dist/v2/tokens/chart.d.ts.map +1 -0
- package/dist/v2/tokens/chart.js +270 -0
- package/dist/v2/tokens/chart.js.map +1 -0
- package/dist/v2/tokens/colors.js +24 -24
- package/dist/v2/tokens/colors.js.map +1 -1
- package/dist/v2/tokens/density.d.ts +104 -0
- package/dist/v2/tokens/density.d.ts.map +1 -1
- package/dist/v2/tokens/density.js +67 -12
- package/dist/v2/tokens/density.js.map +1 -1
- package/dist/v2/tokens/index.d.ts +50 -1
- package/dist/v2/tokens/index.d.ts.map +1 -1
- package/dist/v2/tokens/index.js +116 -68
- package/dist/v2/tokens/index.js.map +1 -1
- package/dist/v2/tokens/motion.js +16 -22
- package/dist/v2/tokens/motion.js.map +1 -1
- package/dist/v2/tokens/radius.js +3 -3
- package/dist/v2/tokens/radius.js.map +1 -1
- package/dist/v2/tokens/shadows.js +8 -8
- package/dist/v2/tokens/shadows.js.map +1 -1
- package/dist/v2/tokens/spacing.js +4 -4
- package/dist/v2/tokens/spacing.js.map +1 -1
- package/dist/v2/tokens/state.js +3 -3
- package/dist/v2/tokens/state.js.map +1 -1
- package/dist/v2/tokens/statusPalette.js +21 -23
- package/dist/v2/tokens/statusPalette.js.map +1 -1
- package/dist/v2/tokens/tokens.json +6 -1
- package/dist/v2/tokens/typography.js +15 -15
- package/dist/v2/tokens/typography.js.map +1 -1
- package/dist/v2/tokens/zIndex.js +3 -3
- package/dist/v2/tokens/zIndex.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +9 -1
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/types/index.js +2 -2
- package/dist/v2/types/index.js.map +1 -1
- package/dist/v2/utils/apiError.js +16 -37
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/contrast.js +31 -32
- package/dist/v2/utils/contrast.js.map +1 -1
- package/dist/v2/utils/cx.js +7 -27
- package/dist/v2/utils/cx.js.map +1 -1
- package/dist/v2/utils/fileDownload.js +25 -28
- package/dist/v2/utils/fileDownload.js.map +1 -1
- package/dist/v2/utils/fileValidation.d.ts +116 -0
- package/dist/v2/utils/fileValidation.d.ts.map +1 -0
- package/dist/v2/utils/fileValidation.js +220 -0
- package/dist/v2/utils/fileValidation.js.map +1 -0
- package/dist/v2/utils/fmtDate.d.ts +103 -0
- package/dist/v2/utils/fmtDate.d.ts.map +1 -0
- package/dist/v2/utils/fmtDate.js +119 -0
- package/dist/v2/utils/fmtDate.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +3 -3
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
- package/dist/v2/utils/fmtMoney.js +9 -11
- package/dist/v2/utils/fmtMoney.js.map +1 -1
- package/dist/v2/utils/formikErrors.d.ts +67 -0
- package/dist/v2/utils/formikErrors.d.ts.map +1 -0
- package/dist/v2/utils/formikErrors.js +85 -0
- package/dist/v2/utils/formikErrors.js.map +1 -0
- package/dist/v2/utils/index.d.ts +5 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +67 -18
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.js +9 -14
- package/dist/v2/utils/mergeLabels.js.map +1 -1
- package/dist/v2/utils/networkStatus.js +14 -14
- package/dist/v2/utils/networkStatus.js.map +1 -1
- package/package.json +26 -9
|
@@ -1,14 +1,3 @@
|
|
|
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
1
|
import * as React from "react";
|
|
13
2
|
import Box from "@mui/material/Box";
|
|
14
3
|
|
|
@@ -54,14 +43,15 @@ import Box from "@mui/material/Box";
|
|
|
54
43
|
* </FormGrid>
|
|
55
44
|
*/
|
|
56
45
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
57
|
-
function FormGrid(
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
46
|
+
function FormGrid({
|
|
47
|
+
children,
|
|
48
|
+
columns,
|
|
49
|
+
minColumnWidth,
|
|
50
|
+
gap,
|
|
51
|
+
sx,
|
|
52
|
+
...rest
|
|
53
|
+
}) {
|
|
54
|
+
const gridTemplateColumns = React.useMemo(() => {
|
|
65
55
|
/* Auto-fill adaptatif — minColumnWidth prime sur columns.
|
|
66
56
|
* min(${minColumnWidth}px, 100%) borne la largeur mini de chaque
|
|
67
57
|
* piste à celle du conteneur : au-dessus de sm, une piste ne peut
|
|
@@ -69,10 +59,10 @@ function FormGrid(_ref) {
|
|
|
69
59
|
if (minColumnWidth) {
|
|
70
60
|
return {
|
|
71
61
|
xs: "1fr",
|
|
72
|
-
sm:
|
|
62
|
+
sm: `repeat(auto-fill, minmax(min(${minColumnWidth}px, 100%), 1fr))`
|
|
73
63
|
};
|
|
74
64
|
}
|
|
75
|
-
|
|
65
|
+
const cols = typeof columns === "number" && columns > 0 ? columns : 3;
|
|
76
66
|
|
|
77
67
|
/* Colonne unique — textarea, notes, upload : toujours pleine largeur */
|
|
78
68
|
if (cols === 1) return "1fr";
|
|
@@ -97,13 +87,13 @@ function FormGrid(_ref) {
|
|
|
97
87
|
return {
|
|
98
88
|
xs: "1fr",
|
|
99
89
|
sm: "repeat(2, minmax(0, 1fr))",
|
|
100
|
-
md:
|
|
90
|
+
md: `repeat(${cols}, minmax(0, 1fr))`
|
|
101
91
|
};
|
|
102
92
|
}, [columns, minColumnWidth]);
|
|
103
|
-
return /*#__PURE__*/_jsx(Box,
|
|
104
|
-
sx:
|
|
93
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
94
|
+
sx: {
|
|
105
95
|
display: "grid",
|
|
106
|
-
gridTemplateColumns
|
|
96
|
+
gridTemplateColumns,
|
|
107
97
|
/* Charter §2.3 — `-s-4` (16px) EST le « Gap formulaire (default) » ; le
|
|
108
98
|
* défaut précédent était `-s-3` (12px), que la même table réserve au
|
|
109
99
|
* « Padding cards compact ». Le composant canonique de grille de
|
|
@@ -114,12 +104,13 @@ function FormGrid(_ref) {
|
|
|
114
104
|
*
|
|
115
105
|
* `??` et non `||` : `gap={0}` est une valeur légitime que `||`
|
|
116
106
|
* écrasait silencieusement par le défaut. */
|
|
117
|
-
gap: gap
|
|
118
|
-
alignItems: "start"
|
|
119
|
-
|
|
120
|
-
|
|
107
|
+
gap: gap ?? "var(--s-4)",
|
|
108
|
+
alignItems: "start",
|
|
109
|
+
...sx
|
|
110
|
+
},
|
|
111
|
+
...rest,
|
|
121
112
|
children: children
|
|
122
|
-
})
|
|
113
|
+
});
|
|
123
114
|
}
|
|
124
115
|
|
|
125
116
|
/* ── FormGrid.Full ────────────────────────────────────────────────────
|
|
@@ -127,18 +118,20 @@ function FormGrid(_ref) {
|
|
|
127
118
|
* Usage : textareas, file uploads, sub-tables, notes.
|
|
128
119
|
*/
|
|
129
120
|
|
|
130
|
-
function FormGridFull(
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
121
|
+
function FormGridFull({
|
|
122
|
+
children,
|
|
123
|
+
sx,
|
|
124
|
+
...rest
|
|
125
|
+
}) {
|
|
126
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
127
|
+
sx: {
|
|
136
128
|
gridColumn: "1 / -1",
|
|
137
|
-
minWidth: 0
|
|
138
|
-
|
|
139
|
-
|
|
129
|
+
minWidth: 0,
|
|
130
|
+
...sx
|
|
131
|
+
},
|
|
132
|
+
...rest,
|
|
140
133
|
children: children
|
|
141
|
-
})
|
|
134
|
+
});
|
|
142
135
|
}
|
|
143
136
|
|
|
144
137
|
/* ── FormGrid.Item ────────────────────────────────────────────────────
|
|
@@ -150,28 +143,29 @@ function FormGridFull(_ref2) {
|
|
|
150
143
|
* Usage : Description (span=2 sur desktop, full-width mobile/tablette)
|
|
151
144
|
*/
|
|
152
145
|
|
|
153
|
-
function FormGridItem(
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
return /*#__PURE__*/_jsx(Box,
|
|
160
|
-
sx:
|
|
146
|
+
function FormGridItem({
|
|
147
|
+
span = 1,
|
|
148
|
+
children,
|
|
149
|
+
sx,
|
|
150
|
+
...rest
|
|
151
|
+
}) {
|
|
152
|
+
return /*#__PURE__*/_jsx(Box, {
|
|
153
|
+
sx: {
|
|
161
154
|
gridColumn: {
|
|
162
155
|
xs: "1 / -1",
|
|
163
156
|
/* mobile : toujours pleine largeur */
|
|
164
157
|
sm: "span 1",
|
|
165
158
|
/* tablette (2-col) : 1 cellule */
|
|
166
|
-
md:
|
|
159
|
+
md: `span ${span}` /* desktop (N-col) : span explicite */
|
|
167
160
|
},
|
|
168
|
-
minWidth: 0
|
|
169
|
-
|
|
170
|
-
|
|
161
|
+
minWidth: 0,
|
|
162
|
+
...sx
|
|
163
|
+
},
|
|
164
|
+
...rest,
|
|
171
165
|
children: children
|
|
172
|
-
})
|
|
166
|
+
});
|
|
173
167
|
}
|
|
174
|
-
|
|
168
|
+
const FormGridWithStatics = Object.assign(FormGrid, {
|
|
175
169
|
Item: FormGridItem,
|
|
176
170
|
Full: FormGridFull
|
|
177
171
|
});
|
|
@@ -1 +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":[]}
|
|
1
|
+
{"version":3,"file":"FormGrid.js","names":["React","Box","jsx","_jsx","FormGrid","children","columns","minColumnWidth","gap","sx","rest","gridTemplateColumns","useMemo","xs","sm","cols","md","display","alignItems","FormGridFull","gridColumn","minWidth","FormGridItem","span","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":[]}
|
|
@@ -1,8 +1,8 @@
|
|
|
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
1
|
import * as React from "react";
|
|
3
2
|
import Box from "@mui/material/Box";
|
|
4
3
|
import Typography from "@mui/material/Typography";
|
|
5
4
|
import { getIn, useFormikContext } from "formik";
|
|
5
|
+
import { FIELD_MAX_WIDTH } from "./Field";
|
|
6
6
|
|
|
7
7
|
/**
|
|
8
8
|
* FormikDisplay — Portnet UI v2
|
|
@@ -18,45 +18,100 @@ import { getIn, useFormikContext } from "formik";
|
|
|
18
18
|
* --fg-subtle (#6B7280) → 4.30:1 sur #F1F2F5 ❌ sous AA (4.5:1)
|
|
19
19
|
* (--fg-subtle est calibré "on white only" dans colors.js)
|
|
20
20
|
*
|
|
21
|
+
* NB : ces ratios sont calculés sur les valeurs du thème CLAIR. Le
|
|
22
|
+
* mode sombre redéfinit --bg-subtle et --fg-muted ; l'appairage n'a
|
|
23
|
+
* pas été re-vérifié là.
|
|
24
|
+
*
|
|
21
25
|
* ── Fond ────────────────────────────────────────────────────────────
|
|
22
26
|
* --bg-subtle (#F1F2F5) est clairement visible sur les sections
|
|
23
27
|
* (#FFFFFF surface), contrairement à --bg (#F7F8FA ≈ blanc).
|
|
24
28
|
*
|
|
29
|
+
* ── Sémantique (D-3) ────────────────────────────────────────────────
|
|
30
|
+
* Le couple label/valeur est lié par `aria-labelledby`, comme dans
|
|
31
|
+
* KV — donc annoncé comme une seule unité quand l'utilisateur
|
|
32
|
+
* l'atteint. Ce bloc portait auparavant `role="status"`, ce qui en
|
|
33
|
+
* faisait une région live : sur un écran de consultation à vingt
|
|
34
|
+
* champs, vingt régions live polies. C'est précisément ce que le
|
|
35
|
+
* composant Status refuse de faire, et pour la même raison.
|
|
36
|
+
*
|
|
37
|
+
* ── LARGEUR SEMANTIQUE (G-H) ───────────────────────────────────────
|
|
38
|
+
*
|
|
39
|
+
* `width` rattache le champ a l'un des cinq gabarits de la section « Form
|
|
40
|
+
* Field Width & Layout Standards », avec LE MEME plafond et LE MEME palier
|
|
41
|
+
* que `Field` : `FIELD_MAX_WIDTH` est importe de `Field`, pas recopie. Deux
|
|
42
|
+
* tables de largeurs finiraient par diverger, et le standard interdit
|
|
43
|
+
* justement les largeurs arbitraires.
|
|
44
|
+
*
|
|
45
|
+
* POURQUOI CE COMPOSANT EN AVAIT BESOIN. Il ne passe PAS par `Field` — il
|
|
46
|
+
* rend sa propre boite, parce qu'un champ en lecture seule n'a ni controle
|
|
47
|
+
* a nommer par `htmlFor` ni erreur a decrire. Il etait donc le seul champ
|
|
48
|
+
* de la library a ne pas pouvoir porter de gabarit, et un formulaire
|
|
49
|
+
* melant `FormikInput` borne et `FormikDisplay` non borne produit
|
|
50
|
+
* exactement le « jagged right-side layout edge » que le standard
|
|
51
|
+
* proscrit : les champs saisissables s'arretent a 400px, les champs
|
|
52
|
+
* affiches remplissent toute la cellule.
|
|
53
|
+
*
|
|
54
|
+
* Retrocompatible : sans `width`, aucun plafond n'est pose.
|
|
55
|
+
*
|
|
25
56
|
* ── Usage ────────────────────────────────────────────────────────────
|
|
26
57
|
* <FormikDisplay name="donneesTI.etat" label="État"
|
|
27
58
|
* hint="Géré par le workflow" />
|
|
28
59
|
*
|
|
29
60
|
* <FormikDisplay name="importateur.codePIN" label="Code PIN" mono />
|
|
61
|
+
*
|
|
62
|
+
* <FormikDisplay name="observation" label="Observations" wrap />
|
|
63
|
+
*
|
|
64
|
+
* <FormikDisplay name="raisonSociale" label="Raison sociale" width="l" />
|
|
30
65
|
*/
|
|
31
66
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
32
|
-
function FormikDisplay(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
67
|
+
function FormikDisplay({
|
|
68
|
+
name,
|
|
69
|
+
label,
|
|
70
|
+
hint,
|
|
71
|
+
format,
|
|
72
|
+
mono = false,
|
|
73
|
+
empty = "\u2014",
|
|
74
|
+
wrap = false,
|
|
75
|
+
width,
|
|
76
|
+
sx
|
|
77
|
+
}) {
|
|
78
|
+
const {
|
|
79
|
+
values
|
|
80
|
+
} = useFormikContext();
|
|
81
|
+
const raw = name ? getIn(values, name) : undefined;
|
|
82
|
+
const labelId = React.useId();
|
|
83
|
+
let display;
|
|
46
84
|
if (format) {
|
|
47
85
|
display = format(raw);
|
|
48
86
|
} else if (raw === null || raw === undefined || String(raw).trim() === "") {
|
|
49
87
|
display = empty;
|
|
50
|
-
} else if (
|
|
51
|
-
|
|
88
|
+
} else if (typeof raw === "object") {
|
|
89
|
+
const obj = raw;
|
|
52
90
|
display = obj.description || obj.libelle || obj.code || JSON.stringify(raw);
|
|
53
91
|
} else {
|
|
54
92
|
display = String(raw);
|
|
55
93
|
}
|
|
56
|
-
|
|
94
|
+
const isEmpty = display === empty;
|
|
95
|
+
|
|
96
|
+
/* D-4 — the full text as a native tooltip, so a truncated value stays
|
|
97
|
+
recoverable. Only when the resolved display is a string: a `format`
|
|
98
|
+
returning a node has no meaningful title, and "[object Object]" would
|
|
99
|
+
be worse than nothing. */
|
|
100
|
+
const titleAttr = typeof display === "string" ? display : undefined;
|
|
57
101
|
return /*#__PURE__*/_jsxs(Box, {
|
|
58
|
-
sx:
|
|
102
|
+
sx: {
|
|
103
|
+
/* G-H — plafond a partir de `sm` seulement : sur mobile le standard
|
|
104
|
+
* impose 100% de la largeur de grille. Identique a `Field`. */
|
|
105
|
+
...(width ? {
|
|
106
|
+
maxWidth: {
|
|
107
|
+
xs: "100%",
|
|
108
|
+
sm: FIELD_MAX_WIDTH[width]
|
|
109
|
+
}
|
|
110
|
+
} : {}),
|
|
111
|
+
...sx
|
|
112
|
+
},
|
|
59
113
|
children: [label && /*#__PURE__*/_jsx(Typography, {
|
|
114
|
+
id: labelId,
|
|
60
115
|
component: "span",
|
|
61
116
|
sx: {
|
|
62
117
|
display: "block",
|
|
@@ -68,9 +123,18 @@ function FormikDisplay(_ref) {
|
|
|
68
123
|
userSelect: "none"
|
|
69
124
|
},
|
|
70
125
|
children: label
|
|
71
|
-
}), /*#__PURE__*/_jsx(Box
|
|
72
|
-
|
|
73
|
-
|
|
126
|
+
}), /*#__PURE__*/_jsx(Box
|
|
127
|
+
/* D-3 — plus de role="status". Le couple est lié par
|
|
128
|
+
aria-labelledby (motif KV) ; sans label, on retombe sur un
|
|
129
|
+
aria-label pour ne pas laisser la valeur anonyme. */, {
|
|
130
|
+
...(label ? {
|
|
131
|
+
"aria-labelledby": labelId
|
|
132
|
+
} : {
|
|
133
|
+
"aria-label": typeof display === "string" ? display : undefined
|
|
134
|
+
}),
|
|
135
|
+
...(titleAttr !== undefined ? {
|
|
136
|
+
title: titleAttr
|
|
137
|
+
} : {}),
|
|
74
138
|
sx: {
|
|
75
139
|
minHeight: 40,
|
|
76
140
|
display: "flex",
|
|
@@ -97,8 +161,18 @@ function FormikDisplay(_ref) {
|
|
|
97
161
|
color: "var(--fg-muted)",
|
|
98
162
|
fontStyle: isEmpty ? "italic" : "normal",
|
|
99
163
|
overflow: "hidden",
|
|
100
|
-
|
|
101
|
-
|
|
164
|
+
/* D-4 — `wrap` autorise jusqu'à 3 lignes (comportement KV) ;
|
|
165
|
+
sinon une seule ligne tronquée, récupérable via `title`. */
|
|
166
|
+
...(wrap ? {
|
|
167
|
+
whiteSpace: "normal",
|
|
168
|
+
wordBreak: "break-word",
|
|
169
|
+
display: "-webkit-box",
|
|
170
|
+
WebkitBoxOrient: "vertical",
|
|
171
|
+
WebkitLineClamp: 3
|
|
172
|
+
} : {
|
|
173
|
+
whiteSpace: "nowrap",
|
|
174
|
+
textOverflow: "ellipsis"
|
|
175
|
+
})
|
|
102
176
|
},
|
|
103
177
|
children: display
|
|
104
178
|
})
|
|
@@ -1 +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":[]}
|
|
1
|
+
{"version":3,"file":"FormikDisplay.js","names":["React","Box","Typography","getIn","useFormikContext","FIELD_MAX_WIDTH","jsx","_jsx","jsxs","_jsxs","FormikDisplay","name","label","hint","format","mono","empty","wrap","width","sx","values","raw","undefined","labelId","useId","display","String","trim","obj","description","libelle","code","JSON","stringify","isEmpty","titleAttr","maxWidth","xs","sm","children","id","component","fontSize","fontWeight","color","marginBottom","userSelect","title","minHeight","alignItems","padding","background","border","borderRadius","cursor","overflow","fontFamily","fontStyle","whiteSpace","wordBreak","WebkitBoxOrient","WebkitLineClamp","textOverflow","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\nimport { FIELD_MAX_WIDTH } from \"./Field\";\r\nimport type { FieldWidth } from \"./Field\";\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 * NB : ces ratios sont calculés sur les valeurs du thème CLAIR. Le\r\n * mode sombre redéfinit --bg-subtle et --fg-muted ; l'appairage n'a\r\n * pas été re-vérifié là.\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 * ── Sémantique (D-3) ────────────────────────────────────────────────\r\n * Le couple label/valeur est lié par `aria-labelledby`, comme dans\r\n * KV — donc annoncé comme une seule unité quand l'utilisateur\r\n * l'atteint. Ce bloc portait auparavant `role=\"status\"`, ce qui en\r\n * faisait une région live : sur un écran de consultation à vingt\r\n * champs, vingt régions live polies. C'est précisément ce que le\r\n * composant Status refuse de faire, et pour la même raison.\r\n *\r\n * ── LARGEUR SEMANTIQUE (G-H) ───────────────────────────────────────\r\n *\r\n * `width` rattache le champ a l'un des cinq gabarits de la section « Form\r\n * Field Width & Layout Standards », avec LE MEME plafond et LE MEME palier\r\n * que `Field` : `FIELD_MAX_WIDTH` est importe de `Field`, pas recopie. Deux\r\n * tables de largeurs finiraient par diverger, et le standard interdit\r\n * justement les largeurs arbitraires.\r\n *\r\n * POURQUOI CE COMPOSANT EN AVAIT BESOIN. Il ne passe PAS par `Field` — il\r\n * rend sa propre boite, parce qu'un champ en lecture seule n'a ni controle\r\n * a nommer par `htmlFor` ni erreur a decrire. Il etait donc le seul champ\r\n * de la library a ne pas pouvoir porter de gabarit, et un formulaire\r\n * melant `FormikInput` borne et `FormikDisplay` non borne produit\r\n * exactement le « jagged right-side layout edge » que le standard\r\n * proscrit : les champs saisissables s'arretent a 400px, les champs\r\n * affiches remplissent toute la cellule.\r\n *\r\n * Retrocompatible : sans `width`, aucun plafond n'est pose.\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 * <FormikDisplay name=\"observation\" label=\"Observations\" wrap />\r\n *\r\n * <FormikDisplay name=\"raisonSociale\" label=\"Raison sociale\" width=\"l\" />\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 /**\r\n * Laisse la valeur passer à la ligne (jusqu'à 3 lignes) au lieu de\r\n * la tronquer (D-4). Par défaut la valeur reste sur une ligne avec\r\n * une ellipse — et un `title` natif porte le texte complet.\r\n */\r\n wrap?: boolean | undefined;\r\n /**\r\n * Gabarit de largeur semantique (G-H) : `xs` | `s` | `m` | `l` | `xl`,\r\n * choisi d'apres la contrainte de CARACTERES du champ affiche. Meme table\r\n * et meme palier que `Field.width`. Omis = aucun plafond, la cellule de\r\n * grille decide seule.\r\n */\r\n width?: FieldWidth | 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 wrap = false,\r\n width,\r\n sx,\r\n}: FormikDisplayProps) {\r\n const { values } = useFormikContext();\r\n const raw: unknown = name ? getIn(values, name) : undefined;\r\n const labelId = React.useId();\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 /* D-4 — the full text as a native tooltip, so a truncated value stays\r\n recoverable. Only when the resolved display is a string: a `format`\r\n returning a node has no meaningful title, and \"[object Object]\" would\r\n be worse than nothing. */\r\n const titleAttr = typeof display === \"string\" ? display : undefined;\r\n\r\n return (\r\n <Box\r\n sx={{\r\n /* G-H — plafond a partir de `sm` seulement : sur mobile le standard\r\n * impose 100% de la largeur de grille. Identique a `Field`. */\r\n ...(width\r\n ? { maxWidth: { xs: \"100%\", sm: FIELD_MAX_WIDTH[width] } }\r\n : {}),\r\n ...sx,\r\n }}\r\n >\r\n {/* Label — même style que Field.js */}\r\n {label && (\r\n <Typography\r\n id={labelId}\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 /* D-3 — plus de role=\"status\". Le couple est lié par\r\n aria-labelledby (motif KV) ; sans label, on retombe sur un\r\n aria-label pour ne pas laisser la valeur anonyme. */\r\n {...(label\r\n ? { \"aria-labelledby\": labelId }\r\n : { \"aria-label\": typeof display === \"string\" ? display : undefined })}\r\n {...(titleAttr !== undefined ? { title: titleAttr } : {})}\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 /* D-4 — `wrap` autorise jusqu'à 3 lignes (comportement KV) ;\r\n sinon une seule ligne tronquée, récupérable via `title`. */\r\n ...(wrap\r\n ? {\r\n whiteSpace: \"normal\",\r\n wordBreak: \"break-word\",\r\n display: \"-webkit-box\",\r\n WebkitBoxOrient: \"vertical\",\r\n WebkitLineClamp: 3,\r\n }\r\n : {\r\n whiteSpace: \"nowrap\",\r\n textOverflow: \"ellipsis\",\r\n }),\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;"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,12 +1,3 @@
|
|
|
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 = ["type", "value", "onChange", "onBlur", "placeholder", "disabled", "error", "readOnly", "fullWidth", "startIcon", "endIcon", "prefix", "suffix", "inputProps", "sx"];
|
|
3
|
-
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; }
|
|
4
|
-
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; }
|
|
5
|
-
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; }
|
|
6
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
-
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); }
|
|
8
|
-
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; }
|
|
9
|
-
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; }
|
|
10
1
|
import * as React from "react";
|
|
11
2
|
import OutlinedInput from "@mui/material/OutlinedInput";
|
|
12
3
|
import InputAdornment from "@mui/material/InputAdornment";
|
|
@@ -55,33 +46,35 @@ import InputAdornment from "@mui/material/InputAdornment";
|
|
|
55
46
|
* `Input` in the first place.
|
|
56
47
|
*/
|
|
57
48
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
49
|
+
const Input = /*#__PURE__*/React.forwardRef(function Input({
|
|
50
|
+
type = "text",
|
|
51
|
+
value,
|
|
52
|
+
onChange,
|
|
53
|
+
onBlur,
|
|
54
|
+
placeholder,
|
|
55
|
+
disabled,
|
|
56
|
+
error,
|
|
57
|
+
readOnly,
|
|
58
|
+
fullWidth = true,
|
|
59
|
+
startIcon,
|
|
60
|
+
endIcon,
|
|
61
|
+
prefix,
|
|
62
|
+
suffix,
|
|
63
|
+
inputProps,
|
|
64
|
+
sx,
|
|
65
|
+
/* A11Y-1 — pulled out of ...rest so it does NOT land on the root wrapper.
|
|
66
|
+
* See the note below the component. */
|
|
67
|
+
"aria-required": ariaRequired,
|
|
68
|
+
...rest
|
|
69
|
+
}, ref) {
|
|
77
70
|
if (process.env["NODE_ENV"] !== "production" && type === "number") {
|
|
78
71
|
// eslint-disable-next-line no-console
|
|
79
72
|
console.warn("[@portnet/ui v2] <Input type=\"number\">: prefer <NumberInput> for charter-compliant locale formatting, clamping, and aria-valuetext.");
|
|
80
73
|
}
|
|
81
|
-
return /*#__PURE__*/_jsx(OutlinedInput,
|
|
74
|
+
return /*#__PURE__*/_jsx(OutlinedInput, {
|
|
82
75
|
ref: ref,
|
|
83
76
|
type: type,
|
|
84
|
-
value: value
|
|
77
|
+
value: value ?? "",
|
|
85
78
|
onChange: onChange,
|
|
86
79
|
onBlur: onBlur,
|
|
87
80
|
placeholder: placeholder,
|
|
@@ -97,11 +90,59 @@ var Input = /*#__PURE__*/React.forwardRef(function Input(_ref, ref) {
|
|
|
97
90
|
position: "end",
|
|
98
91
|
children: endIcon || suffix
|
|
99
92
|
}) : undefined,
|
|
100
|
-
slotProps: inputProps ? {
|
|
101
|
-
input:
|
|
93
|
+
slotProps: inputProps || ariaRequired != null ? {
|
|
94
|
+
input: {
|
|
95
|
+
...(inputProps ?? {}),
|
|
96
|
+
...(ariaRequired != null ? {
|
|
97
|
+
"aria-required": ariaRequired
|
|
98
|
+
} : {})
|
|
99
|
+
}
|
|
102
100
|
} : undefined,
|
|
103
|
-
sx: sx
|
|
104
|
-
|
|
101
|
+
sx: sx,
|
|
102
|
+
...rest
|
|
103
|
+
});
|
|
105
104
|
});
|
|
105
|
+
|
|
106
|
+
/**
|
|
107
|
+
* ── A11Y-1 — WHY `aria-required` IS EXTRACTED ───────────────────────────
|
|
108
|
+
*
|
|
109
|
+
* `Field` injects `aria-required` into its child to satisfy R-I.2 MUST
|
|
110
|
+
* (« Champ requis : astérisque rouge dans le label + aria-required »). Left in
|
|
111
|
+
* `...rest`, that attribute reached `OutlinedInput`, and MUI spreads unknown
|
|
112
|
+
* props onto its ROOT WRAPPER — so it landed on
|
|
113
|
+
* `div.MuiInputBase-root` and NEVER on the native `<input>`.
|
|
114
|
+
*
|
|
115
|
+
* Two consequences, the second worse than the first:
|
|
116
|
+
*
|
|
117
|
+
* 1. `aria-required` on a plain `div` with no role is invalid ARIA. axe
|
|
118
|
+
* reports `aria-allowed-attr`; WCAG 4.1.2.
|
|
119
|
+
* 2. The input itself was never marked required, so a screen reader did not
|
|
120
|
+
* announce it. R-I.2 LOOKED satisfied — the asterisk was there, the
|
|
121
|
+
* attribute was in the DOM — while the thing the rule exists to produce
|
|
122
|
+
* never happened. Every required field, in every module.
|
|
123
|
+
*
|
|
124
|
+
* This is the same failure this file's sibling documents for naming: « MUI
|
|
125
|
+
* spreads unknown props onto its ROOT wrapper, so the attribute landed on
|
|
126
|
+
* div.MuiInputBase-root — never on the inner control » (`Field`, R-I.1), and
|
|
127
|
+
* the same one `Combobox` fixed as COMBO-1 by threading the aria attributes
|
|
128
|
+
* onto its input slot. `Input` was simply never given the same treatment.
|
|
129
|
+
*
|
|
130
|
+
* `slotProps.input` and NOT `slotProps.htmlInput`, which is the opposite of
|
|
131
|
+
* `Combobox`: this component renders `OutlinedInput` DIRECTLY, and on an
|
|
132
|
+
* InputBase the `input` slot IS the native element. `htmlInput` is the
|
|
133
|
+
* `TextField` spelling, where `input` means the InputBase itself. Getting this
|
|
134
|
+
* backwards puts the attribute one level up again and reintroduces the bug in
|
|
135
|
+
* a form that still passes review.
|
|
136
|
+
*
|
|
137
|
+
* NOT extracted here: `aria-describedby`, which MUI's `InputBase` destructures
|
|
138
|
+
* itself and applies to the native input, and `aria-invalid`, which MUI derives
|
|
139
|
+
* from the `error` prop `Field` already forwards. Both were verified before
|
|
140
|
+
* being left alone — extracting them would have duplicated behaviour rather
|
|
141
|
+
* than fixed it.
|
|
142
|
+
*
|
|
143
|
+
* Found by the axe suite of `produit-artisanat-fe` (Area 10), failing
|
|
144
|
+
* `aria-allowed-attr` on the first `<Field required>` rendered.
|
|
145
|
+
*/
|
|
146
|
+
|
|
106
147
|
export default Input;
|
|
107
148
|
//# sourceMappingURL=Input.js.map
|