@portnet/ui 6.0.2 → 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 +652 -0
- package/dist/esm/index.js +72 -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 -38
- 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 +11 -11
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
- 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 +118 -199
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
- 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 -21
- 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 +81 -86
- 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 +155 -59
- 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 +37 -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 +2 -3
- 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 +15 -17
- 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 +29 -39
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
- 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 -69
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
- 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 -53
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
- 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 -87
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
- 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 +27 -22
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
- 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 +6 -8
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
- 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 +152 -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 +28 -34
- package/dist/esm/v2/personalization/capabilities/gridPreferences.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 +17 -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 +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +110 -49
- 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 +82 -49
- 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 +23 -25
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
- package/dist/v2/__tests__/FileCard.test.js +29 -28
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
- 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 +123 -204
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
- package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
- 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 +23 -27
- 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.js +84 -91
- 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 +62 -4
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +169 -70
- 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 +40 -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.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.js +22 -23
- 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.js +36 -45
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
- 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.js +55 -72
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +50 -64
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
- 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.js +45 -58
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.js +45 -56
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
- 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.js +70 -92
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -51
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
- 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 +6 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
- 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.js +9 -10
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
- 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 +160 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +157 -79
- 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.js +31 -36
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +12 -12
- 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 +16 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +30 -23
- 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,16 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
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); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports
|
|
6
|
+
exports.default = void 0;
|
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
|
9
8
|
var _formik = require("formik");
|
|
10
9
|
var _Field = _interopRequireDefault(require("../components/Field"));
|
|
11
10
|
var _Dropzone = _interopRequireDefault(require("../components/Dropzone"));
|
|
12
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
14
|
/**
|
|
15
15
|
* FormikFile — bridge between Formik state and v2.Dropzone.
|
|
16
16
|
*
|
|
@@ -31,126 +31,142 @@ var _excluded = ["name", "label", "hint", "accept", "maxSize", "required", "disa
|
|
|
31
31
|
*
|
|
32
32
|
* Charter R-FU.*. Peer dep: formik >= 2.x.
|
|
33
33
|
*/
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
37
|
-
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; }
|
|
38
|
-
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; }
|
|
39
|
-
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; }
|
|
40
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
41
|
-
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); }
|
|
42
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
43
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
44
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
45
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
46
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
47
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
48
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
49
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
50
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
51
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
52
|
-
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; }
|
|
53
|
-
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; }
|
|
54
|
-
var DEFAULT_COMPANION_FIELDS = Object.freeze({
|
|
34
|
+
|
|
35
|
+
const DEFAULT_COMPANION_FIELDS = Object.freeze({
|
|
55
36
|
ext: "fileExtension",
|
|
56
37
|
size: "fileSize",
|
|
57
38
|
type: "fileType",
|
|
58
39
|
name: "nom"
|
|
59
40
|
});
|
|
60
41
|
|
|
61
|
-
/*
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
42
|
+
/* ── Surrogate file ids (defect D-2) ──────────────────────────────────
|
|
43
|
+
*
|
|
44
|
+
* A File carries no stable identifier, and this bridge previously used
|
|
45
|
+
* `file.name` as the Dropzone entry id — with `handleRemove` filtering the
|
|
46
|
+
* array by that same name. Two files called "facture.pdf" therefore shared a
|
|
47
|
+
* React key AND removing either one removed BOTH, silently.
|
|
48
|
+
*
|
|
49
|
+
* That is not an edge case: scans, exports and generated documents routinely
|
|
50
|
+
* arrive with generic names, so a user attaching two scans from different
|
|
51
|
+
* folders hits it immediately. A host could not work around it either, since
|
|
52
|
+
* the id was synthesised in here with nowhere to inject a key.
|
|
53
|
+
*
|
|
54
|
+
* A WeakMap keyed by the File OBJECT fixes all of it:
|
|
55
|
+
* - two files with the same name are different objects → different ids;
|
|
56
|
+
* - the same File across re-renders is the same object → the same id, so
|
|
57
|
+
* React keys stay stable and rows do not remount while uploading;
|
|
58
|
+
* - entries die with the File, so there is nothing to clean up.
|
|
59
|
+
*
|
|
60
|
+
* The id is opaque to Dropzone (it hands it straight back to onRemove) and is
|
|
61
|
+
* session-scoped — never persisted, never sent anywhere.
|
|
62
|
+
*/
|
|
63
|
+
const FILE_IDS = new WeakMap();
|
|
64
|
+
let fileIdSeq = 0;
|
|
65
|
+
const idFor = file => {
|
|
66
|
+
const existing = FILE_IDS.get(file);
|
|
67
|
+
if (existing !== undefined) return existing;
|
|
68
|
+
fileIdSeq += 1;
|
|
69
|
+
const id = `pui-file-${fileIdSeq}`;
|
|
70
|
+
FILE_IDS.set(file, id);
|
|
71
|
+
return id;
|
|
72
|
+
};
|
|
73
|
+
|
|
74
|
+
/* v2.Dropzone displays a row per entry in `value`. We synthesise the row
|
|
75
|
+
shape from the File held in Formik, with a surrogate id (see above). */
|
|
76
|
+
const toDropzoneShape = file => {
|
|
66
77
|
if (file == null || !(file instanceof File)) return null;
|
|
67
78
|
return {
|
|
68
|
-
id: file
|
|
79
|
+
id: idFor(file),
|
|
69
80
|
name: file.name,
|
|
70
81
|
size: file.size
|
|
71
82
|
};
|
|
72
83
|
};
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
var value = (isBulk ? (Array.isArray(field.value) ? field.value : []).map(toDropzoneShape) : field.value instanceof File ? [toDropzoneShape(field.value)] : []).filter(function (x) {
|
|
96
|
-
return x != null;
|
|
97
|
-
});
|
|
98
|
-
var writeCompanions = function writeCompanions(file) {
|
|
84
|
+
const FormikFile = ({
|
|
85
|
+
name,
|
|
86
|
+
label,
|
|
87
|
+
hint,
|
|
88
|
+
accept,
|
|
89
|
+
maxSize,
|
|
90
|
+
required,
|
|
91
|
+
disabled,
|
|
92
|
+
mode = "single",
|
|
93
|
+
companionFields = DEFAULT_COMPANION_FIELDS,
|
|
94
|
+
htmlFor,
|
|
95
|
+
...rest
|
|
96
|
+
}) => {
|
|
97
|
+
const [field, meta] = (0, _formik.useField)(name);
|
|
98
|
+
const {
|
|
99
|
+
setFieldValue,
|
|
100
|
+
setFieldTouched
|
|
101
|
+
} = (0, _formik.useFormikContext)();
|
|
102
|
+
const hasError = Boolean(meta.touched && meta.error);
|
|
103
|
+
const isBulk = mode === "bulk";
|
|
104
|
+
const value = (isBulk ? (Array.isArray(field.value) ? field.value : []).map(toDropzoneShape) : field.value instanceof File ? [toDropzoneShape(field.value)] : []).filter(x => x != null);
|
|
105
|
+
const writeCompanions = file => {
|
|
99
106
|
if (isBulk) return;
|
|
100
107
|
setFieldValue(companionFields.ext, file ? file.name.split(".").pop() : "");
|
|
101
108
|
setFieldValue(companionFields.size, file ? file.size : null);
|
|
102
109
|
setFieldValue(companionFields.type, file ? file.type : "");
|
|
103
110
|
setFieldValue(companionFields.name, file ? file.name : "");
|
|
104
111
|
};
|
|
105
|
-
|
|
112
|
+
const handleAdd = files => {
|
|
106
113
|
if (!files || files.length === 0) return;
|
|
107
114
|
if (isBulk) {
|
|
108
|
-
|
|
115
|
+
const merged = [...(Array.isArray(field.value) ? field.value : []), ...files];
|
|
109
116
|
setFieldValue(name, merged);
|
|
110
117
|
setFieldTouched(name, true, false);
|
|
111
118
|
} else {
|
|
112
|
-
|
|
119
|
+
const file = files[0];
|
|
113
120
|
setFieldValue(name, file);
|
|
114
|
-
writeCompanions(file
|
|
121
|
+
writeCompanions(file ?? null);
|
|
115
122
|
setFieldTouched(name, true, false);
|
|
116
123
|
}
|
|
117
124
|
};
|
|
118
125
|
|
|
119
|
-
/* Dropzone calls onRemove(id)
|
|
120
|
-
|
|
121
|
-
|
|
126
|
+
/* Dropzone calls onRemove(id) with the surrogate id issued above. In bulk
|
|
127
|
+
mode we resolve each entry through the same WeakMap so two files sharing
|
|
128
|
+
a name are distinguished; non-File entries are left untouched, preserving
|
|
129
|
+
the defensive tolerance for a malformed array. */
|
|
130
|
+
const handleRemove = id => {
|
|
122
131
|
if (isBulk) {
|
|
123
|
-
|
|
124
|
-
return f.name !== id;
|
|
125
|
-
});
|
|
132
|
+
const remaining = (Array.isArray(field.value) ? field.value : []).filter(f => !(f instanceof File) || idFor(f) !== id);
|
|
126
133
|
setFieldValue(name, remaining);
|
|
127
134
|
} else {
|
|
128
135
|
setFieldValue(name, null);
|
|
129
136
|
writeCompanions(null);
|
|
130
137
|
}
|
|
131
138
|
};
|
|
132
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field
|
|
139
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.default, {
|
|
133
140
|
label: label,
|
|
134
141
|
error: hasError ? meta.error : null
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
142
|
+
/* P-2 — a predictable id, so focusFieldByName can resolve [id=…] and
|
|
143
|
+
FormikErrorFocus can reach this field after a failed submit. Matches
|
|
144
|
+
FormikInput / FormikSelect / FormikCombobox. */,
|
|
145
|
+
htmlFor: htmlFor || name,
|
|
146
|
+
...(required !== undefined ? {
|
|
147
|
+
required
|
|
148
|
+
} : {}),
|
|
149
|
+
...(disabled !== undefined ? {
|
|
150
|
+
disabled
|
|
151
|
+
} : {}),
|
|
152
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Dropzone.default, {
|
|
141
153
|
multiple: isBulk,
|
|
142
154
|
value: value,
|
|
143
155
|
hint: hint,
|
|
144
156
|
onAdd: handleAdd,
|
|
145
|
-
onRemove: handleRemove
|
|
146
|
-
|
|
147
|
-
accept
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
157
|
+
onRemove: handleRemove,
|
|
158
|
+
...rest,
|
|
159
|
+
...(accept !== undefined ? {
|
|
160
|
+
accept
|
|
161
|
+
} : {}),
|
|
162
|
+
...(disabled !== undefined ? {
|
|
163
|
+
disabled
|
|
164
|
+
} : {}),
|
|
165
|
+
...(maxSize !== undefined ? {
|
|
166
|
+
maxSize
|
|
167
|
+
} : {})
|
|
168
|
+
})
|
|
169
|
+
});
|
|
154
170
|
};
|
|
155
|
-
var _default = exports
|
|
171
|
+
var _default = exports.default = FormikFile;
|
|
156
172
|
//# sourceMappingURL=FormikFile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikFile.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Dropzone","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","DEFAULT_COMPANION_FIELDS","freeze","ext","size","type","toDropzoneShape","file","File","id","FormikFile","_ref","label","accept","maxSize","required","disabled","_ref$mode","mode","_ref$companionFields","companionFields","rest","_useField","useField","_useField2","field","meta","_useFormikContext","useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","isBulk","map","x","writeCompanions","split","pop","handleAdd","files","merged","concat","handleRemove","remaining","f","jsx","children","multiple","onAdd","onRemove","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikFile.tsx"],"sourcesContent":["/**\r\n * FormikFile — bridge between Formik state and v2.Dropzone.\r\n *\r\n * Two modes:\r\n * - mode=\"single\" (default): File or null in Formik. Writes\r\n * companion metadata fields (extension/size/type/name) on\r\n * add; clears them on remove.\r\n * - mode=\"bulk\": File[] in Formik. No companion writes.\r\n *\r\n * Companion-field naming defaults to ms-ti-fe convention\r\n * (fileExtension / fileSize / fileType / nom). Override with\r\n * `companionFields` prop if your module differs.\r\n *\r\n * v2.Dropzone contract used:\r\n * - value: [{id, name, size}]\r\n * - onAdd(File[]): receives accepted files (already validated)\r\n * - onRemove(id): receives the id of the entry to remove\r\n *\r\n * Charter R-FU.*. Peer dep: formik >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Dropzone from \"../components/Dropzone\";\r\nimport type { DropzoneFile, DropzoneProps } from \"../components/Dropzone\";\r\n\r\nexport type FormikFileMode = \"single\" | \"bulk\";\r\n\r\nexport interface FormikFileCompanionFields {\r\n ext: string;\r\n size: string;\r\n type: string;\r\n name: string;\r\n}\r\n\r\nexport interface FormikFileProps\r\n extends Omit<\r\n DropzoneProps,\r\n \"value\" | \"onAdd\" | \"onRemove\" | \"multiple\" | \"accept\" | \"maxSize\" | \"hint\" | \"disabled\" | \"label\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n hint?: React.ReactNode | undefined;\r\n accept?: string | undefined;\r\n maxSize?: number | undefined;\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n mode?: FormikFileMode | undefined;\r\n companionFields?: FormikFileCompanionFields | undefined;\r\n}\r\n\r\nconst DEFAULT_COMPANION_FIELDS: FormikFileCompanionFields = Object.freeze({\r\n ext: \"fileExtension\",\r\n size: \"fileSize\",\r\n type: \"fileType\",\r\n name: \"nom\",\r\n});\r\n\r\n/* v2.Dropzone displays a row per entry in `value`. We synthesise\r\n the row shape from the File object held in Formik. We use\r\n `file.name` as the id since File has no stable identifier of\r\n its own — Dropzone passes this id back to onRemove. */\r\nconst toDropzoneShape = (file: unknown): DropzoneFile | null => {\r\n if (file == null || !(file instanceof File)) return null;\r\n return { id: file.name, name: file.name, size: file.size };\r\n};\r\n\r\nconst FormikFile = ({\r\n name,\r\n label,\r\n hint,\r\n accept,\r\n maxSize,\r\n required,\r\n disabled,\r\n mode = \"single\",\r\n companionFields = DEFAULT_COMPANION_FIELDS,\r\n ...rest\r\n}: FormikFileProps) => {\r\n const [field, meta] = useField(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const isBulk = mode === \"bulk\";\r\n\r\n const value: DropzoneFile[] = (\r\n isBulk\r\n ? (Array.isArray(field.value) ? field.value : []).map(toDropzoneShape)\r\n : field.value instanceof File\r\n ? [toDropzoneShape(field.value)]\r\n : []\r\n ).filter((x): x is DropzoneFile => x != null);\r\n\r\n const writeCompanions = (file: File | null) => {\r\n if (isBulk) return;\r\n setFieldValue(companionFields.ext, file ? file.name.split(\".\").pop() : \"\");\r\n setFieldValue(companionFields.size, file ? file.size : null);\r\n setFieldValue(companionFields.type, file ? file.type : \"\");\r\n setFieldValue(companionFields.name, file ? file.name : \"\");\r\n };\r\n\r\n const handleAdd = (files: File[]) => {\r\n if (!files || files.length === 0) return;\r\n if (isBulk) {\r\n const merged = [\r\n ...(Array.isArray(field.value) ? field.value : []),\r\n ...files,\r\n ];\r\n setFieldValue(name, merged);\r\n setFieldTouched(name, true, false);\r\n } else {\r\n const file = files[0];\r\n setFieldValue(name, file);\r\n writeCompanions(file ?? null);\r\n setFieldTouched(name, true, false);\r\n }\r\n };\r\n\r\n /* Dropzone calls onRemove(id). In single mode the id was the\r\n File's name; in bulk mode we filter by the same key. */\r\n const handleRemove = (id: string | number) => {\r\n if (isBulk) {\r\n const remaining = (Array.isArray(field.value) ? field.value : []).filter(\r\n (f) => f.name !== id\r\n );\r\n setFieldValue(name, remaining);\r\n } else {\r\n setFieldValue(name, null);\r\n writeCompanions(null);\r\n }\r\n };\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <Dropzone\r\n multiple={isBulk}\r\n value={value}\r\n hint={hint}\r\n onAdd={handleAdd}\r\n onRemove={handleRemove}\r\n {...rest}\r\n {...(accept !== undefined ? { accept } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n {...(maxSize !== undefined ? { maxSize } : {})}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikFile;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormikFile.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Dropzone","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_COMPANION_FIELDS","freeze","ext","size","type","name","FILE_IDS","fileIdSeq","idFor","file","existing","undefined","id","toDropzoneShape","File","FormikFile","label","hint","accept","maxSize","required","disabled","mode","companionFields","htmlFor","rest","field","meta","useField","setFieldValue","setFieldTouched","useFormikContext","hasError","Boolean","touched","error","isBulk","value","Array","isArray","map","filter","x","writeCompanions","split","pop","handleAdd","files","length","merged","handleRemove","remaining","jsx","children","multiple","onAdd","onRemove","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikFile.tsx"],"sourcesContent":["/**\r\n * FormikFile — bridge between Formik state and v2.Dropzone.\r\n *\r\n * Two modes:\r\n * - mode=\"single\" (default): File or null in Formik. Writes\r\n * companion metadata fields (extension/size/type/name) on\r\n * add; clears them on remove.\r\n * - mode=\"bulk\": File[] in Formik. No companion writes.\r\n *\r\n * Companion-field naming defaults to ms-ti-fe convention\r\n * (fileExtension / fileSize / fileType / nom). Override with\r\n * `companionFields` prop if your module differs.\r\n *\r\n * v2.Dropzone contract used:\r\n * - value: [{id, name, size}]\r\n * - onAdd(File[]): receives accepted files (already validated)\r\n * - onRemove(id): receives the id of the entry to remove\r\n *\r\n * Charter R-FU.*. Peer dep: formik >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Dropzone from \"../components/Dropzone\";\r\nimport type { DropzoneFile, DropzoneProps } from \"../components/Dropzone\";\r\n\r\nexport type FormikFileMode = \"single\" | \"bulk\";\r\n\r\nexport interface FormikFileCompanionFields {\r\n ext: string;\r\n size: string;\r\n type: string;\r\n name: string;\r\n}\r\n\r\nexport interface FormikFileProps\r\n extends Omit<\r\n DropzoneProps,\r\n \"value\" | \"onAdd\" | \"onRemove\" | \"multiple\" | \"accept\" | \"maxSize\" | \"hint\" | \"disabled\" | \"label\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n hint?: React.ReactNode | undefined;\r\n accept?: string | undefined;\r\n maxSize?: number | undefined;\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n mode?: FormikFileMode | undefined;\r\n companionFields?: FormikFileCompanionFields | undefined;\r\n /**\r\n * Id given to the control, and the target of the label's `htmlFor`.\r\n * Defaults to `name` (P-2).\r\n *\r\n * This is what makes the field reachable by `focusFieldByName`, and so by\r\n * `FormikErrorFocus` after a failed submit (R-F.3). Without it Field falls\r\n * back to a `useId` value — stable, but not derivable from the field name,\r\n * so [id=…] cannot be resolved and the field is silently skipped.\r\n *\r\n * Override only if the id must match something external, and keep it in\r\n * step with FormikErrorFocus's `order`, which addresses fields by `name`.\r\n */\r\n htmlFor?: string | undefined;\r\n}\r\n\r\nconst DEFAULT_COMPANION_FIELDS: FormikFileCompanionFields = Object.freeze({\r\n ext: \"fileExtension\",\r\n size: \"fileSize\",\r\n type: \"fileType\",\r\n name: \"nom\",\r\n});\r\n\r\n/* ── Surrogate file ids (defect D-2) ──────────────────────────────────\r\n *\r\n * A File carries no stable identifier, and this bridge previously used\r\n * `file.name` as the Dropzone entry id — with `handleRemove` filtering the\r\n * array by that same name. Two files called \"facture.pdf\" therefore shared a\r\n * React key AND removing either one removed BOTH, silently.\r\n *\r\n * That is not an edge case: scans, exports and generated documents routinely\r\n * arrive with generic names, so a user attaching two scans from different\r\n * folders hits it immediately. A host could not work around it either, since\r\n * the id was synthesised in here with nowhere to inject a key.\r\n *\r\n * A WeakMap keyed by the File OBJECT fixes all of it:\r\n * - two files with the same name are different objects → different ids;\r\n * - the same File across re-renders is the same object → the same id, so\r\n * React keys stay stable and rows do not remount while uploading;\r\n * - entries die with the File, so there is nothing to clean up.\r\n *\r\n * The id is opaque to Dropzone (it hands it straight back to onRemove) and is\r\n * session-scoped — never persisted, never sent anywhere.\r\n */\r\nconst FILE_IDS = new WeakMap<File, string>();\r\nlet fileIdSeq = 0;\r\n\r\nconst idFor = (file: File): string => {\r\n const existing = FILE_IDS.get(file);\r\n if (existing !== undefined) return existing;\r\n fileIdSeq += 1;\r\n const id = `pui-file-${fileIdSeq}`;\r\n FILE_IDS.set(file, id);\r\n return id;\r\n};\r\n\r\n/* v2.Dropzone displays a row per entry in `value`. We synthesise the row\r\n shape from the File held in Formik, with a surrogate id (see above). */\r\nconst toDropzoneShape = (file: unknown): DropzoneFile | null => {\r\n if (file == null || !(file instanceof File)) return null;\r\n return { id: idFor(file), name: file.name, size: file.size };\r\n};\r\n\r\nconst FormikFile = ({\r\n name,\r\n label,\r\n hint,\r\n accept,\r\n maxSize,\r\n required,\r\n disabled,\r\n mode = \"single\",\r\n companionFields = DEFAULT_COMPANION_FIELDS,\r\n htmlFor,\r\n ...rest\r\n}: FormikFileProps) => {\r\n const [field, meta] = useField(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const isBulk = mode === \"bulk\";\r\n\r\n const value: DropzoneFile[] = (\r\n isBulk\r\n ? (Array.isArray(field.value) ? field.value : []).map(toDropzoneShape)\r\n : field.value instanceof File\r\n ? [toDropzoneShape(field.value)]\r\n : []\r\n ).filter((x): x is DropzoneFile => x != null);\r\n\r\n const writeCompanions = (file: File | null) => {\r\n if (isBulk) return;\r\n setFieldValue(companionFields.ext, file ? file.name.split(\".\").pop() : \"\");\r\n setFieldValue(companionFields.size, file ? file.size : null);\r\n setFieldValue(companionFields.type, file ? file.type : \"\");\r\n setFieldValue(companionFields.name, file ? file.name : \"\");\r\n };\r\n\r\n const handleAdd = (files: File[]) => {\r\n if (!files || files.length === 0) return;\r\n if (isBulk) {\r\n const merged = [\r\n ...(Array.isArray(field.value) ? field.value : []),\r\n ...files,\r\n ];\r\n setFieldValue(name, merged);\r\n setFieldTouched(name, true, false);\r\n } else {\r\n const file = files[0];\r\n setFieldValue(name, file);\r\n writeCompanions(file ?? null);\r\n setFieldTouched(name, true, false);\r\n }\r\n };\r\n\r\n /* Dropzone calls onRemove(id) with the surrogate id issued above. In bulk\r\n mode we resolve each entry through the same WeakMap so two files sharing\r\n a name are distinguished; non-File entries are left untouched, preserving\r\n the defensive tolerance for a malformed array. */\r\n const handleRemove = (id: string | number) => {\r\n if (isBulk) {\r\n const remaining = (Array.isArray(field.value) ? field.value : []).filter(\r\n (f) => !(f instanceof File) || idFor(f) !== id\r\n );\r\n setFieldValue(name, remaining);\r\n } else {\r\n setFieldValue(name, null);\r\n writeCompanions(null);\r\n }\r\n };\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n /* P-2 — a predictable id, so focusFieldByName can resolve [id=…] and\r\n FormikErrorFocus can reach this field after a failed submit. Matches\r\n FormikInput / FormikSelect / FormikCombobox. */\r\n htmlFor={htmlFor || name}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <Dropzone\r\n multiple={isBulk}\r\n value={value}\r\n hint={hint}\r\n onAdd={handleAdd}\r\n onRemove={handleRemove}\r\n {...rest}\r\n {...(accept !== undefined ? { accept } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n {...(maxSize !== undefined ? { maxSize } : {})}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikFile;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
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); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports
|
|
6
|
+
exports.default = void 0;
|
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
|
9
8
|
var _formik = require("formik");
|
|
10
9
|
var _Field = _interopRequireDefault(require("../components/Field"));
|
|
11
10
|
var _Input = _interopRequireDefault(require("../components/Input"));
|
|
12
11
|
var _FormikDisplay = _interopRequireDefault(require("../components/FormikDisplay"));
|
|
13
12
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
14
|
-
|
|
13
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
14
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
15
15
|
/**
|
|
16
16
|
* FormikInput — bridge between Formik state and v2.Field + v2.Input.
|
|
17
17
|
*
|
|
@@ -67,72 +67,59 @@ var _excluded = ["name", "label", "required", "disabled", "readOnly", "mono", "h
|
|
|
67
67
|
* `disabled` wins when both are passed: a field that is genuinely unavailable
|
|
68
68
|
* (dependency not yet chosen) must not be presented as settled information.
|
|
69
69
|
*/
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
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; }
|
|
86
|
-
var FormikInput = function FormikInput(_ref) {
|
|
87
|
-
var _field$value;
|
|
88
|
-
var name = _ref.name,
|
|
89
|
-
label = _ref.label,
|
|
90
|
-
required = _ref.required,
|
|
91
|
-
disabled = _ref.disabled,
|
|
92
|
-
readOnly = _ref.readOnly,
|
|
93
|
-
mono = _ref.mono,
|
|
94
|
-
htmlFor = _ref.htmlFor,
|
|
95
|
-
hint = _ref.hint,
|
|
96
|
-
width = _ref.width,
|
|
97
|
-
rest = _objectWithoutProperties(_ref, _excluded);
|
|
98
|
-
var _useField = (0, _formik.useField)(name),
|
|
99
|
-
_useField2 = _slicedToArray(_useField, 2),
|
|
100
|
-
field = _useField2[0],
|
|
101
|
-
meta = _useField2[1];
|
|
102
|
-
var hasError = Boolean(meta.touched && meta.error);
|
|
70
|
+
|
|
71
|
+
const FormikInput = ({
|
|
72
|
+
name,
|
|
73
|
+
label,
|
|
74
|
+
required,
|
|
75
|
+
disabled,
|
|
76
|
+
readOnly,
|
|
77
|
+
mono,
|
|
78
|
+
htmlFor,
|
|
79
|
+
hint,
|
|
80
|
+
width,
|
|
81
|
+
...rest
|
|
82
|
+
}) => {
|
|
83
|
+
const [field, meta] = (0, _formik.useField)(name);
|
|
84
|
+
const hasError = Boolean(meta.touched && meta.error);
|
|
103
85
|
|
|
104
86
|
/* Read-only display. `disabled` takes precedence deliberately — see header.
|
|
105
87
|
* `required` is dropped: an asterisk on information the user cannot supply is
|
|
106
88
|
* noise, and validation cannot fire on a field with no input. */
|
|
107
89
|
if (readOnly && !disabled) {
|
|
108
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikDisplay
|
|
90
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikDisplay.default, {
|
|
109
91
|
name: name,
|
|
110
|
-
label: label
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
mono
|
|
115
|
-
|
|
92
|
+
label: label,
|
|
93
|
+
...(hint !== undefined ? {
|
|
94
|
+
hint
|
|
95
|
+
} : {}),
|
|
96
|
+
...(mono !== undefined ? {
|
|
97
|
+
mono
|
|
98
|
+
} : {})
|
|
99
|
+
});
|
|
116
100
|
}
|
|
117
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field
|
|
101
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field.default, {
|
|
118
102
|
label: label,
|
|
119
103
|
error: hasError ? meta.error : null,
|
|
120
104
|
hint: !hasError ? hint : undefined,
|
|
121
|
-
htmlFor: htmlFor || name
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
disabled
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
105
|
+
htmlFor: htmlFor || name,
|
|
106
|
+
...(required !== undefined ? {
|
|
107
|
+
required
|
|
108
|
+
} : {}),
|
|
109
|
+
...(disabled !== undefined ? {
|
|
110
|
+
disabled
|
|
111
|
+
} : {}),
|
|
112
|
+
...(width !== undefined ? {
|
|
113
|
+
width
|
|
114
|
+
} : {}),
|
|
115
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Input.default, {
|
|
130
116
|
name: field.name,
|
|
131
|
-
value:
|
|
117
|
+
value: field.value ?? "",
|
|
132
118
|
onChange: field.onChange,
|
|
133
|
-
onBlur: field.onBlur
|
|
134
|
-
|
|
135
|
-
|
|
119
|
+
onBlur: field.onBlur,
|
|
120
|
+
...rest
|
|
121
|
+
})
|
|
122
|
+
});
|
|
136
123
|
};
|
|
137
|
-
var _default = exports
|
|
124
|
+
var _default = exports.default = FormikInput;
|
|
138
125
|
//# sourceMappingURL=FormikInput.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikInput.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Input","_FormikDisplay","_jsxRuntime","_excluded","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","_objectWithoutProperties","excluded","_objectWithoutPropertiesLoose","sourceSymbolKeys","indexOf","propertyIsEnumerable","sourceKeys","FormikInput","_ref","_field$value","label","required","disabled","readOnly","mono","htmlFor","width","rest","_useField","useField","_useField2","field","meta","hasError","Boolean","touched","error","jsx","children","onChange","onBlur","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikInput.tsx"],"sourcesContent":["/**\r\n * FormikInput — bridge between Formik state and v2.Field + v2.Input.\r\n *\r\n * Charter §03 / R-I.1 → R-I.6. Replaces the inline copy of this\r\n * bridge that consumer modules previously duplicated.\r\n *\r\n * Peer dependency: `formik` >= 2.x must be installed in the host\r\n * module. The lib does not bundle Formik.\r\n *\r\n * Usage:\r\n *\r\n * import { FormikInput } from \"@portnet/ui/lib/v2\";\r\n *\r\n * <FormikInput\r\n * name=\"numeroRc\"\r\n * label=\"Numéro RC\"\r\n * required\r\n * inputProps={{ maxLength: 20 }}\r\n * />\r\n *\r\n * Error semantics: errors surface only after the field is\r\n * touched (first blur). This matches Charter R-I.4 — do not\r\n * shout at the user on every keystroke.\r\n *\r\n * ── `readOnly` vs `disabled` ─────────────────────────────────────────\r\n *\r\n * <FormikInput name=\"raison\" label=\"Raison sociale\" readOnly={isDetail} />\r\n *\r\n * `readOnly` renders the value through `FormikDisplay` — grey panel, no input\r\n * chrome, selectable text. `disabled` keeps an input and greys it out.\r\n *\r\n * THE TWO ARE NOT INTERCHANGEABLE, and modules had only `disabled`. Consumers\r\n * that reuse ONE form for create, edit AND consultation were therefore passing\r\n * `disabled={readOnly}` on every field, so a detail page rendered ~100 greyed\r\n * INPUTS. That is the wrong affordance: a disabled control means \"temporarily\r\n * unavailable, may become editable\", not \"this is information\". Reported from\r\n * amssnur-ui testing across its whole demande form.\r\n *\r\n * Note WCAG does NOT forbid the old behaviour — SC 1.4.3 exempts \"text that is\r\n * part of an inactive user interface component\" from contrast requirements. So\r\n * this is a Charter and affordance defect, not an accessibility violation. But\r\n * `FormikDisplay` is measurably better anyway: its own audit records 7.52:1\r\n * (AAA) for `--fg-muted` on `--bg-subtle`, against roughly 2.9:1 for MUI's\r\n * disabled text.\r\n *\r\n * Why here and not in each module: `FormikDisplay` already existed and was\r\n * already correct — nothing routed to it automatically, so every module had to\r\n * branch by hand per field, and none did. The certified reference (`ms-ti-fe`)\r\n * sidesteps the problem by building SEPARATE read-only components for its\r\n * detail pages, which is a valid architecture but not one a module reusing a\r\n * single form can adopt without a rewrite.\r\n *\r\n * `disabled` wins when both are passed: a field that is genuinely unavailable\r\n * (dependency not yet chosen) must not be presented as settled information.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\nimport FormikDisplay from \"../components/FormikDisplay\";\r\nimport type { FieldWidth } from \"../components/Field\";\r\nimport type { InputProps } from \"../components/Input\";\r\n\r\nexport interface FormikInputProps\r\n extends Omit<\r\n InputProps,\r\n \"name\" | \"value\" | \"onChange\" | \"onBlur\" | \"label\" | \"required\" | \"disabled\" | \"error\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n /** Render as read-only text via FormikDisplay instead of an input. */\r\n readOnly?: boolean | undefined;\r\n /** Tabular-nums monospace in read-only mode — IDs, amounts, codes. */\r\n mono?: boolean | undefined;\r\n htmlFor?: string | undefined;\r\n hint?: React.ReactNode | undefined;\r\n /**\r\n * Gabarit de largeur semantique (G-H), d'apres la contrainte de CARACTERES\r\n * du champ. Relaye a `Field`, qui en fait un plafond a partir de `sm`.\r\n *\r\n * NE S'APPLIQUE PAS en mode `readOnly` : c'est alors `FormikDisplay` qui est\r\n * rendu, et il possede sa propre boite. A revoir si un ecran de consultation\r\n * en a besoin.\r\n */\r\n width?: FieldWidth | undefined;\r\n}\r\n\r\nconst FormikInput = ({\r\n name,\r\n label,\r\n required,\r\n disabled,\r\n readOnly,\r\n mono,\r\n htmlFor,\r\n hint,\r\n width,\r\n ...rest\r\n}: FormikInputProps) => {\r\n const [field, meta] = useField<string | number>(name);\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n /* Read-only display. `disabled` takes precedence deliberately — see header.\r\n * `required` is dropped: an asterisk on information the user cannot supply is\r\n * noise, and validation cannot fire on a field with no input. */\r\n if (readOnly && !disabled) {\r\n return (\r\n <FormikDisplay\r\n name={name}\r\n label={label}\r\n {...(hint !== undefined ? { hint } : {})}\r\n {...(mono !== undefined ? { mono } : {})}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n {...(width !== undefined ? { width } : {})}\r\n >\r\n <Input\r\n name={field.name}\r\n value={field.value ?? \"\"}\r\n onChange={field.onChange}\r\n onBlur={field.onBlur}\r\n {...rest}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikInput;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormikInput.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Input","_FormikDisplay","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","FormikInput","name","label","required","disabled","readOnly","mono","htmlFor","hint","width","rest","field","meta","useField","hasError","Boolean","touched","error","jsx","undefined","children","value","onChange","onBlur","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikInput.tsx"],"sourcesContent":["/**\r\n * FormikInput — bridge between Formik state and v2.Field + v2.Input.\r\n *\r\n * Charter §03 / R-I.1 → R-I.6. Replaces the inline copy of this\r\n * bridge that consumer modules previously duplicated.\r\n *\r\n * Peer dependency: `formik` >= 2.x must be installed in the host\r\n * module. The lib does not bundle Formik.\r\n *\r\n * Usage:\r\n *\r\n * import { FormikInput } from \"@portnet/ui/lib/v2\";\r\n *\r\n * <FormikInput\r\n * name=\"numeroRc\"\r\n * label=\"Numéro RC\"\r\n * required\r\n * inputProps={{ maxLength: 20 }}\r\n * />\r\n *\r\n * Error semantics: errors surface only after the field is\r\n * touched (first blur). This matches Charter R-I.4 — do not\r\n * shout at the user on every keystroke.\r\n *\r\n * ── `readOnly` vs `disabled` ─────────────────────────────────────────\r\n *\r\n * <FormikInput name=\"raison\" label=\"Raison sociale\" readOnly={isDetail} />\r\n *\r\n * `readOnly` renders the value through `FormikDisplay` — grey panel, no input\r\n * chrome, selectable text. `disabled` keeps an input and greys it out.\r\n *\r\n * THE TWO ARE NOT INTERCHANGEABLE, and modules had only `disabled`. Consumers\r\n * that reuse ONE form for create, edit AND consultation were therefore passing\r\n * `disabled={readOnly}` on every field, so a detail page rendered ~100 greyed\r\n * INPUTS. That is the wrong affordance: a disabled control means \"temporarily\r\n * unavailable, may become editable\", not \"this is information\". Reported from\r\n * amssnur-ui testing across its whole demande form.\r\n *\r\n * Note WCAG does NOT forbid the old behaviour — SC 1.4.3 exempts \"text that is\r\n * part of an inactive user interface component\" from contrast requirements. So\r\n * this is a Charter and affordance defect, not an accessibility violation. But\r\n * `FormikDisplay` is measurably better anyway: its own audit records 7.52:1\r\n * (AAA) for `--fg-muted` on `--bg-subtle`, against roughly 2.9:1 for MUI's\r\n * disabled text.\r\n *\r\n * Why here and not in each module: `FormikDisplay` already existed and was\r\n * already correct — nothing routed to it automatically, so every module had to\r\n * branch by hand per field, and none did. The certified reference (`ms-ti-fe`)\r\n * sidesteps the problem by building SEPARATE read-only components for its\r\n * detail pages, which is a valid architecture but not one a module reusing a\r\n * single form can adopt without a rewrite.\r\n *\r\n * `disabled` wins when both are passed: a field that is genuinely unavailable\r\n * (dependency not yet chosen) must not be presented as settled information.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Input from \"../components/Input\";\r\nimport FormikDisplay from \"../components/FormikDisplay\";\r\nimport type { FieldWidth } from \"../components/Field\";\r\nimport type { InputProps } from \"../components/Input\";\r\n\r\nexport interface FormikInputProps\r\n extends Omit<\r\n InputProps,\r\n \"name\" | \"value\" | \"onChange\" | \"onBlur\" | \"label\" | \"required\" | \"disabled\" | \"error\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n /** Render as read-only text via FormikDisplay instead of an input. */\r\n readOnly?: boolean | undefined;\r\n /** Tabular-nums monospace in read-only mode — IDs, amounts, codes. */\r\n mono?: boolean | undefined;\r\n htmlFor?: string | undefined;\r\n hint?: React.ReactNode | undefined;\r\n /**\r\n * Gabarit de largeur semantique (G-H), d'apres la contrainte de CARACTERES\r\n * du champ. Relaye a `Field`, qui en fait un plafond a partir de `sm`.\r\n *\r\n * NE S'APPLIQUE PAS en mode `readOnly` : c'est alors `FormikDisplay` qui est\r\n * rendu, et il possede sa propre boite. A revoir si un ecran de consultation\r\n * en a besoin.\r\n */\r\n width?: FieldWidth | undefined;\r\n}\r\n\r\nconst FormikInput = ({\r\n name,\r\n label,\r\n required,\r\n disabled,\r\n readOnly,\r\n mono,\r\n htmlFor,\r\n hint,\r\n width,\r\n ...rest\r\n}: FormikInputProps) => {\r\n const [field, meta] = useField<string | number>(name);\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n /* Read-only display. `disabled` takes precedence deliberately — see header.\r\n * `required` is dropped: an asterisk on information the user cannot supply is\r\n * noise, and validation cannot fire on a field with no input. */\r\n if (readOnly && !disabled) {\r\n return (\r\n <FormikDisplay\r\n name={name}\r\n label={label}\r\n {...(hint !== undefined ? { hint } : {})}\r\n {...(mono !== undefined ? { mono } : {})}\r\n />\r\n );\r\n }\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n hint={!hasError ? hint : undefined}\r\n htmlFor={htmlFor || name}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n {...(width !== undefined ? { width } : {})}\r\n >\r\n <Input\r\n name={field.name}\r\n value={field.value ?? \"\"}\r\n onChange={field.onChange}\r\n onBlur={field.onBlur}\r\n {...rest}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikInput;\r\n"],"mappings":"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","ignoreList":[]}
|