@portnet/ui 6.0.0 → 6.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/esm/index.js +196 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +144 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +333 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/esm/v2/__tests__/apiError.test.js +181 -0
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +147 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +230 -0
- package/dist/esm/v2/components/Accordion.js.map +1 -0
- package/dist/esm/v2/components/ActionStrip.js +146 -0
- package/dist/esm/v2/components/ActionStrip.js.map +1 -0
- package/dist/esm/v2/components/Banner.js +254 -0
- package/dist/esm/v2/components/Banner.js.map +1 -0
- package/dist/esm/v2/components/Busy.js +97 -0
- package/dist/esm/v2/components/Busy.js.map +1 -0
- package/dist/esm/v2/components/Button.js +114 -0
- package/dist/esm/v2/components/Button.js.map +1 -0
- package/dist/esm/v2/components/CategoryTag.js +81 -0
- package/dist/esm/v2/components/CategoryTag.js.map +1 -0
- package/dist/esm/v2/components/Checkbox.js +124 -0
- package/dist/esm/v2/components/Checkbox.js.map +1 -0
- package/dist/esm/v2/components/Chip.js +124 -0
- package/dist/esm/v2/components/Chip.js.map +1 -0
- package/dist/esm/v2/components/Combobox.js +394 -0
- package/dist/esm/v2/components/Combobox.js.map +1 -0
- package/dist/esm/v2/components/CommandPalette.js +660 -0
- package/dist/esm/v2/components/CommandPalette.js.map +1 -0
- package/dist/esm/v2/components/ConfirmDialog.js +144 -0
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/esm/v2/components/DatePicker.js +200 -0
- package/dist/esm/v2/components/DatePicker.js.map +1 -0
- package/dist/esm/v2/components/DateRangePicker.js +289 -0
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
- package/dist/esm/v2/components/DateTimePicker.js +182 -0
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
- package/dist/esm/v2/components/Drawer.js +333 -0
- package/dist/esm/v2/components/Drawer.js.map +1 -0
- package/dist/esm/v2/components/Dropzone.js +540 -0
- package/dist/esm/v2/components/Dropzone.js.map +1 -0
- package/dist/esm/v2/components/EmptyState.js +102 -0
- package/dist/esm/v2/components/EmptyState.js.map +1 -0
- package/dist/esm/v2/components/FavoriteToggle.js +127 -0
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/esm/v2/components/Field.js +197 -0
- package/dist/esm/v2/components/Field.js.map +1 -0
- package/dist/esm/v2/components/FieldError.js +124 -0
- package/dist/esm/v2/components/FieldError.js.map +1 -0
- package/dist/esm/v2/components/FieldHelp.js +202 -0
- package/dist/esm/v2/components/FieldHelp.js.map +1 -0
- package/dist/esm/v2/components/FileCard.js +162 -0
- package/dist/esm/v2/components/FileCard.js.map +1 -0
- package/dist/esm/v2/components/FilterTab.js +138 -0
- package/dist/esm/v2/components/FilterTab.js.map +1 -0
- package/dist/esm/v2/components/ForbiddenPage.js +74 -0
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/esm/v2/components/FormGrid.js +179 -0
- package/dist/esm/v2/components/FormGrid.js.map +1 -0
- package/dist/esm/v2/components/FormikDisplay.js +118 -0
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
- package/dist/esm/v2/components/Input.js +107 -0
- package/dist/esm/v2/components/Input.js.map +1 -0
- package/dist/esm/v2/components/KPICard.js +237 -0
- package/dist/esm/v2/components/KPICard.js.map +1 -0
- package/dist/esm/v2/components/KPIStrip.js +84 -0
- package/dist/esm/v2/components/KPIStrip.js.map +1 -0
- package/dist/esm/v2/components/KV.js +75 -0
- package/dist/esm/v2/components/KV.js.map +1 -0
- package/dist/esm/v2/components/KVGrid.js +74 -0
- package/dist/esm/v2/components/KVGrid.js.map +1 -0
- package/dist/esm/v2/components/Layout.js +284 -0
- package/dist/esm/v2/components/Layout.js.map +1 -0
- package/dist/esm/v2/components/MobileRowCard.js +314 -0
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
- package/dist/esm/v2/components/Modal.js +276 -0
- package/dist/esm/v2/components/Modal.js.map +1 -0
- package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/esm/v2/components/NotFoundPage.js +58 -0
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
- package/dist/esm/v2/components/NumberInput.js +309 -0
- package/dist/esm/v2/components/NumberInput.js.map +1 -0
- package/dist/esm/v2/components/OverflowMenu.js +184 -0
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
- package/dist/esm/v2/components/PdfViewer.js +122 -0
- package/dist/esm/v2/components/PdfViewer.js.map +1 -0
- package/dist/esm/v2/components/ProgressBar.js +202 -0
- package/dist/esm/v2/components/ProgressBar.js.map +1 -0
- package/dist/esm/v2/components/Radio.js +228 -0
- package/dist/esm/v2/components/Radio.js.map +1 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/esm/v2/components/SectionHeader.js +132 -0
- package/dist/esm/v2/components/SectionHeader.js.map +1 -0
- package/dist/esm/v2/components/Segmented.js +254 -0
- package/dist/esm/v2/components/Segmented.js.map +1 -0
- package/dist/esm/v2/components/Select.js +490 -0
- package/dist/esm/v2/components/Select.js.map +1 -0
- package/dist/esm/v2/components/ServerErrorPage.js +74 -0
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/esm/v2/components/Skeleton.js +269 -0
- package/dist/esm/v2/components/Skeleton.js.map +1 -0
- package/dist/esm/v2/components/SkipLink.js +49 -0
- package/dist/esm/v2/components/SkipLink.js.map +1 -0
- package/dist/esm/v2/components/Spinner.js +69 -0
- package/dist/esm/v2/components/Spinner.js.map +1 -0
- package/dist/esm/v2/components/Status.js +64 -0
- package/dist/esm/v2/components/Status.js.map +1 -0
- package/dist/esm/v2/components/Stepper.js +432 -0
- package/dist/esm/v2/components/Stepper.js.map +1 -0
- package/dist/esm/v2/components/Surface.js +159 -0
- package/dist/esm/v2/components/Surface.js.map +1 -0
- package/dist/esm/v2/components/Switch.js +128 -0
- package/dist/esm/v2/components/Switch.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +150 -0
- package/dist/esm/v2/components/Tabs.js.map +1 -0
- package/dist/esm/v2/components/TelInput.js +274 -0
- package/dist/esm/v2/components/TelInput.js.map +1 -0
- package/dist/esm/v2/components/Textarea.js +72 -0
- package/dist/esm/v2/components/Textarea.js.map +1 -0
- package/dist/esm/v2/components/TimePicker.js +134 -0
- package/dist/esm/v2/components/TimePicker.js.map +1 -0
- package/dist/esm/v2/components/Toast.js +376 -0
- package/dist/esm/v2/components/Toast.js.map +1 -0
- package/dist/esm/v2/components/Tooltip.js +161 -0
- package/dist/esm/v2/components/Tooltip.js.map +1 -0
- package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/esm/v2/components/_pickerShared.js +60 -0
- package/dist/esm/v2/components/_pickerShared.js.map +1 -0
- package/dist/esm/v2/components/index.js +244 -0
- package/dist/esm/v2/components/index.js.map +1 -0
- package/dist/esm/v2/hooks/index.js +10 -0
- package/dist/esm/v2/hooks/index.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/esm/v2/hooks/useDensity.js +119 -0
- package/dist/esm/v2/hooks/useDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useSortedRows.js +32 -0
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/esm/v2/hooks/useTabLoading.js +79 -0
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/esm/v2/index.js +121 -0
- package/dist/esm/v2/index.js.map +1 -0
- package/dist/esm/v2/modalContext.js +108 -0
- package/dist/esm/v2/modalContext.js.map +1 -0
- package/dist/esm/v2/models/favorite.js +2 -0
- package/dist/esm/v2/models/favorite.js.map +1 -0
- package/dist/esm/v2/models/index.js +12 -0
- package/dist/esm/v2/models/index.js.map +1 -0
- package/dist/esm/v2/models/personalization.js +2 -0
- package/dist/esm/v2/models/personalization.js.map +1 -0
- package/dist/esm/v2/models/referentiel.js +2 -0
- package/dist/esm/v2/models/referentiel.js.map +1 -0
- package/dist/esm/v2/models/savedFilter.js +2 -0
- package/dist/esm/v2/models/savedFilter.js.map +1 -0
- package/dist/esm/v2/patterns/ActionBar.js +603 -0
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/esm/v2/patterns/DataGrid.js +820 -0
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +164 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormPageShell.js +126 -0
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/FormSection.js +190 -0
- package/dist/esm/v2/patterns/FormSection.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCombobox.js +115 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +196 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +148 -0
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
- package/dist/esm/v2/patterns/FormikInput.js +127 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/FormikSelect.js +159 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +76 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +195 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/esm/v2/patterns/PageContent.js +62 -0
- package/dist/esm/v2/patterns/PageContent.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +615 -0
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/SortableHeader.js +179 -0
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/esm/v2/patterns/Tour.js +471 -0
- package/dist/esm/v2/patterns/Tour.js.map +1 -0
- package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +112 -0
- package/dist/esm/v2/patterns/_sort.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +95 -0
- package/dist/esm/v2/patterns/index.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/index.js +11 -0
- package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +17 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/esm/v2/personalization/index.js +46 -0
- package/dist/esm/v2/personalization/index.js.map +1 -0
- package/dist/esm/v2/personalization/personalizationContext.js +108 -0
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/esm/v2/personalization/schema.js +92 -0
- package/dist/esm/v2/personalization/schema.js.map +1 -0
- package/dist/esm/v2/personalization/types.js +2 -0
- package/dist/esm/v2/personalization/types.js.map +1 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/esm/v2/referentiel/index.js +15 -0
- package/dist/esm/v2/referentiel/index.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/esm/v2/styles/base.css +425 -0
- package/dist/esm/v2/styles/css.d.ts +10 -0
- package/dist/esm/v2/styles/index.js +12 -0
- package/dist/esm/v2/styles/index.js.map +1 -0
- package/dist/esm/v2/theme/_brand.js +64 -0
- package/dist/esm/v2/theme/_brand.js.map +1 -0
- package/dist/esm/v2/theme/_brandSecondary.js +60 -0
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/esm/v2/theme/cssVariables.js +198 -0
- package/dist/esm/v2/theme/cssVariables.js.map +1 -0
- package/dist/esm/v2/theme/index.js +32 -0
- package/dist/esm/v2/theme/index.js.map +1 -0
- package/dist/esm/v2/tokens/breakpoints.js +106 -0
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +219 -0
- package/dist/esm/v2/tokens/colors.js.map +1 -0
- package/dist/esm/v2/tokens/density.js +98 -0
- package/dist/esm/v2/tokens/density.js.map +1 -0
- package/dist/esm/v2/tokens/index.js +80 -0
- package/dist/esm/v2/tokens/index.js.map +1 -0
- package/dist/esm/v2/tokens/motion.js +88 -0
- package/dist/esm/v2/tokens/motion.js.map +1 -0
- package/dist/esm/v2/tokens/radius.js +22 -0
- package/dist/esm/v2/tokens/radius.js.map +1 -0
- package/dist/esm/v2/tokens/shadows.js +40 -0
- package/dist/esm/v2/tokens/shadows.js.map +1 -0
- package/dist/esm/v2/tokens/spacing.js +51 -0
- package/dist/esm/v2/tokens/spacing.js.map +1 -0
- package/dist/esm/v2/tokens/state.js +41 -0
- package/dist/esm/v2/tokens/state.js.map +1 -0
- package/dist/esm/v2/tokens/statusPalette.js +66 -0
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
- package/dist/esm/v2/tokens/tokens.json +153 -0
- package/dist/esm/v2/tokens/typography.js +149 -0
- package/dist/esm/v2/tokens/typography.js.map +1 -0
- package/dist/esm/v2/tokens/zIndex.js +44 -0
- package/dist/esm/v2/tokens/zIndex.js.map +1 -0
- package/dist/esm/v2/types/common.js +2 -0
- package/dist/esm/v2/types/common.js.map +1 -0
- package/dist/esm/v2/types/datagrid.js +2 -0
- package/dist/esm/v2/types/datagrid.js.map +1 -0
- package/dist/esm/v2/types/index.js +12 -0
- package/dist/esm/v2/types/index.js.map +1 -0
- package/dist/esm/v2/utils/apiError.js +281 -0
- package/dist/esm/v2/utils/apiError.js.map +1 -0
- package/dist/esm/v2/utils/contrast.js +157 -0
- package/dist/esm/v2/utils/contrast.js.map +1 -0
- package/dist/esm/v2/utils/cx.js +38 -0
- package/dist/esm/v2/utils/cx.js.map +1 -0
- package/dist/esm/v2/utils/fileDownload.js +226 -0
- package/dist/esm/v2/utils/fileDownload.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +78 -0
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
- package/dist/esm/v2/utils/index.js +43 -0
- package/dist/esm/v2/utils/index.js.map +1 -0
- package/dist/esm/v2/utils/mergeLabels.js +86 -0
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
- package/dist/esm/v2/utils/networkStatus.js +114 -0
- package/dist/esm/v2/utils/networkStatus.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/FieldError.test.js +164 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +148 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/components/Accordion.d.ts +6 -6
- package/dist/v2/components/Accordion.d.ts.map +1 -1
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.d.ts +12 -12
- package/dist/v2/components/ActionStrip.d.ts.map +1 -1
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.d.ts +48 -9
- package/dist/v2/components/Banner.d.ts.map +1 -1
- package/dist/v2/components/Banner.js +116 -35
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.d.ts +3 -3
- package/dist/v2/components/Busy.d.ts.map +1 -1
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.d.ts +6 -6
- package/dist/v2/components/Button.d.ts.map +1 -1
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts +3 -3
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.d.ts +11 -11
- package/dist/v2/components/Checkbox.d.ts.map +1 -1
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.d.ts +8 -8
- package/dist/v2/components/Chip.d.ts.map +1 -1
- package/dist/v2/components/Chip.js +2 -1
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.d.ts +27 -27
- package/dist/v2/components/Combobox.d.ts.map +1 -1
- package/dist/v2/components/Combobox.js +3 -2
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.d.ts +20 -20
- package/dist/v2/components/CommandPalette.d.ts.map +1 -1
- package/dist/v2/components/CommandPalette.js +2 -6
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.d.ts +13 -13
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +2 -1
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.d.ts +11 -11
- package/dist/v2/components/DatePicker.d.ts.map +1 -1
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.d.ts +16 -16
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
- package/dist/v2/components/DateRangePicker.js +2 -1
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts +11 -11
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts +18 -18
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +2 -1
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.d.ts +34 -34
- package/dist/v2/components/Dropzone.d.ts.map +1 -1
- package/dist/v2/components/Dropzone.js +11 -3
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.d.ts +7 -7
- package/dist/v2/components/EmptyState.d.ts.map +1 -1
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.d.ts +7 -7
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +2 -1
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +17 -12
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +25 -7
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.d.ts +78 -0
- package/dist/v2/components/FieldError.d.ts.map +1 -0
- package/dist/v2/components/FieldError.js +131 -0
- package/dist/v2/components/FieldError.js.map +1 -0
- package/dist/v2/components/FieldHelp.d.ts +7 -7
- package/dist/v2/components/FieldHelp.d.ts.map +1 -1
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.d.ts +75 -0
- package/dist/v2/components/FileCard.d.ts.map +1 -0
- package/dist/v2/components/FileCard.js +169 -0
- package/dist/v2/components/FileCard.js.map +1 -0
- package/dist/v2/components/FilterTab.d.ts +9 -9
- package/dist/v2/components/FilterTab.d.ts.map +1 -1
- package/dist/v2/components/FilterTab.js +2 -1
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/FormGrid.d.ts +9 -4
- package/dist/v2/components/FormGrid.d.ts.map +1 -1
- package/dist/v2/components/FormGrid.js +11 -1
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +6 -6
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +6 -6
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.d.ts +43 -13
- package/dist/v2/components/KPICard.d.ts.map +1 -1
- package/dist/v2/components/KPICard.js +53 -14
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.d.ts +68 -0
- package/dist/v2/components/KPIStrip.d.ts.map +1 -0
- package/dist/v2/components/KPIStrip.js +92 -0
- package/dist/v2/components/KPIStrip.js.map +1 -0
- package/dist/v2/components/KV.d.ts +3 -3
- package/dist/v2/components/KV.d.ts.map +1 -1
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.d.ts +2 -2
- package/dist/v2/components/KVGrid.d.ts.map +1 -1
- package/dist/v2/components/KVGrid.js +8 -1
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.d.ts +7 -7
- package/dist/v2/components/Layout.d.ts.map +1 -1
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.d.ts +13 -13
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.d.ts +12 -12
- package/dist/v2/components/Modal.d.ts.map +1 -1
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NumberInput.d.ts +14 -14
- package/dist/v2/components/NumberInput.d.ts.map +1 -1
- package/dist/v2/components/NumberInput.js +7 -6
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.d.ts +14 -14
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
- package/dist/v2/components/OverflowMenu.js +4 -8
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.d.ts +9 -9
- package/dist/v2/components/PdfViewer.d.ts.map +1 -1
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.d.ts +10 -10
- package/dist/v2/components/ProgressBar.d.ts.map +1 -1
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.d.ts +7 -7
- package/dist/v2/components/Radio.d.ts.map +1 -1
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
- package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
- package/dist/v2/components/SectionErrorBoundary.js +221 -0
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/v2/components/SectionHeader.d.ts +5 -5
- package/dist/v2/components/SectionHeader.d.ts.map +1 -1
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.d.ts +11 -11
- package/dist/v2/components/Segmented.d.ts.map +1 -1
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +33 -15
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +147 -30
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.d.ts +15 -15
- package/dist/v2/components/Skeleton.d.ts.map +1 -1
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.d.ts +2 -2
- package/dist/v2/components/SkipLink.d.ts.map +1 -1
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Status.d.ts +3 -3
- package/dist/v2/components/Status.d.ts.map +1 -1
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.d.ts +28 -22
- package/dist/v2/components/Stepper.d.ts.map +1 -1
- package/dist/v2/components/Stepper.js +31 -5
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.d.ts +94 -0
- package/dist/v2/components/Surface.d.ts.map +1 -0
- package/dist/v2/components/Surface.js +163 -0
- package/dist/v2/components/Surface.js.map +1 -0
- package/dist/v2/components/Switch.d.ts +4 -4
- package/dist/v2/components/Switch.d.ts.map +1 -1
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/Tabs.d.ts +6 -6
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.d.ts +8 -8
- package/dist/v2/components/TelInput.d.ts.map +1 -1
- package/dist/v2/components/TelInput.js +18 -18
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.d.ts +1 -1
- package/dist/v2/components/Textarea.d.ts.map +1 -1
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.d.ts +11 -11
- package/dist/v2/components/TimePicker.d.ts.map +1 -1
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.d.ts +6 -6
- package/dist/v2/components/Toast.d.ts.map +1 -1
- package/dist/v2/components/Toast.js +9 -8
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.d.ts +1 -1
- package/dist/v2/components/Tooltip.d.ts.map +1 -1
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/index.d.ts +143 -0
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +35 -0
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +1 -1
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +13 -13
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +11 -11
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -8
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.d.ts +33 -33
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/ActionBar.js +2 -1
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/BulkActionBar.js +2 -1
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +4 -8
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +2 -1
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.d.ts +6 -6
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +2 -1
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.d.ts +4 -4
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +19 -8
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +106 -71
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +11 -11
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +36 -8
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +27 -1
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikFile.d.ts +8 -8
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +41 -6
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +49 -1
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +33 -12
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +28 -2
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +5 -5
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +7 -7
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +2 -6
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.d.ts +3 -3
- package/dist/v2/patterns/PageContent.d.ts.map +1 -1
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/ReferentielField.d.ts +49 -49
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +2 -1
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +9 -8
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.d.ts +12 -12
- package/dist/v2/patterns/Tour.d.ts.map +1 -1
- package/dist/v2/patterns/Tour.js +9 -8
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +37 -3
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/index.d.ts +27 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/schema.d.ts +2 -2
- package/dist/v2/personalization/schema.d.ts.map +1 -1
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/personalization/types.d.ts +19 -19
- package/dist/v2/personalization/types.d.ts.map +1 -1
- package/dist/v2/personalization/types.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +25 -1
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +59 -59
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/utils/apiError.d.ts +65 -4
- package/dist/v2/utils/apiError.d.ts.map +1 -1
- package/dist/v2/utils/apiError.js +69 -6
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/index.d.ts +1 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +7 -0
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.d.ts +59 -0
- package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
- package/dist/v2/utils/mergeLabels.js +93 -0
- package/dist/v2/utils/mergeLabels.js.map +1 -0
- package/package.json +23 -15
|
@@ -9,8 +9,9 @@ var _moment = _interopRequireDefault(require("moment"));
|
|
|
9
9
|
var _formik = require("formik");
|
|
10
10
|
var _Field = _interopRequireDefault(require("../components/Field"));
|
|
11
11
|
var _DatePicker = _interopRequireDefault(require("../components/DatePicker"));
|
|
12
|
+
var _FormikDisplay = _interopRequireDefault(require("../components/FormikDisplay"));
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
var _excluded = ["name", "label", "required", "disabled", "htmlFor", "hint", "outputFormat"];
|
|
14
|
+
var _excluded = ["name", "label", "required", "disabled", "readOnly", "readOnlyFormat", "htmlFor", "hint", "outputFormat"];
|
|
14
15
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
15
16
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
16
17
|
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; }
|
|
@@ -142,6 +143,9 @@ var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
|
142
143
|
label = _ref.label,
|
|
143
144
|
required = _ref.required,
|
|
144
145
|
disabled = _ref.disabled,
|
|
146
|
+
readOnly = _ref.readOnly,
|
|
147
|
+
_ref$readOnlyFormat = _ref.readOnlyFormat,
|
|
148
|
+
readOnlyFormat = _ref$readOnlyFormat === void 0 ? "DD/MM/YYYY" : _ref$readOnlyFormat,
|
|
145
149
|
htmlFor = _ref.htmlFor,
|
|
146
150
|
hint = _ref.hint,
|
|
147
151
|
outputFormat = _ref.outputFormat,
|
|
@@ -154,6 +158,28 @@ var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
|
154
158
|
setFieldValue = _useFormikContext.setFieldValue,
|
|
155
159
|
setFieldTouched = _useFormikContext.setFieldTouched;
|
|
156
160
|
var hasError = Boolean(meta.touched && meta.error);
|
|
161
|
+
|
|
162
|
+
/* Lecture seule. On repasse par `coerceToDate` avec le MÊME `outputFormat`
|
|
163
|
+
* que le champ utilise pour écrire : c'est la symétrie que S-03 a installée,
|
|
164
|
+
* et s'en écarter ici reproduirait exactement le bug qu'il a corrigé (une date
|
|
165
|
+
* "31-12-2026" relue par `new Date()` devient Invalid Date).
|
|
166
|
+
*
|
|
167
|
+
* `format` court-circuite la branche « valeur vide » de FormikDisplay, donc le
|
|
168
|
+
* marqueur « — » est reproduit ici plutôt que délégué — sans quoi un champ
|
|
169
|
+
* sans date afficherait un panneau vide. */
|
|
170
|
+
if (readOnly && !disabled) {
|
|
171
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikDisplay["default"], _objectSpread(_objectSpread({
|
|
172
|
+
name: name,
|
|
173
|
+
label: label
|
|
174
|
+
}, hint !== undefined ? {
|
|
175
|
+
hint: hint
|
|
176
|
+
} : {}), {}, {
|
|
177
|
+
format: function format(raw) {
|
|
178
|
+
var parsed = coerceToDate(raw, outputFormat);
|
|
179
|
+
return parsed ? (0, _moment["default"])(parsed).format(readOnlyFormat) : "\u2014";
|
|
180
|
+
}
|
|
181
|
+
}));
|
|
182
|
+
}
|
|
157
183
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], _objectSpread(_objectSpread(_objectSpread({
|
|
158
184
|
label: label,
|
|
159
185
|
error: hasError ? meta.error : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikDatePicker.js","names":["React","_interopRequireWildcard","require","_moment","_interopRequireDefault","_formik","_Field","_DatePicker","_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","coerceToDate","raw","outputFormat","Date","toDate","_d$getTime","d","isNaN","getTime","parsed","moment","isValid","serialiseDate","date","toISOString","format","FormikDatePicker","_ref","label","required","disabled","htmlFor","rest","_useField","useField","_useField2","field","meta","_useFormikContext","useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","jsx","children","onChange","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikDatePicker.tsx"],"sourcesContent":["/**\r\n * FormikDatePicker — bridge between Formik state and v2.Field +\r\n * v2.DatePicker.\r\n *\r\n * v2.DatePicker emits Date | null. Formik state may carry Date,\r\n * ISO string, or moment instance — this bridge normalises inbound\r\n * values to Date for the picker.\r\n *\r\n * outputFormat prop (Charter R-I.*):\r\n * By default, onChange writes a Date | null back to Formik, which\r\n * is fine for Yup.date() schemas. If your schema uses Yup.string()\r\n * with a format test (e.g. \"DD-MM-YYYY\"), pass the matching moment\r\n * format string:\r\n *\r\n * <FormikDatePicker name=\"dateNaissance\" outputFormat=\"DD-MM-YYYY\" />\r\n *\r\n * The field then stores \"03-05-2026\" instead of a Date object.\r\n * Pass outputFormat=\"iso\" to store an ISO 8601 string instead.\r\n * Default (undefined) = Date | null (backward-compatible).\r\n *\r\n * ── outputFormat MUST ROUND-TRIP — and now does (S-03) ────────────────\r\n *\r\n * This bridge used to serialise OUT through moment but read BACK through\r\n * `new Date(raw)`, ignoring outputFormat. The asymmetry silently corrupted any\r\n * non-ISO format:\r\n *\r\n * new Date(\"31-12-2026\") -> month 31 invalid -> Invalid Date -> null\r\n * -> the field rendered EMPTY when re-populated\r\n * new Date(\"05-03-2026\") -> V8 reads MM-DD -> 3 May, not 5 March\r\n * -> saving untouched wrote back \"03-05-2026\"\r\n *\r\n * The write path worked, so a form filled in and submitted immediately behaved\r\n * correctly; the damage only surfaced on RE-POPULATE, i.e. an edit flow — the\r\n * path a smoke test is least likely to exercise. `procuration-portnet-fe` shipped\r\n * it for seven batches under a clean strict typecheck.\r\n *\r\n * `coerceToDate` now parses with the SAME format it was written with, in moment's\r\n * STRICT mode, so a malformed stored value yields null instead of a plausible\r\n * wrong date. A missing date is recoverable; a date quietly off by two months is\r\n * not.\r\n *\r\n * BEHAVIOURAL NOTE for existing non-ISO callers: they were mis-parsing before.\r\n * This changes their result from wrong to right — which is the point, but it is a\r\n * change. Callers passing nothing, or \"iso\", are on the identical code path.\r\n *\r\n * Audit: this is the ONLY Formik date bridge in the library. DateTimePicker,\r\n * TimePicker and DateRangePicker are exposed as bare components exchanging Date\r\n * objects, so they have no serialisation step and no equivalent asymmetry;\r\n * _pickerShared carries only Date<->Moment converters, not string parsing.\r\n *\r\n * Modal / Drawer usage (MUI X v9):\r\n * When rendered inside a v2.Drawer or a MUI Modal, the DatePicker\r\n * calendar popup may render behind the modal surface (both default\r\n * to zIndex 1300). In MUI X v9, the popper slot is forwarded via\r\n * slotProps.popper (the legacy `PopperProps` was removed). Pass:\r\n *\r\n * <FormikDatePicker\r\n * slotProps={{ popper: { sx: { zIndex: 1400 } } }}\r\n * />\r\n *\r\n * Slot props forward through ...rest to v2.DatePicker and on to\r\n * MuiDatePicker, where they merge with the textField slot bag\r\n * already wired by v2.DatePicker.\r\n *\r\n * Charter R-I.*.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport moment from \"moment\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport DatePicker from \"../components/DatePicker\";\r\nimport type { DatePickerProps } from \"../components/DatePicker\";\r\n\r\n/**\r\n * Read a Formik-stored value back into a Date.\r\n *\r\n * `outputFormat` is threaded in so the read is SYMMETRIC with `serialiseDate`\r\n * (S-03). Without it, a non-ISO format written by moment was read by\r\n * `new Date()`, which either rejects it or misreads it as MM-DD.\r\n */\r\nconst coerceToDate = (raw: unknown, outputFormat?: string): Date | null => {\r\n if (raw == null || raw === \"\") return null;\r\n if (raw instanceof Date) return raw;\r\n if (typeof raw === \"object\" && typeof (raw as { toDate?: () => Date }).toDate === \"function\") {\r\n const d = (raw as { toDate: () => Date }).toDate();\r\n return isNaN(d?.getTime?.()) ? null : d;\r\n }\r\n /* S-03 — parse with the format it was written with. STRICT mode: a stored value\r\n * that does not match yields null rather than moment's best guess.\r\n *\r\n * Guarded on `typeof raw === \"string\"` so a numeric timestamp keeps the\r\n * `new Date(number)` path — moment(number, format) is meaningless. \"iso\" is\r\n * excluded: it is not a moment token, and `new Date(isoString)` is already\r\n * correct. */\r\n if (\r\n typeof raw === \"string\" &&\r\n outputFormat !== undefined &&\r\n outputFormat !== \"iso\"\r\n ) {\r\n const parsed = moment(raw, outputFormat, true);\r\n return parsed.isValid() ? parsed.toDate() : null;\r\n }\r\n const d = new Date(raw as string | number);\r\n return isNaN(d.getTime()) ? null : d;\r\n};\r\n\r\n/**\r\n * Serialise a Date to the requested output format.\r\n * undefined → return the Date as-is (default — backward-compat)\r\n * \"iso\" → Date.toISOString()\r\n * any string → moment(date).format(outputFormat)\r\n */\r\nfunction serialiseDate(date: Date | null, outputFormat: string | undefined): Date | string | null {\r\n if (!date || !(date instanceof Date) || isNaN(date.getTime())) {\r\n return outputFormat ? \"\" : null;\r\n }\r\n if (!outputFormat) return date;\r\n if (outputFormat === \"iso\") return date.toISOString();\r\n return moment(date).format(outputFormat);\r\n}\r\n\r\nexport interface FormikDatePickerProps\r\n extends Omit<DatePickerProps, \"value\" | \"onChange\" | \"disabled\" | \"error\" | \"label\"> {\r\n name: string;\r\n label?: React.ReactNode;\r\n required?: boolean;\r\n disabled?: boolean;\r\n htmlFor?: string;\r\n hint?: React.ReactNode;\r\n /**\r\n * outputFormat — when provided, the Formik field stores a formatted\r\n * string instead of a Date object. Use when your Yup schema uses\r\n * Yup.string() with a format-specific test (e.g. \"DD-MM-YYYY\").\r\n * Pass \"iso\" for ISO 8601, or any moment format token string.\r\n * Defaults to undefined (Date | null — backward-compatible).\r\n */\r\n outputFormat?: string;\r\n}\r\n\r\nconst FormikDatePicker = ({\r\n name,\r\n label,\r\n required,\r\n disabled,\r\n htmlFor,\r\n hint,\r\n outputFormat,\r\n ...rest\r\n}: FormikDatePickerProps) => {\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 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 >\r\n <DatePicker\r\n value={coerceToDate(field.value, outputFormat)}\r\n onChange={(next) => {\r\n setFieldValue(name, serialiseDate(next, outputFormat));\r\n setFieldTouched(name, true, false);\r\n }}\r\n {...rest}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikDatePicker;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormikDatePicker.js","names":["React","_interopRequireWildcard","require","_moment","_interopRequireDefault","_formik","_Field","_DatePicker","_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","coerceToDate","raw","outputFormat","Date","toDate","_d$getTime","d","isNaN","getTime","parsed","moment","isValid","serialiseDate","date","toISOString","format","FormikDatePicker","_ref","label","required","disabled","readOnly","_ref$readOnlyFormat","readOnlyFormat","htmlFor","rest","_useField","useField","_useField2","field","meta","_useFormikContext","useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","jsx","children","onChange","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikDatePicker.tsx"],"sourcesContent":["/**\r\n * FormikDatePicker — bridge between Formik state and v2.Field +\r\n * v2.DatePicker.\r\n *\r\n * v2.DatePicker emits Date | null. Formik state may carry Date,\r\n * ISO string, or moment instance — this bridge normalises inbound\r\n * values to Date for the picker.\r\n *\r\n * outputFormat prop (Charter R-I.*):\r\n * By default, onChange writes a Date | null back to Formik, which\r\n * is fine for Yup.date() schemas. If your schema uses Yup.string()\r\n * with a format test (e.g. \"DD-MM-YYYY\"), pass the matching moment\r\n * format string:\r\n *\r\n * <FormikDatePicker name=\"dateNaissance\" outputFormat=\"DD-MM-YYYY\" />\r\n *\r\n * The field then stores \"03-05-2026\" instead of a Date object.\r\n * Pass outputFormat=\"iso\" to store an ISO 8601 string instead.\r\n * Default (undefined) = Date | null (backward-compatible).\r\n *\r\n * ── outputFormat MUST ROUND-TRIP — and now does (S-03) ────────────────\r\n *\r\n * This bridge used to serialise OUT through moment but read BACK through\r\n * `new Date(raw)`, ignoring outputFormat. The asymmetry silently corrupted any\r\n * non-ISO format:\r\n *\r\n * new Date(\"31-12-2026\") -> month 31 invalid -> Invalid Date -> null\r\n * -> the field rendered EMPTY when re-populated\r\n * new Date(\"05-03-2026\") -> V8 reads MM-DD -> 3 May, not 5 March\r\n * -> saving untouched wrote back \"03-05-2026\"\r\n *\r\n * The write path worked, so a form filled in and submitted immediately behaved\r\n * correctly; the damage only surfaced on RE-POPULATE, i.e. an edit flow — the\r\n * path a smoke test is least likely to exercise. `procuration-portnet-fe` shipped\r\n * it for seven batches under a clean strict typecheck.\r\n *\r\n * `coerceToDate` now parses with the SAME format it was written with, in moment's\r\n * STRICT mode, so a malformed stored value yields null instead of a plausible\r\n * wrong date. A missing date is recoverable; a date quietly off by two months is\r\n * not.\r\n *\r\n * BEHAVIOURAL NOTE for existing non-ISO callers: they were mis-parsing before.\r\n * This changes their result from wrong to right — which is the point, but it is a\r\n * change. Callers passing nothing, or \"iso\", are on the identical code path.\r\n *\r\n * Audit: this is the ONLY Formik date bridge in the library. DateTimePicker,\r\n * TimePicker and DateRangePicker are exposed as bare components exchanging Date\r\n * objects, so they have no serialisation step and no equivalent asymmetry;\r\n * _pickerShared carries only Date<->Moment converters, not string parsing.\r\n *\r\n * Modal / Drawer usage (MUI X v9):\r\n * When rendered inside a v2.Drawer or a MUI Modal, the DatePicker\r\n * calendar popup may render behind the modal surface (both default\r\n * to zIndex 1300). In MUI X v9, the popper slot is forwarded via\r\n * slotProps.popper (the legacy `PopperProps` was removed). Pass:\r\n *\r\n * <FormikDatePicker\r\n * slotProps={{ popper: { sx: { zIndex: 1400 } } }}\r\n * />\r\n *\r\n * Slot props forward through ...rest to v2.DatePicker and on to\r\n * MuiDatePicker, where they merge with the textField slot bag\r\n * already wired by v2.DatePicker.\r\n *\r\n * Charter R-I.*.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport moment from \"moment\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport DatePicker from \"../components/DatePicker\";\r\nimport FormikDisplay from \"../components/FormikDisplay\";\r\nimport type { DatePickerProps } from \"../components/DatePicker\";\r\n\r\n/**\r\n * Read a Formik-stored value back into a Date.\r\n *\r\n * `outputFormat` is threaded in so the read is SYMMETRIC with `serialiseDate`\r\n * (S-03). Without it, a non-ISO format written by moment was read by\r\n * `new Date()`, which either rejects it or misreads it as MM-DD.\r\n */\r\nconst coerceToDate = (raw: unknown, outputFormat?: string): Date | null => {\r\n if (raw == null || raw === \"\") return null;\r\n if (raw instanceof Date) return raw;\r\n if (typeof raw === \"object\" && typeof (raw as { toDate?: () => Date }).toDate === \"function\") {\r\n const d = (raw as { toDate: () => Date }).toDate();\r\n return isNaN(d?.getTime?.()) ? null : d;\r\n }\r\n /* S-03 — parse with the format it was written with. STRICT mode: a stored value\r\n * that does not match yields null rather than moment's best guess.\r\n *\r\n * Guarded on `typeof raw === \"string\"` so a numeric timestamp keeps the\r\n * `new Date(number)` path — moment(number, format) is meaningless. \"iso\" is\r\n * excluded: it is not a moment token, and `new Date(isoString)` is already\r\n * correct. */\r\n if (\r\n typeof raw === \"string\" &&\r\n outputFormat !== undefined &&\r\n outputFormat !== \"iso\"\r\n ) {\r\n const parsed = moment(raw, outputFormat, true);\r\n return parsed.isValid() ? parsed.toDate() : null;\r\n }\r\n const d = new Date(raw as string | number);\r\n return isNaN(d.getTime()) ? null : d;\r\n};\r\n\r\n/**\r\n * Serialise a Date to the requested output format.\r\n * undefined → return the Date as-is (default — backward-compat)\r\n * \"iso\" → Date.toISOString()\r\n * any string → moment(date).format(outputFormat)\r\n */\r\nfunction serialiseDate(date: Date | null, outputFormat: string | undefined): Date | string | null {\r\n if (!date || !(date instanceof Date) || isNaN(date.getTime())) {\r\n return outputFormat ? \"\" : null;\r\n }\r\n if (!outputFormat) return date;\r\n if (outputFormat === \"iso\") return date.toISOString();\r\n return moment(date).format(outputFormat);\r\n}\r\n\r\nexport interface FormikDatePickerProps\r\n extends Omit<\r\n DatePickerProps,\r\n \"value\" | \"onChange\" | \"disabled\" | \"error\" | \"label\" | \"readOnly\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n htmlFor?: string | undefined;\r\n hint?: React.ReactNode | undefined;\r\n /**\r\n * outputFormat — when provided, the Formik field stores a formatted\r\n * string instead of a Date object. Use when your Yup schema uses\r\n * Yup.string() with a format-specific test (e.g. \"DD-MM-YYYY\").\r\n * Pass \"iso\" for ISO 8601, or any moment format token string.\r\n * Defaults to undefined (Date | null — backward-compatible).\r\n */\r\n outputFormat?: string | undefined;\r\n /**\r\n * Render the date as read-only text via FormikDisplay instead of a picker.\r\n * `disabled` wins when both are passed — same rule as FormikInput.\r\n *\r\n * `readOnly` IS OMITTED FROM `DatePickerProps` ABOVE, for two reasons.\r\n *\r\n * Mechanically: MUI declares it `readOnly?: boolean` with no `| undefined`,\r\n * so under `exactOptionalPropertyTypes` a host passing an optional\r\n * `boolean | undefined` — which is what a `readOnly?: boolean | undefined`\r\n * section prop is — could not satisfy the inherited signature.\r\n *\r\n * Semantically: this prop SUPERSEDES MUI's meaning. MUI's `readOnly` keeps the\r\n * text field and blocks editing; this one replaces the field with text, so\r\n * there is no input left to mark read-only and forwarding both would be\r\n * contradictory.\r\n *\r\n * BEHAVIOURAL NOTE for existing callers: `readOnly` previously fell through\r\n * `...rest` to MUI and produced a non-editable INPUT. It now produces display\r\n * text. Any caller relying on the old rendering should switch to `disabled`.\r\n */\r\n readOnly?: boolean | undefined;\r\n /**\r\n * Display format in read-only mode. Defaults to the French convention rather\r\n * than to `outputFormat`: what the field STORES and what a reader should SEE\r\n * are different concerns — a field storing \"iso\" or \"YYYY-MM-DD\" should still\r\n * read as 31/12/2026.\r\n */\r\n readOnlyFormat?: string | undefined;\r\n}\r\n\r\nconst FormikDatePicker = ({\r\n name,\r\n label,\r\n required,\r\n disabled,\r\n readOnly,\r\n readOnlyFormat = \"DD/MM/YYYY\",\r\n htmlFor,\r\n hint,\r\n outputFormat,\r\n ...rest\r\n}: FormikDatePickerProps) => {\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 /* Lecture seule. On repasse par `coerceToDate` avec le MÊME `outputFormat`\r\n * que le champ utilise pour écrire : c'est la symétrie que S-03 a installée,\r\n * et s'en écarter ici reproduirait exactement le bug qu'il a corrigé (une date\r\n * \"31-12-2026\" relue par `new Date()` devient Invalid Date).\r\n *\r\n * `format` court-circuite la branche « valeur vide » de FormikDisplay, donc le\r\n * marqueur « — » est reproduit ici plutôt que délégué — sans quoi un champ\r\n * sans date afficherait un panneau vide. */\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 format={(raw) => {\r\n const parsed = coerceToDate(raw, outputFormat);\r\n return parsed ? moment(parsed).format(readOnlyFormat) : \"\\u2014\";\r\n }}\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 >\r\n <DatePicker\r\n value={coerceToDate(field.value, outputFormat)}\r\n onChange={(next) => {\r\n setFieldValue(name, serialiseDate(next, outputFormat));\r\n setFieldTouched(name, true, false);\r\n }}\r\n {...rest}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikDatePicker;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -43,16 +43,16 @@ export interface FormikErrorFocusProps {
|
|
|
43
43
|
* validator wrote its keys, which bears no relation to the layout, so
|
|
44
44
|
* "first field in error" can resolve to the last field on screen.
|
|
45
45
|
*/
|
|
46
|
-
order?: readonly string[];
|
|
46
|
+
order?: readonly string[] | undefined;
|
|
47
47
|
/** Scroll the field into view before focusing. @default true */
|
|
48
|
-
scroll?: boolean;
|
|
48
|
+
scroll?: boolean | undefined;
|
|
49
49
|
/**
|
|
50
50
|
* Set false to suspend the behaviour — e.g. a read-only mode where the
|
|
51
51
|
* submit path is closed and moving focus would be noise.
|
|
52
52
|
*
|
|
53
53
|
* @default true
|
|
54
54
|
*/
|
|
55
|
-
enabled?: boolean;
|
|
55
|
+
enabled?: boolean | undefined;
|
|
56
56
|
}
|
|
57
57
|
declare function FormikErrorFocus({ order, scroll, enabled, }: FormikErrorFocusProps): null;
|
|
58
58
|
export default FormikErrorFocus;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikErrorFocus.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikErrorFocus.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"FormikErrorFocus.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikErrorFocus.tsx"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAEH,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC;IACtC,gEAAgE;IAChE,MAAM,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC7B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,iBAAS,gBAAgB,CAAC,EACxB,KAAK,EACL,MAAa,EACb,OAAc,GACf,EAAE,qBAAqB,QAyBvB;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikErrorFocus.js","names":["_formik","require","_useFocusFirstError","_interopRequireDefault","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","FormikErrorFocus","_ref","order","_ref$scroll","scroll","_ref$enabled","enabled","_useFormikContext","useFormikContext","errors","submitCount","useFocusFirstError","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikErrorFocus.tsx"],"sourcesContent":["import { useFormikContext } from \"formik\";\r\nimport useFocusFirstError from \"../hooks/useFocusFirstError\";\r\n\r\n/**\r\n * FormikErrorFocus — Portnet UI v2 (pattern)\r\n *\r\n * Charter §05.3 R-F.3 / §04.1 R-FV.3. Renders NOTHING; it exists purely to\r\n * move focus to the first field in error after a failed submit.\r\n *\r\n * The companion to FormErrorSummary: that component makes the errors\r\n * visible and reachable by click, this one puts the caret in the first of\r\n * them. R-FV.2 and R-FV.3 are separate MUST rules and a form needs both.\r\n *\r\n * <Formik initialValues={…} validationSchema={…} onSubmit={…}>\r\n * <Form>\r\n * <FormikErrorFocus order={[\"numeroFacture\", \"fournisseur\", \"dateFacture\"]} />\r\n * <FormikInput name=\"numeroFacture\" label=\"N° de la facture\" required />\r\n * <FormikInput name=\"fournisseur\" label=\"Fournisseur\" required />\r\n * <FormikDatePicker name=\"dateFacture\" label=\"Date de la facture\" required />\r\n * </Form>\r\n * </Formik>\r\n *\r\n * Placement inside the form is free — it renders null, so it has no layout\r\n * or tab-order effect. It MUST be a descendant of <Formik>, since it reads\r\n * the context.\r\n *\r\n * ── WHY A COMPONENT AND NOT JUST THE HOOK ───────────────────────────\r\n *\r\n * The prevailing Formik shape in the modules is `<Formik><Form>…</Form>\r\n * </Formik>` with STATIC children. The hosting component's body is outside\r\n * the provider, so useFormikContext cannot be called there; and passing\r\n * innerRef does not help, because a ref mutation does not re-render the\r\n * holder when `errors` changes. A null-rendering descendant is the only\r\n * place the context is both available and reactive.\r\n *\r\n * Where a component already sits inside the provider — a form section using\r\n * useFormikContext, like the mjcc-fe publication and facture blocs — call\r\n * `focusFieldByName` directly instead. Those guards run on a button click\r\n * rather than a Formik submit, so there is no submitCount to react to.\r\n */\r\n\r\nexport interface FormikErrorFocusProps {\r\n /**\r\n * Field names in RENDERED order, top to bottom.\r\n *\r\n * SUPPLY THIS. The fallback is `Object.keys(errors)` — the order the\r\n * validator wrote its keys, which bears no relation to the layout, so\r\n * \"first field in error\" can resolve to the last field on screen.\r\n */\r\n order?: readonly string[];\r\n /** Scroll the field into view before focusing. @default true */\r\n scroll?: boolean;\r\n /**\r\n * Set false to suspend the behaviour — e.g. a read-only mode where the\r\n * submit path is closed and moving focus would be noise.\r\n *\r\n * @default true\r\n */\r\n enabled?: boolean;\r\n}\r\n\r\nfunction FormikErrorFocus({\r\n order,\r\n scroll = true,\r\n enabled = true,\r\n}: FormikErrorFocusProps) {\r\n /*\r\n * Record<string, unknown> rather than the host's own values type, and\r\n * rather than a cast. FormikErrors<Record<string, unknown>> resolves to\r\n * an index-signature map of optional strings, which is assignable to the\r\n * hook's Readonly<Record<string, unknown>> — so the two contracts meet\r\n * without an assertion. useFormikContext does not check its type\r\n * parameter against the provider, so this stays valid whatever the form's\r\n * value shape is.\r\n */\r\n const { errors, submitCount } = useFormikContext<Record<string, unknown>>();\r\n\r\n useFocusFirstError({\r\n errors,\r\n submitCount,\r\n scroll,\r\n enabled,\r\n /* Conditional spread: `order` is optional here and declared\r\n `readonly string[] | undefined` on the hook, and the library compiles\r\n under exactOptionalPropertyTypes, which rejects an explicitly-passed\r\n undefined. */\r\n ...(order !== undefined ? { order } : {}),\r\n });\r\n\r\n return null;\r\n}\r\n\r\nexport default FormikErrorFocus;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FormikErrorFocus.js","names":["_formik","require","_useFocusFirstError","_interopRequireDefault","obj","__esModule","_typeof","Symbol","iterator","constructor","prototype","ownKeys","object","enumerableOnly","keys","Object","getOwnPropertySymbols","symbols","filter","sym","getOwnPropertyDescriptor","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","key","_defineProperty","getOwnPropertyDescriptors","defineProperties","defineProperty","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","call","TypeError","Number","FormikErrorFocus","_ref","order","_ref$scroll","scroll","_ref$enabled","enabled","_useFormikContext","useFormikContext","errors","submitCount","useFocusFirstError","_default","exports"],"sources":["../../../src/lib/v2/patterns/FormikErrorFocus.tsx"],"sourcesContent":["import { useFormikContext } from \"formik\";\r\nimport useFocusFirstError from \"../hooks/useFocusFirstError\";\r\n\r\n/**\r\n * FormikErrorFocus — Portnet UI v2 (pattern)\r\n *\r\n * Charter §05.3 R-F.3 / §04.1 R-FV.3. Renders NOTHING; it exists purely to\r\n * move focus to the first field in error after a failed submit.\r\n *\r\n * The companion to FormErrorSummary: that component makes the errors\r\n * visible and reachable by click, this one puts the caret in the first of\r\n * them. R-FV.2 and R-FV.3 are separate MUST rules and a form needs both.\r\n *\r\n * <Formik initialValues={…} validationSchema={…} onSubmit={…}>\r\n * <Form>\r\n * <FormikErrorFocus order={[\"numeroFacture\", \"fournisseur\", \"dateFacture\"]} />\r\n * <FormikInput name=\"numeroFacture\" label=\"N° de la facture\" required />\r\n * <FormikInput name=\"fournisseur\" label=\"Fournisseur\" required />\r\n * <FormikDatePicker name=\"dateFacture\" label=\"Date de la facture\" required />\r\n * </Form>\r\n * </Formik>\r\n *\r\n * Placement inside the form is free — it renders null, so it has no layout\r\n * or tab-order effect. It MUST be a descendant of <Formik>, since it reads\r\n * the context.\r\n *\r\n * ── WHY A COMPONENT AND NOT JUST THE HOOK ───────────────────────────\r\n *\r\n * The prevailing Formik shape in the modules is `<Formik><Form>…</Form>\r\n * </Formik>` with STATIC children. The hosting component's body is outside\r\n * the provider, so useFormikContext cannot be called there; and passing\r\n * innerRef does not help, because a ref mutation does not re-render the\r\n * holder when `errors` changes. A null-rendering descendant is the only\r\n * place the context is both available and reactive.\r\n *\r\n * Where a component already sits inside the provider — a form section using\r\n * useFormikContext, like the mjcc-fe publication and facture blocs — call\r\n * `focusFieldByName` directly instead. Those guards run on a button click\r\n * rather than a Formik submit, so there is no submitCount to react to.\r\n */\r\n\r\nexport interface FormikErrorFocusProps {\r\n /**\r\n * Field names in RENDERED order, top to bottom.\r\n *\r\n * SUPPLY THIS. The fallback is `Object.keys(errors)` — the order the\r\n * validator wrote its keys, which bears no relation to the layout, so\r\n * \"first field in error\" can resolve to the last field on screen.\r\n */\r\n order?: readonly string[] | undefined;\r\n /** Scroll the field into view before focusing. @default true */\r\n scroll?: boolean | undefined;\r\n /**\r\n * Set false to suspend the behaviour — e.g. a read-only mode where the\r\n * submit path is closed and moving focus would be noise.\r\n *\r\n * @default true\r\n */\r\n enabled?: boolean | undefined;\r\n}\r\n\r\nfunction FormikErrorFocus({\r\n order,\r\n scroll = true,\r\n enabled = true,\r\n}: FormikErrorFocusProps) {\r\n /*\r\n * Record<string, unknown> rather than the host's own values type, and\r\n * rather than a cast. FormikErrors<Record<string, unknown>> resolves to\r\n * an index-signature map of optional strings, which is assignable to the\r\n * hook's Readonly<Record<string, unknown>> — so the two contracts meet\r\n * without an assertion. useFormikContext does not check its type\r\n * parameter against the provider, so this stays valid whatever the form's\r\n * value shape is.\r\n */\r\n const { errors, submitCount } = useFormikContext<Record<string, unknown>>();\r\n\r\n useFocusFirstError({\r\n errors,\r\n submitCount,\r\n scroll,\r\n enabled,\r\n /* Conditional spread: `order` is optional here and declared\r\n `readonly string[] | undefined` on the hook, and the library compiles\r\n under exactOptionalPropertyTypes, which rejects an explicitly-passed\r\n undefined. */\r\n ...(order !== undefined ? { order } : {}),\r\n });\r\n\r\n return null;\r\n}\r\n\r\nexport default FormikErrorFocus;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -29,14 +29,14 @@ export interface FormikFileCompanionFields {
|
|
|
29
29
|
}
|
|
30
30
|
export interface FormikFileProps extends Omit<DropzoneProps, "value" | "onAdd" | "onRemove" | "multiple" | "accept" | "maxSize" | "hint" | "disabled" | "label"> {
|
|
31
31
|
name: string;
|
|
32
|
-
label?: React.ReactNode;
|
|
33
|
-
hint?: React.ReactNode;
|
|
34
|
-
accept?: string;
|
|
35
|
-
maxSize?: number;
|
|
36
|
-
required?: boolean;
|
|
37
|
-
disabled?: boolean;
|
|
38
|
-
mode?: FormikFileMode;
|
|
39
|
-
companionFields?: FormikFileCompanionFields;
|
|
32
|
+
label?: React.ReactNode | undefined;
|
|
33
|
+
hint?: React.ReactNode | undefined;
|
|
34
|
+
accept?: string | undefined;
|
|
35
|
+
maxSize?: number | undefined;
|
|
36
|
+
required?: boolean | undefined;
|
|
37
|
+
disabled?: boolean | undefined;
|
|
38
|
+
mode?: FormikFileMode | undefined;
|
|
39
|
+
companionFields?: FormikFileCompanionFields | undefined;
|
|
40
40
|
}
|
|
41
41
|
declare const FormikFile: ({ name, label, hint, accept, maxSize, required, disabled, mode, companionFields, ...rest }: FormikFileProps) => React.JSX.Element;
|
|
42
42
|
export default FormikFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikFile.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikFile.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE1E,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,aAAa,EACb,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CACnG;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"FormikFile.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikFile.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,EAAgB,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAE1E,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE/C,MAAM,WAAW,yBAAyB;IACxC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eACf,SAAQ,IAAI,CACV,aAAa,EACb,OAAO,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM,GAAG,UAAU,GAAG,OAAO,CACnG;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,cAAc,GAAG,SAAS,CAAC;IAClC,eAAe,CAAC,EAAE,yBAAyB,GAAG,SAAS,CAAC;CACzD;AAkBD,QAAA,MAAM,UAAU,GAAI,4FAWjB,eAAe,sBA0EjB,CAAC;AAEF,eAAe,UAAU,CAAC"}
|
|
@@ -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;\r\n hint?: React.ReactNode;\r\n accept?: string;\r\n maxSize?: number;\r\n required?: boolean;\r\n disabled?: boolean;\r\n mode?: FormikFileMode;\r\n companionFields?: FormikFileCompanionFields;\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","_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":";;;;;;;AAqBA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAC,sBAAA,CAAAH,OAAA;AACA,IAAAI,SAAA,GAAAD,sBAAA,CAAAH,OAAA;AAA8C,IAAAK,WAAA,GAAAL,OAAA;AAAA,IAAAM,SAAA;AAxB9C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAnBA,SAAAH,uBAAAI,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAX,wBAAAQ,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAW,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAZ,MAAA,CAAAY,IAAA,CAAAF,MAAA,OAAAV,MAAA,CAAAa,qBAAA,QAAAC,OAAA,GAAAd,MAAA,CAAAa,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAhB,MAAA,CAAAE,wBAAA,CAAAQ,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAM,IAAA,CAAAC,KAAA,CAAAP,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAQ,cAAAC,MAAA,aAAAC,CAAA,MAAAA,CAAA,GAAAC,SAAA,CAAAC,MAAA,EAAAF,CAAA,UAAAG,MAAA,WAAAF,SAAA,CAAAD,CAAA,IAAAC,SAAA,CAAAD,CAAA,QAAAA,CAAA,OAAAb,OAAA,CAAAT,MAAA,CAAAyB,MAAA,OAAAC,OAAA,WAAAvB,GAAA,IAAAwB,eAAA,CAAAN,MAAA,EAAAlB,GAAA,EAAAsB,MAAA,CAAAtB,GAAA,SAAAH,MAAA,CAAA4B,yBAAA,GAAA5B,MAAA,CAAA6B,gBAAA,CAAAR,MAAA,EAAArB,MAAA,CAAA4B,yBAAA,CAAAH,MAAA,KAAAhB,OAAA,CAAAT,MAAA,CAAAyB,MAAA,GAAAC,OAAA,WAAAvB,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAoB,MAAA,EAAAlB,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAAuB,MAAA,EAAAtB,GAAA,iBAAAkB,MAAA;AAAA,SAAAM,gBAAAxC,GAAA,EAAAgB,GAAA,EAAA2B,KAAA,IAAA3B,GAAA,GAAA4B,cAAA,CAAA5B,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAA2B,KAAA,EAAAA,KAAA,EAAAb,UAAA,QAAAe,YAAA,QAAAC,QAAA,oBAAA9C,GAAA,CAAAgB,GAAA,IAAA2B,KAAA,WAAA3C,GAAA;AAAA,SAAA4C,eAAAG,GAAA,QAAA/B,GAAA,GAAAgC,YAAA,CAAAD,GAAA,oBAAAxC,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAAiC,MAAA,CAAAjC,GAAA;AAAA,SAAAgC,aAAAE,KAAA,EAAAC,IAAA,QAAA5C,OAAA,CAAA2C,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAAG,MAAA,CAAAC,WAAA,OAAAF,IAAA,KAAAG,SAAA,QAAAC,GAAA,GAAAJ,IAAA,CAAAjC,IAAA,CAAA+B,KAAA,EAAAC,IAAA,oBAAA5C,OAAA,CAAAiD,GAAA,uBAAAA,GAAA,YAAAC,SAAA,4DAAAN,IAAA,gBAAAF,MAAA,GAAAS,MAAA,EAAAR,KAAA;AAAA,SAAAS,mBAAAC,GAAA,WAAAC,kBAAA,CAAAD,GAAA,KAAAE,gBAAA,CAAAF,GAAA,KAAAG,2BAAA,CAAAH,GAAA,KAAAI,kBAAA;AAAA,SAAAA,mBAAA,cAAAP,SAAA;AAAA,SAAAK,iBAAAG,IAAA,eAAAZ,MAAA,oBAAAY,IAAA,CAAAZ,MAAA,CAAAa,QAAA,aAAAD,IAAA,+BAAAE,KAAA,CAAAC,IAAA,CAAAH,IAAA;AAAA,SAAAJ,mBAAAD,GAAA,QAAAO,KAAA,CAAAE,OAAA,CAAAT,GAAA,UAAAU,iBAAA,CAAAV,GAAA;AAAA,SAAAW,eAAAX,GAAA,EAAAzB,CAAA,WAAAqC,eAAA,CAAAZ,GAAA,KAAAa,qBAAA,CAAAb,GAAA,EAAAzB,CAAA,KAAA4B,2BAAA,CAAAH,GAAA,EAAAzB,CAAA,KAAAuC,gBAAA;AAAA,SAAAA,iBAAA,cAAAjB,SAAA;AAAA,SAAAM,4BAAAY,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAL,iBAAA,CAAAK,CAAA,EAAAC,MAAA,OAAAC,CAAA,GAAAhE,MAAA,CAAAI,SAAA,CAAA6D,QAAA,CAAA3D,IAAA,CAAAwD,CAAA,EAAAI,KAAA,aAAAF,CAAA,iBAAAF,CAAA,CAAAK,WAAA,EAAAH,CAAA,GAAAF,CAAA,CAAAK,WAAA,CAAAC,IAAA,MAAAJ,CAAA,cAAAA,CAAA,mBAAAV,KAAA,CAAAC,IAAA,CAAAO,CAAA,OAAAE,CAAA,+DAAAK,IAAA,CAAAL,CAAA,UAAAP,iBAAA,CAAAK,CAAA,EAAAC,MAAA;AAAA,SAAAN,kBAAAV,GAAA,EAAAuB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAvB,GAAA,CAAAvB,MAAA,EAAA8C,GAAA,GAAAvB,GAAA,CAAAvB,MAAA,WAAAF,CAAA,MAAAiD,IAAA,OAAAjB,KAAA,CAAAgB,GAAA,GAAAhD,CAAA,GAAAgD,GAAA,EAAAhD,CAAA,MAAAiD,IAAA,CAAAjD,CAAA,IAAAyB,GAAA,CAAAzB,CAAA,YAAAiD,IAAA;AAAA,SAAAX,sBAAAb,GAAA,EAAAzB,CAAA,QAAAkD,EAAA,WAAAzB,GAAA,gCAAAP,MAAA,IAAAO,GAAA,CAAAP,MAAA,CAAAa,QAAA,KAAAN,GAAA,4BAAAyB,EAAA,QAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,IAAA,OAAAC,EAAA,OAAAC,EAAA,iBAAAJ,EAAA,IAAAH,EAAA,GAAAA,EAAA,CAAAlE,IAAA,CAAAyC,GAAA,GAAAiC,IAAA,QAAA1D,CAAA,QAAAtB,MAAA,CAAAwE,EAAA,MAAAA,EAAA,UAAAM,EAAA,uBAAAA,EAAA,IAAAL,EAAA,GAAAE,EAAA,CAAArE,IAAA,CAAAkE,EAAA,GAAAS,IAAA,MAAAJ,IAAA,CAAA3D,IAAA,CAAAuD,EAAA,CAAA3C,KAAA,GAAA+C,IAAA,CAAArD,MAAA,KAAAF,CAAA,GAAAwD,EAAA,sBAAAI,GAAA,IAAAH,EAAA,OAAAL,EAAA,GAAAQ,GAAA,yBAAAJ,EAAA,YAAAN,EAAA,eAAAI,EAAA,GAAAJ,EAAA,cAAAxE,MAAA,CAAA4E,EAAA,MAAAA,EAAA,2BAAAG,EAAA,QAAAL,EAAA,aAAAG,IAAA;AAAA,SAAAlB,gBAAAZ,GAAA,QAAAO,KAAA,CAAAE,OAAA,CAAAT,GAAA,UAAAA,GAAA;AAAA,SAAAoC,yBAAA1D,MAAA,EAAA2D,QAAA,QAAA3D,MAAA,yBAAAJ,MAAA,GAAAgE,6BAAA,CAAA5D,MAAA,EAAA2D,QAAA,OAAAjF,GAAA,EAAAmB,CAAA,MAAAtB,MAAA,CAAAa,qBAAA,QAAAyE,gBAAA,GAAAtF,MAAA,CAAAa,qBAAA,CAAAY,MAAA,QAAAH,CAAA,MAAAA,CAAA,GAAAgE,gBAAA,CAAA9D,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAAmF,gBAAA,CAAAhE,CAAA,OAAA8D,QAAA,CAAAG,OAAA,CAAApF,GAAA,uBAAAH,MAAA,CAAAI,SAAA,CAAAoF,oBAAA,CAAAlF,IAAA,CAAAmB,MAAA,EAAAtB,GAAA,aAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,cAAAkB,MAAA;AAAA,SAAAgE,8BAAA5D,MAAA,EAAA2D,QAAA,QAAA3D,MAAA,yBAAAJ,MAAA,WAAAoE,UAAA,GAAAzF,MAAA,CAAAY,IAAA,CAAAa,MAAA,OAAAtB,GAAA,EAAAmB,CAAA,OAAAA,CAAA,MAAAA,CAAA,GAAAmE,UAAA,CAAAjE,MAAA,EAAAF,CAAA,MAAAnB,GAAA,GAAAsF,UAAA,CAAAnE,CAAA,OAAA8D,QAAA,CAAAG,OAAA,CAAApF,GAAA,kBAAAkB,MAAA,CAAAlB,GAAA,IAAAsB,MAAA,CAAAtB,GAAA,YAAAkB,MAAA;AAoDA,IAAMqE,wBAAmD,GAAG1F,MAAM,CAAC2F,MAAM,CAAC;EACxEC,GAAG,EAAG,eAAe;EACrBC,IAAI,EAAE,UAAU;EAChBC,IAAI,EAAE,UAAU;EAChB1B,IAAI,EAAE;AACR,CAAC,CAAC;;AAEF;AACA;AACA;AACA;AACA,IAAM2B,eAAe,GAAG,SAAlBA,eAAeA,CAAIC,IAAa,EAA0B;EAC9D,IAAIA,IAAI,IAAI,IAAI,IAAI,EAAEA,IAAI,YAAYC,IAAI,CAAC,EAAE,OAAO,IAAI;EACxD,OAAO;IAAEC,EAAE,EAAEF,IAAI,CAAC5B,IAAI;IAAEA,IAAI,EAAE4B,IAAI,CAAC5B,IAAI;IAAEyB,IAAI,EAAEG,IAAI,CAACH;EAAK,CAAC;AAC5D,CAAC;AAED,IAAMM,UAAU,GAAG,SAAbA,UAAUA,CAAAC,IAAA,EAWO;EAAA,IAVrBhC,IAAI,GAAAgC,IAAA,CAAJhC,IAAI;IACJiC,KAAK,GAAAD,IAAA,CAALC,KAAK;IACL/D,IAAI,GAAA8D,IAAA,CAAJ9D,IAAI;IACJgE,MAAM,GAAAF,IAAA,CAANE,MAAM;IACNC,OAAO,GAAAH,IAAA,CAAPG,OAAO;IACPC,QAAQ,GAAAJ,IAAA,CAARI,QAAQ;IACRC,QAAQ,GAAAL,IAAA,CAARK,QAAQ;IAAAC,SAAA,GAAAN,IAAA,CACRO,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,QAAQ,GAAAA,SAAA;IAAAE,oBAAA,GAAAR,IAAA,CACfS,eAAe;IAAfA,eAAe,GAAAD,oBAAA,cAAGlB,wBAAwB,GAAAkB,oBAAA;IACvCE,IAAI,GAAA3B,wBAAA,CAAAiB,IAAA,EAAAlH,SAAA;EAEP,IAAA6H,SAAA,GAAsB,IAAAC,gBAAQ,EAAC5C,IAAI,CAAC;IAAA6C,UAAA,GAAAvD,cAAA,CAAAqD,SAAA;IAA7BG,KAAK,GAAAD,UAAA;IAAEE,IAAI,GAAAF,UAAA;EAClB,IAAAG,iBAAA,GAA2C,IAAAC,wBAAgB,EAAC,CAAC;IAArDC,aAAa,GAAAF,iBAAA,CAAbE,aAAa;IAAEC,eAAe,GAAAH,iBAAA,CAAfG,eAAe;EACtC,IAAMC,QAAQ,GAAGC,OAAO,CAACN,IAAI,CAACO,OAAO,IAAIP,IAAI,CAACQ,KAAK,CAAC;EAEpD,IAAMC,MAAM,GAAGjB,IAAI,KAAK,MAAM;EAE9B,IAAM7E,KAAqB,GAAG,CAC5B8F,MAAM,GACF,CAACtE,KAAK,CAACE,OAAO,CAAC0D,KAAK,CAACpF,KAAK,CAAC,GAAGoF,KAAK,CAACpF,KAAK,GAAG,EAAE,EAAE+F,GAAG,CAAC9B,eAAe,CAAC,GACpEmB,KAAK,CAACpF,KAAK,YAAYmE,IAAI,GAC3B,CAACF,eAAe,CAACmB,KAAK,CAACpF,KAAK,CAAC,CAAC,GAC9B,EAAE,EACNf,MAAM,CAAC,UAAC+G,CAAC;IAAA,OAAwBA,CAAC,IAAI,IAAI;EAAA,EAAC;EAE7C,IAAMC,eAAe,GAAG,SAAlBA,eAAeA,CAAI/B,IAAiB,EAAK;IAC7C,IAAI4B,MAAM,EAAE;IACZN,aAAa,CAACT,eAAe,CAACjB,GAAG,EAAGI,IAAI,GAAGA,IAAI,CAAC5B,IAAI,CAAC4D,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;IAC3EX,aAAa,CAACT,eAAe,CAAChB,IAAI,EAAEG,IAAI,GAAGA,IAAI,CAACH,IAAI,GAAmB,IAAI,CAAC;IAC5EyB,aAAa,CAACT,eAAe,CAACf,IAAI,EAAEE,IAAI,GAAGA,IAAI,CAACF,IAAI,GAAmB,EAAE,CAAC;IAC1EwB,aAAa,CAACT,eAAe,CAACzC,IAAI,EAAE4B,IAAI,GAAGA,IAAI,CAAC5B,IAAI,GAAmB,EAAE,CAAC;EAC5E,CAAC;EAED,IAAM8D,SAAS,GAAG,SAAZA,SAASA,CAAIC,KAAa,EAAK;IACnC,IAAI,CAACA,KAAK,IAAIA,KAAK,CAAC3G,MAAM,KAAK,CAAC,EAAE;IAClC,IAAIoG,MAAM,EAAE;MACV,IAAMQ,MAAM,MAAAC,MAAA,CAAAvF,kBAAA,CACNQ,KAAK,CAACE,OAAO,CAAC0D,KAAK,CAACpF,KAAK,CAAC,GAAGoF,KAAK,CAACpF,KAAK,GAAG,EAAE,GAAAgB,kBAAA,CAC9CqF,KAAK,EACT;MACDb,aAAa,CAAClD,IAAI,EAAEgE,MAAM,CAAC;MAC3Bb,eAAe,CAACnD,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;IACpC,CAAC,MAAM;MACL,IAAM4B,IAAI,GAAGmC,KAAK,CAAC,CAAC,CAAC;MACrBb,aAAa,CAAClD,IAAI,EAAE4B,IAAI,CAAC;MACzB+B,eAAe,CAAC/B,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,IAAI,CAAC;MAC7BuB,eAAe,CAACnD,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC;IACpC;EACF,CAAC;;EAED;AACF;EACE,IAAMkE,YAAY,GAAG,SAAfA,YAAYA,CAAIpC,EAAmB,EAAK;IAC5C,IAAI0B,MAAM,EAAE;MACV,IAAMW,SAAS,GAAG,CAACjF,KAAK,CAACE,OAAO,CAAC0D,KAAK,CAACpF,KAAK,CAAC,GAAGoF,KAAK,CAACpF,KAAK,GAAG,EAAE,EAAEf,MAAM,CACtE,UAACyH,CAAC;QAAA,OAAKA,CAAC,CAACpE,IAAI,KAAK8B,EAAE;MAAA,CACtB,CAAC;MACDoB,aAAa,CAAClD,IAAI,EAAEmE,SAAS,CAAC;IAChC,CAAC,MAAM;MACLjB,aAAa,CAAClD,IAAI,EAAE,IAAI,CAAC;MACzB2D,eAAe,CAAC,IAAI,CAAC;IACvB;EACF,CAAC;EAED,oBACE,IAAA9I,WAAA,CAAAwJ,GAAA,EAAC3J,MAAA,WAAK,EAAAsC,aAAA,CAAAA,aAAA,CAAAA,aAAA;IACJiF,KAAK,EAAEA,KAAM;IACbsB,KAAK,EAAEH,QAAQ,GAAGL,IAAI,CAACQ,KAAK,GAAG;EAAK,GAC/BnB,QAAQ,KAAK9D,SAAS,GAAG;IAAE8D,QAAQ,EAARA;EAAS,CAAC,GAAG,CAAC,CAAC,GAC1CC,QAAQ,KAAK/D,SAAS,GAAG;IAAE+D,QAAQ,EAARA;EAAS,CAAC,GAAG,CAAC,CAAC;IAAAiC,QAAA,eAE/C,IAAAzJ,WAAA,CAAAwJ,GAAA,EAACzJ,SAAA,WAAQ,EAAAoC,aAAA,CAAAA,aAAA,CAAAA,aAAA,CAAAA,aAAA;MACPuH,QAAQ,EAAEf,MAAO;MACjB9F,KAAK,EAAEA,KAAM;MACbQ,IAAI,EAAEA,IAAK;MACXsG,KAAK,EAAEV,SAAU;MACjBW,QAAQ,EAAEP;IAAa,GACnBxB,IAAI,GACHR,MAAM,KAAK5D,SAAS,GAAG;MAAE4D,MAAM,EAANA;IAAO,CAAC,GAAG,CAAC,CAAC,GACtCG,QAAQ,KAAK/D,SAAS,GAAG;MAAE+D,QAAQ,EAARA;IAAS,CAAC,GAAG,CAAC,CAAC,GAC1CF,OAAO,KAAK7D,SAAS,GAAG;MAAE6D,OAAO,EAAPA;IAAQ,CAAC,GAAG,CAAC,CAAC,CAC9C;EAAC,EACG,CAAC;AAEZ,CAAC;AAAC,IAAAuC,QAAA,GAAAC,OAAA,cAEa5C,UAAU","ignoreList":[]}
|
|
@@ -21,17 +21,52 @@
|
|
|
21
21
|
* Error semantics: errors surface only after the field is
|
|
22
22
|
* touched (first blur). This matches Charter R-I.4 — do not
|
|
23
23
|
* shout at the user on every keystroke.
|
|
24
|
+
*
|
|
25
|
+
* ── `readOnly` vs `disabled` ─────────────────────────────────────────
|
|
26
|
+
*
|
|
27
|
+
* <FormikInput name="raison" label="Raison sociale" readOnly={isDetail} />
|
|
28
|
+
*
|
|
29
|
+
* `readOnly` renders the value through `FormikDisplay` — grey panel, no input
|
|
30
|
+
* chrome, selectable text. `disabled` keeps an input and greys it out.
|
|
31
|
+
*
|
|
32
|
+
* THE TWO ARE NOT INTERCHANGEABLE, and modules had only `disabled`. Consumers
|
|
33
|
+
* that reuse ONE form for create, edit AND consultation were therefore passing
|
|
34
|
+
* `disabled={readOnly}` on every field, so a detail page rendered ~100 greyed
|
|
35
|
+
* INPUTS. That is the wrong affordance: a disabled control means "temporarily
|
|
36
|
+
* unavailable, may become editable", not "this is information". Reported from
|
|
37
|
+
* amssnur-ui testing across its whole demande form.
|
|
38
|
+
*
|
|
39
|
+
* Note WCAG does NOT forbid the old behaviour — SC 1.4.3 exempts "text that is
|
|
40
|
+
* part of an inactive user interface component" from contrast requirements. So
|
|
41
|
+
* this is a Charter and affordance defect, not an accessibility violation. But
|
|
42
|
+
* `FormikDisplay` is measurably better anyway: its own audit records 7.52:1
|
|
43
|
+
* (AAA) for `--fg-muted` on `--bg-subtle`, against roughly 2.9:1 for MUI's
|
|
44
|
+
* disabled text.
|
|
45
|
+
*
|
|
46
|
+
* Why here and not in each module: `FormikDisplay` already existed and was
|
|
47
|
+
* already correct — nothing routed to it automatically, so every module had to
|
|
48
|
+
* branch by hand per field, and none did. The certified reference (`ms-ti-fe`)
|
|
49
|
+
* sidesteps the problem by building SEPARATE read-only components for its
|
|
50
|
+
* detail pages, which is a valid architecture but not one a module reusing a
|
|
51
|
+
* single form can adopt without a rewrite.
|
|
52
|
+
*
|
|
53
|
+
* `disabled` wins when both are passed: a field that is genuinely unavailable
|
|
54
|
+
* (dependency not yet chosen) must not be presented as settled information.
|
|
24
55
|
*/
|
|
25
56
|
import * as React from "react";
|
|
26
57
|
import type { InputProps } from "../components/Input";
|
|
27
58
|
export interface FormikInputProps extends Omit<InputProps, "name" | "value" | "onChange" | "onBlur" | "label" | "required" | "disabled" | "error"> {
|
|
28
59
|
name: string;
|
|
29
|
-
label?: React.ReactNode;
|
|
30
|
-
required?: boolean;
|
|
31
|
-
disabled?: boolean;
|
|
32
|
-
|
|
33
|
-
|
|
60
|
+
label?: React.ReactNode | undefined;
|
|
61
|
+
required?: boolean | undefined;
|
|
62
|
+
disabled?: boolean | undefined;
|
|
63
|
+
/** Render as read-only text via FormikDisplay instead of an input. */
|
|
64
|
+
readOnly?: boolean | undefined;
|
|
65
|
+
/** Tabular-nums monospace in read-only mode — IDs, amounts, codes. */
|
|
66
|
+
mono?: boolean | undefined;
|
|
67
|
+
htmlFor?: string | undefined;
|
|
68
|
+
hint?: React.ReactNode | undefined;
|
|
34
69
|
}
|
|
35
|
-
declare const FormikInput: ({ name, label, required, disabled, htmlFor, hint, ...rest }: FormikInputProps) => React.JSX.Element;
|
|
70
|
+
declare const FormikInput: ({ name, label, required, disabled, readOnly, mono, htmlFor, hint, ...rest }: FormikInputProps) => React.JSX.Element;
|
|
36
71
|
export default FormikInput;
|
|
37
72
|
//# sourceMappingURL=FormikInput.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikInput.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikInput.tsx"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"FormikInput.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikInput.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsDG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEtD,MAAM,WAAW,gBACf,SAAQ,IAAI,CACV,UAAU,EACV,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,GAAG,OAAO,CACvF;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,sEAAsE;IACtE,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,sEAAsE;IACtE,IAAI,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;CACpC;AAED,QAAA,MAAM,WAAW,GAAI,6EAUlB,gBAAgB,sBAoClB,CAAC;AAEF,eAAe,WAAW,CAAC"}
|
|
@@ -9,8 +9,9 @@ var React = _interopRequireWildcard(require("react"));
|
|
|
9
9
|
var _formik = require("formik");
|
|
10
10
|
var _Field = _interopRequireDefault(require("../components/Field"));
|
|
11
11
|
var _Input = _interopRequireDefault(require("../components/Input"));
|
|
12
|
+
var _FormikDisplay = _interopRequireDefault(require("../components/FormikDisplay"));
|
|
12
13
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
13
|
-
var _excluded = ["name", "label", "required", "disabled", "htmlFor", "hint"];
|
|
14
|
+
var _excluded = ["name", "label", "required", "disabled", "readOnly", "mono", "htmlFor", "hint"];
|
|
14
15
|
/**
|
|
15
16
|
* FormikInput — bridge between Formik state and v2.Field + v2.Input.
|
|
16
17
|
*
|
|
@@ -34,6 +35,37 @@ var _excluded = ["name", "label", "required", "disabled", "htmlFor", "hint"];
|
|
|
34
35
|
* Error semantics: errors surface only after the field is
|
|
35
36
|
* touched (first blur). This matches Charter R-I.4 — do not
|
|
36
37
|
* shout at the user on every keystroke.
|
|
38
|
+
*
|
|
39
|
+
* ── `readOnly` vs `disabled` ─────────────────────────────────────────
|
|
40
|
+
*
|
|
41
|
+
* <FormikInput name="raison" label="Raison sociale" readOnly={isDetail} />
|
|
42
|
+
*
|
|
43
|
+
* `readOnly` renders the value through `FormikDisplay` — grey panel, no input
|
|
44
|
+
* chrome, selectable text. `disabled` keeps an input and greys it out.
|
|
45
|
+
*
|
|
46
|
+
* THE TWO ARE NOT INTERCHANGEABLE, and modules had only `disabled`. Consumers
|
|
47
|
+
* that reuse ONE form for create, edit AND consultation were therefore passing
|
|
48
|
+
* `disabled={readOnly}` on every field, so a detail page rendered ~100 greyed
|
|
49
|
+
* INPUTS. That is the wrong affordance: a disabled control means "temporarily
|
|
50
|
+
* unavailable, may become editable", not "this is information". Reported from
|
|
51
|
+
* amssnur-ui testing across its whole demande form.
|
|
52
|
+
*
|
|
53
|
+
* Note WCAG does NOT forbid the old behaviour — SC 1.4.3 exempts "text that is
|
|
54
|
+
* part of an inactive user interface component" from contrast requirements. So
|
|
55
|
+
* this is a Charter and affordance defect, not an accessibility violation. But
|
|
56
|
+
* `FormikDisplay` is measurably better anyway: its own audit records 7.52:1
|
|
57
|
+
* (AAA) for `--fg-muted` on `--bg-subtle`, against roughly 2.9:1 for MUI's
|
|
58
|
+
* disabled text.
|
|
59
|
+
*
|
|
60
|
+
* Why here and not in each module: `FormikDisplay` already existed and was
|
|
61
|
+
* already correct — nothing routed to it automatically, so every module had to
|
|
62
|
+
* branch by hand per field, and none did. The certified reference (`ms-ti-fe`)
|
|
63
|
+
* sidesteps the problem by building SEPARATE read-only components for its
|
|
64
|
+
* detail pages, which is a valid architecture but not one a module reusing a
|
|
65
|
+
* single form can adopt without a rewrite.
|
|
66
|
+
*
|
|
67
|
+
* `disabled` wins when both are passed: a field that is genuinely unavailable
|
|
68
|
+
* (dependency not yet chosen) must not be presented as settled information.
|
|
37
69
|
*/
|
|
38
70
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
39
71
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
@@ -57,6 +89,8 @@ var FormikInput = function FormikInput(_ref) {
|
|
|
57
89
|
label = _ref.label,
|
|
58
90
|
required = _ref.required,
|
|
59
91
|
disabled = _ref.disabled,
|
|
92
|
+
readOnly = _ref.readOnly,
|
|
93
|
+
mono = _ref.mono,
|
|
60
94
|
htmlFor = _ref.htmlFor,
|
|
61
95
|
hint = _ref.hint,
|
|
62
96
|
rest = _objectWithoutProperties(_ref, _excluded);
|
|
@@ -65,6 +99,20 @@ var FormikInput = function FormikInput(_ref) {
|
|
|
65
99
|
field = _useField2[0],
|
|
66
100
|
meta = _useField2[1];
|
|
67
101
|
var hasError = Boolean(meta.touched && meta.error);
|
|
102
|
+
|
|
103
|
+
/* Read-only display. `disabled` takes precedence deliberately — see header.
|
|
104
|
+
* `required` is dropped: an asterisk on information the user cannot supply is
|
|
105
|
+
* noise, and validation cannot fire on a field with no input. */
|
|
106
|
+
if (readOnly && !disabled) {
|
|
107
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_FormikDisplay["default"], _objectSpread(_objectSpread({
|
|
108
|
+
name: name,
|
|
109
|
+
label: label
|
|
110
|
+
}, hint !== undefined ? {
|
|
111
|
+
hint: hint
|
|
112
|
+
} : {}), mono !== undefined ? {
|
|
113
|
+
mono: mono
|
|
114
|
+
} : {}));
|
|
115
|
+
}
|
|
68
116
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Field["default"], _objectSpread(_objectSpread(_objectSpread({
|
|
69
117
|
label: label,
|
|
70
118
|
error: hasError ? meta.error : null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikInput.js","names":["React","_interopRequireWildcard","require","_formik","_Field","_interopRequireDefault","_Input","_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","htmlFor","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\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 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;\r\n required?: boolean;\r\n disabled?: boolean;\r\n htmlFor?: string;\r\n hint?: React.ReactNode;\r\n}\r\n\r\nconst FormikInput = ({\r\n name,\r\n label,\r\n required,\r\n disabled,\r\n htmlFor,\r\n hint,\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 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 >\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","_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","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 { 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\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 ...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 >\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":[]}
|
|
@@ -15,18 +15,18 @@ import * as React from "react";
|
|
|
15
15
|
import { type ReferentielFieldProps } from "./ReferentielField";
|
|
16
16
|
export interface FormikReferentielFieldProps<T> extends Omit<ReferentielFieldProps<T>, "value" | "onChange" | "getDisplayValue" | "name"> {
|
|
17
17
|
name: string;
|
|
18
|
-
label?: React.ReactNode;
|
|
19
|
-
required?: boolean;
|
|
20
|
-
hint?: React.ReactNode;
|
|
21
|
-
htmlFor?: string;
|
|
18
|
+
label?: React.ReactNode | undefined;
|
|
19
|
+
required?: boolean | undefined;
|
|
20
|
+
hint?: React.ReactNode | undefined;
|
|
21
|
+
htmlFor?: string | undefined;
|
|
22
22
|
/** Resolve the primitive stored in Formik state from a picked row. */
|
|
23
|
-
getOptionValue?: (row: T) => unknown;
|
|
23
|
+
getOptionValue?: ((row: T) => unknown) | undefined;
|
|
24
24
|
/** Resolve the trigger display string from a row. */
|
|
25
|
-
getDescription?: (row: T) => string;
|
|
25
|
+
getDescription?: ((row: T) => string) | undefined;
|
|
26
26
|
/** Called after a successful pick so the host can mirror siblings. */
|
|
27
|
-
onPick?: (row: T) => void;
|
|
27
|
+
onPick?: ((row: T) => void) | undefined;
|
|
28
28
|
/** Rows to seed the label cache with (e.g. an edit form's initial value). */
|
|
29
|
-
seenRows?: T[];
|
|
29
|
+
seenRows?: T[] | undefined;
|
|
30
30
|
}
|
|
31
31
|
declare function FormikReferentielField<T>({ name, label, required, disabled, hint, htmlFor, getOptionValue, getDescription, onPick, seenRows, ...refProps }: FormikReferentielFieldProps<T>): React.JSX.Element;
|
|
32
32
|
export default FormikReferentielField;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FormikReferentielField.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikReferentielField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAyB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElF,MAAM,WAAW,2BAA2B,CAAC,CAAC,CAC5C,SAAQ,IAAI,CACV,qBAAqB,CAAC,CAAC,CAAC,EACxB,OAAO,GAAG,UAAU,GAAG,iBAAiB,GAAG,MAAM,CAClD;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"FormikReferentielField.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/FormikReferentielField.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAyB,EAAE,KAAK,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAElF,MAAM,WAAW,2BAA2B,CAAC,CAAC,CAC5C,SAAQ,IAAI,CACV,qBAAqB,CAAC,CAAC,CAAC,EACxB,OAAO,GAAG,UAAU,GAAG,iBAAiB,GAAG,MAAM,CAClD;IACD,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;IACnC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,sEAAsE;IACtE,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,GAAG,SAAS,CAAC;IACnD,qDAAqD;IACrD,cAAc,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;IAClD,sEAAsE;IACtE,MAAM,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,KAAK,IAAI,CAAC,GAAG,SAAS,CAAC;IACxC,6EAA6E;IAC7E,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,SAAS,CAAC;CAC5B;AAED,iBAAS,sBAAsB,CAAC,CAAC,EAAE,EACjC,IAAI,EACJ,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,IAAI,EACJ,OAAO,EACP,cAAc,EACd,cAAc,EACd,MAAM,EACN,QAAQ,EACR,GAAG,QAAQ,EACZ,EAAE,2BAA2B,CAAC,CAAC,CAAC,qBAsEhC;AAED,eAAe,sBAAsB,CAAC"}
|