@portnet/ui 5.0.32 → 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/CHANGELOG.md +524 -0
- package/README.md +101 -38
- 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 +60 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +183 -191
- package/dist/index.js.map +1 -0
- 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__/MobileRowCard.test.js +337 -0
- package/dist/v2/__tests__/MobileRowCard.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/__tests__/apiError.test.js +182 -0
- package/dist/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/v2/__tests__/banned-patterns.test.js +272 -0
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +225 -0
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/v2/__tests__/cssVariables.test.js +158 -0
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +153 -0
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/v2/__tests__/locale-fallback.test.js +111 -0
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +517 -0
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/v2/components/Accordion.d.ts +56 -0
- package/dist/v2/components/Accordion.d.ts.map +1 -0
- package/dist/v2/components/Accordion.js +238 -0
- package/dist/v2/components/Accordion.js.map +1 -0
- package/dist/v2/components/ActionStrip.d.ts +67 -0
- package/dist/v2/components/ActionStrip.d.ts.map +1 -0
- package/dist/v2/components/ActionStrip.js +154 -0
- package/dist/v2/components/ActionStrip.js.map +1 -0
- package/dist/v2/components/Banner.d.ts +88 -0
- package/dist/v2/components/Banner.d.ts.map +1 -0
- package/dist/v2/components/Banner.js +264 -0
- package/dist/v2/components/Banner.js.map +1 -0
- package/dist/v2/components/Busy.d.ts +18 -0
- package/dist/v2/components/Busy.d.ts.map +1 -0
- package/dist/v2/components/Busy.js +104 -0
- package/dist/v2/components/Busy.js.map +1 -0
- package/dist/v2/components/Button.d.ts +36 -0
- package/dist/v2/components/Button.d.ts.map +1 -0
- package/dist/v2/components/Button.js +122 -0
- package/dist/v2/components/Button.js.map +1 -0
- package/dist/v2/components/CategoryTag.d.ts +45 -0
- package/dist/v2/components/CategoryTag.d.ts.map +1 -0
- package/dist/v2/components/CategoryTag.js +89 -0
- package/dist/v2/components/CategoryTag.js.map +1 -0
- package/dist/v2/components/Checkbox.d.ts +59 -0
- package/dist/v2/components/Checkbox.d.ts.map +1 -0
- package/dist/v2/components/Checkbox.js +134 -0
- package/dist/v2/components/Checkbox.js.map +1 -0
- package/dist/v2/components/Chip.d.ts +48 -0
- package/dist/v2/components/Chip.d.ts.map +1 -0
- package/dist/v2/components/Chip.js +132 -0
- package/dist/v2/components/Chip.js.map +1 -0
- package/dist/v2/components/Combobox.d.ts +134 -0
- package/dist/v2/components/Combobox.d.ts.map +1 -0
- package/dist/v2/components/Combobox.js +400 -0
- package/dist/v2/components/Combobox.js.map +1 -0
- package/dist/v2/components/CommandPalette.d.ts +36 -0
- package/dist/v2/components/CommandPalette.d.ts.map +1 -0
- package/dist/v2/components/CommandPalette.js +668 -0
- package/dist/v2/components/CommandPalette.js.map +1 -0
- package/dist/v2/components/ConfirmDialog.d.ts +23 -0
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -0
- package/dist/v2/components/ConfirmDialog.js +151 -0
- package/dist/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/v2/components/DatePicker.d.ts +21 -0
- package/dist/v2/components/DatePicker.d.ts.map +1 -0
- package/dist/v2/components/DatePicker.js +207 -0
- package/dist/v2/components/DatePicker.js.map +1 -0
- package/dist/v2/components/DateRangePicker.d.ts +81 -0
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -0
- package/dist/v2/components/DateRangePicker.js +296 -0
- package/dist/v2/components/DateRangePicker.js.map +1 -0
- package/dist/v2/components/DateTimePicker.d.ts +21 -0
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -0
- package/dist/v2/components/DateTimePicker.js +189 -0
- package/dist/v2/components/DateTimePicker.js.map +1 -0
- package/dist/v2/components/Drawer.d.ts +34 -0
- package/dist/v2/components/Drawer.d.ts.map +1 -0
- package/dist/v2/components/Drawer.js +340 -0
- package/dist/v2/components/Drawer.js.map +1 -0
- package/dist/v2/components/Dropzone.d.ts +150 -0
- package/dist/v2/components/Dropzone.d.ts.map +1 -0
- package/dist/v2/components/Dropzone.js +547 -0
- package/dist/v2/components/Dropzone.js.map +1 -0
- package/dist/v2/components/EmptyState.d.ts +36 -0
- package/dist/v2/components/EmptyState.d.ts.map +1 -0
- package/dist/v2/components/EmptyState.js +112 -0
- package/dist/v2/components/EmptyState.js.map +1 -0
- package/dist/v2/components/FavoriteToggle.d.ts +22 -0
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -0
- package/dist/v2/components/FavoriteToggle.js +135 -0
- package/dist/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/v2/components/Field.d.ts +63 -0
- package/dist/v2/components/Field.d.ts.map +1 -0
- package/dist/v2/components/Field.js +204 -0
- package/dist/v2/components/Field.js.map +1 -0
- 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 +54 -0
- package/dist/v2/components/FieldHelp.d.ts.map +1 -0
- package/dist/v2/components/FieldHelp.js +209 -0
- package/dist/v2/components/FieldHelp.js.map +1 -0
- 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 +35 -0
- package/dist/v2/components/FilterTab.d.ts.map +1 -0
- package/dist/v2/components/FilterTab.js +145 -0
- package/dist/v2/components/FilterTab.js.map +1 -0
- package/dist/v2/components/ForbiddenPage.d.ts +40 -0
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -0
- package/dist/v2/components/ForbiddenPage.js +81 -0
- package/dist/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/v2/components/FormGrid.d.ts +81 -0
- package/dist/v2/components/FormGrid.d.ts.map +1 -0
- package/dist/v2/components/FormGrid.js +187 -0
- package/dist/v2/components/FormGrid.js.map +1 -0
- package/dist/v2/components/FormikDisplay.d.ts +38 -0
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -0
- package/dist/v2/components/FormikDisplay.js +125 -0
- package/dist/v2/components/FormikDisplay.js.map +1 -0
- package/dist/v2/components/Input.d.ts +62 -0
- package/dist/v2/components/Input.d.ts.map +1 -0
- package/dist/v2/components/Input.js +115 -0
- package/dist/v2/components/Input.js.map +1 -0
- package/dist/v2/components/KPICard.d.ts +52 -0
- package/dist/v2/components/KPICard.d.ts.map +1 -0
- package/dist/v2/components/KPICard.js +244 -0
- package/dist/v2/components/KPICard.js.map +1 -0
- 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 +25 -0
- package/dist/v2/components/KV.d.ts.map +1 -0
- package/dist/v2/components/KV.js +82 -0
- package/dist/v2/components/KV.js.map +1 -0
- package/dist/v2/components/KVGrid.d.ts +44 -0
- package/dist/v2/components/KVGrid.d.ts.map +1 -0
- package/dist/v2/components/KVGrid.js +80 -0
- package/dist/v2/components/KVGrid.js.map +1 -0
- package/dist/v2/components/Layout.d.ts +78 -0
- package/dist/v2/components/Layout.d.ts.map +1 -0
- package/dist/v2/components/Layout.js +284 -0
- package/dist/v2/components/Layout.js.map +1 -0
- package/dist/v2/components/MobileRowCard.d.ts +63 -0
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -0
- package/dist/v2/components/MobileRowCard.js +321 -0
- package/dist/v2/components/MobileRowCard.js.map +1 -0
- package/dist/v2/components/Modal.d.ts +21 -0
- package/dist/v2/components/Modal.d.ts.map +1 -0
- package/dist/v2/components/Modal.js +281 -0
- package/dist/v2/components/Modal.js.map +1 -0
- package/dist/v2/components/NetworkErrorPage.d.ts +11 -0
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -0
- package/dist/v2/components/NetworkErrorPage.js +86 -0
- package/dist/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/v2/components/NotFoundPage.d.ts +9 -0
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -0
- package/dist/v2/components/NotFoundPage.js +66 -0
- package/dist/v2/components/NotFoundPage.js.map +1 -0
- package/dist/v2/components/NumberInput.d.ts +83 -0
- package/dist/v2/components/NumberInput.d.ts.map +1 -0
- package/dist/v2/components/NumberInput.js +317 -0
- package/dist/v2/components/NumberInput.js.map +1 -0
- package/dist/v2/components/OverflowMenu.d.ts +55 -0
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -0
- package/dist/v2/components/OverflowMenu.js +192 -0
- package/dist/v2/components/OverflowMenu.js.map +1 -0
- package/dist/v2/components/PdfViewer.d.ts +56 -0
- package/dist/v2/components/PdfViewer.d.ts.map +1 -0
- package/dist/v2/components/PdfViewer.js +132 -0
- package/dist/v2/components/PdfViewer.js.map +1 -0
- package/dist/v2/components/ProgressBar.d.ts +53 -0
- package/dist/v2/components/ProgressBar.d.ts.map +1 -0
- package/dist/v2/components/ProgressBar.js +209 -0
- package/dist/v2/components/ProgressBar.js.map +1 -0
- package/dist/v2/components/Radio.d.ts +78 -0
- package/dist/v2/components/Radio.d.ts.map +1 -0
- package/dist/v2/components/Radio.js +238 -0
- package/dist/v2/components/Radio.js.map +1 -0
- 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 +53 -0
- package/dist/v2/components/SectionHeader.d.ts.map +1 -0
- package/dist/v2/components/SectionHeader.js +140 -0
- package/dist/v2/components/SectionHeader.js.map +1 -0
- package/dist/v2/components/Segmented.d.ts +61 -0
- package/dist/v2/components/Segmented.d.ts.map +1 -0
- package/dist/v2/components/Segmented.js +261 -0
- package/dist/v2/components/Segmented.js.map +1 -0
- package/dist/v2/components/Select.d.ts +90 -0
- package/dist/v2/components/Select.d.ts.map +1 -0
- package/dist/v2/components/Select.js +499 -0
- package/dist/v2/components/Select.js.map +1 -0
- package/dist/v2/components/ServerErrorPage.d.ts +11 -0
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -0
- package/dist/v2/components/ServerErrorPage.js +82 -0
- package/dist/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/v2/components/Skeleton.d.ts +56 -0
- package/dist/v2/components/Skeleton.d.ts.map +1 -0
- package/dist/v2/components/Skeleton.js +281 -0
- package/dist/v2/components/Skeleton.js.map +1 -0
- package/dist/v2/components/SkipLink.d.ts +30 -0
- package/dist/v2/components/SkipLink.d.ts.map +1 -0
- package/dist/v2/components/SkipLink.js +58 -0
- package/dist/v2/components/SkipLink.js.map +1 -0
- package/dist/v2/components/Spinner.d.ts +40 -0
- package/dist/v2/components/Spinner.d.ts.map +1 -0
- package/dist/v2/components/Spinner.js +76 -0
- package/dist/v2/components/Spinner.js.map +1 -0
- package/dist/v2/components/Status.d.ts +42 -0
- package/dist/v2/components/Status.d.ts.map +1 -0
- package/dist/v2/components/Status.js +71 -0
- package/dist/v2/components/Status.js.map +1 -0
- package/dist/v2/components/Stepper.d.ts +142 -0
- package/dist/v2/components/Stepper.d.ts.map +1 -0
- package/dist/v2/components/Stepper.js +441 -0
- package/dist/v2/components/Stepper.js.map +1 -0
- 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 +30 -0
- package/dist/v2/components/Switch.d.ts.map +1 -0
- package/dist/v2/components/Switch.js +136 -0
- package/dist/v2/components/Switch.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +49 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -0
- package/dist/v2/components/Tabs.js +160 -0
- package/dist/v2/components/Tabs.js.map +1 -0
- package/dist/v2/components/TelInput.d.ts +33 -0
- package/dist/v2/components/TelInput.d.ts.map +1 -0
- package/dist/v2/components/TelInput.js +282 -0
- package/dist/v2/components/TelInput.js.map +1 -0
- package/dist/v2/components/Textarea.d.ts +23 -0
- package/dist/v2/components/Textarea.d.ts.map +1 -0
- package/dist/v2/components/Textarea.js +80 -0
- package/dist/v2/components/Textarea.js.map +1 -0
- package/dist/v2/components/TimePicker.d.ts +21 -0
- package/dist/v2/components/TimePicker.d.ts.map +1 -0
- package/dist/v2/components/TimePicker.js +141 -0
- package/dist/v2/components/TimePicker.js.map +1 -0
- package/dist/v2/components/Toast.d.ts +32 -0
- package/dist/v2/components/Toast.d.ts.map +1 -0
- package/dist/v2/components/Toast.js +385 -0
- package/dist/v2/components/Toast.js.map +1 -0
- package/dist/v2/components/Tooltip.d.ts +9 -0
- package/dist/v2/components/Tooltip.d.ts.map +1 -0
- package/dist/v2/components/Tooltip.js +169 -0
- package/dist/v2/components/Tooltip.js.map +1 -0
- package/dist/v2/components/_ErrorPageBody.d.ts +48 -0
- package/dist/v2/components/_ErrorPageBody.d.ts.map +1 -0
- package/dist/v2/components/_ErrorPageBody.js +96 -0
- package/dist/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/v2/components/_pickerShared.d.ts +47 -0
- package/dist/v2/components/_pickerShared.d.ts.map +1 -0
- package/dist/v2/components/_pickerShared.js +68 -0
- package/dist/v2/components/_pickerShared.js.map +1 -0
- package/dist/v2/components/index.d.ts +226 -0
- package/dist/v2/components/index.d.ts.map +1 -0
- package/dist/v2/components/index.js +512 -0
- package/dist/v2/components/index.js.map +1 -0
- package/dist/v2/hooks/index.d.ts +11 -0
- package/dist/v2/hooks/index.d.ts.map +1 -0
- package/dist/v2/hooks/index.js +85 -0
- package/dist/v2/hooks/index.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.d.ts +22 -0
- package/dist/v2/hooks/useDelayedFlag.d.ts.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +60 -0
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/v2/hooks/useDensity.d.ts +23 -0
- package/dist/v2/hooks/useDensity.d.ts.map +1 -0
- package/dist/v2/hooks/useDensity.js +124 -0
- package/dist/v2/hooks/useDensity.js.map +1 -0
- package/dist/v2/hooks/useFocusFirstError.d.ts +121 -0
- package/dist/v2/hooks/useFocusFirstError.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusFirstError.js +203 -0
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.d.ts +3 -0
- package/dist/v2/hooks/useFocusTrap.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +207 -0
- package/dist/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/v2/hooks/useFormAutoSave.d.ts +42 -0
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -0
- package/dist/v2/hooks/useFormAutoSave.js +186 -0
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +52 -0
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -0
- package/dist/v2/hooks/useFormCompletionProgress.js +136 -0
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.d.ts +31 -0
- package/dist/v2/hooks/useResolvedDensity.d.ts.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +50 -0
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/v2/hooks/useSortedRows.d.ts +25 -0
- package/dist/v2/hooks/useSortedRows.d.ts.map +1 -0
- package/dist/v2/hooks/useSortedRows.js +38 -0
- package/dist/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/v2/hooks/useTabLoading.d.ts +39 -0
- package/dist/v2/hooks/useTabLoading.d.ts.map +1 -0
- package/dist/v2/hooks/useTabLoading.js +85 -0
- package/dist/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/v2/index.d.ts +115 -0
- package/dist/v2/index.d.ts.map +1 -0
- package/dist/v2/index.js +1127 -0
- package/dist/v2/index.js.map +1 -0
- package/dist/v2/modalContext.d.ts +96 -0
- package/dist/v2/modalContext.d.ts.map +1 -0
- package/dist/v2/modalContext.js +113 -0
- package/dist/v2/modalContext.js.map +1 -0
- package/dist/v2/models/favorite.d.ts +14 -0
- package/dist/v2/models/favorite.d.ts.map +1 -0
- package/dist/v2/models/favorite.js +6 -0
- package/dist/v2/models/favorite.js.map +1 -0
- package/dist/v2/models/index.d.ts +11 -0
- package/dist/v2/models/index.d.ts.map +1 -0
- package/dist/v2/models/index.js +50 -0
- package/dist/v2/models/index.js.map +1 -0
- package/dist/v2/models/personalization.d.ts +65 -0
- package/dist/v2/models/personalization.d.ts.map +1 -0
- package/dist/v2/models/personalization.js +6 -0
- package/dist/v2/models/personalization.js.map +1 -0
- package/dist/v2/models/referentiel.d.ts +67 -0
- package/dist/v2/models/referentiel.d.ts.map +1 -0
- package/dist/v2/models/referentiel.js +6 -0
- package/dist/v2/models/referentiel.js.map +1 -0
- package/dist/v2/models/savedFilter.d.ts +22 -0
- package/dist/v2/models/savedFilter.d.ts.map +1 -0
- package/dist/v2/models/savedFilter.js +6 -0
- package/dist/v2/models/savedFilter.js.map +1 -0
- package/dist/v2/patterns/ActionBar.d.ts +137 -0
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -0
- package/dist/v2/patterns/ActionBar.js +602 -0
- package/dist/v2/patterns/ActionBar.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.d.ts +63 -0
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +154 -0
- package/dist/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +62 -0
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +306 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/v2/patterns/ColumnsToggle.d.ts +55 -0
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -0
- package/dist/v2/patterns/ColumnsToggle.js +310 -0
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/v2/patterns/DataGrid.d.ts +7 -0
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -0
- package/dist/v2/patterns/DataGrid.js +834 -0
- package/dist/v2/patterns/DataGrid.js.map +1 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +68 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridSettingsMenu.js +382 -0
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/v2/patterns/DataGridToolbar.d.ts +81 -0
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridToolbar.js +256 -0
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/v2/patterns/DataGridVirtualized.d.ts +76 -0
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -0
- package/dist/v2/patterns/DataGridVirtualized.js +528 -0
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +46 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +77 -0
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts +72 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.js +171 -0
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/v2/patterns/FavoritesFilter.d.ts +51 -0
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -0
- package/dist/v2/patterns/FavoritesFilter.js +98 -0
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.d.ts +39 -0
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +111 -0
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormPageShell.d.ts +55 -0
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -0
- package/dist/v2/patterns/FormPageShell.js +133 -0
- package/dist/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/v2/patterns/FormSection.d.ts +64 -0
- package/dist/v2/patterns/FormSection.d.ts.map +1 -0
- package/dist/v2/patterns/FormSection.js +197 -0
- package/dist/v2/patterns/FormSection.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +51 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.js +117 -0
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/v2/patterns/FormikCombobox.d.ts +43 -0
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCombobox.js +121 -0
- package/dist/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/v2/patterns/FormikDatePicker.d.ts +115 -0
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDatePicker.js +203 -0
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts +59 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.js +83 -0
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +43 -0
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -0
- package/dist/v2/patterns/FormikFile.js +156 -0
- package/dist/v2/patterns/FormikFile.js.map +1 -0
- package/dist/v2/patterns/FormikInput.d.ts +72 -0
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -0
- package/dist/v2/patterns/FormikInput.js +135 -0
- package/dist/v2/patterns/FormikInput.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +33 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.js +124 -0
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/v2/patterns/FormikSelect.d.ts +61 -0
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -0
- package/dist/v2/patterns/FormikSelect.js +165 -0
- package/dist/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/v2/patterns/FormikTextarea.d.ts +31 -0
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -0
- package/dist/v2/patterns/FormikTextarea.js +84 -0
- package/dist/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +44 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +203 -0
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +26 -0
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -0
- package/dist/v2/patterns/NetworkErrorBanner.js +82 -0
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/v2/patterns/PageContent.d.ts +40 -0
- package/dist/v2/patterns/PageContent.d.ts.map +1 -0
- package/dist/v2/patterns/PageContent.js +69 -0
- package/dist/v2/patterns/PageContent.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +118 -0
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -0
- package/dist/v2/patterns/ReferentielField.js +618 -0
- package/dist/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts +68 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.js +204 -0
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +74 -0
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -0
- package/dist/v2/patterns/SavedFiltersMenu.js +413 -0
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/v2/patterns/SkeletonPageShell.d.ts +76 -0
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -0
- package/dist/v2/patterns/SkeletonPageShell.js +347 -0
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/v2/patterns/SortableHeader.d.ts +47 -0
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -0
- package/dist/v2/patterns/SortableHeader.js +193 -0
- package/dist/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/v2/patterns/Tour.d.ts +55 -0
- package/dist/v2/patterns/Tour.d.ts.map +1 -0
- package/dist/v2/patterns/Tour.js +474 -0
- package/dist/v2/patterns/Tour.js.map +1 -0
- package/dist/v2/patterns/_dataGridShared.d.ts +144 -0
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -0
- package/dist/v2/patterns/_dataGridShared.js +440 -0
- package/dist/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/v2/patterns/_sort.d.ts +22 -0
- package/dist/v2/patterns/_sort.d.ts.map +1 -0
- package/dist/v2/patterns/_sort.js +118 -0
- package/dist/v2/patterns/_sort.js.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts +69 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.js +264 -0
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/v2/patterns/_useColumnResize.d.ts +49 -0
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -0
- package/dist/v2/patterns/_useColumnResize.js +198 -0
- package/dist/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +89 -0
- package/dist/v2/patterns/index.d.ts.map +1 -0
- package/dist/v2/patterns/index.js +246 -0
- package/dist/v2/patterns/index.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts +80 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.js +177 -0
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/v2/personalization/adapters/_storageKey.d.ts +35 -0
- package/dist/v2/personalization/adapters/_storageKey.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/_storageKey.js +69 -0
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +31 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +128 -0
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +25 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +76 -0
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/v2/personalization/adapters/index.d.ts +10 -0
- package/dist/v2/personalization/adapters/index.d.ts.map +1 -0
- package/dist/v2/personalization/adapters/index.js +21 -0
- package/dist/v2/personalization/adapters/index.js.map +1 -0
- package/dist/v2/personalization/capabilities/favorites.d.ts +53 -0
- package/dist/v2/personalization/capabilities/favorites.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/favorites.js +223 -0
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +58 -0
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/favoritesView.js +121 -0
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +16 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/index.js +69 -0
- package/dist/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +61 -0
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +297 -0
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/v2/personalization/createPersonalizationStore.d.ts +76 -0
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -0
- package/dist/v2/personalization/createPersonalizationStore.js +475 -0
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/v2/personalization/index.d.ts +33 -0
- package/dist/v2/personalization/index.d.ts.map +1 -0
- package/dist/v2/personalization/index.js +111 -0
- package/dist/v2/personalization/index.js.map +1 -0
- package/dist/v2/personalization/personalizationContext.d.ts +78 -0
- package/dist/v2/personalization/personalizationContext.d.ts.map +1 -0
- package/dist/v2/personalization/personalizationContext.js +121 -0
- package/dist/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/v2/personalization/schema.d.ts +60 -0
- package/dist/v2/personalization/schema.d.ts.map +1 -0
- package/dist/v2/personalization/schema.js +102 -0
- package/dist/v2/personalization/schema.js.map +1 -0
- package/dist/v2/personalization/types.d.ts +81 -0
- package/dist/v2/personalization/types.d.ts.map +1 -0
- package/dist/v2/personalization/types.js +6 -0
- package/dist/v2/personalization/types.js.map +1 -0
- package/dist/v2/referentiel/ReferentielProvider.d.ts +53 -0
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -0
- package/dist/v2/referentiel/ReferentielProvider.js +94 -0
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/v2/referentiel/index.d.ts +18 -0
- package/dist/v2/referentiel/index.d.ts.map +1 -0
- package/dist/v2/referentiel/index.js +44 -0
- package/dist/v2/referentiel/index.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.d.ts +15 -0
- package/dist/v2/referentiel/useReferentielClient.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +46 -0
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/v2/referentiel/useReferentielOptions.d.ts +40 -0
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielOptions.js +177 -0
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/v2/referentiel/useReferentielSearch.d.ts +76 -0
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -0
- package/dist/v2/referentiel/useReferentielSearch.js +140 -0
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/v2/styles/base.css +425 -0
- package/dist/v2/styles/css.d.ts +10 -0
- package/dist/v2/styles/index.d.ts +12 -0
- package/dist/v2/styles/index.d.ts.map +1 -0
- package/dist/v2/styles/index.js +4 -0
- package/dist/v2/styles/index.js.map +1 -0
- package/dist/v2/theme/_brand.d.ts +29 -0
- package/dist/v2/theme/_brand.d.ts.map +1 -0
- package/dist/v2/theme/_brand.js +69 -0
- package/dist/v2/theme/_brand.js.map +1 -0
- package/dist/v2/theme/_brandSecondary.d.ts +26 -0
- package/dist/v2/theme/_brandSecondary.d.ts.map +1 -0
- package/dist/v2/theme/_brandSecondary.js +65 -0
- package/dist/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/v2/theme/createPortnetTheme.d.ts +75 -0
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -0
- package/dist/v2/theme/createPortnetTheme.js +553 -0
- package/dist/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/v2/theme/cssVariables.d.ts +41 -0
- package/dist/v2/theme/cssVariables.d.ts.map +1 -0
- package/dist/v2/theme/cssVariables.js +205 -0
- package/dist/v2/theme/cssVariables.js.map +1 -0
- package/dist/v2/theme/index.d.ts +33 -0
- package/dist/v2/theme/index.d.ts.map +1 -0
- package/dist/v2/theme/index.js +60 -0
- package/dist/v2/theme/index.js.map +1 -0
- package/dist/v2/tokens/breakpoints.d.ts +74 -0
- package/dist/v2/tokens/breakpoints.d.ts.map +1 -0
- package/dist/v2/tokens/breakpoints.js +114 -0
- package/dist/v2/tokens/breakpoints.js.map +1 -0
- package/dist/v2/tokens/colors.d.ts +228 -0
- package/dist/v2/tokens/colors.d.ts.map +1 -0
- package/dist/v2/tokens/colors.js +225 -0
- package/dist/v2/tokens/colors.js.map +1 -0
- package/dist/v2/tokens/density.d.ts +142 -0
- package/dist/v2/tokens/density.d.ts.map +1 -0
- package/dist/v2/tokens/density.js +111 -0
- package/dist/v2/tokens/density.js.map +1 -0
- package/dist/v2/tokens/index.d.ts +556 -0
- package/dist/v2/tokens/index.d.ts.map +1 -0
- package/dist/v2/tokens/index.js +313 -0
- package/dist/v2/tokens/index.js.map +1 -0
- package/dist/v2/tokens/motion.d.ts +85 -0
- package/dist/v2/tokens/motion.d.ts.map +1 -0
- package/dist/v2/tokens/motion.js +94 -0
- package/dist/v2/tokens/motion.js.map +1 -0
- package/dist/v2/tokens/radius.d.ts +18 -0
- package/dist/v2/tokens/radius.d.ts.map +1 -0
- package/dist/v2/tokens/radius.js +28 -0
- package/dist/v2/tokens/radius.js.map +1 -0
- package/dist/v2/tokens/shadows.d.ts +25 -0
- package/dist/v2/tokens/shadows.d.ts.map +1 -0
- package/dist/v2/tokens/shadows.js +46 -0
- package/dist/v2/tokens/shadows.js.map +1 -0
- package/dist/v2/tokens/spacing.d.ts +38 -0
- package/dist/v2/tokens/spacing.d.ts.map +1 -0
- package/dist/v2/tokens/spacing.js +57 -0
- package/dist/v2/tokens/spacing.js.map +1 -0
- package/dist/v2/tokens/state.d.ts +40 -0
- package/dist/v2/tokens/state.d.ts.map +1 -0
- package/dist/v2/tokens/state.js +47 -0
- package/dist/v2/tokens/state.js.map +1 -0
- package/dist/v2/tokens/statusPalette.d.ts +54 -0
- package/dist/v2/tokens/statusPalette.d.ts.map +1 -0
- package/dist/v2/tokens/statusPalette.js +72 -0
- package/dist/v2/tokens/statusPalette.js.map +1 -0
- package/dist/v2/tokens/tokens.json +153 -0
- package/dist/v2/tokens/typography.d.ts +206 -0
- package/dist/v2/tokens/typography.d.ts.map +1 -0
- package/dist/v2/tokens/typography.js +155 -0
- package/dist/v2/tokens/typography.js.map +1 -0
- package/dist/v2/tokens/zIndex.d.ts +33 -0
- package/dist/v2/tokens/zIndex.d.ts.map +1 -0
- package/dist/v2/tokens/zIndex.js +50 -0
- package/dist/v2/tokens/zIndex.js.map +1 -0
- package/dist/v2/types/common.d.ts +24 -0
- package/dist/v2/types/common.d.ts.map +1 -0
- package/dist/v2/types/common.js +6 -0
- package/dist/v2/types/common.js.map +1 -0
- package/dist/v2/types/datagrid.d.ts +131 -0
- package/dist/v2/types/datagrid.d.ts.map +1 -0
- package/dist/v2/types/datagrid.js +6 -0
- package/dist/v2/types/datagrid.js.map +1 -0
- package/dist/v2/types/index.d.ts +11 -0
- package/dist/v2/types/index.d.ts.map +1 -0
- package/dist/v2/types/index.js +28 -0
- package/dist/v2/types/index.js.map +1 -0
- package/dist/v2/utils/apiError.d.ts +151 -0
- package/dist/v2/utils/apiError.d.ts.map +1 -0
- package/dist/v2/utils/apiError.js +290 -0
- package/dist/v2/utils/apiError.js.map +1 -0
- package/dist/v2/utils/contrast.d.ts +68 -0
- package/dist/v2/utils/contrast.d.ts.map +1 -0
- package/dist/v2/utils/contrast.js +167 -0
- package/dist/v2/utils/contrast.js.map +1 -0
- package/dist/v2/utils/cx.d.ts +9 -0
- package/dist/v2/utils/cx.d.ts.map +1 -0
- package/dist/v2/utils/cx.js +45 -0
- package/dist/v2/utils/cx.js.map +1 -0
- package/dist/v2/utils/fileDownload.d.ts +94 -0
- package/dist/v2/utils/fileDownload.d.ts.map +1 -0
- package/dist/v2/utils/fileDownload.js +236 -0
- package/dist/v2/utils/fileDownload.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +28 -0
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -0
- package/dist/v2/utils/fmtMoney.js +84 -0
- package/dist/v2/utils/fmtMoney.js.map +1 -0
- package/dist/v2/utils/index.d.ts +9 -0
- package/dist/v2/utils/index.d.ts.map +1 -0
- package/dist/v2/utils/index.js +97 -0
- package/dist/v2/utils/index.js.map +1 -0
- 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/dist/v2/utils/networkStatus.d.ts +88 -0
- package/dist/v2/utils/networkStatus.d.ts.map +1 -0
- package/dist/v2/utils/networkStatus.js +121 -0
- package/dist/v2/utils/networkStatus.js.map +1 -0
- package/package.json +198 -76
- package/dist/api/guideApi.js +0 -12
- package/dist/api/guideImageService.js +0 -119
- package/dist/api/reclamationApi.js +0 -119
- package/dist/assets/guides/FAQ.json +0 -118
- package/dist/assets/guides/index.js +0 -11
- package/dist/assets/images/tijariaLogo.ico +0 -0
- package/dist/components/buttons/PuiButton.js +0 -217
- package/dist/components/buttons/PuiIconButton.js +0 -98
- package/dist/components/common/PuiAlertContext.js +0 -12
- package/dist/components/common/PuiHelpWidgetContext.js +0 -17
- package/dist/components/common/StyledMuiButton.js +0 -48
- package/dist/components/common/StyledMuiTextField.js +0 -180
- package/dist/components/inputs/PuiAutocomplete.js +0 -352
- package/dist/components/inputs/PuiCheckbox.js +0 -308
- package/dist/components/inputs/PuiCheckboxGroup.js +0 -215
- package/dist/components/inputs/PuiCheckboxItem.js +0 -162
- package/dist/components/inputs/PuiDateField.js +0 -280
- package/dist/components/inputs/PuiDateTimeField.js +0 -276
- package/dist/components/inputs/PuiFileField.js +0 -265
- package/dist/components/inputs/PuiRadioGroup.js +0 -197
- package/dist/components/inputs/PuiRadioItem.js +0 -100
- package/dist/components/inputs/PuiSelect.js +0 -427
- package/dist/components/inputs/PuiTextField.js +0 -263
- package/dist/components/others/PuiBadge.js +0 -58
- package/dist/components/others/PuiChip.js +0 -150
- package/dist/components/others/PuiDialog.js +0 -102
- package/dist/components/others/PuiFormikForm.js +0 -70
- package/dist/components/others/PuiGrid.js +0 -23
- package/dist/components/others/PuiIcon.js +0 -92
- package/dist/components/others/PuiLoadingBackdrop.js +0 -32
- package/dist/components/others/PuiMainContainer.js +0 -41
- package/dist/components/others/PuiNavigation.js +0 -68
- package/dist/components/others/PuiSection.js +0 -187
- package/dist/components/others/PuiTooltip.js +0 -86
- package/dist/components/providers/PuiAlertProvider.js +0 -134
- package/dist/components/providers/PuiHelpWidgetProvider.js +0 -91
- package/dist/components/providers/PuiLocalizationProvider.js +0 -34
- package/dist/components/referentiel/common/ReferetielContext.js +0 -12
- package/dist/components/referentiel/common/constants/specificReferentielsApis.js +0 -22
- package/dist/components/referentiel/common/constants/specificReferentielsBaseColumns.js +0 -691
- package/dist/components/referentiel/common/constants/specificReferentielsBaseFilters.js +0 -598
- package/dist/components/referentiel/common/constants/specificReferentielsInitialValues.js +0 -80
- package/dist/components/referentiel/common/constants/specificReferentielsKeys.js +0 -18
- package/dist/components/referentiel/common/constants/specificReferentielsTitles.js +0 -22
- package/dist/components/referentiel/common/constants/specificReferentielsValidationSchemas.js +0 -85
- package/dist/components/referentiel/components/PuiBasePopupReferentielField.js +0 -356
- package/dist/components/referentiel/components/PuiCustomPopupReferentielField.js +0 -181
- package/dist/components/referentiel/components/PuiSimplePopupReferentielField.js +0 -325
- package/dist/components/referentiel/components/PuiSimpleReferentielField.js +0 -203
- package/dist/components/referentiel/components/PuiSpecificReferentielField.js +0 -352
- package/dist/components/referentiel/providers/PuiReferentielProvider.js +0 -66
- package/dist/components/tab/PuiTab.js +0 -25
- package/dist/components/tab/PuiTabs.js +0 -148
- package/dist/components/table/PuiTable.js +0 -643
- package/dist/components/table/PuiTableAction.js +0 -75
- package/dist/components/typography/PuiDefinition.js +0 -42
- package/dist/components/typography/PuiIndication.js +0 -80
- package/dist/components/typography/PuiMainTitle.js +0 -144
- package/dist/components/ui/dialogs/PuiSearchDialog.js +0 -106
- package/dist/components/ui/pages/errors/PuiErrorBasePage.js +0 -73
- package/dist/components/ui/pages/errors/PuiForbiddenErrorPage.js +0 -36
- package/dist/components/ui/pages/errors/PuiNetworkErrorPage.js +0 -36
- package/dist/components/ui/pages/errors/PuiNotFoundErrorPage.js +0 -30
- package/dist/components/ui/pages/errors/PuiServerErrorPage.js +0 -37
- package/dist/components/ui/pages/general/PuiDefaultPage.js +0 -68
- package/dist/components/ui/pages/general/PuiSearchPage.js +0 -203
- package/dist/components/widgets/GuideImage.js +0 -251
- package/dist/components/widgets/PuiHelpWidget.js +0 -4276
- package/dist/config/apperance.js +0 -26
- package/dist/config/mapping.js +0 -26
- package/dist/config/referentiel.js +0 -10
- package/dist/general/yupValidationErrors.js +0 -8
- package/dist/hooks/useAlert.js +0 -19
- package/dist/hooks/useAxios.js +0 -23
- package/dist/hooks/useQuery.js +0 -21
- package/dist/hooks/useReclamation.js +0 -116
- package/dist/styles/ReclamationFormModal.css +0 -629
- package/dist/styles/help-widget.css +0 -621
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
var _excluded = ["name", "label", "required", "disabled", "readOnly", "readOnlyFormat", "htmlFor", "hint", "outputFormat"];
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
8
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
9
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
10
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
11
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
12
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
13
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
14
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
15
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
16
|
+
/**
|
|
17
|
+
* FormikDatePicker — bridge between Formik state and v2.Field +
|
|
18
|
+
* v2.DatePicker.
|
|
19
|
+
*
|
|
20
|
+
* v2.DatePicker emits Date | null. Formik state may carry Date,
|
|
21
|
+
* ISO string, or moment instance — this bridge normalises inbound
|
|
22
|
+
* values to Date for the picker.
|
|
23
|
+
*
|
|
24
|
+
* outputFormat prop (Charter R-I.*):
|
|
25
|
+
* By default, onChange writes a Date | null back to Formik, which
|
|
26
|
+
* is fine for Yup.date() schemas. If your schema uses Yup.string()
|
|
27
|
+
* with a format test (e.g. "DD-MM-YYYY"), pass the matching moment
|
|
28
|
+
* format string:
|
|
29
|
+
*
|
|
30
|
+
* <FormikDatePicker name="dateNaissance" outputFormat="DD-MM-YYYY" />
|
|
31
|
+
*
|
|
32
|
+
* The field then stores "03-05-2026" instead of a Date object.
|
|
33
|
+
* Pass outputFormat="iso" to store an ISO 8601 string instead.
|
|
34
|
+
* Default (undefined) = Date | null (backward-compatible).
|
|
35
|
+
*
|
|
36
|
+
* ── outputFormat MUST ROUND-TRIP — and now does (S-03) ────────────────
|
|
37
|
+
*
|
|
38
|
+
* This bridge used to serialise OUT through moment but read BACK through
|
|
39
|
+
* `new Date(raw)`, ignoring outputFormat. The asymmetry silently corrupted any
|
|
40
|
+
* non-ISO format:
|
|
41
|
+
*
|
|
42
|
+
* new Date("31-12-2026") -> month 31 invalid -> Invalid Date -> null
|
|
43
|
+
* -> the field rendered EMPTY when re-populated
|
|
44
|
+
* new Date("05-03-2026") -> V8 reads MM-DD -> 3 May, not 5 March
|
|
45
|
+
* -> saving untouched wrote back "03-05-2026"
|
|
46
|
+
*
|
|
47
|
+
* The write path worked, so a form filled in and submitted immediately behaved
|
|
48
|
+
* correctly; the damage only surfaced on RE-POPULATE, i.e. an edit flow — the
|
|
49
|
+
* path a smoke test is least likely to exercise. `procuration-portnet-fe` shipped
|
|
50
|
+
* it for seven batches under a clean strict typecheck.
|
|
51
|
+
*
|
|
52
|
+
* `coerceToDate` now parses with the SAME format it was written with, in moment's
|
|
53
|
+
* STRICT mode, so a malformed stored value yields null instead of a plausible
|
|
54
|
+
* wrong date. A missing date is recoverable; a date quietly off by two months is
|
|
55
|
+
* not.
|
|
56
|
+
*
|
|
57
|
+
* BEHAVIOURAL NOTE for existing non-ISO callers: they were mis-parsing before.
|
|
58
|
+
* This changes their result from wrong to right — which is the point, but it is a
|
|
59
|
+
* change. Callers passing nothing, or "iso", are on the identical code path.
|
|
60
|
+
*
|
|
61
|
+
* Audit: this is the ONLY Formik date bridge in the library. DateTimePicker,
|
|
62
|
+
* TimePicker and DateRangePicker are exposed as bare components exchanging Date
|
|
63
|
+
* objects, so they have no serialisation step and no equivalent asymmetry;
|
|
64
|
+
* _pickerShared carries only Date<->Moment converters, not string parsing.
|
|
65
|
+
*
|
|
66
|
+
* Modal / Drawer usage (MUI X v9):
|
|
67
|
+
* When rendered inside a v2.Drawer or a MUI Modal, the DatePicker
|
|
68
|
+
* calendar popup may render behind the modal surface (both default
|
|
69
|
+
* to zIndex 1300). In MUI X v9, the popper slot is forwarded via
|
|
70
|
+
* slotProps.popper (the legacy `PopperProps` was removed). Pass:
|
|
71
|
+
*
|
|
72
|
+
* <FormikDatePicker
|
|
73
|
+
* slotProps={{ popper: { sx: { zIndex: 1400 } } }}
|
|
74
|
+
* />
|
|
75
|
+
*
|
|
76
|
+
* Slot props forward through ...rest to v2.DatePicker and on to
|
|
77
|
+
* MuiDatePicker, where they merge with the textField slot bag
|
|
78
|
+
* already wired by v2.DatePicker.
|
|
79
|
+
*
|
|
80
|
+
* Charter R-I.*.
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
import * as React from "react";
|
|
84
|
+
import moment from "moment";
|
|
85
|
+
import { useField, useFormikContext } from "formik";
|
|
86
|
+
import Field from "../components/Field";
|
|
87
|
+
import DatePicker from "../components/DatePicker";
|
|
88
|
+
import FormikDisplay from "../components/FormikDisplay";
|
|
89
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
90
|
+
/**
|
|
91
|
+
* Read a Formik-stored value back into a Date.
|
|
92
|
+
*
|
|
93
|
+
* `outputFormat` is threaded in so the read is SYMMETRIC with `serialiseDate`
|
|
94
|
+
* (S-03). Without it, a non-ISO format written by moment was read by
|
|
95
|
+
* `new Date()`, which either rejects it or misreads it as MM-DD.
|
|
96
|
+
*/
|
|
97
|
+
var coerceToDate = function coerceToDate(raw, outputFormat) {
|
|
98
|
+
if (raw == null || raw === "") return null;
|
|
99
|
+
if (raw instanceof Date) return raw;
|
|
100
|
+
if (_typeof(raw) === "object" && typeof raw.toDate === "function") {
|
|
101
|
+
var _d$getTime;
|
|
102
|
+
var _d = raw.toDate();
|
|
103
|
+
return isNaN(_d === null || _d === void 0 ? void 0 : (_d$getTime = _d.getTime) === null || _d$getTime === void 0 ? void 0 : _d$getTime.call(_d)) ? null : _d;
|
|
104
|
+
}
|
|
105
|
+
/* S-03 — parse with the format it was written with. STRICT mode: a stored value
|
|
106
|
+
* that does not match yields null rather than moment's best guess.
|
|
107
|
+
*
|
|
108
|
+
* Guarded on `typeof raw === "string"` so a numeric timestamp keeps the
|
|
109
|
+
* `new Date(number)` path — moment(number, format) is meaningless. "iso" is
|
|
110
|
+
* excluded: it is not a moment token, and `new Date(isoString)` is already
|
|
111
|
+
* correct. */
|
|
112
|
+
if (typeof raw === "string" && outputFormat !== undefined && outputFormat !== "iso") {
|
|
113
|
+
var parsed = moment(raw, outputFormat, true);
|
|
114
|
+
return parsed.isValid() ? parsed.toDate() : null;
|
|
115
|
+
}
|
|
116
|
+
var d = new Date(raw);
|
|
117
|
+
return isNaN(d.getTime()) ? null : d;
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Serialise a Date to the requested output format.
|
|
122
|
+
* undefined → return the Date as-is (default — backward-compat)
|
|
123
|
+
* "iso" → Date.toISOString()
|
|
124
|
+
* any string → moment(date).format(outputFormat)
|
|
125
|
+
*/
|
|
126
|
+
function serialiseDate(date, outputFormat) {
|
|
127
|
+
if (!date || !(date instanceof Date) || isNaN(date.getTime())) {
|
|
128
|
+
return outputFormat ? "" : null;
|
|
129
|
+
}
|
|
130
|
+
if (!outputFormat) return date;
|
|
131
|
+
if (outputFormat === "iso") return date.toISOString();
|
|
132
|
+
return moment(date).format(outputFormat);
|
|
133
|
+
}
|
|
134
|
+
var FormikDatePicker = function FormikDatePicker(_ref) {
|
|
135
|
+
var name = _ref.name,
|
|
136
|
+
label = _ref.label,
|
|
137
|
+
required = _ref.required,
|
|
138
|
+
disabled = _ref.disabled,
|
|
139
|
+
readOnly = _ref.readOnly,
|
|
140
|
+
_ref$readOnlyFormat = _ref.readOnlyFormat,
|
|
141
|
+
readOnlyFormat = _ref$readOnlyFormat === void 0 ? "DD/MM/YYYY" : _ref$readOnlyFormat,
|
|
142
|
+
htmlFor = _ref.htmlFor,
|
|
143
|
+
hint = _ref.hint,
|
|
144
|
+
outputFormat = _ref.outputFormat,
|
|
145
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
146
|
+
var _useField = useField(name),
|
|
147
|
+
_useField2 = _slicedToArray(_useField, 2),
|
|
148
|
+
field = _useField2[0],
|
|
149
|
+
meta = _useField2[1];
|
|
150
|
+
var _useFormikContext = useFormikContext(),
|
|
151
|
+
setFieldValue = _useFormikContext.setFieldValue,
|
|
152
|
+
setFieldTouched = _useFormikContext.setFieldTouched;
|
|
153
|
+
var hasError = Boolean(meta.touched && meta.error);
|
|
154
|
+
|
|
155
|
+
/* Lecture seule. On repasse par `coerceToDate` avec le MÊME `outputFormat`
|
|
156
|
+
* que le champ utilise pour écrire : c'est la symétrie que S-03 a installée,
|
|
157
|
+
* et s'en écarter ici reproduirait exactement le bug qu'il a corrigé (une date
|
|
158
|
+
* "31-12-2026" relue par `new Date()` devient Invalid Date).
|
|
159
|
+
*
|
|
160
|
+
* `format` court-circuite la branche « valeur vide » de FormikDisplay, donc le
|
|
161
|
+
* marqueur « — » est reproduit ici plutôt que délégué — sans quoi un champ
|
|
162
|
+
* sans date afficherait un panneau vide. */
|
|
163
|
+
if (readOnly && !disabled) {
|
|
164
|
+
return /*#__PURE__*/_jsx(FormikDisplay, _objectSpread(_objectSpread({
|
|
165
|
+
name: name,
|
|
166
|
+
label: label
|
|
167
|
+
}, hint !== undefined ? {
|
|
168
|
+
hint: hint
|
|
169
|
+
} : {}), {}, {
|
|
170
|
+
format: function format(raw) {
|
|
171
|
+
var parsed = coerceToDate(raw, outputFormat);
|
|
172
|
+
return parsed ? moment(parsed).format(readOnlyFormat) : "\u2014";
|
|
173
|
+
}
|
|
174
|
+
}));
|
|
175
|
+
}
|
|
176
|
+
return /*#__PURE__*/_jsx(Field, _objectSpread(_objectSpread(_objectSpread({
|
|
177
|
+
label: label,
|
|
178
|
+
error: hasError ? meta.error : null,
|
|
179
|
+
hint: !hasError ? hint : undefined,
|
|
180
|
+
htmlFor: htmlFor || name
|
|
181
|
+
}, required !== undefined ? {
|
|
182
|
+
required: required
|
|
183
|
+
} : {}), disabled !== undefined ? {
|
|
184
|
+
disabled: disabled
|
|
185
|
+
} : {}), {}, {
|
|
186
|
+
children: /*#__PURE__*/_jsx(DatePicker, _objectSpread({
|
|
187
|
+
value: coerceToDate(field.value, outputFormat),
|
|
188
|
+
onChange: function onChange(next) {
|
|
189
|
+
setFieldValue(name, serialiseDate(next, outputFormat));
|
|
190
|
+
setFieldTouched(name, true, false);
|
|
191
|
+
}
|
|
192
|
+
}, rest))
|
|
193
|
+
}));
|
|
194
|
+
};
|
|
195
|
+
export default FormikDatePicker;
|
|
196
|
+
//# sourceMappingURL=FormikDatePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormikDatePicker.js","names":["React","moment","useField","useFormikContext","Field","DatePicker","FormikDisplay","jsx","_jsx","coerceToDate","raw","outputFormat","Date","_typeof","toDate","_d$getTime","d","isNaN","getTime","call","undefined","parsed","isValid","serialiseDate","date","toISOString","format","FormikDatePicker","_ref","name","label","required","disabled","readOnly","_ref$readOnlyFormat","readOnlyFormat","htmlFor","hint","rest","_objectWithoutProperties","_excluded","_useField","_useField2","_slicedToArray","field","meta","_useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","_objectSpread","children","value","onChange","next"],"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":[]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
3
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
4
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
5
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
6
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
7
|
+
import { useFormikContext } from "formik";
|
|
8
|
+
import useFocusFirstError from "../hooks/useFocusFirstError";
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* FormikErrorFocus — Portnet UI v2 (pattern)
|
|
12
|
+
*
|
|
13
|
+
* Charter §05.3 R-F.3 / §04.1 R-FV.3. Renders NOTHING; it exists purely to
|
|
14
|
+
* move focus to the first field in error after a failed submit.
|
|
15
|
+
*
|
|
16
|
+
* The companion to FormErrorSummary: that component makes the errors
|
|
17
|
+
* visible and reachable by click, this one puts the caret in the first of
|
|
18
|
+
* them. R-FV.2 and R-FV.3 are separate MUST rules and a form needs both.
|
|
19
|
+
*
|
|
20
|
+
* <Formik initialValues={…} validationSchema={…} onSubmit={…}>
|
|
21
|
+
* <Form>
|
|
22
|
+
* <FormikErrorFocus order={["numeroFacture", "fournisseur", "dateFacture"]} />
|
|
23
|
+
* <FormikInput name="numeroFacture" label="N° de la facture" required />
|
|
24
|
+
* <FormikInput name="fournisseur" label="Fournisseur" required />
|
|
25
|
+
* <FormikDatePicker name="dateFacture" label="Date de la facture" required />
|
|
26
|
+
* </Form>
|
|
27
|
+
* </Formik>
|
|
28
|
+
*
|
|
29
|
+
* Placement inside the form is free — it renders null, so it has no layout
|
|
30
|
+
* or tab-order effect. It MUST be a descendant of <Formik>, since it reads
|
|
31
|
+
* the context.
|
|
32
|
+
*
|
|
33
|
+
* ── WHY A COMPONENT AND NOT JUST THE HOOK ───────────────────────────
|
|
34
|
+
*
|
|
35
|
+
* The prevailing Formik shape in the modules is `<Formik><Form>…</Form>
|
|
36
|
+
* </Formik>` with STATIC children. The hosting component's body is outside
|
|
37
|
+
* the provider, so useFormikContext cannot be called there; and passing
|
|
38
|
+
* innerRef does not help, because a ref mutation does not re-render the
|
|
39
|
+
* holder when `errors` changes. A null-rendering descendant is the only
|
|
40
|
+
* place the context is both available and reactive.
|
|
41
|
+
*
|
|
42
|
+
* Where a component already sits inside the provider — a form section using
|
|
43
|
+
* useFormikContext, like the mjcc-fe publication and facture blocs — call
|
|
44
|
+
* `focusFieldByName` directly instead. Those guards run on a button click
|
|
45
|
+
* rather than a Formik submit, so there is no submitCount to react to.
|
|
46
|
+
*/
|
|
47
|
+
|
|
48
|
+
function FormikErrorFocus(_ref) {
|
|
49
|
+
var order = _ref.order,
|
|
50
|
+
_ref$scroll = _ref.scroll,
|
|
51
|
+
scroll = _ref$scroll === void 0 ? true : _ref$scroll,
|
|
52
|
+
_ref$enabled = _ref.enabled,
|
|
53
|
+
enabled = _ref$enabled === void 0 ? true : _ref$enabled;
|
|
54
|
+
/*
|
|
55
|
+
* Record<string, unknown> rather than the host's own values type, and
|
|
56
|
+
* rather than a cast. FormikErrors<Record<string, unknown>> resolves to
|
|
57
|
+
* an index-signature map of optional strings, which is assignable to the
|
|
58
|
+
* hook's Readonly<Record<string, unknown>> — so the two contracts meet
|
|
59
|
+
* without an assertion. useFormikContext does not check its type
|
|
60
|
+
* parameter against the provider, so this stays valid whatever the form's
|
|
61
|
+
* value shape is.
|
|
62
|
+
*/
|
|
63
|
+
var _useFormikContext = useFormikContext(),
|
|
64
|
+
errors = _useFormikContext.errors,
|
|
65
|
+
submitCount = _useFormikContext.submitCount;
|
|
66
|
+
useFocusFirstError(_objectSpread({
|
|
67
|
+
errors: errors,
|
|
68
|
+
submitCount: submitCount,
|
|
69
|
+
scroll: scroll,
|
|
70
|
+
enabled: enabled
|
|
71
|
+
}, order !== undefined ? {
|
|
72
|
+
order: order
|
|
73
|
+
} : {}));
|
|
74
|
+
return null;
|
|
75
|
+
}
|
|
76
|
+
export default FormikErrorFocus;
|
|
77
|
+
//# sourceMappingURL=FormikErrorFocus.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormikErrorFocus.js","names":["useFormikContext","useFocusFirstError","FormikErrorFocus","_ref","order","_ref$scroll","scroll","_ref$enabled","enabled","_useFormikContext","errors","submitCount","_objectSpread","undefined"],"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":";;;;;;AAAA,SAASA,gBAAgB,QAAQ,QAAQ;AACzC,OAAOC,kBAAkB,MAAM,6BAA6B;;AAE5D;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsBA,SAASC,gBAAgBA,CAAAC,IAAA,EAIC;EAAA,IAHxBC,KAAK,GAAAD,IAAA,CAALC,KAAK;IAAAC,WAAA,GAAAF,IAAA,CACLG,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,IAAI,GAAAA,WAAA;IAAAE,YAAA,GAAAJ,IAAA,CACbK,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,IAAI,GAAAA,YAAA;EAEd;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,IAAAE,iBAAA,GAAgCT,gBAAgB,CAA0B,CAAC;IAAnEU,MAAM,GAAAD,iBAAA,CAANC,MAAM;IAAEC,WAAW,GAAAF,iBAAA,CAAXE,WAAW;EAE3BV,kBAAkB,CAAAW,aAAA;IAChBF,MAAM,EAANA,MAAM;IACNC,WAAW,EAAXA,WAAW;IACXL,MAAM,EAANA,MAAM;IACNE,OAAO,EAAPA;EAAO,GAKHJ,KAAK,KAAKS,SAAS,GAAG;IAAET,KAAK,EAALA;EAAM,CAAC,GAAG,CAAC,CAAC,CACzC,CAAC;EAEF,OAAO,IAAI;AACb;AAEA,eAAeF,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
var _excluded = ["name", "label", "hint", "accept", "maxSize", "required", "disabled", "mode", "companionFields"];
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
9
|
+
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
11
|
+
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
12
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
13
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
14
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
15
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
16
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
17
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
18
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
19
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
20
|
+
/**
|
|
21
|
+
* FormikFile — bridge between Formik state and v2.Dropzone.
|
|
22
|
+
*
|
|
23
|
+
* Two modes:
|
|
24
|
+
* - mode="single" (default): File or null in Formik. Writes
|
|
25
|
+
* companion metadata fields (extension/size/type/name) on
|
|
26
|
+
* add; clears them on remove.
|
|
27
|
+
* - mode="bulk": File[] in Formik. No companion writes.
|
|
28
|
+
*
|
|
29
|
+
* Companion-field naming defaults to ms-ti-fe convention
|
|
30
|
+
* (fileExtension / fileSize / fileType / nom). Override with
|
|
31
|
+
* `companionFields` prop if your module differs.
|
|
32
|
+
*
|
|
33
|
+
* v2.Dropzone contract used:
|
|
34
|
+
* - value: [{id, name, size}]
|
|
35
|
+
* - onAdd(File[]): receives accepted files (already validated)
|
|
36
|
+
* - onRemove(id): receives the id of the entry to remove
|
|
37
|
+
*
|
|
38
|
+
* Charter R-FU.*. Peer dep: formik >= 2.x.
|
|
39
|
+
*/
|
|
40
|
+
|
|
41
|
+
import * as React from "react";
|
|
42
|
+
import { useField, useFormikContext } from "formik";
|
|
43
|
+
import Field from "../components/Field";
|
|
44
|
+
import Dropzone from "../components/Dropzone";
|
|
45
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
46
|
+
var DEFAULT_COMPANION_FIELDS = Object.freeze({
|
|
47
|
+
ext: "fileExtension",
|
|
48
|
+
size: "fileSize",
|
|
49
|
+
type: "fileType",
|
|
50
|
+
name: "nom"
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
/* v2.Dropzone displays a row per entry in `value`. We synthesise
|
|
54
|
+
the row shape from the File object held in Formik. We use
|
|
55
|
+
`file.name` as the id since File has no stable identifier of
|
|
56
|
+
its own — Dropzone passes this id back to onRemove. */
|
|
57
|
+
var toDropzoneShape = function toDropzoneShape(file) {
|
|
58
|
+
if (file == null || !(file instanceof File)) return null;
|
|
59
|
+
return {
|
|
60
|
+
id: file.name,
|
|
61
|
+
name: file.name,
|
|
62
|
+
size: file.size
|
|
63
|
+
};
|
|
64
|
+
};
|
|
65
|
+
var FormikFile = function FormikFile(_ref) {
|
|
66
|
+
var name = _ref.name,
|
|
67
|
+
label = _ref.label,
|
|
68
|
+
hint = _ref.hint,
|
|
69
|
+
accept = _ref.accept,
|
|
70
|
+
maxSize = _ref.maxSize,
|
|
71
|
+
required = _ref.required,
|
|
72
|
+
disabled = _ref.disabled,
|
|
73
|
+
_ref$mode = _ref.mode,
|
|
74
|
+
mode = _ref$mode === void 0 ? "single" : _ref$mode,
|
|
75
|
+
_ref$companionFields = _ref.companionFields,
|
|
76
|
+
companionFields = _ref$companionFields === void 0 ? DEFAULT_COMPANION_FIELDS : _ref$companionFields,
|
|
77
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
78
|
+
var _useField = useField(name),
|
|
79
|
+
_useField2 = _slicedToArray(_useField, 2),
|
|
80
|
+
field = _useField2[0],
|
|
81
|
+
meta = _useField2[1];
|
|
82
|
+
var _useFormikContext = useFormikContext(),
|
|
83
|
+
setFieldValue = _useFormikContext.setFieldValue,
|
|
84
|
+
setFieldTouched = _useFormikContext.setFieldTouched;
|
|
85
|
+
var hasError = Boolean(meta.touched && meta.error);
|
|
86
|
+
var isBulk = mode === "bulk";
|
|
87
|
+
var value = (isBulk ? (Array.isArray(field.value) ? field.value : []).map(toDropzoneShape) : field.value instanceof File ? [toDropzoneShape(field.value)] : []).filter(function (x) {
|
|
88
|
+
return x != null;
|
|
89
|
+
});
|
|
90
|
+
var writeCompanions = function writeCompanions(file) {
|
|
91
|
+
if (isBulk) return;
|
|
92
|
+
setFieldValue(companionFields.ext, file ? file.name.split(".").pop() : "");
|
|
93
|
+
setFieldValue(companionFields.size, file ? file.size : null);
|
|
94
|
+
setFieldValue(companionFields.type, file ? file.type : "");
|
|
95
|
+
setFieldValue(companionFields.name, file ? file.name : "");
|
|
96
|
+
};
|
|
97
|
+
var handleAdd = function handleAdd(files) {
|
|
98
|
+
if (!files || files.length === 0) return;
|
|
99
|
+
if (isBulk) {
|
|
100
|
+
var merged = [].concat(_toConsumableArray(Array.isArray(field.value) ? field.value : []), _toConsumableArray(files));
|
|
101
|
+
setFieldValue(name, merged);
|
|
102
|
+
setFieldTouched(name, true, false);
|
|
103
|
+
} else {
|
|
104
|
+
var file = files[0];
|
|
105
|
+
setFieldValue(name, file);
|
|
106
|
+
writeCompanions(file !== null && file !== void 0 ? file : null);
|
|
107
|
+
setFieldTouched(name, true, false);
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
|
|
111
|
+
/* Dropzone calls onRemove(id). In single mode the id was the
|
|
112
|
+
File's name; in bulk mode we filter by the same key. */
|
|
113
|
+
var handleRemove = function handleRemove(id) {
|
|
114
|
+
if (isBulk) {
|
|
115
|
+
var remaining = (Array.isArray(field.value) ? field.value : []).filter(function (f) {
|
|
116
|
+
return f.name !== id;
|
|
117
|
+
});
|
|
118
|
+
setFieldValue(name, remaining);
|
|
119
|
+
} else {
|
|
120
|
+
setFieldValue(name, null);
|
|
121
|
+
writeCompanions(null);
|
|
122
|
+
}
|
|
123
|
+
};
|
|
124
|
+
return /*#__PURE__*/_jsx(Field, _objectSpread(_objectSpread(_objectSpread({
|
|
125
|
+
label: label,
|
|
126
|
+
error: hasError ? meta.error : null
|
|
127
|
+
}, required !== undefined ? {
|
|
128
|
+
required: required
|
|
129
|
+
} : {}), disabled !== undefined ? {
|
|
130
|
+
disabled: disabled
|
|
131
|
+
} : {}), {}, {
|
|
132
|
+
children: /*#__PURE__*/_jsx(Dropzone, _objectSpread(_objectSpread(_objectSpread(_objectSpread({
|
|
133
|
+
multiple: isBulk,
|
|
134
|
+
value: value,
|
|
135
|
+
hint: hint,
|
|
136
|
+
onAdd: handleAdd,
|
|
137
|
+
onRemove: handleRemove
|
|
138
|
+
}, rest), accept !== undefined ? {
|
|
139
|
+
accept: accept
|
|
140
|
+
} : {}), disabled !== undefined ? {
|
|
141
|
+
disabled: disabled
|
|
142
|
+
} : {}), maxSize !== undefined ? {
|
|
143
|
+
maxSize: maxSize
|
|
144
|
+
} : {}))
|
|
145
|
+
}));
|
|
146
|
+
};
|
|
147
|
+
export default FormikFile;
|
|
148
|
+
//# sourceMappingURL=FormikFile.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FormikFile.js","names":["React","useField","useFormikContext","Field","Dropzone","jsx","_jsx","DEFAULT_COMPANION_FIELDS","Object","freeze","ext","size","type","name","toDropzoneShape","file","File","id","FormikFile","_ref","label","hint","accept","maxSize","required","disabled","_ref$mode","mode","_ref$companionFields","companionFields","rest","_objectWithoutProperties","_excluded","_useField","_useField2","_slicedToArray","field","meta","_useFormikContext","setFieldValue","setFieldTouched","hasError","Boolean","touched","error","isBulk","value","Array","isArray","map","filter","x","writeCompanions","split","pop","handleAdd","files","length","merged","concat","_toConsumableArray","handleRemove","remaining","f","_objectSpread","undefined","children","multiple","onAdd","onRemove"],"sources":["../../../../src/lib/v2/patterns/FormikFile.tsx"],"sourcesContent":["/**\r\n * FormikFile — bridge between Formik state and v2.Dropzone.\r\n *\r\n * Two modes:\r\n * - mode=\"single\" (default): File or null in Formik. Writes\r\n * companion metadata fields (extension/size/type/name) on\r\n * add; clears them on remove.\r\n * - mode=\"bulk\": File[] in Formik. No companion writes.\r\n *\r\n * Companion-field naming defaults to ms-ti-fe convention\r\n * (fileExtension / fileSize / fileType / nom). Override with\r\n * `companionFields` prop if your module differs.\r\n *\r\n * v2.Dropzone contract used:\r\n * - value: [{id, name, size}]\r\n * - onAdd(File[]): receives accepted files (already validated)\r\n * - onRemove(id): receives the id of the entry to remove\r\n *\r\n * Charter R-FU.*. Peer dep: formik >= 2.x.\r\n */\r\n\r\nimport * as React from \"react\";\r\nimport { useField, useFormikContext } from \"formik\";\r\nimport Field from \"../components/Field\";\r\nimport Dropzone from \"../components/Dropzone\";\r\nimport type { DropzoneFile, DropzoneProps } from \"../components/Dropzone\";\r\n\r\nexport type FormikFileMode = \"single\" | \"bulk\";\r\n\r\nexport interface FormikFileCompanionFields {\r\n ext: string;\r\n size: string;\r\n type: string;\r\n name: string;\r\n}\r\n\r\nexport interface FormikFileProps\r\n extends Omit<\r\n DropzoneProps,\r\n \"value\" | \"onAdd\" | \"onRemove\" | \"multiple\" | \"accept\" | \"maxSize\" | \"hint\" | \"disabled\" | \"label\"\r\n > {\r\n name: string;\r\n label?: React.ReactNode | undefined;\r\n hint?: React.ReactNode | undefined;\r\n accept?: string | undefined;\r\n maxSize?: number | undefined;\r\n required?: boolean | undefined;\r\n disabled?: boolean | undefined;\r\n mode?: FormikFileMode | undefined;\r\n companionFields?: FormikFileCompanionFields | undefined;\r\n}\r\n\r\nconst DEFAULT_COMPANION_FIELDS: FormikFileCompanionFields = Object.freeze({\r\n ext: \"fileExtension\",\r\n size: \"fileSize\",\r\n type: \"fileType\",\r\n name: \"nom\",\r\n});\r\n\r\n/* v2.Dropzone displays a row per entry in `value`. We synthesise\r\n the row shape from the File object held in Formik. We use\r\n `file.name` as the id since File has no stable identifier of\r\n its own — Dropzone passes this id back to onRemove. */\r\nconst toDropzoneShape = (file: unknown): DropzoneFile | null => {\r\n if (file == null || !(file instanceof File)) return null;\r\n return { id: file.name, name: file.name, size: file.size };\r\n};\r\n\r\nconst FormikFile = ({\r\n name,\r\n label,\r\n hint,\r\n accept,\r\n maxSize,\r\n required,\r\n disabled,\r\n mode = \"single\",\r\n companionFields = DEFAULT_COMPANION_FIELDS,\r\n ...rest\r\n}: FormikFileProps) => {\r\n const [field, meta] = useField(name);\r\n const { setFieldValue, setFieldTouched } = useFormikContext();\r\n const hasError = Boolean(meta.touched && meta.error);\r\n\r\n const isBulk = mode === \"bulk\";\r\n\r\n const value: DropzoneFile[] = (\r\n isBulk\r\n ? (Array.isArray(field.value) ? field.value : []).map(toDropzoneShape)\r\n : field.value instanceof File\r\n ? [toDropzoneShape(field.value)]\r\n : []\r\n ).filter((x): x is DropzoneFile => x != null);\r\n\r\n const writeCompanions = (file: File | null) => {\r\n if (isBulk) return;\r\n setFieldValue(companionFields.ext, file ? file.name.split(\".\").pop() : \"\");\r\n setFieldValue(companionFields.size, file ? file.size : null);\r\n setFieldValue(companionFields.type, file ? file.type : \"\");\r\n setFieldValue(companionFields.name, file ? file.name : \"\");\r\n };\r\n\r\n const handleAdd = (files: File[]) => {\r\n if (!files || files.length === 0) return;\r\n if (isBulk) {\r\n const merged = [\r\n ...(Array.isArray(field.value) ? field.value : []),\r\n ...files,\r\n ];\r\n setFieldValue(name, merged);\r\n setFieldTouched(name, true, false);\r\n } else {\r\n const file = files[0];\r\n setFieldValue(name, file);\r\n writeCompanions(file ?? null);\r\n setFieldTouched(name, true, false);\r\n }\r\n };\r\n\r\n /* Dropzone calls onRemove(id). In single mode the id was the\r\n File's name; in bulk mode we filter by the same key. */\r\n const handleRemove = (id: string | number) => {\r\n if (isBulk) {\r\n const remaining = (Array.isArray(field.value) ? field.value : []).filter(\r\n (f) => f.name !== id\r\n );\r\n setFieldValue(name, remaining);\r\n } else {\r\n setFieldValue(name, null);\r\n writeCompanions(null);\r\n }\r\n };\r\n\r\n return (\r\n <Field\r\n label={label}\r\n error={hasError ? meta.error : null}\r\n {...(required !== undefined ? { required } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n >\r\n <Dropzone\r\n multiple={isBulk}\r\n value={value}\r\n hint={hint}\r\n onAdd={handleAdd}\r\n onRemove={handleRemove}\r\n {...rest}\r\n {...(accept !== undefined ? { accept } : {})}\r\n {...(disabled !== undefined ? { disabled } : {})}\r\n {...(maxSize !== undefined ? { maxSize } : {})}\r\n />\r\n </Field>\r\n );\r\n};\r\n\r\nexport default FormikFile;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
2
|
+
var _excluded = ["name", "label", "required", "disabled", "readOnly", "mono", "htmlFor", "hint"];
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
9
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
10
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
11
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
12
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
13
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
14
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
15
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
16
|
+
/**
|
|
17
|
+
* FormikInput — bridge between Formik state and v2.Field + v2.Input.
|
|
18
|
+
*
|
|
19
|
+
* Charter §03 / R-I.1 → R-I.6. Replaces the inline copy of this
|
|
20
|
+
* bridge that consumer modules previously duplicated.
|
|
21
|
+
*
|
|
22
|
+
* Peer dependency: `formik` >= 2.x must be installed in the host
|
|
23
|
+
* module. The lib does not bundle Formik.
|
|
24
|
+
*
|
|
25
|
+
* Usage:
|
|
26
|
+
*
|
|
27
|
+
* import { FormikInput } from "@portnet/ui/lib/v2";
|
|
28
|
+
*
|
|
29
|
+
* <FormikInput
|
|
30
|
+
* name="numeroRc"
|
|
31
|
+
* label="Numéro RC"
|
|
32
|
+
* required
|
|
33
|
+
* inputProps={{ maxLength: 20 }}
|
|
34
|
+
* />
|
|
35
|
+
*
|
|
36
|
+
* Error semantics: errors surface only after the field is
|
|
37
|
+
* touched (first blur). This matches Charter R-I.4 — do not
|
|
38
|
+
* shout at the user on every keystroke.
|
|
39
|
+
*
|
|
40
|
+
* ── `readOnly` vs `disabled` ─────────────────────────────────────────
|
|
41
|
+
*
|
|
42
|
+
* <FormikInput name="raison" label="Raison sociale" readOnly={isDetail} />
|
|
43
|
+
*
|
|
44
|
+
* `readOnly` renders the value through `FormikDisplay` — grey panel, no input
|
|
45
|
+
* chrome, selectable text. `disabled` keeps an input and greys it out.
|
|
46
|
+
*
|
|
47
|
+
* THE TWO ARE NOT INTERCHANGEABLE, and modules had only `disabled`. Consumers
|
|
48
|
+
* that reuse ONE form for create, edit AND consultation were therefore passing
|
|
49
|
+
* `disabled={readOnly}` on every field, so a detail page rendered ~100 greyed
|
|
50
|
+
* INPUTS. That is the wrong affordance: a disabled control means "temporarily
|
|
51
|
+
* unavailable, may become editable", not "this is information". Reported from
|
|
52
|
+
* amssnur-ui testing across its whole demande form.
|
|
53
|
+
*
|
|
54
|
+
* Note WCAG does NOT forbid the old behaviour — SC 1.4.3 exempts "text that is
|
|
55
|
+
* part of an inactive user interface component" from contrast requirements. So
|
|
56
|
+
* this is a Charter and affordance defect, not an accessibility violation. But
|
|
57
|
+
* `FormikDisplay` is measurably better anyway: its own audit records 7.52:1
|
|
58
|
+
* (AAA) for `--fg-muted` on `--bg-subtle`, against roughly 2.9:1 for MUI's
|
|
59
|
+
* disabled text.
|
|
60
|
+
*
|
|
61
|
+
* Why here and not in each module: `FormikDisplay` already existed and was
|
|
62
|
+
* already correct — nothing routed to it automatically, so every module had to
|
|
63
|
+
* branch by hand per field, and none did. The certified reference (`ms-ti-fe`)
|
|
64
|
+
* sidesteps the problem by building SEPARATE read-only components for its
|
|
65
|
+
* detail pages, which is a valid architecture but not one a module reusing a
|
|
66
|
+
* single form can adopt without a rewrite.
|
|
67
|
+
*
|
|
68
|
+
* `disabled` wins when both are passed: a field that is genuinely unavailable
|
|
69
|
+
* (dependency not yet chosen) must not be presented as settled information.
|
|
70
|
+
*/
|
|
71
|
+
|
|
72
|
+
import * as React from "react";
|
|
73
|
+
import { useField } from "formik";
|
|
74
|
+
import Field from "../components/Field";
|
|
75
|
+
import Input from "../components/Input";
|
|
76
|
+
import FormikDisplay from "../components/FormikDisplay";
|
|
77
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
78
|
+
var FormikInput = function FormikInput(_ref) {
|
|
79
|
+
var _field$value;
|
|
80
|
+
var name = _ref.name,
|
|
81
|
+
label = _ref.label,
|
|
82
|
+
required = _ref.required,
|
|
83
|
+
disabled = _ref.disabled,
|
|
84
|
+
readOnly = _ref.readOnly,
|
|
85
|
+
mono = _ref.mono,
|
|
86
|
+
htmlFor = _ref.htmlFor,
|
|
87
|
+
hint = _ref.hint,
|
|
88
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
89
|
+
var _useField = useField(name),
|
|
90
|
+
_useField2 = _slicedToArray(_useField, 2),
|
|
91
|
+
field = _useField2[0],
|
|
92
|
+
meta = _useField2[1];
|
|
93
|
+
var hasError = Boolean(meta.touched && meta.error);
|
|
94
|
+
|
|
95
|
+
/* Read-only display. `disabled` takes precedence deliberately — see header.
|
|
96
|
+
* `required` is dropped: an asterisk on information the user cannot supply is
|
|
97
|
+
* noise, and validation cannot fire on a field with no input. */
|
|
98
|
+
if (readOnly && !disabled) {
|
|
99
|
+
return /*#__PURE__*/_jsx(FormikDisplay, _objectSpread(_objectSpread({
|
|
100
|
+
name: name,
|
|
101
|
+
label: label
|
|
102
|
+
}, hint !== undefined ? {
|
|
103
|
+
hint: hint
|
|
104
|
+
} : {}), mono !== undefined ? {
|
|
105
|
+
mono: mono
|
|
106
|
+
} : {}));
|
|
107
|
+
}
|
|
108
|
+
return /*#__PURE__*/_jsx(Field, _objectSpread(_objectSpread(_objectSpread({
|
|
109
|
+
label: label,
|
|
110
|
+
error: hasError ? meta.error : null,
|
|
111
|
+
hint: !hasError ? hint : undefined,
|
|
112
|
+
htmlFor: htmlFor || name
|
|
113
|
+
}, required !== undefined ? {
|
|
114
|
+
required: required
|
|
115
|
+
} : {}), disabled !== undefined ? {
|
|
116
|
+
disabled: disabled
|
|
117
|
+
} : {}), {}, {
|
|
118
|
+
children: /*#__PURE__*/_jsx(Input, _objectSpread({
|
|
119
|
+
name: field.name,
|
|
120
|
+
value: (_field$value = field.value) !== null && _field$value !== void 0 ? _field$value : "",
|
|
121
|
+
onChange: field.onChange,
|
|
122
|
+
onBlur: field.onBlur
|
|
123
|
+
}, rest))
|
|
124
|
+
}));
|
|
125
|
+
};
|
|
126
|
+
export default FormikInput;
|
|
127
|
+
//# sourceMappingURL=FormikInput.js.map
|