@portnet/ui 6.0.0 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -0
- package/dist/esm/index.js +214 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +159 -0
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +143 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +265 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +248 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +380 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +332 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/esm/v2/__tests__/apiError.test.js +181 -0
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +146 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +230 -0
- package/dist/esm/v2/components/Accordion.js.map +1 -0
- package/dist/esm/v2/components/ActionStrip.js +146 -0
- package/dist/esm/v2/components/ActionStrip.js.map +1 -0
- package/dist/esm/v2/components/Banner.js +254 -0
- package/dist/esm/v2/components/Banner.js.map +1 -0
- package/dist/esm/v2/components/Busy.js +97 -0
- package/dist/esm/v2/components/Busy.js.map +1 -0
- package/dist/esm/v2/components/Button.js +114 -0
- package/dist/esm/v2/components/Button.js.map +1 -0
- package/dist/esm/v2/components/CategoryTag.js +81 -0
- package/dist/esm/v2/components/CategoryTag.js.map +1 -0
- package/dist/esm/v2/components/Checkbox.js +124 -0
- package/dist/esm/v2/components/Checkbox.js.map +1 -0
- package/dist/esm/v2/components/Chip.js +124 -0
- package/dist/esm/v2/components/Chip.js.map +1 -0
- package/dist/esm/v2/components/Combobox.js +394 -0
- package/dist/esm/v2/components/Combobox.js.map +1 -0
- package/dist/esm/v2/components/CommandPalette.js +660 -0
- package/dist/esm/v2/components/CommandPalette.js.map +1 -0
- package/dist/esm/v2/components/ConfirmDialog.js +144 -0
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/esm/v2/components/DatePicker.js +200 -0
- package/dist/esm/v2/components/DatePicker.js.map +1 -0
- package/dist/esm/v2/components/DateRangePicker.js +289 -0
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
- package/dist/esm/v2/components/DateTimePicker.js +215 -0
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
- package/dist/esm/v2/components/Drawer.js +333 -0
- package/dist/esm/v2/components/Drawer.js.map +1 -0
- package/dist/esm/v2/components/Dropzone.js +540 -0
- package/dist/esm/v2/components/Dropzone.js.map +1 -0
- package/dist/esm/v2/components/EmptyState.js +102 -0
- package/dist/esm/v2/components/EmptyState.js.map +1 -0
- package/dist/esm/v2/components/FavoriteToggle.js +127 -0
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/esm/v2/components/Field.js +259 -0
- package/dist/esm/v2/components/Field.js.map +1 -0
- package/dist/esm/v2/components/FieldError.js +124 -0
- package/dist/esm/v2/components/FieldError.js.map +1 -0
- package/dist/esm/v2/components/FieldHelp.js +202 -0
- package/dist/esm/v2/components/FieldHelp.js.map +1 -0
- package/dist/esm/v2/components/FileCard.js +162 -0
- package/dist/esm/v2/components/FileCard.js.map +1 -0
- package/dist/esm/v2/components/FilterTab.js +138 -0
- package/dist/esm/v2/components/FilterTab.js.map +1 -0
- package/dist/esm/v2/components/ForbiddenPage.js +74 -0
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/esm/v2/components/FormGrid.js +179 -0
- package/dist/esm/v2/components/FormGrid.js.map +1 -0
- package/dist/esm/v2/components/FormikDisplay.js +118 -0
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
- package/dist/esm/v2/components/Input.js +107 -0
- package/dist/esm/v2/components/Input.js.map +1 -0
- package/dist/esm/v2/components/KPICard.js +237 -0
- package/dist/esm/v2/components/KPICard.js.map +1 -0
- package/dist/esm/v2/components/KPIStrip.js +84 -0
- package/dist/esm/v2/components/KPIStrip.js.map +1 -0
- package/dist/esm/v2/components/KV.js +75 -0
- package/dist/esm/v2/components/KV.js.map +1 -0
- package/dist/esm/v2/components/KVGrid.js +74 -0
- package/dist/esm/v2/components/KVGrid.js.map +1 -0
- package/dist/esm/v2/components/Layout.js +284 -0
- package/dist/esm/v2/components/Layout.js.map +1 -0
- package/dist/esm/v2/components/MobileRowCard.js +314 -0
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
- package/dist/esm/v2/components/Modal.js +276 -0
- package/dist/esm/v2/components/Modal.js.map +1 -0
- package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/esm/v2/components/NotFoundPage.js +58 -0
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
- package/dist/esm/v2/components/NumberInput.js +309 -0
- package/dist/esm/v2/components/NumberInput.js.map +1 -0
- package/dist/esm/v2/components/OverflowMenu.js +184 -0
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
- package/dist/esm/v2/components/PdfViewer.js +122 -0
- package/dist/esm/v2/components/PdfViewer.js.map +1 -0
- package/dist/esm/v2/components/ProgressBar.js +202 -0
- package/dist/esm/v2/components/ProgressBar.js.map +1 -0
- package/dist/esm/v2/components/Radio.js +228 -0
- package/dist/esm/v2/components/Radio.js.map +1 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/esm/v2/components/SectionHeader.js +132 -0
- package/dist/esm/v2/components/SectionHeader.js.map +1 -0
- package/dist/esm/v2/components/Segmented.js +254 -0
- package/dist/esm/v2/components/Segmented.js.map +1 -0
- package/dist/esm/v2/components/Select.js +490 -0
- package/dist/esm/v2/components/Select.js.map +1 -0
- package/dist/esm/v2/components/ServerErrorPage.js +74 -0
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/esm/v2/components/Skeleton.js +269 -0
- package/dist/esm/v2/components/Skeleton.js.map +1 -0
- package/dist/esm/v2/components/SkipLink.js +49 -0
- package/dist/esm/v2/components/SkipLink.js.map +1 -0
- package/dist/esm/v2/components/Spinner.js +69 -0
- package/dist/esm/v2/components/Spinner.js.map +1 -0
- package/dist/esm/v2/components/Status.js +64 -0
- package/dist/esm/v2/components/Status.js.map +1 -0
- package/dist/esm/v2/components/Stepper.js +432 -0
- package/dist/esm/v2/components/Stepper.js.map +1 -0
- package/dist/esm/v2/components/Surface.js +159 -0
- package/dist/esm/v2/components/Surface.js.map +1 -0
- package/dist/esm/v2/components/Switch.js +128 -0
- package/dist/esm/v2/components/Switch.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +150 -0
- package/dist/esm/v2/components/Tabs.js.map +1 -0
- package/dist/esm/v2/components/TelInput.js +274 -0
- package/dist/esm/v2/components/TelInput.js.map +1 -0
- package/dist/esm/v2/components/Textarea.js +72 -0
- package/dist/esm/v2/components/Textarea.js.map +1 -0
- package/dist/esm/v2/components/TimePicker.js +134 -0
- package/dist/esm/v2/components/TimePicker.js.map +1 -0
- package/dist/esm/v2/components/Toast.js +376 -0
- package/dist/esm/v2/components/Toast.js.map +1 -0
- package/dist/esm/v2/components/Tooltip.js +161 -0
- package/dist/esm/v2/components/Tooltip.js.map +1 -0
- package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/esm/v2/components/_pickerShared.js +60 -0
- package/dist/esm/v2/components/_pickerShared.js.map +1 -0
- package/dist/esm/v2/components/index.js +271 -0
- package/dist/esm/v2/components/index.js.map +1 -0
- package/dist/esm/v2/hooks/index.js +10 -0
- package/dist/esm/v2/hooks/index.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/esm/v2/hooks/useDensity.js +119 -0
- package/dist/esm/v2/hooks/useDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useSortedRows.js +32 -0
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/esm/v2/hooks/useTabLoading.js +79 -0
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/esm/v2/index.js +132 -0
- package/dist/esm/v2/index.js.map +1 -0
- package/dist/esm/v2/modalContext.js +108 -0
- package/dist/esm/v2/modalContext.js.map +1 -0
- package/dist/esm/v2/models/favorite.js +2 -0
- package/dist/esm/v2/models/favorite.js.map +1 -0
- package/dist/esm/v2/models/index.js +12 -0
- package/dist/esm/v2/models/index.js.map +1 -0
- package/dist/esm/v2/models/personalization.js +2 -0
- package/dist/esm/v2/models/personalization.js.map +1 -0
- package/dist/esm/v2/models/referentiel.js +2 -0
- package/dist/esm/v2/models/referentiel.js.map +1 -0
- package/dist/esm/v2/models/savedFilter.js +2 -0
- package/dist/esm/v2/models/savedFilter.js.map +1 -0
- package/dist/esm/v2/patterns/ActionBar.js +603 -0
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/esm/v2/patterns/DataGrid.js +820 -0
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +117 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormPageShell.js +126 -0
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/FormSection.js +190 -0
- package/dist/esm/v2/patterns/FormSection.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js +140 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCombobox.js +118 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +162 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +150 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +148 -0
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
- package/dist/esm/v2/patterns/FormikInput.js +130 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js +141 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/FormikSelect.js +162 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +79 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +212 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/esm/v2/patterns/PageContent.js +62 -0
- package/dist/esm/v2/patterns/PageContent.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +615 -0
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +122 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/SortableHeader.js +179 -0
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/esm/v2/patterns/Tour.js +471 -0
- package/dist/esm/v2/patterns/Tour.js.map +1 -0
- package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js +74 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +112 -0
- package/dist/esm/v2/patterns/_sort.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +178 -0
- package/dist/esm/v2/patterns/index.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/index.js +11 -0
- package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +209 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +22 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/esm/v2/personalization/index.js +64 -0
- package/dist/esm/v2/personalization/index.js.map +1 -0
- package/dist/esm/v2/personalization/personalizationContext.js +108 -0
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/esm/v2/personalization/schema.js +92 -0
- package/dist/esm/v2/personalization/schema.js.map +1 -0
- package/dist/esm/v2/personalization/types.js +2 -0
- package/dist/esm/v2/personalization/types.js.map +1 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/esm/v2/referentiel/index.js +15 -0
- package/dist/esm/v2/referentiel/index.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/esm/v2/styles/base.css +425 -0
- package/dist/esm/v2/styles/css.d.ts +10 -0
- package/dist/esm/v2/styles/index.js +12 -0
- package/dist/esm/v2/styles/index.js.map +1 -0
- package/dist/esm/v2/theme/_brand.js +64 -0
- package/dist/esm/v2/theme/_brand.js.map +1 -0
- package/dist/esm/v2/theme/_brandSecondary.js +60 -0
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/esm/v2/theme/cssVariables.js +198 -0
- package/dist/esm/v2/theme/cssVariables.js.map +1 -0
- package/dist/esm/v2/theme/index.js +32 -0
- package/dist/esm/v2/theme/index.js.map +1 -0
- package/dist/esm/v2/tokens/breakpoints.js +106 -0
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +219 -0
- package/dist/esm/v2/tokens/colors.js.map +1 -0
- package/dist/esm/v2/tokens/density.js +98 -0
- package/dist/esm/v2/tokens/density.js.map +1 -0
- package/dist/esm/v2/tokens/index.js +80 -0
- package/dist/esm/v2/tokens/index.js.map +1 -0
- package/dist/esm/v2/tokens/motion.js +88 -0
- package/dist/esm/v2/tokens/motion.js.map +1 -0
- package/dist/esm/v2/tokens/radius.js +22 -0
- package/dist/esm/v2/tokens/radius.js.map +1 -0
- package/dist/esm/v2/tokens/shadows.js +40 -0
- package/dist/esm/v2/tokens/shadows.js.map +1 -0
- package/dist/esm/v2/tokens/spacing.js +51 -0
- package/dist/esm/v2/tokens/spacing.js.map +1 -0
- package/dist/esm/v2/tokens/state.js +41 -0
- package/dist/esm/v2/tokens/state.js.map +1 -0
- package/dist/esm/v2/tokens/statusPalette.js +66 -0
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
- package/dist/esm/v2/tokens/tokens.json +153 -0
- package/dist/esm/v2/tokens/typography.js +149 -0
- package/dist/esm/v2/tokens/typography.js.map +1 -0
- package/dist/esm/v2/tokens/zIndex.js +44 -0
- package/dist/esm/v2/tokens/zIndex.js.map +1 -0
- package/dist/esm/v2/types/common.js +2 -0
- package/dist/esm/v2/types/common.js.map +1 -0
- package/dist/esm/v2/types/datagrid.js +2 -0
- package/dist/esm/v2/types/datagrid.js.map +1 -0
- package/dist/esm/v2/types/index.js +12 -0
- package/dist/esm/v2/types/index.js.map +1 -0
- package/dist/esm/v2/utils/apiError.js +281 -0
- package/dist/esm/v2/utils/apiError.js.map +1 -0
- package/dist/esm/v2/utils/contrast.js +157 -0
- package/dist/esm/v2/utils/contrast.js.map +1 -0
- package/dist/esm/v2/utils/cx.js +38 -0
- package/dist/esm/v2/utils/cx.js.map +1 -0
- package/dist/esm/v2/utils/fileDownload.js +226 -0
- package/dist/esm/v2/utils/fileDownload.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +78 -0
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
- package/dist/esm/v2/utils/index.js +43 -0
- package/dist/esm/v2/utils/index.js.map +1 -0
- package/dist/esm/v2/utils/mergeLabels.js +86 -0
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
- package/dist/esm/v2/utils/networkStatus.js +114 -0
- package/dist/esm/v2/utils/networkStatus.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/FieldError.test.js +160 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +150 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +144 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js +268 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +247 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +381 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +52 -56
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +20 -24
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/components/Accordion.d.ts +6 -6
- package/dist/v2/components/Accordion.d.ts.map +1 -1
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.d.ts +12 -12
- package/dist/v2/components/ActionStrip.d.ts.map +1 -1
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.d.ts +48 -9
- package/dist/v2/components/Banner.d.ts.map +1 -1
- package/dist/v2/components/Banner.js +116 -35
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.d.ts +3 -3
- package/dist/v2/components/Busy.d.ts.map +1 -1
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.d.ts +6 -6
- package/dist/v2/components/Button.d.ts.map +1 -1
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts +3 -3
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.d.ts +11 -11
- package/dist/v2/components/Checkbox.d.ts.map +1 -1
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.d.ts +8 -8
- package/dist/v2/components/Chip.d.ts.map +1 -1
- package/dist/v2/components/Chip.js +2 -1
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.d.ts +27 -27
- package/dist/v2/components/Combobox.d.ts.map +1 -1
- package/dist/v2/components/Combobox.js +3 -2
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.d.ts +20 -20
- package/dist/v2/components/CommandPalette.d.ts.map +1 -1
- package/dist/v2/components/CommandPalette.js +2 -6
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.d.ts +13 -13
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +2 -1
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.d.ts +11 -11
- package/dist/v2/components/DatePicker.d.ts.map +1 -1
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.d.ts +16 -16
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
- package/dist/v2/components/DateRangePicker.js +2 -1
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts +11 -11
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +37 -4
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts +18 -18
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +2 -1
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.d.ts +34 -34
- package/dist/v2/components/Dropzone.d.ts.map +1 -1
- package/dist/v2/components/Dropzone.js +11 -3
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.d.ts +7 -7
- package/dist/v2/components/EmptyState.d.ts.map +1 -1
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.d.ts +7 -7
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +2 -1
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +76 -13
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +87 -9
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.d.ts +78 -0
- package/dist/v2/components/FieldError.d.ts.map +1 -0
- package/dist/v2/components/FieldError.js +131 -0
- package/dist/v2/components/FieldError.js.map +1 -0
- package/dist/v2/components/FieldHelp.d.ts +7 -7
- package/dist/v2/components/FieldHelp.d.ts.map +1 -1
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.d.ts +75 -0
- package/dist/v2/components/FileCard.d.ts.map +1 -0
- package/dist/v2/components/FileCard.js +169 -0
- package/dist/v2/components/FileCard.js.map +1 -0
- package/dist/v2/components/FilterTab.d.ts +9 -9
- package/dist/v2/components/FilterTab.d.ts.map +1 -1
- package/dist/v2/components/FilterTab.js +2 -1
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/FormGrid.d.ts +9 -4
- package/dist/v2/components/FormGrid.d.ts.map +1 -1
- package/dist/v2/components/FormGrid.js +11 -1
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +6 -6
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +6 -6
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.d.ts +43 -13
- package/dist/v2/components/KPICard.d.ts.map +1 -1
- package/dist/v2/components/KPICard.js +53 -14
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.d.ts +68 -0
- package/dist/v2/components/KPIStrip.d.ts.map +1 -0
- package/dist/v2/components/KPIStrip.js +92 -0
- package/dist/v2/components/KPIStrip.js.map +1 -0
- package/dist/v2/components/KV.d.ts +3 -3
- package/dist/v2/components/KV.d.ts.map +1 -1
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.d.ts +2 -2
- package/dist/v2/components/KVGrid.d.ts.map +1 -1
- package/dist/v2/components/KVGrid.js +8 -1
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.d.ts +7 -7
- package/dist/v2/components/Layout.d.ts.map +1 -1
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.d.ts +13 -13
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.d.ts +12 -12
- package/dist/v2/components/Modal.d.ts.map +1 -1
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NumberInput.d.ts +14 -14
- package/dist/v2/components/NumberInput.d.ts.map +1 -1
- package/dist/v2/components/NumberInput.js +7 -6
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.d.ts +14 -14
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
- package/dist/v2/components/OverflowMenu.js +4 -8
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.d.ts +9 -9
- package/dist/v2/components/PdfViewer.d.ts.map +1 -1
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.d.ts +10 -10
- package/dist/v2/components/ProgressBar.d.ts.map +1 -1
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.d.ts +7 -7
- package/dist/v2/components/Radio.d.ts.map +1 -1
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
- package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
- package/dist/v2/components/SectionErrorBoundary.js +221 -0
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/v2/components/SectionHeader.d.ts +5 -5
- package/dist/v2/components/SectionHeader.d.ts.map +1 -1
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.d.ts +11 -11
- package/dist/v2/components/Segmented.d.ts.map +1 -1
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +33 -15
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +147 -30
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.d.ts +15 -15
- package/dist/v2/components/Skeleton.d.ts.map +1 -1
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.d.ts +2 -2
- package/dist/v2/components/SkipLink.d.ts.map +1 -1
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Status.d.ts +3 -3
- package/dist/v2/components/Status.d.ts.map +1 -1
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.d.ts +28 -22
- package/dist/v2/components/Stepper.d.ts.map +1 -1
- package/dist/v2/components/Stepper.js +31 -5
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.d.ts +94 -0
- package/dist/v2/components/Surface.d.ts.map +1 -0
- package/dist/v2/components/Surface.js +163 -0
- package/dist/v2/components/Surface.js.map +1 -0
- package/dist/v2/components/Switch.d.ts +4 -4
- package/dist/v2/components/Switch.d.ts.map +1 -1
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/Tabs.d.ts +6 -6
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.d.ts +8 -8
- package/dist/v2/components/TelInput.d.ts.map +1 -1
- package/dist/v2/components/TelInput.js +18 -18
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.d.ts +1 -1
- package/dist/v2/components/Textarea.d.ts.map +1 -1
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.d.ts +11 -11
- package/dist/v2/components/TimePicker.d.ts.map +1 -1
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.d.ts +6 -6
- package/dist/v2/components/Toast.d.ts.map +1 -1
- package/dist/v2/components/Toast.js +9 -8
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.d.ts +1 -1
- package/dist/v2/components/Tooltip.d.ts.map +1 -1
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/index.d.ts +170 -0
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +35 -0
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +1 -1
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +13 -13
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +11 -11
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -8
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.d.ts +33 -33
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/ActionBar.js +2 -1
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/BulkActionBar.js +2 -1
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +4 -8
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +2 -1
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.d.ts +15 -15
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +14 -61
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +2 -1
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.d.ts +4 -4
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +19 -8
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +106 -71
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +147 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +18 -12
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +5 -2
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +48 -8
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +58 -65
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
- package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDateTimePicker.js +158 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikFile.d.ts +8 -8
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +51 -6
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +53 -2
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
- package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikRadioGroup.js +148 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +41 -12
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +32 -3
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +14 -6
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +5 -2
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +21 -8
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +27 -14
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.d.ts +3 -3
- package/dist/v2/patterns/PageContent.d.ts.map +1 -1
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/ReferentielField.d.ts +49 -49
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +2 -1
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +92 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +9 -8
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.d.ts +12 -12
- package/dist/v2/patterns/Tour.d.ts.map +1 -1
- package/dist/v2/patterns/Tour.js +9 -8
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +37 -3
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +81 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/index.d.ts +114 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +34 -0
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +215 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +6 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +13 -0
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +18 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +13 -0
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/schema.d.ts +2 -2
- package/dist/v2/personalization/schema.d.ts.map +1 -1
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/personalization/types.d.ts +19 -19
- package/dist/v2/personalization/types.d.ts.map +1 -1
- package/dist/v2/personalization/types.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +25 -1
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +59 -59
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/utils/apiError.d.ts +65 -4
- package/dist/v2/utils/apiError.d.ts.map +1 -1
- package/dist/v2/utils/apiError.js +69 -6
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/index.d.ts +1 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +7 -0
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.d.ts +59 -0
- package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
- package/dist/v2/utils/mergeLabels.js +93 -0
- package/dist/v2/utils/mergeLabels.js.map +1 -0
- package/package.json +23 -15
|
@@ -0,0 +1,274 @@
|
|
|
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 = ["value", "onChange", "defaultCountry", "preferredCountries", "disabled", "readOnly", "error", "id", "placeholder", "fullWidth", "labels", "aria-describedby", "aria-invalid", "aria-required"];
|
|
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
|
+
import * as React from "react";
|
|
17
|
+
import { AsYouType, parsePhoneNumber, getCountries, getCountryCallingCode, isSupportedCountry } from "libphonenumber-js";
|
|
18
|
+
import Combobox from "./Combobox";
|
|
19
|
+
import Input from "./Input";
|
|
20
|
+
import { mergeLabels } from "../utils/mergeLabels";
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* TelInput — Portnet UI v2
|
|
24
|
+
*
|
|
25
|
+
* Charter §03 · International phone-number field. Full-international successor to
|
|
26
|
+
* the removed `mui-tel-input`. Composes a searchable country Combobox + a national
|
|
27
|
+
* number Input, backed by libphonenumber-js for calling codes, as-you-type
|
|
28
|
+
* formatting, and per-country validation.
|
|
29
|
+
*
|
|
30
|
+
* CONTROLLED by the full E.164 `value` string; re-emits on every change:
|
|
31
|
+
*
|
|
32
|
+
* <Field label="Téléphone">
|
|
33
|
+
* <TelInput
|
|
34
|
+
* value={phone}
|
|
35
|
+
* onChange={(value, info) => setPhone(info.numberValue)}
|
|
36
|
+
* defaultCountry="MA"
|
|
37
|
+
* />
|
|
38
|
+
* </Field>
|
|
39
|
+
*
|
|
40
|
+
* onChange(value, info):
|
|
41
|
+
* value E.164 string ("+212612345678") or "" when empty/incomplete
|
|
42
|
+
* info.countryCode selected ISO-3166-1 alpha-2 (e.g. "MA")
|
|
43
|
+
* info.callingCode numeric calling code, no "+" (e.g. "212")
|
|
44
|
+
* info.nationalNumber national significant number (digits only)
|
|
45
|
+
* info.numberValue === value — matches the mui-tel-input contract
|
|
46
|
+
* info.isValid libphonenumber-js full validity for the country
|
|
47
|
+
*
|
|
48
|
+
* The selected country's calling code is always shown as a fixed prefix on the
|
|
49
|
+
* number input (this is the old `forceCallingCode` behaviour, now the default in
|
|
50
|
+
* the two-control layout). Wrap in <Field> for label / error / aria binding.
|
|
51
|
+
*
|
|
52
|
+
* Localisation (FR / EN / AR):
|
|
53
|
+
* Pass `labels` to override the country selector's aria-label and the
|
|
54
|
+
* dropdown "no results" text. Defaults are French.
|
|
55
|
+
*
|
|
56
|
+
* A11y: <Field> injects id / aria-describedby / aria-invalid / aria-required onto
|
|
57
|
+
* this component. They are routed to the national Input's <input> via inputProps
|
|
58
|
+
* (the label-associated control where the hint/error must be announced); the
|
|
59
|
+
* country Combobox additionally references the same describedby.
|
|
60
|
+
*/
|
|
61
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
62
|
+
var REGIONAL_INDICATOR_BASE = 0x1f1e6; // 🇦
|
|
63
|
+
var A_CHAR = "A".charCodeAt(0);
|
|
64
|
+
|
|
65
|
+
// Emoji flag from an ISO-3166-1 alpha-2 country code (zero-dependency).
|
|
66
|
+
function flagEmoji(country) {
|
|
67
|
+
if (!country || country.length !== 2) return "";
|
|
68
|
+
var cc = country.toUpperCase();
|
|
69
|
+
return String.fromCodePoint(REGIONAL_INDICATOR_BASE + (cc.charCodeAt(0) - A_CHAR)) + String.fromCodePoint(REGIONAL_INDICATOR_BASE + (cc.charCodeAt(1) - A_CHAR));
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
// Localized (French) region name, memoized, with a graceful fallback to the code.
|
|
73
|
+
var regionNames = null;
|
|
74
|
+
function countryName(country) {
|
|
75
|
+
if (typeof Intl !== "undefined" && typeof Intl.DisplayNames === "function") {
|
|
76
|
+
try {
|
|
77
|
+
var _regionNames;
|
|
78
|
+
var rn = (_regionNames = regionNames) !== null && _regionNames !== void 0 ? _regionNames : regionNames = new Intl.DisplayNames(["fr"], {
|
|
79
|
+
type: "region"
|
|
80
|
+
});
|
|
81
|
+
return rn.of(country) || country;
|
|
82
|
+
} catch (_unused) {
|
|
83
|
+
return country;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
return country;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
// Every supported country as a Combobox option, sorted by FR name (preferred
|
|
90
|
+
// countries floated to the top). Returns clean { value, label } objects.
|
|
91
|
+
function buildCountryOptions(preferred) {
|
|
92
|
+
var preferredSet = new Set((preferred || []).map(function (c) {
|
|
93
|
+
return c.toUpperCase();
|
|
94
|
+
}));
|
|
95
|
+
var rows = getCountries().map(function (c) {
|
|
96
|
+
return {
|
|
97
|
+
value: c,
|
|
98
|
+
label: "".concat(flagEmoji(c), " ").concat(countryName(c), " (+").concat(getCountryCallingCode(c), ")"),
|
|
99
|
+
name: countryName(c),
|
|
100
|
+
preferred: preferredSet.has(c)
|
|
101
|
+
};
|
|
102
|
+
});
|
|
103
|
+
rows.sort(function (a, b) {
|
|
104
|
+
if (a.preferred !== b.preferred) return a.preferred ? -1 : 1;
|
|
105
|
+
return a.name.localeCompare(b.name, "fr");
|
|
106
|
+
});
|
|
107
|
+
return rows.map(function (_ref) {
|
|
108
|
+
var value = _ref.value,
|
|
109
|
+
label = _ref.label;
|
|
110
|
+
return {
|
|
111
|
+
value: value,
|
|
112
|
+
label: label
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
function callingCodeOf(country) {
|
|
117
|
+
try {
|
|
118
|
+
return getCountryCallingCode(country);
|
|
119
|
+
} catch (_unused2) {
|
|
120
|
+
return "";
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
// Derive the E.164 + info object for a (country, national text) pair.
|
|
124
|
+
function computeNumber(country, nationalText) {
|
|
125
|
+
var ayt = new AsYouType(country);
|
|
126
|
+
var formatted = ayt.input(nationalText || "");
|
|
127
|
+
var num = ayt.getNumber();
|
|
128
|
+
return {
|
|
129
|
+
formatted: formatted,
|
|
130
|
+
info: {
|
|
131
|
+
countryCode: country,
|
|
132
|
+
callingCode: callingCodeOf(country),
|
|
133
|
+
nationalNumber: num ? num.nationalNumber : (nationalText || "").replace(/\D/g, ""),
|
|
134
|
+
numberValue: num ? num.number : "",
|
|
135
|
+
isValid: num ? num.isValid() : false
|
|
136
|
+
}
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
var DEFAULT_TEL_LABELS = Object.freeze({
|
|
140
|
+
countryAriaLabel: "Indicatif pays",
|
|
141
|
+
noCountryFound: "Aucun pays trouvé"
|
|
142
|
+
});
|
|
143
|
+
function TelInput(_ref2) {
|
|
144
|
+
var _ref2$value = _ref2.value,
|
|
145
|
+
value = _ref2$value === void 0 ? "" : _ref2$value,
|
|
146
|
+
onChange = _ref2.onChange,
|
|
147
|
+
_ref2$defaultCountry = _ref2.defaultCountry,
|
|
148
|
+
defaultCountry = _ref2$defaultCountry === void 0 ? "MA" : _ref2$defaultCountry,
|
|
149
|
+
preferredCountries = _ref2.preferredCountries,
|
|
150
|
+
_ref2$disabled = _ref2.disabled,
|
|
151
|
+
disabled = _ref2$disabled === void 0 ? false : _ref2$disabled,
|
|
152
|
+
_ref2$readOnly = _ref2.readOnly,
|
|
153
|
+
readOnly = _ref2$readOnly === void 0 ? false : _ref2$readOnly,
|
|
154
|
+
_ref2$error = _ref2.error,
|
|
155
|
+
error = _ref2$error === void 0 ? false : _ref2$error,
|
|
156
|
+
id = _ref2.id,
|
|
157
|
+
placeholder = _ref2.placeholder,
|
|
158
|
+
_ref2$fullWidth = _ref2.fullWidth,
|
|
159
|
+
fullWidth = _ref2$fullWidth === void 0 ? true : _ref2$fullWidth,
|
|
160
|
+
labels = _ref2.labels,
|
|
161
|
+
ariaDescribedBy = _ref2["aria-describedby"],
|
|
162
|
+
ariaInvalid = _ref2["aria-invalid"],
|
|
163
|
+
ariaRequired = _ref2["aria-required"],
|
|
164
|
+
rest = _objectWithoutProperties(_ref2, _excluded);
|
|
165
|
+
var safeDefault = defaultCountry && isSupportedCountry(defaultCountry) ? defaultCountry : "MA";
|
|
166
|
+
var L = mergeLabels(DEFAULT_TEL_LABELS, labels);
|
|
167
|
+
var _React$useState = React.useState(safeDefault),
|
|
168
|
+
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
169
|
+
country = _React$useState2[0],
|
|
170
|
+
setCountry = _React$useState2[1];
|
|
171
|
+
var _React$useState3 = React.useState(""),
|
|
172
|
+
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
173
|
+
national = _React$useState4[0],
|
|
174
|
+
setNational = _React$useState4[1];
|
|
175
|
+
var countryOptions = React.useMemo(function () {
|
|
176
|
+
return buildCountryOptions(preferredCountries);
|
|
177
|
+
}, [preferredCountries]);
|
|
178
|
+
var callingCode = React.useMemo(function () {
|
|
179
|
+
return callingCodeOf(country);
|
|
180
|
+
}, [country]);
|
|
181
|
+
|
|
182
|
+
// Sync internal state from an external `value` (E.164). Guarded so our own
|
|
183
|
+
// emitted updates don't clobber what the user is typing.
|
|
184
|
+
React.useEffect(function () {
|
|
185
|
+
var incoming = value || "";
|
|
186
|
+
var current = computeNumber(country, national).info.numberValue;
|
|
187
|
+
if (incoming === current) return; // our own round-trip — nothing to do
|
|
188
|
+
if (!incoming) {
|
|
189
|
+
setNational("");
|
|
190
|
+
return;
|
|
191
|
+
}
|
|
192
|
+
try {
|
|
193
|
+
var parsed = parsePhoneNumber(incoming);
|
|
194
|
+
if (parsed) {
|
|
195
|
+
if (parsed.country && parsed.country !== country) {
|
|
196
|
+
setCountry(parsed.country);
|
|
197
|
+
}
|
|
198
|
+
setNational(parsed.formatNational());
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
201
|
+
} catch (_unused3) {
|
|
202
|
+
/* unparseable — fall through */
|
|
203
|
+
}
|
|
204
|
+
setNational(incoming);
|
|
205
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
206
|
+
}, [value]);
|
|
207
|
+
var emit = function emit(ctry, nationalText) {
|
|
208
|
+
var _computeNumber = computeNumber(ctry, nationalText),
|
|
209
|
+
formatted = _computeNumber.formatted,
|
|
210
|
+
info = _computeNumber.info;
|
|
211
|
+
setNational(formatted);
|
|
212
|
+
onChange === null || onChange === void 0 ? void 0 : onChange(info.numberValue, info);
|
|
213
|
+
};
|
|
214
|
+
var handleCountryChange = function handleCountryChange(val) {
|
|
215
|
+
var next = val || safeDefault;
|
|
216
|
+
setCountry(next);
|
|
217
|
+
emit(next, national);
|
|
218
|
+
};
|
|
219
|
+
var handleNumberChange = function handleNumberChange(e) {
|
|
220
|
+
emit(country, e.target.value);
|
|
221
|
+
};
|
|
222
|
+
return /*#__PURE__*/_jsxs("div", {
|
|
223
|
+
style: _objectSpread({
|
|
224
|
+
display: "flex",
|
|
225
|
+
gap: "var(--s-2)",
|
|
226
|
+
alignItems: "flex-start"
|
|
227
|
+
}, fullWidth ? {
|
|
228
|
+
width: "100%"
|
|
229
|
+
} : {}),
|
|
230
|
+
children: [/*#__PURE__*/_jsx("div", {
|
|
231
|
+
style: {
|
|
232
|
+
flex: "0 0 40%",
|
|
233
|
+
minWidth: "9rem"
|
|
234
|
+
},
|
|
235
|
+
children: /*#__PURE__*/_jsx(Combobox, {
|
|
236
|
+
options: countryOptions,
|
|
237
|
+
value: country,
|
|
238
|
+
onChange: handleCountryChange,
|
|
239
|
+
disabled: disabled || readOnly,
|
|
240
|
+
error: error,
|
|
241
|
+
"aria-label": L.countryAriaLabel,
|
|
242
|
+
"aria-describedby": ariaDescribedBy,
|
|
243
|
+
labels: {
|
|
244
|
+
noOptions: L.noCountryFound
|
|
245
|
+
}
|
|
246
|
+
})
|
|
247
|
+
}), /*#__PURE__*/_jsx("div", {
|
|
248
|
+
style: {
|
|
249
|
+
flex: "1 1 auto"
|
|
250
|
+
},
|
|
251
|
+
children: /*#__PURE__*/_jsx(Input, _objectSpread({
|
|
252
|
+
id: id,
|
|
253
|
+
type: "tel",
|
|
254
|
+
value: national,
|
|
255
|
+
onChange: handleNumberChange,
|
|
256
|
+
disabled: disabled,
|
|
257
|
+
readOnly: readOnly,
|
|
258
|
+
error: error,
|
|
259
|
+
fullWidth: true,
|
|
260
|
+
placeholder: placeholder,
|
|
261
|
+
prefix: callingCode ? "+".concat(callingCode) : undefined,
|
|
262
|
+
inputProps: {
|
|
263
|
+
inputMode: "tel",
|
|
264
|
+
autoComplete: "tel-national",
|
|
265
|
+
"aria-describedby": ariaDescribedBy,
|
|
266
|
+
"aria-invalid": ariaInvalid,
|
|
267
|
+
"aria-required": ariaRequired
|
|
268
|
+
}
|
|
269
|
+
}, rest))
|
|
270
|
+
})]
|
|
271
|
+
});
|
|
272
|
+
}
|
|
273
|
+
export default TelInput;
|
|
274
|
+
//# sourceMappingURL=TelInput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TelInput.js","names":["React","AsYouType","parsePhoneNumber","getCountries","getCountryCallingCode","isSupportedCountry","Combobox","Input","mergeLabels","jsx","_jsx","jsxs","_jsxs","REGIONAL_INDICATOR_BASE","A_CHAR","charCodeAt","flagEmoji","country","length","cc","toUpperCase","String","fromCodePoint","regionNames","countryName","Intl","DisplayNames","_regionNames","rn","type","of","_unused","buildCountryOptions","preferred","preferredSet","Set","map","c","rows","value","label","concat","name","has","sort","a","b","localeCompare","_ref","callingCodeOf","_unused2","computeNumber","nationalText","ayt","formatted","input","num","getNumber","info","countryCode","callingCode","nationalNumber","replace","numberValue","number","isValid","DEFAULT_TEL_LABELS","Object","freeze","countryAriaLabel","noCountryFound","TelInput","_ref2","_ref2$value","onChange","_ref2$defaultCountry","defaultCountry","preferredCountries","_ref2$disabled","disabled","_ref2$readOnly","readOnly","_ref2$error","error","id","placeholder","_ref2$fullWidth","fullWidth","labels","ariaDescribedBy","ariaInvalid","ariaRequired","rest","_objectWithoutProperties","_excluded","safeDefault","L","_React$useState","useState","_React$useState2","_slicedToArray","setCountry","_React$useState3","_React$useState4","national","setNational","countryOptions","useMemo","useEffect","incoming","current","parsed","formatNational","_unused3","emit","ctry","_computeNumber","handleCountryChange","val","next","handleNumberChange","e","target","style","_objectSpread","display","gap","alignItems","width","children","flex","minWidth","options","noOptions","prefix","undefined","inputProps","inputMode","autoComplete"],"sources":["../../../../src/lib/v2/components/TelInput.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport {\r\n AsYouType,\r\n parsePhoneNumber,\r\n getCountries,\r\n getCountryCallingCode,\r\n isSupportedCountry,\r\n} from \"libphonenumber-js\";\r\nimport type { CountryCode } from \"libphonenumber-js\";\r\nimport Combobox from \"./Combobox\";\r\nimport type { ComboboxValue } from \"./Combobox\";\r\nimport Input from \"./Input\";\r\nimport type { InputProps } from \"./Input\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * TelInput — Portnet UI v2\r\n *\r\n * Charter §03 · International phone-number field. Full-international successor to\r\n * the removed `mui-tel-input`. Composes a searchable country Combobox + a national\r\n * number Input, backed by libphonenumber-js for calling codes, as-you-type\r\n * formatting, and per-country validation.\r\n *\r\n * CONTROLLED by the full E.164 `value` string; re-emits on every change:\r\n *\r\n * <Field label=\"Téléphone\">\r\n * <TelInput\r\n * value={phone}\r\n * onChange={(value, info) => setPhone(info.numberValue)}\r\n * defaultCountry=\"MA\"\r\n * />\r\n * </Field>\r\n *\r\n * onChange(value, info):\r\n * value E.164 string (\"+212612345678\") or \"\" when empty/incomplete\r\n * info.countryCode selected ISO-3166-1 alpha-2 (e.g. \"MA\")\r\n * info.callingCode numeric calling code, no \"+\" (e.g. \"212\")\r\n * info.nationalNumber national significant number (digits only)\r\n * info.numberValue === value — matches the mui-tel-input contract\r\n * info.isValid libphonenumber-js full validity for the country\r\n *\r\n * The selected country's calling code is always shown as a fixed prefix on the\r\n * number input (this is the old `forceCallingCode` behaviour, now the default in\r\n * the two-control layout). Wrap in <Field> for label / error / aria binding.\r\n *\r\n * Localisation (FR / EN / AR):\r\n * Pass `labels` to override the country selector's aria-label and the\r\n * dropdown \"no results\" text. Defaults are French.\r\n *\r\n * A11y: <Field> injects id / aria-describedby / aria-invalid / aria-required onto\r\n * this component. They are routed to the national Input's <input> via inputProps\r\n * (the label-associated control where the hint/error must be announced); the\r\n * country Combobox additionally references the same describedby.\r\n */\r\n\r\nconst REGIONAL_INDICATOR_BASE = 0x1f1e6; // 🇦\r\nconst A_CHAR = \"A\".charCodeAt(0);\r\n\r\n// Emoji flag from an ISO-3166-1 alpha-2 country code (zero-dependency).\r\nfunction flagEmoji(country: string): string {\r\n if (!country || country.length !== 2) return \"\";\r\n const cc = country.toUpperCase();\r\n return (\r\n String.fromCodePoint(REGIONAL_INDICATOR_BASE + (cc.charCodeAt(0) - A_CHAR)) +\r\n String.fromCodePoint(REGIONAL_INDICATOR_BASE + (cc.charCodeAt(1) - A_CHAR))\r\n );\r\n}\r\n\r\n// Localized (French) region name, memoized, with a graceful fallback to the code.\r\nlet regionNames: Intl.DisplayNames | null = null;\r\nfunction countryName(country: string): string {\r\n if (typeof Intl !== \"undefined\" && typeof Intl.DisplayNames === \"function\") {\r\n try {\r\n const rn = regionNames ?? (regionNames = new Intl.DisplayNames([\"fr\"], { type: \"region\" }));\r\n return rn.of(country) || country;\r\n } catch {\r\n return country;\r\n }\r\n }\r\n return country;\r\n}\r\n\r\n// Every supported country as a Combobox option, sorted by FR name (preferred\r\n// countries floated to the top). Returns clean { value, label } objects.\r\nfunction buildCountryOptions(\r\n preferred: readonly string[] | undefined\r\n): Array<{ value: CountryCode; label: string }> {\r\n const preferredSet = new Set((preferred || []).map((c) => c.toUpperCase()));\r\n const rows = getCountries().map((c) => ({\r\n value: c,\r\n label: `${flagEmoji(c)} ${countryName(c)} (+${getCountryCallingCode(c)})`,\r\n name: countryName(c),\r\n preferred: preferredSet.has(c),\r\n }));\r\n rows.sort((a, b) => {\r\n if (a.preferred !== b.preferred) return a.preferred ? -1 : 1;\r\n return a.name.localeCompare(b.name, \"fr\");\r\n });\r\n return rows.map(({ value, label }) => ({ value, label }));\r\n}\r\n\r\nfunction callingCodeOf(country: CountryCode): string {\r\n try {\r\n return getCountryCallingCode(country);\r\n } catch {\r\n return \"\";\r\n }\r\n}\r\n\r\nexport interface TelInputChangeInfo {\r\n countryCode: CountryCode;\r\n callingCode: string;\r\n nationalNumber: string;\r\n numberValue: string;\r\n isValid: boolean;\r\n}\r\n\r\n// Derive the E.164 + info object for a (country, national text) pair.\r\nfunction computeNumber(\r\n country: CountryCode,\r\n nationalText: string\r\n): { formatted: string; info: TelInputChangeInfo } {\r\n const ayt = new AsYouType(country);\r\n const formatted = ayt.input(nationalText || \"\");\r\n const num = ayt.getNumber();\r\n return {\r\n formatted,\r\n info: {\r\n countryCode: country,\r\n callingCode: callingCodeOf(country),\r\n nationalNumber: num\r\n ? num.nationalNumber\r\n : (nationalText || \"\").replace(/\\D/g, \"\"),\r\n numberValue: num ? num.number : \"\",\r\n isValid: num ? num.isValid() : false,\r\n },\r\n };\r\n}\r\n\r\nexport interface TelInputLabels {\r\n /** aria-label on the country selector combobox. */\r\n countryAriaLabel?: string | undefined;\r\n /** \"no results\" text shown in the country dropdown. */\r\n noCountryFound?: string | undefined;\r\n}\r\n\r\nexport interface TelInputProps\r\n extends Omit<InputProps, \"value\" | \"onChange\" | \"error\"> {\r\n /** Full E.164 phone number, e.g. \"+212612345678\". Controlled. */\r\n value?: string | undefined;\r\n /** (value: string, info) => void. info.numberValue is the E.164. */\r\n onChange?: ((value: string, info: TelInputChangeInfo) => void) | undefined;\r\n /** ISO-3166-1 alpha-2 fallback country when value carries no country. */\r\n defaultCountry?: CountryCode | undefined;\r\n /** ISO-2 codes floated to the top of the country list. */\r\n preferredCountries?: string[] | undefined;\r\n /** Boolean error state (injected by <Field>). */\r\n error?: boolean | undefined;\r\n /** Localisation overrides for the country selector (FR defaults). */\r\n labels?: TelInputLabels | undefined;\r\n}\r\n\r\nconst DEFAULT_TEL_LABELS = Object.freeze({\r\n countryAriaLabel: \"Indicatif pays\",\r\n noCountryFound: \"Aucun pays trouvé\",\r\n});\r\n\r\nfunction TelInput({\r\n value = \"\",\r\n onChange,\r\n defaultCountry = \"MA\",\r\n preferredCountries,\r\n disabled = false,\r\n readOnly = false,\r\n error = false,\r\n id,\r\n placeholder,\r\n fullWidth = true,\r\n labels,\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n ...rest\r\n}: TelInputProps) {\r\n const safeDefault =\r\n defaultCountry && isSupportedCountry(defaultCountry) ? defaultCountry : \"MA\";\r\n\r\n const L = mergeLabels(DEFAULT_TEL_LABELS, labels);\r\n\r\n const [country, setCountry] = React.useState<CountryCode>(safeDefault);\r\n const [national, setNational] = React.useState(\"\");\r\n\r\n const countryOptions = React.useMemo(\r\n () => buildCountryOptions(preferredCountries),\r\n [preferredCountries]\r\n );\r\n\r\n const callingCode = React.useMemo(() => callingCodeOf(country), [country]);\r\n\r\n // Sync internal state from an external `value` (E.164). Guarded so our own\r\n // emitted updates don't clobber what the user is typing.\r\n React.useEffect(() => {\r\n const incoming = value || \"\";\r\n const current = computeNumber(country, national).info.numberValue;\r\n if (incoming === current) return; // our own round-trip — nothing to do\r\n if (!incoming) {\r\n setNational(\"\");\r\n return;\r\n }\r\n try {\r\n const parsed = parsePhoneNumber(incoming);\r\n if (parsed) {\r\n if (parsed.country && parsed.country !== country) {\r\n setCountry(parsed.country);\r\n }\r\n setNational(parsed.formatNational());\r\n return;\r\n }\r\n } catch {\r\n /* unparseable — fall through */\r\n }\r\n setNational(incoming);\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, [value]);\r\n\r\n const emit = (ctry: CountryCode, nationalText: string) => {\r\n const { formatted, info } = computeNumber(ctry, nationalText);\r\n setNational(formatted);\r\n onChange?.(info.numberValue, info);\r\n };\r\n\r\n const handleCountryChange = (val: ComboboxValue) => {\r\n const next = (val || safeDefault) as CountryCode;\r\n setCountry(next);\r\n emit(next, national);\r\n };\r\n\r\n const handleNumberChange = (e: React.ChangeEvent<HTMLInputElement | HTMLTextAreaElement>) => {\r\n emit(country, e.target.value);\r\n };\r\n\r\n return (\r\n <div\r\n style={{\r\n display: \"flex\",\r\n gap: \"var(--s-2)\",\r\n alignItems: \"flex-start\",\r\n ...(fullWidth ? { width: \"100%\" } : {}),\r\n }}\r\n >\r\n <div style={{ flex: \"0 0 40%\", minWidth: \"9rem\" }}>\r\n <Combobox\r\n options={countryOptions}\r\n value={country}\r\n onChange={handleCountryChange}\r\n disabled={disabled || readOnly}\r\n error={error}\r\n aria-label={L.countryAriaLabel}\r\n aria-describedby={ariaDescribedBy}\r\n labels={{ noOptions: L.noCountryFound }}\r\n />\r\n </div>\r\n <div style={{ flex: \"1 1 auto\" }}>\r\n <Input\r\n id={id}\r\n type=\"tel\"\r\n value={national}\r\n onChange={handleNumberChange}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n error={error}\r\n fullWidth\r\n placeholder={placeholder}\r\n prefix={callingCode ? `+${callingCode}` : undefined}\r\n inputProps={{\r\n inputMode: \"tel\",\r\n autoComplete: \"tel-national\",\r\n \"aria-describedby\": ariaDescribedBy,\r\n \"aria-invalid\": ariaInvalid,\r\n \"aria-required\": ariaRequired,\r\n }}\r\n {...rest}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}\r\n\r\nexport default TelInput;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,72 @@
|
|
|
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 = ["value", "onChange", "onBlur", "placeholder", "disabled", "error", "readOnly", "fullWidth", "rows", "minRows", "maxRows", "inputProps", "sx"];
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
9
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
10
|
+
import * as React from "react";
|
|
11
|
+
import OutlinedInput from "@mui/material/OutlinedInput";
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Textarea - Portnet UI v2
|
|
15
|
+
*
|
|
16
|
+
* <Field label="Commentaire">
|
|
17
|
+
* <Textarea rows={4} value={v} onChange={onChange} />
|
|
18
|
+
* </Field>
|
|
19
|
+
*
|
|
20
|
+
* MUI v9 surface notes (audit Batch 2 external):
|
|
21
|
+
* The public `inputProps` is routed internally to slotProps.input -
|
|
22
|
+
* MUI v9 idiomatic location for native <textarea/> attributes
|
|
23
|
+
* (maxLength, autoComplete, aria-*, etc.). On OutlinedInput in v9,
|
|
24
|
+
* `inputProps` is deprecated -> consumers passing common patterns
|
|
25
|
+
* like `inputProps={{ maxLength: 500 }}` would otherwise have it
|
|
26
|
+
* silently ignored. Public API contract unchanged.
|
|
27
|
+
*/
|
|
28
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
29
|
+
var Textarea = /*#__PURE__*/React.forwardRef(function Textarea(_ref, ref) {
|
|
30
|
+
var value = _ref.value,
|
|
31
|
+
onChange = _ref.onChange,
|
|
32
|
+
onBlur = _ref.onBlur,
|
|
33
|
+
placeholder = _ref.placeholder,
|
|
34
|
+
disabled = _ref.disabled,
|
|
35
|
+
error = _ref.error,
|
|
36
|
+
readOnly = _ref.readOnly,
|
|
37
|
+
_ref$fullWidth = _ref.fullWidth,
|
|
38
|
+
fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
|
|
39
|
+
_ref$rows = _ref.rows,
|
|
40
|
+
rows = _ref$rows === void 0 ? 3 : _ref$rows,
|
|
41
|
+
minRows = _ref.minRows,
|
|
42
|
+
maxRows = _ref.maxRows,
|
|
43
|
+
inputProps = _ref.inputProps,
|
|
44
|
+
sx = _ref.sx,
|
|
45
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
46
|
+
return /*#__PURE__*/_jsx(OutlinedInput, _objectSpread({
|
|
47
|
+
ref: ref,
|
|
48
|
+
multiline: true,
|
|
49
|
+
rows: minRows || maxRows ? undefined : rows,
|
|
50
|
+
minRows: minRows,
|
|
51
|
+
maxRows: maxRows,
|
|
52
|
+
value: value !== null && value !== void 0 ? value : "",
|
|
53
|
+
onChange: onChange,
|
|
54
|
+
onBlur: onBlur,
|
|
55
|
+
placeholder: placeholder,
|
|
56
|
+
disabled: disabled,
|
|
57
|
+
readOnly: readOnly,
|
|
58
|
+
error: !!error,
|
|
59
|
+
fullWidth: fullWidth
|
|
60
|
+
// MUI v9: OutlinedInput inputProps -> slotProps.input. Aligns
|
|
61
|
+
// Textarea with the v9-migrated v2.Input surface (audit Batch 3
|
|
62
|
+
// B3-1). Emitted conditionally so we don't pass
|
|
63
|
+
// `slotProps={{ input: undefined }}` when nothing is supplied.
|
|
64
|
+
,
|
|
65
|
+
slotProps: inputProps ? {
|
|
66
|
+
input: inputProps
|
|
67
|
+
} : undefined,
|
|
68
|
+
sx: sx
|
|
69
|
+
}, rest));
|
|
70
|
+
});
|
|
71
|
+
export default Textarea;
|
|
72
|
+
//# sourceMappingURL=Textarea.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Textarea.js","names":["React","OutlinedInput","jsx","_jsx","Textarea","forwardRef","_ref","ref","value","onChange","onBlur","placeholder","disabled","error","readOnly","_ref$fullWidth","fullWidth","_ref$rows","rows","minRows","maxRows","inputProps","sx","rest","_objectWithoutProperties","_excluded","_objectSpread","multiline","undefined","slotProps","input"],"sources":["../../../../src/lib/v2/components/Textarea.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport OutlinedInput from \"@mui/material/OutlinedInput\";\r\nimport type { OutlinedInputProps } from \"@mui/material/OutlinedInput\";\r\n\r\n/**\r\n * Textarea - Portnet UI v2\r\n *\r\n * <Field label=\"Commentaire\">\r\n * <Textarea rows={4} value={v} onChange={onChange} />\r\n * </Field>\r\n *\r\n * MUI v9 surface notes (audit Batch 2 external):\r\n * The public `inputProps` is routed internally to slotProps.input -\r\n * MUI v9 idiomatic location for native <textarea/> attributes\r\n * (maxLength, autoComplete, aria-*, etc.). On OutlinedInput in v9,\r\n * `inputProps` is deprecated -> consumers passing common patterns\r\n * like `inputProps={{ maxLength: 500 }}` would otherwise have it\r\n * silently ignored. Public API contract unchanged.\r\n */\r\nexport interface TextareaProps extends Omit<OutlinedInputProps, \"value\"> {\r\n value?: string | undefined;\r\n}\r\n\r\nconst Textarea = React.forwardRef<React.ComponentRef<typeof OutlinedInput>, TextareaProps>(function Textarea(\r\n {\r\n value, onChange, onBlur,\r\n placeholder, disabled, error, readOnly,\r\n fullWidth = true,\r\n rows = 3,\r\n minRows, maxRows,\r\n inputProps,\r\n sx,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n return (\r\n <OutlinedInput\r\n ref={ref}\r\n multiline\r\n rows={minRows || maxRows ? undefined : rows}\r\n minRows={minRows}\r\n maxRows={maxRows}\r\n value={value ?? \"\"}\r\n onChange={onChange}\r\n onBlur={onBlur}\r\n placeholder={placeholder}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n error={!!error}\r\n fullWidth={fullWidth}\r\n // MUI v9: OutlinedInput inputProps -> slotProps.input. Aligns\r\n // Textarea with the v9-migrated v2.Input surface (audit Batch 3\r\n // B3-1). Emitted conditionally so we don't pass\r\n // `slotProps={{ input: undefined }}` when nothing is supplied.\r\n slotProps={inputProps ? { input: inputProps } : undefined}\r\n sx={sx}\r\n {...rest}\r\n />\r\n );\r\n});\r\n\r\nexport default Textarea;\r\n"],"mappings":";;;;;;;;;AAAA,OAAO,KAAKA,KAAK,MAAM,OAAO;AAC9B,OAAOC,aAAa,MAAM,6BAA6B;;AAGvD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAdA,SAAAC,GAAA,IAAAC,IAAA;AAmBA,IAAMC,QAAQ,gBAAGJ,KAAK,CAACK,UAAU,CAA0D,SAASD,QAAQA,CAAAE,IAAA,EAW1GC,GAAG,EACH;EAAA,IAVEC,KAAK,GAAAF,IAAA,CAALE,KAAK;IAAEC,QAAQ,GAAAH,IAAA,CAARG,QAAQ;IAAEC,MAAM,GAAAJ,IAAA,CAANI,MAAM;IACvBC,WAAW,GAAAL,IAAA,CAAXK,WAAW;IAAEC,QAAQ,GAAAN,IAAA,CAARM,QAAQ;IAAEC,KAAK,GAAAP,IAAA,CAALO,KAAK;IAAEC,QAAQ,GAAAR,IAAA,CAARQ,QAAQ;IAAAC,cAAA,GAAAT,IAAA,CACtCU,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,IAAI,GAAAA,cAAA;IAAAE,SAAA,GAAAX,IAAA,CAChBY,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,CAAC,GAAAA,SAAA;IACRE,OAAO,GAAAb,IAAA,CAAPa,OAAO;IAAEC,OAAO,GAAAd,IAAA,CAAPc,OAAO;IAChBC,UAAU,GAAAf,IAAA,CAAVe,UAAU;IACVC,EAAE,GAAAhB,IAAA,CAAFgB,EAAE;IACCC,IAAI,GAAAC,wBAAA,CAAAlB,IAAA,EAAAmB,SAAA;EAIT,oBACEtB,IAAA,CAACF,aAAa,EAAAyB,aAAA;IACZnB,GAAG,EAAEA,GAAI;IACToB,SAAS;IACTT,IAAI,EAAEC,OAAO,IAAIC,OAAO,GAAGQ,SAAS,GAAGV,IAAK;IAC5CC,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBZ,KAAK,EAAEA,KAAK,aAALA,KAAK,cAALA,KAAK,GAAI,EAAG;IACnBC,QAAQ,EAAEA,QAAS;IACnBC,MAAM,EAAEA,MAAO;IACfC,WAAW,EAAEA,WAAY;IACzBC,QAAQ,EAAEA,QAAS;IACnBE,QAAQ,EAAEA,QAAS;IACnBD,KAAK,EAAE,CAAC,CAACA,KAAM;IACfG,SAAS,EAAEA;IACX;IACA;IACA;IACA;IAAA;IACAa,SAAS,EAAER,UAAU,GAAG;MAAES,KAAK,EAAET;IAAW,CAAC,GAAGO,SAAU;IAC1DN,EAAE,EAAEA;EAAG,GACHC,IAAI,CACT,CAAC;AAEN,CAAC,CAAC;AAEF,eAAenB,QAAQ","ignoreList":[]}
|
|
@@ -0,0 +1,134 @@
|
|
|
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 = ["value", "onChange", "onBlur", "minTime", "maxTime", "disabled", "readOnly", "error", "placeholder", "fullWidth", "ampm", "minutesStep", "inputProps", "adapterLocale", "sx"];
|
|
3
|
+
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
4
|
+
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
5
|
+
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
6
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
7
|
+
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
8
|
+
function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
|
|
9
|
+
function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
|
|
10
|
+
import * as React from "react";
|
|
11
|
+
import { LocalizationProvider } from "@mui/x-date-pickers/LocalizationProvider";
|
|
12
|
+
import { TimePicker as MuiTimePicker } from "@mui/x-date-pickers/TimePicker";
|
|
13
|
+
import { AdapterMoment } from "@mui/x-date-pickers/AdapterMoment";
|
|
14
|
+
import "moment/locale/fr";
|
|
15
|
+
import { dateToMoment, momentToDate } from "./_pickerShared";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* TimePicker — Portnet UI v2
|
|
19
|
+
*
|
|
20
|
+
* Extends the DatePicker family (Charter §03) for time-of-day inputs:
|
|
21
|
+
* cutoff times, opening hours, scheduled-job hours, notification
|
|
22
|
+
* timing.
|
|
23
|
+
*
|
|
24
|
+
* <Field label="Heure de coupure">
|
|
25
|
+
* <TimePicker value={cutoff} onChange={setCutoff} />
|
|
26
|
+
* </Field>
|
|
27
|
+
*
|
|
28
|
+
* Value contract:
|
|
29
|
+
* - value / onChange exchange Date | null. The DATE PORTION is
|
|
30
|
+
* ignored — only hours/minutes matter. The picker preserves
|
|
31
|
+
* whatever date the host passes in.
|
|
32
|
+
* - Invalid → null.
|
|
33
|
+
*
|
|
34
|
+
* Format:
|
|
35
|
+
* - Display + parse: HH:MM (24h). MUI X v6+ derives the input mask
|
|
36
|
+
* from this format string automatically.
|
|
37
|
+
* ampm={true} switches to 12h.
|
|
38
|
+
*
|
|
39
|
+
* Range constraints (minTime / maxTime):
|
|
40
|
+
* These accept Date objects but only the time portion is compared.
|
|
41
|
+
* Use them to enforce business hours (e.g. minTime=08:00,
|
|
42
|
+
* maxTime=18:00).
|
|
43
|
+
*
|
|
44
|
+
* Step:
|
|
45
|
+
* minutesStep (default 1). Set to 5, 15, or 30 for coarser dial
|
|
46
|
+
* granularity in scheduling forms.
|
|
47
|
+
*
|
|
48
|
+
* MUI X v9 surface notes:
|
|
49
|
+
* See DatePicker.tsx for the slots / slotProps + format rationale
|
|
50
|
+
* (same migration applied here).
|
|
51
|
+
*/
|
|
52
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
53
|
+
var CHARTER_FORMAT = "HH:mm";
|
|
54
|
+
var TimePicker = /*#__PURE__*/React.forwardRef(function TimePicker(_ref, ref) {
|
|
55
|
+
var value = _ref.value,
|
|
56
|
+
onChange = _ref.onChange,
|
|
57
|
+
onBlur = _ref.onBlur,
|
|
58
|
+
minTime = _ref.minTime,
|
|
59
|
+
maxTime = _ref.maxTime,
|
|
60
|
+
_ref$disabled = _ref.disabled,
|
|
61
|
+
disabled = _ref$disabled === void 0 ? false : _ref$disabled,
|
|
62
|
+
_ref$readOnly = _ref.readOnly,
|
|
63
|
+
readOnly = _ref$readOnly === void 0 ? false : _ref$readOnly,
|
|
64
|
+
error = _ref.error,
|
|
65
|
+
_ref$placeholder = _ref.placeholder,
|
|
66
|
+
placeholder = _ref$placeholder === void 0 ? "HH:MM" : _ref$placeholder,
|
|
67
|
+
_ref$fullWidth = _ref.fullWidth,
|
|
68
|
+
fullWidth = _ref$fullWidth === void 0 ? true : _ref$fullWidth,
|
|
69
|
+
_ref$ampm = _ref.ampm,
|
|
70
|
+
ampm = _ref$ampm === void 0 ? false : _ref$ampm,
|
|
71
|
+
_ref$minutesStep = _ref.minutesStep,
|
|
72
|
+
minutesStep = _ref$minutesStep === void 0 ? 1 : _ref$minutesStep,
|
|
73
|
+
inputProps = _ref.inputProps,
|
|
74
|
+
_ref$adapterLocale = _ref.adapterLocale,
|
|
75
|
+
adapterLocale = _ref$adapterLocale === void 0 ? "fr" : _ref$adapterLocale,
|
|
76
|
+
sx = _ref.sx,
|
|
77
|
+
rest = _objectWithoutProperties(_ref, _excluded);
|
|
78
|
+
var handleChange = function handleChange(next) {
|
|
79
|
+
if (!onChange) return;
|
|
80
|
+
onChange(momentToDate(next));
|
|
81
|
+
};
|
|
82
|
+
var slotProps = React.useMemo(function () {
|
|
83
|
+
return {
|
|
84
|
+
textField: _objectSpread(_objectSpread({
|
|
85
|
+
ref: ref,
|
|
86
|
+
error: !!error,
|
|
87
|
+
fullWidth: fullWidth,
|
|
88
|
+
size: "small"
|
|
89
|
+
}, onBlur ? {
|
|
90
|
+
onBlur: onBlur
|
|
91
|
+
} : {}), {}, {
|
|
92
|
+
sx: _objectSpread({
|
|
93
|
+
// R-T.3 — tabular-nums.
|
|
94
|
+
"& .MuiOutlinedInput-input": {
|
|
95
|
+
fontVariantNumeric: "tabular-nums"
|
|
96
|
+
}
|
|
97
|
+
}, sx),
|
|
98
|
+
slotProps: {
|
|
99
|
+
htmlInput: _objectSpread({
|
|
100
|
+
placeholder: placeholder
|
|
101
|
+
}, inputProps)
|
|
102
|
+
}
|
|
103
|
+
})
|
|
104
|
+
};
|
|
105
|
+
}, [ref, error, fullWidth, onBlur, sx, placeholder, inputProps]);
|
|
106
|
+
|
|
107
|
+
// exactOptionalPropertyTypes: MUI's minTime/maxTime are `Moment` (not
|
|
108
|
+
// `Moment | undefined`), so we spread the key only when a bound is set
|
|
109
|
+
// rather than passing an explicit `undefined`.
|
|
110
|
+
var minTimeM = minTime ? dateToMoment(minTime) : null;
|
|
111
|
+
var maxTimeM = maxTime ? dateToMoment(maxTime) : null;
|
|
112
|
+
return /*#__PURE__*/_jsx(LocalizationProvider, {
|
|
113
|
+
dateAdapter: AdapterMoment,
|
|
114
|
+
adapterLocale: adapterLocale,
|
|
115
|
+
children: /*#__PURE__*/_jsx(MuiTimePicker, _objectSpread(_objectSpread(_objectSpread({
|
|
116
|
+
value: dateToMoment(value),
|
|
117
|
+
onChange: handleChange
|
|
118
|
+
}, minTimeM ? {
|
|
119
|
+
minTime: minTimeM
|
|
120
|
+
} : {}), maxTimeM ? {
|
|
121
|
+
maxTime: maxTimeM
|
|
122
|
+
} : {}), {}, {
|
|
123
|
+
disabled: disabled,
|
|
124
|
+
readOnly: readOnly,
|
|
125
|
+
ampm: ampm,
|
|
126
|
+
minutesStep: minutesStep,
|
|
127
|
+
format: CHARTER_FORMAT,
|
|
128
|
+
slotProps: slotProps
|
|
129
|
+
}, rest))
|
|
130
|
+
});
|
|
131
|
+
});
|
|
132
|
+
export var TIME_FORMAT_CHARTER = CHARTER_FORMAT;
|
|
133
|
+
export default TimePicker;
|
|
134
|
+
//# sourceMappingURL=TimePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TimePicker.js","names":["React","LocalizationProvider","TimePicker","MuiTimePicker","AdapterMoment","dateToMoment","momentToDate","jsx","_jsx","CHARTER_FORMAT","forwardRef","_ref","ref","value","onChange","onBlur","minTime","maxTime","_ref$disabled","disabled","_ref$readOnly","readOnly","error","_ref$placeholder","placeholder","_ref$fullWidth","fullWidth","_ref$ampm","ampm","_ref$minutesStep","minutesStep","inputProps","_ref$adapterLocale","adapterLocale","sx","rest","_objectWithoutProperties","_excluded","handleChange","next","slotProps","useMemo","textField","_objectSpread","size","fontVariantNumeric","htmlInput","minTimeM","maxTimeM","dateAdapter","children","format","TIME_FORMAT_CHARTER"],"sources":["../../../../src/lib/v2/components/TimePicker.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { LocalizationProvider } from \"@mui/x-date-pickers/LocalizationProvider\";\r\nimport { TimePicker as MuiTimePicker } from \"@mui/x-date-pickers/TimePicker\";\r\nimport type { TimePickerProps as MuiTimePickerProps } from \"@mui/x-date-pickers/TimePicker\";\r\nimport { AdapterMoment } from \"@mui/x-date-pickers/AdapterMoment\";\r\nimport type { Moment } from \"moment\";\r\nimport \"moment/locale/fr\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport { dateToMoment, momentToDate } from \"./_pickerShared\";\r\n\r\n/**\r\n * TimePicker — Portnet UI v2\r\n *\r\n * Extends the DatePicker family (Charter §03) for time-of-day inputs:\r\n * cutoff times, opening hours, scheduled-job hours, notification\r\n * timing.\r\n *\r\n * <Field label=\"Heure de coupure\">\r\n * <TimePicker value={cutoff} onChange={setCutoff} />\r\n * </Field>\r\n *\r\n * Value contract:\r\n * - value / onChange exchange Date | null. The DATE PORTION is\r\n * ignored — only hours/minutes matter. The picker preserves\r\n * whatever date the host passes in.\r\n * - Invalid → null.\r\n *\r\n * Format:\r\n * - Display + parse: HH:MM (24h). MUI X v6+ derives the input mask\r\n * from this format string automatically.\r\n * ampm={true} switches to 12h.\r\n *\r\n * Range constraints (minTime / maxTime):\r\n * These accept Date objects but only the time portion is compared.\r\n * Use them to enforce business hours (e.g. minTime=08:00,\r\n * maxTime=18:00).\r\n *\r\n * Step:\r\n * minutesStep (default 1). Set to 5, 15, or 30 for coarser dial\r\n * granularity in scheduling forms.\r\n *\r\n * MUI X v9 surface notes:\r\n * See DatePicker.tsx for the slots / slotProps + format rationale\r\n * (same migration applied here).\r\n */\r\n\r\nconst CHARTER_FORMAT = \"HH:mm\";\r\n\r\nexport interface TimePickerProps\r\n extends Omit<\r\n MuiTimePickerProps,\r\n \"value\" | \"onChange\" | \"minTime\" | \"maxTime\" | \"slots\" | \"slotProps\" | \"sx\" | \"ref\"\r\n > {\r\n value?: Date | null | undefined;\r\n onChange?: ((value: Date | null) => void) | undefined;\r\n onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement> | undefined;\r\n minTime?: Date | null | undefined;\r\n maxTime?: Date | null | undefined;\r\n error?: boolean | undefined;\r\n placeholder?: string | undefined;\r\n fullWidth?: boolean | undefined;\r\n inputProps?: React.InputHTMLAttributes<HTMLInputElement> | undefined;\r\n adapterLocale?: string | undefined;\r\n sx?: SxProps<Theme> | undefined;\r\n}\r\n\r\nconst TimePicker = React.forwardRef<HTMLDivElement, TimePickerProps>(function TimePicker(\r\n {\r\n value,\r\n onChange,\r\n onBlur,\r\n minTime,\r\n maxTime,\r\n disabled = false,\r\n readOnly = false,\r\n error,\r\n placeholder = \"HH:MM\",\r\n fullWidth = true,\r\n ampm = false,\r\n minutesStep = 1,\r\n inputProps,\r\n adapterLocale = \"fr\",\r\n sx,\r\n ...rest\r\n },\r\n ref,\r\n) {\r\n const handleChange = (next: Moment | null) => {\r\n if (!onChange) return;\r\n onChange(momentToDate(next));\r\n };\r\n\r\n const slotProps = React.useMemo<NonNullable<MuiTimePickerProps[\"slotProps\"]>>(\r\n () => ({\r\n textField: {\r\n ref,\r\n error: !!error,\r\n fullWidth,\r\n size: \"small\",\r\n // onBlur: the textField slot types this as FocusEventHandler<HTMLDivElement>;\r\n // our public onBlur is input-based. Cast (type-only) and include only\r\n // when defined so no explicit undefined reaches the slot.\r\n ...(onBlur ? { onBlur: onBlur as unknown as React.FocusEventHandler<HTMLDivElement> } : {}),\r\n sx: {\r\n // R-T.3 — tabular-nums.\r\n \"& .MuiOutlinedInput-input\": { fontVariantNumeric: \"tabular-nums\" },\r\n ...sx,\r\n },\r\n slotProps: {\r\n htmlInput: {\r\n placeholder,\r\n ...inputProps,\r\n },\r\n },\r\n },\r\n }),\r\n [ref, error, fullWidth, onBlur, sx, placeholder, inputProps],\r\n );\r\n\r\n // exactOptionalPropertyTypes: MUI's minTime/maxTime are `Moment` (not\r\n // `Moment | undefined`), so we spread the key only when a bound is set\r\n // rather than passing an explicit `undefined`.\r\n const minTimeM = minTime ? dateToMoment(minTime) : null;\r\n const maxTimeM = maxTime ? dateToMoment(maxTime) : null;\r\n\r\n return (\r\n <LocalizationProvider dateAdapter={AdapterMoment} adapterLocale={adapterLocale}>\r\n <MuiTimePicker\r\n value={dateToMoment(value)}\r\n onChange={handleChange}\r\n {...(minTimeM ? { minTime: minTimeM } : {})}\r\n {...(maxTimeM ? { maxTime: maxTimeM } : {})}\r\n disabled={disabled}\r\n readOnly={readOnly}\r\n ampm={ampm}\r\n minutesStep={minutesStep}\r\n format={CHARTER_FORMAT}\r\n slotProps={slotProps}\r\n {...rest}\r\n />\r\n </LocalizationProvider>\r\n );\r\n});\r\n\r\nexport const TIME_FORMAT_CHARTER = CHARTER_FORMAT;\r\n\r\nexport default TimePicker;\r\n"],"mappings":"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","ignoreList":[]}
|