@portnet/ui 6.0.1 → 6.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +737 -0
- package/dist/esm/index.js +90 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
- package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/esm/v2/__tests__/apiError.test.js +50 -69
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
- package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
- package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
- package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +48 -70
- package/dist/esm/v2/components/Accordion.js.map +1 -1
- package/dist/esm/v2/components/ActionStrip.js +31 -43
- package/dist/esm/v2/components/ActionStrip.js.map +1 -1
- package/dist/esm/v2/components/Banner.js +25 -22
- package/dist/esm/v2/components/Banner.js.map +1 -1
- package/dist/esm/v2/components/Busy.js +14 -19
- package/dist/esm/v2/components/Busy.js.map +1 -1
- package/dist/esm/v2/components/Button.js +34 -45
- package/dist/esm/v2/components/Button.js.map +1 -1
- package/dist/esm/v2/components/CategoryTag.js +44 -27
- package/dist/esm/v2/components/CategoryTag.js.map +1 -1
- package/dist/esm/v2/components/Checkbox.js +32 -38
- package/dist/esm/v2/components/Checkbox.js.map +1 -1
- package/dist/esm/v2/components/Chip.js +23 -36
- package/dist/esm/v2/components/Chip.js.map +1 -1
- package/dist/esm/v2/components/Combobox.js +112 -136
- package/dist/esm/v2/components/Combobox.js.map +1 -1
- package/dist/esm/v2/components/CommandPalette.js +113 -198
- package/dist/esm/v2/components/CommandPalette.js.map +1 -1
- package/dist/esm/v2/components/ConfirmDialog.js +36 -45
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/esm/v2/components/DatePicker.js +78 -81
- package/dist/esm/v2/components/DatePicker.js.map +1 -1
- package/dist/esm/v2/components/DateRangePicker.js +63 -74
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
- package/dist/esm/v2/components/DateTimePicker.js +118 -90
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
- package/dist/esm/v2/components/Drawer.js +71 -65
- package/dist/esm/v2/components/Drawer.js.map +1 -1
- package/dist/esm/v2/components/Dropzone.js +130 -177
- package/dist/esm/v2/components/Dropzone.js.map +1 -1
- package/dist/esm/v2/components/EmptyState.js +9 -9
- package/dist/esm/v2/components/EmptyState.js.map +1 -1
- package/dist/esm/v2/components/FavoriteToggle.js +24 -33
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/esm/v2/components/Field.js +210 -52
- package/dist/esm/v2/components/Field.js.map +1 -1
- package/dist/esm/v2/components/FieldError.js +9 -13
- package/dist/esm/v2/components/FieldError.js.map +1 -1
- package/dist/esm/v2/components/FieldHelp.js +28 -49
- package/dist/esm/v2/components/FieldHelp.js.map +1 -1
- package/dist/esm/v2/components/FileCard.js +14 -19
- package/dist/esm/v2/components/FileCard.js.map +1 -1
- package/dist/esm/v2/components/FilterTab.js +22 -31
- package/dist/esm/v2/components/FilterTab.js.map +1 -1
- package/dist/esm/v2/components/ForbiddenPage.js +28 -8
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/esm/v2/components/FormGrid.js +48 -54
- package/dist/esm/v2/components/FormGrid.js.map +1 -1
- package/dist/esm/v2/components/FormikDisplay.js +98 -24
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
- package/dist/esm/v2/components/Input.js +75 -34
- package/dist/esm/v2/components/Input.js.map +1 -1
- package/dist/esm/v2/components/KPICard.js +42 -51
- package/dist/esm/v2/components/KPICard.js.map +1 -1
- package/dist/esm/v2/components/KPIStrip.js +9 -15
- package/dist/esm/v2/components/KPIStrip.js.map +1 -1
- package/dist/esm/v2/components/KV.js +16 -23
- package/dist/esm/v2/components/KV.js.map +1 -1
- package/dist/esm/v2/components/KVGrid.js +15 -23
- package/dist/esm/v2/components/KVGrid.js.map +1 -1
- package/dist/esm/v2/components/Layout.js +81 -117
- package/dist/esm/v2/components/Layout.js.map +1 -1
- package/dist/esm/v2/components/MobileRowCard.js +64 -75
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
- package/dist/esm/v2/components/Modal.js +44 -53
- package/dist/esm/v2/components/Modal.js.map +1 -1
- package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/esm/v2/components/NotFoundPage.js +28 -9
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
- package/dist/esm/v2/components/NumberInput.js +77 -107
- package/dist/esm/v2/components/NumberInput.js.map +1 -1
- package/dist/esm/v2/components/OverflowMenu.js +24 -42
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
- package/dist/esm/v2/components/PdfViewer.js +24 -33
- package/dist/esm/v2/components/PdfViewer.js.map +1 -1
- package/dist/esm/v2/components/ProgressBar.js +28 -36
- package/dist/esm/v2/components/ProgressBar.js.map +1 -1
- package/dist/esm/v2/components/Radio.js +49 -57
- package/dist/esm/v2/components/Radio.js.map +1 -1
- package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/esm/v2/components/SectionHeader.js +24 -31
- package/dist/esm/v2/components/SectionHeader.js.map +1 -1
- package/dist/esm/v2/components/Segmented.js +59 -84
- package/dist/esm/v2/components/Segmented.js.map +1 -1
- package/dist/esm/v2/components/Select.js +100 -138
- package/dist/esm/v2/components/Select.js.map +1 -1
- package/dist/esm/v2/components/ServerErrorPage.js +27 -10
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/esm/v2/components/Skeleton.js +81 -96
- package/dist/esm/v2/components/Skeleton.js.map +1 -1
- package/dist/esm/v2/components/SkipLink.js +6 -7
- package/dist/esm/v2/components/SkipLink.js.map +1 -1
- package/dist/esm/v2/components/Spinner.js +13 -22
- package/dist/esm/v2/components/Spinner.js.map +1 -1
- package/dist/esm/v2/components/Status.js +14 -25
- package/dist/esm/v2/components/Status.js.map +1 -1
- package/dist/esm/v2/components/Stepper.js +68 -71
- package/dist/esm/v2/components/Stepper.js.map +1 -1
- package/dist/esm/v2/components/Surface.js +25 -44
- package/dist/esm/v2/components/Surface.js.map +1 -1
- package/dist/esm/v2/components/Switch.js +21 -29
- package/dist/esm/v2/components/Switch.js.map +1 -1
- package/dist/esm/v2/components/TabPanel.js +84 -0
- package/dist/esm/v2/components/TabPanel.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +43 -19
- package/dist/esm/v2/components/Tabs.js.map +1 -1
- package/dist/esm/v2/components/TelInput.js +75 -108
- package/dist/esm/v2/components/TelInput.js.map +1 -1
- package/dist/esm/v2/components/Textarea.js +21 -30
- package/dist/esm/v2/components/Textarea.js.map +1 -1
- package/dist/esm/v2/components/TimePicker.js +59 -69
- package/dist/esm/v2/components/TimePicker.js.map +1 -1
- package/dist/esm/v2/components/Toast.js +109 -163
- package/dist/esm/v2/components/Toast.js.map +1 -1
- package/dist/esm/v2/components/Tooltip.js +18 -31
- package/dist/esm/v2/components/Tooltip.js.map +1 -1
- package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/esm/v2/components/_pickerShared.js +2 -2
- package/dist/esm/v2/components/_pickerShared.js.map +1 -1
- package/dist/esm/v2/components/index.js +64 -0
- package/dist/esm/v2/components/index.js.map +1 -1
- package/dist/esm/v2/hooks/index.js +62 -0
- package/dist/esm/v2/hooks/index.js.map +1 -1
- package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
- package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/esm/v2/hooks/useDensity.js +13 -17
- package/dist/esm/v2/hooks/useDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useSortedRows.js +3 -5
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/esm/v2/hooks/useTabLoading.js +6 -21
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/esm/v2/index.js +14 -4
- package/dist/esm/v2/index.js.map +1 -1
- package/dist/esm/v2/modalContext.js +2 -2
- package/dist/esm/v2/modalContext.js.map +1 -1
- package/dist/esm/v2/models/favorite.js.map +1 -1
- package/dist/esm/v2/models/personalization.js.map +1 -1
- package/dist/esm/v2/models/referentiel.js.map +1 -1
- package/dist/esm/v2/models/savedFilter.js.map +1 -1
- package/dist/esm/v2/patterns/ActionBar.js +115 -159
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/AppMain.js +108 -0
- package/dist/esm/v2/patterns/AppMain.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/ChartFigure.js +151 -0
- package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/esm/v2/patterns/DataGrid.js +221 -255
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/esm/v2/patterns/DetailSplit.js +108 -0
- package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
- package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/esm/v2/patterns/FormPageShell.js +43 -41
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/FormSection.js +30 -38
- package/dist/esm/v2/patterns/FormSection.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
- package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +94 -78
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
- package/dist/esm/v2/patterns/FormikInput.js +40 -50
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/FormikSelect.js +64 -84
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/esm/v2/patterns/PageContent.js +10 -14
- package/dist/esm/v2/patterns/PageContent.js.map +1 -1
- package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
- package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +327 -312
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/SortableHeader.js +22 -45
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/esm/v2/patterns/Tour.js +94 -120
- package/dist/esm/v2/patterns/Tour.js.map +1 -1
- package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +17 -33
- package/dist/esm/v2/patterns/_sort.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/esm/v2/patterns/filterCriteria.js +102 -0
- package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +235 -0
- package/dist/esm/v2/patterns/index.js.map +1 -1
- package/dist/esm/v2/patterns/rowActions.js +223 -0
- package/dist/esm/v2/patterns/rowActions.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +5 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/esm/v2/personalization/index.js +35 -0
- package/dist/esm/v2/personalization/index.js.map +1 -1
- package/dist/esm/v2/personalization/personalizationContext.js +9 -9
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/esm/v2/personalization/schema.js +8 -9
- package/dist/esm/v2/personalization/schema.js.map +1 -1
- package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/esm/v2/referentiel/types.js +2 -0
- package/dist/esm/v2/referentiel/types.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/esm/v2/theme/_brand.js +8 -24
- package/dist/esm/v2/theme/_brand.js.map +1 -1
- package/dist/esm/v2/theme/_brandSecondary.js +8 -24
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/esm/v2/theme/cssVariables.js +62 -69
- package/dist/esm/v2/theme/cssVariables.js.map +1 -1
- package/dist/esm/v2/theme/index.js +5 -5
- package/dist/esm/v2/theme/index.js.map +1 -1
- package/dist/esm/v2/tokens/breakpoints.js +14 -14
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
- package/dist/esm/v2/tokens/chart.js +261 -0
- package/dist/esm/v2/tokens/chart.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +22 -22
- package/dist/esm/v2/tokens/colors.js.map +1 -1
- package/dist/esm/v2/tokens/density.js +62 -7
- package/dist/esm/v2/tokens/density.js.map +1 -1
- package/dist/esm/v2/tokens/index.js +49 -34
- package/dist/esm/v2/tokens/index.js.map +1 -1
- package/dist/esm/v2/tokens/motion.js +12 -20
- package/dist/esm/v2/tokens/motion.js.map +1 -1
- package/dist/esm/v2/tokens/radius.js +1 -1
- package/dist/esm/v2/tokens/radius.js.map +1 -1
- package/dist/esm/v2/tokens/shadows.js +6 -6
- package/dist/esm/v2/tokens/shadows.js.map +1 -1
- package/dist/esm/v2/tokens/spacing.js +2 -2
- package/dist/esm/v2/tokens/spacing.js.map +1 -1
- package/dist/esm/v2/tokens/state.js +1 -1
- package/dist/esm/v2/tokens/state.js.map +1 -1
- package/dist/esm/v2/tokens/statusPalette.js +17 -21
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
- package/dist/esm/v2/tokens/tokens.json +6 -1
- package/dist/esm/v2/tokens/typography.js +13 -13
- package/dist/esm/v2/tokens/typography.js.map +1 -1
- package/dist/esm/v2/tokens/zIndex.js +1 -1
- package/dist/esm/v2/tokens/zIndex.js.map +1 -1
- package/dist/esm/v2/types/datagrid.js.map +1 -1
- package/dist/esm/v2/utils/apiError.js +16 -37
- package/dist/esm/v2/utils/apiError.js.map +1 -1
- package/dist/esm/v2/utils/contrast.js +31 -32
- package/dist/esm/v2/utils/contrast.js.map +1 -1
- package/dist/esm/v2/utils/cx.js +5 -25
- package/dist/esm/v2/utils/cx.js.map +1 -1
- package/dist/esm/v2/utils/fileDownload.js +23 -26
- package/dist/esm/v2/utils/fileDownload.js.map +1 -1
- package/dist/esm/v2/utils/fileValidation.js +209 -0
- package/dist/esm/v2/utils/fileValidation.js.map +1 -0
- package/dist/esm/v2/utils/fmtDate.js +111 -0
- package/dist/esm/v2/utils/fmtDate.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +8 -10
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
- package/dist/esm/v2/utils/formikErrors.js +78 -0
- package/dist/esm/v2/utils/formikErrors.js.map +1 -0
- package/dist/esm/v2/utils/index.js +35 -2
- package/dist/esm/v2/utils/index.js.map +1 -1
- package/dist/esm/v2/utils/mergeLabels.js +7 -12
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
- package/dist/esm/v2/utils/networkStatus.js +12 -12
- package/dist/esm/v2/utils/networkStatus.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -47
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/AppMain.test.js +133 -0
- package/dist/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/v2/__tests__/ChartFigure.test.js +183 -0
- package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/v2/__tests__/FieldError.test.js +98 -69
- package/dist/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/v2/__tests__/FieldNaming.test.js +161 -0
- package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +148 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +45 -48
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
- package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/v2/__tests__/apiError.test.js +50 -69
- package/dist/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/v2/__tests__/banned-patterns.test.js +42 -123
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/v2/__tests__/chart-palette.test.js +205 -0
- package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/v2/__tests__/fileValidation.test.js +136 -0
- package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/v2/__tests__/filterCriteria.test.js +324 -0
- package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/fmtDate.test.js +69 -0
- package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +38 -46
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/__tests__/locale-fallback.test.js +47 -52
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
- package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/rowActions.test.js +186 -0
- package/dist/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/v2/components/Accordion.js +60 -82
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.js +40 -52
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.js +42 -41
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.js +22 -27
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.js +39 -50
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js +49 -32
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.js +39 -45
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.js +29 -42
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.js +122 -144
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.js +138 -225
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +46 -56
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.js +81 -86
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.js +77 -87
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +121 -95
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +93 -88
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.js +150 -196
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.js +18 -20
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +28 -39
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +121 -5
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +221 -62
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.js +18 -21
- package/dist/v2/components/FieldError.js.map +1 -1
- package/dist/v2/components/FieldHelp.js +40 -60
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.js +27 -31
- package/dist/v2/components/FileCard.js.map +1 -1
- package/dist/v2/components/FilterTab.js +30 -38
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/ForbiddenPage.d.ts +25 -1
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
- package/dist/v2/components/ForbiddenPage.js +37 -17
- package/dist/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/v2/components/FormGrid.js +53 -59
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +50 -1
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js +108 -33
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +40 -0
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js +81 -41
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.js +57 -67
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.js +16 -22
- package/dist/v2/components/KPIStrip.js.map +1 -1
- package/dist/v2/components/KV.js +25 -31
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.js +19 -26
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.js +91 -120
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.js +79 -91
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.js +61 -69
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js +38 -21
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NotFoundPage.d.ts +17 -1
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
- package/dist/v2/components/NotFoundPage.js +37 -18
- package/dist/v2/components/NotFoundPage.js.map +1 -1
- package/dist/v2/components/NumberInput.js +88 -118
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.js +38 -56
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.js +34 -45
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.js +42 -49
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.js +59 -67
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.js +90 -135
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/v2/components/SectionHeader.js +34 -41
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.js +69 -93
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +26 -2
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +120 -155
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +27 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js +37 -20
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.js +86 -100
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.js +9 -12
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Spinner.js +16 -25
- package/dist/v2/components/Spinner.js.map +1 -1
- package/dist/v2/components/Status.js +18 -29
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.js +80 -82
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.js +34 -49
- package/dist/v2/components/Surface.js.map +1 -1
- package/dist/v2/components/Switch.js +29 -37
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/TabPanel.d.ts +17 -0
- package/dist/v2/components/TabPanel.d.ts.map +1 -0
- package/dist/v2/components/TabPanel.js +90 -0
- package/dist/v2/components/TabPanel.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +25 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js +53 -29
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.js +80 -115
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.js +26 -35
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.js +62 -74
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.js +119 -174
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.js +23 -38
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/_ErrorPageBody.js +15 -16
- package/dist/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/v2/components/_pickerShared.js +5 -5
- package/dist/v2/components/_pickerShared.js.map +1 -1
- package/dist/v2/components/index.d.ts +67 -1
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +153 -136
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/hooks/index.d.ts +65 -0
- package/dist/v2/hooks/index.d.ts.map +1 -1
- package/dist/v2/hooks/index.js +63 -24
- package/dist/v2/hooks/index.js.map +1 -1
- package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
- package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
- package/dist/v2/hooks/useAppliedFilters.js +117 -0
- package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.js +87 -0
- package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +6 -20
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/v2/hooks/useDensity.d.ts.map +1 -1
- package/dist/v2/hooks/useDensity.js +14 -18
- package/dist/v2/hooks/useDensity.js.map +1 -1
- package/dist/v2/hooks/useFocusFirstError.js +26 -34
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +20 -24
- package/dist/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.js +39 -54
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +5 -13
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/v2/hooks/useSortedRows.js +4 -6
- package/dist/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/v2/hooks/useTabLoading.js +7 -22
- package/dist/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js +143 -145
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/modalContext.js +2 -2
- package/dist/v2/modalContext.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +8 -9
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/index.js +4 -4
- package/dist/v2/models/index.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +44 -48
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +32 -50
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -17
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.js +152 -187
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/AppMain.d.ts +109 -0
- package/dist/v2/patterns/AppMain.d.ts.map +1 -0
- package/dist/v2/patterns/AppMain.js +115 -0
- package/dist/v2/patterns/AppMain.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +40 -42
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/ChartFigure.d.ts +124 -0
- package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
- package/dist/v2/patterns/ChartFigure.js +159 -0
- package/dist/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +60 -94
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/DataGrid.js +262 -297
- package/dist/v2/patterns/DataGrid.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +103 -106
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js +179 -217
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/DetailSplit.d.ts +87 -0
- package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
- package/dist/v2/patterns/DetailSplit.js +116 -0
- package/dist/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +32 -80
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +36 -44
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
- package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
- package/dist/v2/patterns/FilterTabBar.js +120 -0
- package/dist/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +20 -23
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.js +53 -50
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +8 -3
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +44 -51
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +138 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +55 -69
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +59 -106
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
- package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.js +25 -26
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
- package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorSummary.js +97 -0
- package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +14 -1
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js +99 -83
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +11 -1
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +45 -55
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
- package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikRadioGroup.js +137 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js +54 -64
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +9 -1
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +70 -89
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -48
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.js +17 -20
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
- package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
- package/dist/v2/patterns/PreviewDrawer.js +159 -0
- package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +86 -2
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +347 -327
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.js +50 -77
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js +122 -143
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.js +35 -57
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.js +121 -142
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +131 -147
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +80 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_sort.js +17 -33
- package/dist/v2/patterns/_sort.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js +124 -163
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js +80 -99
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/filterCriteria.d.ts +78 -0
- package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
- package/dist/v2/patterns/filterCriteria.js +110 -0
- package/dist/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +247 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +182 -70
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/patterns/rowActions.d.ts +150 -0
- package/dist/v2/patterns/rowActions.d.ts.map +1 -0
- package/dist/v2/patterns/rowActions.js +232 -0
- package/dist/v2/patterns/rowActions.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js +57 -53
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/index.js +5 -5
- package/dist/v2/personalization/adapters/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/favorites.js +39 -62
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +6 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +23 -10
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js +81 -182
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +34 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +41 -21
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/personalizationContext.js +10 -12
- package/dist/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/v2/personalization/schema.js +8 -9
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js +31 -45
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/index.js +11 -13
- package/dist/v2/referentiel/index.js.map +1 -1
- package/dist/v2/referentiel/types.d.ts +105 -0
- package/dist/v2/referentiel/types.d.ts.map +1 -0
- package/dist/v2/referentiel/types.js +6 -0
- package/dist/v2/referentiel/types.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +13 -16
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js +63 -120
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js +40 -95
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/_brand.js +12 -26
- package/dist/v2/theme/_brand.js.map +1 -1
- package/dist/v2/theme/_brandSecondary.js +12 -26
- package/dist/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +41 -49
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/theme/cssVariables.d.ts +3 -3
- package/dist/v2/theme/cssVariables.d.ts.map +1 -1
- package/dist/v2/theme/cssVariables.js +65 -70
- package/dist/v2/theme/cssVariables.js.map +1 -1
- package/dist/v2/theme/index.js +10 -10
- package/dist/v2/theme/index.js.map +1 -1
- package/dist/v2/tokens/breakpoints.js +16 -16
- package/dist/v2/tokens/breakpoints.js.map +1 -1
- package/dist/v2/tokens/chart.d.ts +103 -0
- package/dist/v2/tokens/chart.d.ts.map +1 -0
- package/dist/v2/tokens/chart.js +270 -0
- package/dist/v2/tokens/chart.js.map +1 -0
- package/dist/v2/tokens/colors.js +24 -24
- package/dist/v2/tokens/colors.js.map +1 -1
- package/dist/v2/tokens/density.d.ts +104 -0
- package/dist/v2/tokens/density.d.ts.map +1 -1
- package/dist/v2/tokens/density.js +67 -12
- package/dist/v2/tokens/density.js.map +1 -1
- package/dist/v2/tokens/index.d.ts +50 -1
- package/dist/v2/tokens/index.d.ts.map +1 -1
- package/dist/v2/tokens/index.js +116 -68
- package/dist/v2/tokens/index.js.map +1 -1
- package/dist/v2/tokens/motion.js +16 -22
- package/dist/v2/tokens/motion.js.map +1 -1
- package/dist/v2/tokens/radius.js +3 -3
- package/dist/v2/tokens/radius.js.map +1 -1
- package/dist/v2/tokens/shadows.js +8 -8
- package/dist/v2/tokens/shadows.js.map +1 -1
- package/dist/v2/tokens/spacing.js +4 -4
- package/dist/v2/tokens/spacing.js.map +1 -1
- package/dist/v2/tokens/state.js +3 -3
- package/dist/v2/tokens/state.js.map +1 -1
- package/dist/v2/tokens/statusPalette.js +21 -23
- package/dist/v2/tokens/statusPalette.js.map +1 -1
- package/dist/v2/tokens/tokens.json +6 -1
- package/dist/v2/tokens/typography.js +15 -15
- package/dist/v2/tokens/typography.js.map +1 -1
- package/dist/v2/tokens/zIndex.js +3 -3
- package/dist/v2/tokens/zIndex.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +9 -1
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/types/index.js +2 -2
- package/dist/v2/types/index.js.map +1 -1
- package/dist/v2/utils/apiError.js +16 -37
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/contrast.js +31 -32
- package/dist/v2/utils/contrast.js.map +1 -1
- package/dist/v2/utils/cx.js +7 -27
- package/dist/v2/utils/cx.js.map +1 -1
- package/dist/v2/utils/fileDownload.js +25 -28
- package/dist/v2/utils/fileDownload.js.map +1 -1
- package/dist/v2/utils/fileValidation.d.ts +116 -0
- package/dist/v2/utils/fileValidation.d.ts.map +1 -0
- package/dist/v2/utils/fileValidation.js +220 -0
- package/dist/v2/utils/fileValidation.js.map +1 -0
- package/dist/v2/utils/fmtDate.d.ts +103 -0
- package/dist/v2/utils/fmtDate.d.ts.map +1 -0
- package/dist/v2/utils/fmtDate.js +119 -0
- package/dist/v2/utils/fmtDate.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +3 -3
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
- package/dist/v2/utils/fmtMoney.js +9 -11
- package/dist/v2/utils/fmtMoney.js.map +1 -1
- package/dist/v2/utils/formikErrors.d.ts +67 -0
- package/dist/v2/utils/formikErrors.d.ts.map +1 -0
- package/dist/v2/utils/formikErrors.js +85 -0
- package/dist/v2/utils/formikErrors.js.map +1 -0
- package/dist/v2/utils/index.d.ts +5 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +67 -18
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.js +9 -14
- package/dist/v2/utils/mergeLabels.js.map +1 -1
- package/dist/v2/utils/networkStatus.js +14 -14
- package/dist/v2/utils/networkStatus.js.map +1 -1
- package/package.json +26 -9
|
@@ -3,21 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports
|
|
6
|
+
exports.default = void 0;
|
|
7
7
|
var React = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _Box = _interopRequireDefault(require("@mui/material/Box"));
|
|
9
9
|
var _OverflowMenu = _interopRequireDefault(require("./OverflowMenu"));
|
|
10
10
|
var _KV = _interopRequireDefault(require("./KV"));
|
|
11
11
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
-
function _interopRequireDefault(
|
|
13
|
-
function
|
|
14
|
-
|
|
15
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
16
|
-
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; }
|
|
17
|
-
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; }
|
|
18
|
-
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; }
|
|
19
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
20
|
-
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); } /**
|
|
12
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
13
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
14
|
+
/**
|
|
21
15
|
* MobileRowCard - Portnet UI v2
|
|
22
16
|
*
|
|
23
17
|
* Canonical card layout for the DataGrid mobile card view (R1 mobile,
|
|
@@ -117,14 +111,13 @@ function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input ==
|
|
|
117
111
|
* etc.) and passing nodes lets them keep their existing chip type
|
|
118
112
|
* without translating to a generic schema. We just lay them out
|
|
119
113
|
* in a wrapping row.
|
|
120
|
-
*/
|
|
121
|
-
var CARD_INNER_SX = Object.freeze({
|
|
114
|
+
*/const CARD_INNER_SX = Object.freeze({
|
|
122
115
|
display: "flex",
|
|
123
116
|
flexDirection: "column",
|
|
124
117
|
gap: "var(--s-2)",
|
|
125
118
|
padding: "var(--s-3)"
|
|
126
119
|
});
|
|
127
|
-
|
|
120
|
+
const HEADER_SX = Object.freeze({
|
|
128
121
|
display: "flex",
|
|
129
122
|
alignItems: "flex-start",
|
|
130
123
|
justifyContent: "space-between",
|
|
@@ -134,19 +127,19 @@ var HEADER_SX = Object.freeze({
|
|
|
134
127
|
/* Groups `leading` + title on the left of the header so the kebab keeps its
|
|
135
128
|
* space-between position. `minWidth: 0` is what lets the title's ellipsis
|
|
136
129
|
* actually engage inside a flex child. */
|
|
137
|
-
|
|
130
|
+
const HEADER_MAIN_SX = Object.freeze({
|
|
138
131
|
display: "flex",
|
|
139
132
|
alignItems: "center",
|
|
140
133
|
gap: "var(--s-2)",
|
|
141
134
|
minWidth: 0,
|
|
142
135
|
flex: 1
|
|
143
136
|
});
|
|
144
|
-
|
|
137
|
+
const LEADING_SX = Object.freeze({
|
|
145
138
|
display: "inline-flex",
|
|
146
139
|
alignItems: "center",
|
|
147
140
|
flexShrink: 0
|
|
148
141
|
});
|
|
149
|
-
|
|
142
|
+
const TITLE_BASE_SX = Object.freeze({
|
|
150
143
|
fontWeight: "var(--fw-semibold)",
|
|
151
144
|
fontSize: "var(--text-sm)",
|
|
152
145
|
color: "var(--fg)",
|
|
@@ -156,23 +149,24 @@ var TITLE_BASE_SX = Object.freeze({
|
|
|
156
149
|
textOverflow: "ellipsis",
|
|
157
150
|
whiteSpace: "nowrap"
|
|
158
151
|
});
|
|
159
|
-
|
|
152
|
+
const TITLE_MONO_SX = Object.freeze({
|
|
153
|
+
...TITLE_BASE_SX,
|
|
160
154
|
fontFamily: "var(--font-mono)"
|
|
161
|
-
})
|
|
162
|
-
|
|
155
|
+
});
|
|
156
|
+
const SUBTITLE_SX = Object.freeze({
|
|
163
157
|
fontSize: "var(--text-sm)",
|
|
164
158
|
color: "var(--fg-muted)",
|
|
165
159
|
overflow: "hidden",
|
|
166
160
|
textOverflow: "ellipsis",
|
|
167
161
|
whiteSpace: "nowrap"
|
|
168
162
|
});
|
|
169
|
-
|
|
163
|
+
const CHIPS_SX = Object.freeze({
|
|
170
164
|
display: "flex",
|
|
171
165
|
alignItems: "center",
|
|
172
166
|
gap: "var(--s-1)",
|
|
173
167
|
flexWrap: "wrap"
|
|
174
168
|
});
|
|
175
|
-
|
|
169
|
+
const META_SX = Object.freeze({
|
|
176
170
|
fontSize: "var(--text-xs)",
|
|
177
171
|
color: "var(--fg-subtle)"
|
|
178
172
|
});
|
|
@@ -181,7 +175,7 @@ var META_SX = Object.freeze({
|
|
|
181
175
|
* a single column would be more readable, but 320px is the Charter's narrowest
|
|
182
176
|
* supported breakpoint (§07.2 xs) and two columns still fit there. Matches the
|
|
183
177
|
* MOBILE_CARD_KV_SX both modules converged on independently. */
|
|
184
|
-
|
|
178
|
+
const KV_GRID_SX = Object.freeze({
|
|
185
179
|
display: "grid",
|
|
186
180
|
gridTemplateColumns: "1fr 1fr",
|
|
187
181
|
gap: "var(--s-2)"
|
|
@@ -190,7 +184,7 @@ var KV_GRID_SX = Object.freeze({
|
|
|
190
184
|
/* Right cluster of the header row: [trailing] then the kebab. One shared
|
|
191
185
|
* wrapper so a card can carry both a visible action and an overflow menu, and
|
|
192
186
|
* so propagation is stopped once for the whole interactive cluster. */
|
|
193
|
-
|
|
187
|
+
const HEADER_END_SX = Object.freeze({
|
|
194
188
|
display: "inline-flex",
|
|
195
189
|
alignItems: "center",
|
|
196
190
|
gap: "var(--s-1)",
|
|
@@ -199,70 +193,66 @@ var HEADER_END_SX = Object.freeze({
|
|
|
199
193
|
|
|
200
194
|
/** One label/value pair in the card's `kv` grid. Mirrors v2.KV's own props. */
|
|
201
195
|
|
|
202
|
-
function MobileRowCard(
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
196
|
+
function MobileRowCard({
|
|
197
|
+
leading,
|
|
198
|
+
trailing,
|
|
199
|
+
title,
|
|
200
|
+
titleMono = false,
|
|
201
|
+
subtitle,
|
|
202
|
+
chips,
|
|
203
|
+
kv,
|
|
204
|
+
meta,
|
|
205
|
+
actions,
|
|
206
|
+
/* No default — see the prop's doc comment. Forwarded only when the host
|
|
207
|
+
* supplies one, so OverflowMenu's own default applies otherwise. */
|
|
208
|
+
actionsAriaLabel
|
|
209
|
+
}) {
|
|
214
210
|
// Filter out divider entries (OverflowMenu separator marks) and
|
|
215
211
|
// null/undefined actions so the kebab only renders when there is
|
|
216
212
|
// at least one real action available.
|
|
217
|
-
|
|
213
|
+
const visibleActions = React.useMemo(() => {
|
|
218
214
|
if (!Array.isArray(actions)) return [];
|
|
219
|
-
return actions.filter(
|
|
220
|
-
return a && !a.divider;
|
|
221
|
-
});
|
|
215
|
+
return actions.filter(a => a && !a.divider);
|
|
222
216
|
}, [actions]);
|
|
223
|
-
|
|
217
|
+
const visibleChips = React.useMemo(() => {
|
|
224
218
|
if (!Array.isArray(chips)) return [];
|
|
225
219
|
return chips.filter(Boolean);
|
|
226
220
|
}, [chips]);
|
|
227
|
-
|
|
221
|
+
const metaParts = React.useMemo(() => {
|
|
228
222
|
if (!Array.isArray(meta)) return [];
|
|
229
|
-
return meta.filter(
|
|
230
|
-
return p != null && p !== "";
|
|
231
|
-
});
|
|
223
|
+
return meta.filter(p => p != null && p !== "");
|
|
232
224
|
}, [meta]);
|
|
233
225
|
|
|
234
226
|
/* Only `label` is required — a pair with an empty value is kept on purpose so
|
|
235
227
|
* KV renders its "—" placeholder and the grid keeps its shape across rows.
|
|
236
228
|
* Entries missing a label are dropped: KV would emit an empty eyebrow and an
|
|
237
229
|
* aria-labelledby pointing at nothing. */
|
|
238
|
-
|
|
230
|
+
const kvPairs = React.useMemo(() => {
|
|
239
231
|
if (!Array.isArray(kv)) return [];
|
|
240
|
-
return kv.filter(
|
|
241
|
-
return p != null && p.label != null && p.label !== "";
|
|
242
|
-
});
|
|
232
|
+
return kv.filter(p => p != null && p.label != null && p.label !== "");
|
|
243
233
|
}, [kv]);
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
234
|
+
const hasActions = visibleActions.length > 0;
|
|
235
|
+
const hasTitle = title != null && title !== "";
|
|
236
|
+
const hasLeading = leading != null && leading !== "";
|
|
237
|
+
const hasTrailing = trailing != null && trailing !== "";
|
|
238
|
+
const hasHeader = hasTitle || hasActions || hasLeading || hasTrailing;
|
|
239
|
+
const hasSubtitle = subtitle != null && subtitle !== "";
|
|
250
240
|
|
|
251
241
|
// Title attribute (native hover tooltip) is set only when the value
|
|
252
242
|
// is a string — wrapping a React node yields a "[object Object]"
|
|
253
243
|
// tooltip which is worse than no tooltip.
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box
|
|
244
|
+
const titleAttr = typeof title === "string" ? title : undefined;
|
|
245
|
+
const subtitleAttr = typeof subtitle === "string" ? subtitle : undefined;
|
|
246
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
257
247
|
sx: CARD_INNER_SX,
|
|
258
|
-
children: [hasHeader && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box
|
|
248
|
+
children: [hasHeader && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
259
249
|
sx: HEADER_SX,
|
|
260
|
-
children: [(hasLeading || hasTitle) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box
|
|
250
|
+
children: [(hasLeading || hasTitle) && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
261
251
|
sx: HEADER_MAIN_SX,
|
|
262
|
-
children: [hasLeading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
252
|
+
children: [hasLeading && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
263
253
|
sx: LEADING_SX,
|
|
264
254
|
children: leading
|
|
265
|
-
}), hasTitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
255
|
+
}), hasTitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
266
256
|
sx: titleMono ? TITLE_MONO_SX : TITLE_BASE_SX,
|
|
267
257
|
title: titleAttr,
|
|
268
258
|
children: title
|
|
@@ -273,49 +263,47 @@ function MobileRowCard(_ref) {
|
|
|
273
263
|
// mobile card wrapper). Stop propagation on the whole
|
|
274
264
|
// interactive cluster so firing a visible action, or opening
|
|
275
265
|
// the kebab, doesn't also fire onRowClick.
|
|
276
|
-
(0, _jsxRuntime.jsxs)(_Box
|
|
266
|
+
(0, _jsxRuntime.jsxs)(_Box.default, {
|
|
277
267
|
sx: HEADER_END_SX,
|
|
278
|
-
onClick:
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
} : {}))]
|
|
268
|
+
onClick: e => e.stopPropagation(),
|
|
269
|
+
onKeyDown: e => e.stopPropagation(),
|
|
270
|
+
children: [hasTrailing && trailing, hasActions && /*#__PURE__*/(0, _jsxRuntime.jsx)(_OverflowMenu.default, {
|
|
271
|
+
...(actionsAriaLabel !== undefined ? {
|
|
272
|
+
ariaLabel: actionsAriaLabel
|
|
273
|
+
} : {}),
|
|
274
|
+
...(actions !== undefined ? {
|
|
275
|
+
actions
|
|
276
|
+
} : {})
|
|
277
|
+
})]
|
|
289
278
|
})]
|
|
290
|
-
}), hasSubtitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
279
|
+
}), hasSubtitle && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
291
280
|
sx: SUBTITLE_SX,
|
|
292
281
|
title: subtitleAttr,
|
|
293
282
|
children: subtitle
|
|
294
|
-
}), visibleChips.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
283
|
+
}), visibleChips.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
295
284
|
sx: CHIPS_SX,
|
|
296
|
-
children: visibleChips.map(
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
})
|
|
301
|
-
}), kvPairs.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box["default"], {
|
|
285
|
+
children: visibleChips.map((c, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(React.Fragment, {
|
|
286
|
+
children: c
|
|
287
|
+
}, i))
|
|
288
|
+
}), kvPairs.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
302
289
|
sx: KV_GRID_SX,
|
|
303
|
-
children: kvPairs.map(
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
}, pair.value !== undefined ? {
|
|
290
|
+
children: kvPairs.map((pair, i) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_KV.default, {
|
|
291
|
+
label: pair.label,
|
|
292
|
+
...(pair.value !== undefined ? {
|
|
307
293
|
value: pair.value
|
|
308
|
-
} : {}),
|
|
294
|
+
} : {}),
|
|
295
|
+
...(pair.mono !== undefined ? {
|
|
309
296
|
mono: pair.mono
|
|
310
|
-
} : {}),
|
|
297
|
+
} : {}),
|
|
298
|
+
...(pair.fallback !== undefined ? {
|
|
311
299
|
fallback: pair.fallback
|
|
312
|
-
} : {})
|
|
313
|
-
})
|
|
314
|
-
}), metaParts.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box
|
|
300
|
+
} : {})
|
|
301
|
+
}, i))
|
|
302
|
+
}), metaParts.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Box.default, {
|
|
315
303
|
sx: META_SX,
|
|
316
304
|
children: metaParts.join(" · ")
|
|
317
305
|
})]
|
|
318
306
|
});
|
|
319
307
|
}
|
|
320
|
-
var _default = exports
|
|
308
|
+
var _default = exports.default = MobileRowCard;
|
|
321
309
|
//# sourceMappingURL=MobileRowCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MobileRowCard.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_OverflowMenu","_KV","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","TypeError","Number","CARD_INNER_SX","freeze","display","flexDirection","gap","padding","HEADER_SX","alignItems","justifyContent","HEADER_MAIN_SX","minWidth","flex","LEADING_SX","flexShrink","TITLE_BASE_SX","fontWeight","fontSize","color","overflow","textOverflow","whiteSpace","TITLE_MONO_SX","fontFamily","SUBTITLE_SX","CHIPS_SX","flexWrap","META_SX","KV_GRID_SX","gridTemplateColumns","HEADER_END_SX","MobileRowCard","_ref","leading","trailing","title","_ref$titleMono","titleMono","subtitle","chips","kv","meta","actions","actionsAriaLabel","visibleActions","useMemo","Array","isArray","a","divider","visibleChips","Boolean","metaParts","p","kvPairs","label","hasActions","hasTitle","hasLeading","hasTrailing","hasHeader","hasSubtitle","titleAttr","subtitleAttr","jsxs","sx","children","jsx","onClick","e","stopPropagation","onKeyDown","ariaLabel","map","c","Fragment","pair","mono","fallback","join","_default","exports"],"sources":["../../../src/lib/v2/components/MobileRowCard.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport OverflowMenu from \"./OverflowMenu\";\r\nimport type { OverflowMenuAction } from \"./OverflowMenu\";\r\nimport KV from \"./KV\";\r\n\r\n/**\r\n * MobileRowCard - Portnet UI v2\r\n *\r\n * Canonical card layout for the DataGrid mobile card view (R1 mobile,\r\n * lib commit \"feat(DataGrid): R1 mobile - opt-in card view\"). Used\r\n * inside DataGrid's renderMobileCard prop to centralise the visual\r\n * rhythm across modules.\r\n *\r\n * <DataGrid\r\n * renderMobileCard={(row) => (\r\n * <MobileRowCard\r\n * title={row.reference}\r\n * titleMono\r\n * subtitle={row.importer?.description}\r\n * chips={[\r\n * <StatutAutorisationChip code={row.statutAutorisation} />,\r\n * <StatutUtilisationChip code={row.statutUtilisation} />,\r\n * ]}\r\n * meta={[\r\n * `Émise ${formatDate(row.dateIssue)}`,\r\n * `Fin ${formatDate(row.dateFinValidite)}`,\r\n * ]}\r\n * actions={buildRowActions(row)}\r\n * actionsAriaLabel={`Actions pour ${row.reference}`}\r\n * />\r\n * )}\r\n * ...\r\n * />\r\n *\r\n * Layout (top to bottom, each line conditional on its prop):\r\n * 1. Header row: [leading] + title (truncate, optional mono) + [trailing] + OverflowMenu kebab\r\n * 2. Subtitle line: muted, single-line truncate\r\n * 3. Chips row: wrapping flexbox for status chips\r\n * 4. KV grid: two-column label/value pairs (see `kv`)\r\n * 5. Meta line: secondary scalars joined with \" · \"\r\n *\r\n * All props are optional; the component renders only the lines\r\n * that have content, with no empty placeholder boxes.\r\n *\r\n * `kv` vs `meta` — pick by whether the reader needs the label.\r\n * meta → self-evident scalars, joined label-less: \"12/05/2026 · 3 pièces\"\r\n * kv → values that are meaningless unaccompanied (\"SOFRANE SA\",\r\n * \"Casablanca\", \"Tissus\") — rendered as a 2-column grid of v2.KV\r\n *\r\n * `kv` exists because every listing in ms-dfd-fe and ms-ti-fe independently\r\n * built header + labelled-KV-grid cards with a local MOBILE_CARD_KV_SX,\r\n * bypassing this component entirely — nine sites across two modules. `meta`\r\n * could not absorb them: joining five labelled pairs into one \" · \" string\r\n * loses the labels, and on a phone those labels are what make the values\r\n * interpretable (Nielsen #6, recognition over recall). Each pair renders\r\n * through v2.KV, so label/value stay paired for screen readers via\r\n * aria-labelledby, and empty values fall back to KV's own \"—\" rather than each\r\n * host writing `?? \"-\"`.\r\n *\r\n * <MobileRowCard\r\n * leading={<FavoriteToggle ... />}\r\n * title={row.num} titleMono\r\n * chips={[<Status kind={...} label={row.etat} />]}\r\n * kv={[\r\n * { label: \"Catégorie\", value: row.categorie },\r\n * { label: \"Importateur\", value: row.importateur },\r\n * { label: \"Référence\", value: row.ref, mono: true },\r\n * ]}\r\n * />\r\n *\r\n * `leading` — a slot BEFORE the title, inside the header row, vertically\r\n * centred against it and never shrinking. Added for the listing favourite\r\n * star, which hosts previously could not place inside the card and therefore\r\n * hand-rolled the whole card layout instead:\r\n *\r\n * <MobileRowCard\r\n * leading={<FavoriteToggle pressed={isFavorite} size=\"sm\" onChange={...} />}\r\n * title={row.reference}\r\n * titleMono\r\n * />\r\n *\r\n * PROPAGATION — deliberate asymmetry with the kebab. The kebab wrapper stops\r\n * click/keydown itself, because opening a menu must never also fire the card's\r\n * onRowClick. `leading` does NOT: a decorative leading node (icon, avatar)\r\n * should still open the row like the rest of the card, and silently swallowing\r\n * that would be the more surprising default. Interactive leading content is\r\n * therefore responsible for stopping propagation in its own handlers — exactly\r\n * as DataGrid's own FavoriteCell does. Get this wrong and a tap both toggles\r\n * the star and opens the drawer.\r\n *\r\n * Charter §02.3 — spacing: --s-2 gap between lines, --s-3 padding.\r\n * Charter §02.2 — typography:\r\n * - title: text-sm semibold (text-mono variant if titleMono)\r\n * - subtitle: text-sm fg-muted\r\n * - meta: text-xs fg-subtle\r\n * Charter §05 — a11y: kebab has its own aria-label; the card-level\r\n * click wiring (role=button, tabIndex, Enter/Space) is owned by\r\n * DataGrid's mobile card wrapper. This component just renders the\r\n * contents.\r\n *\r\n * Why chips are NODES (not objects):\r\n * Hosts have specialised chip components (StatutAutorisationChip\r\n * etc.) and passing nodes lets them keep their existing chip type\r\n * without translating to a generic schema. We just lay them out\r\n * in a wrapping row.\r\n */\r\n\r\nconst CARD_INNER_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n padding: \"var(--s-3)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst HEADER_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"flex-start\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* Groups `leading` + title on the left of the header so the kebab keeps its\r\n * space-between position. `minWidth: 0` is what lets the title's ellipsis\r\n * actually engage inside a flex child. */\r\nconst HEADER_MAIN_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n minWidth: 0,\r\n flex: 1,\r\n} satisfies SxProps<Theme>);\r\n\r\nconst LEADING_SX = Object.freeze({\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n flexShrink: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TITLE_BASE_SX = Object.freeze({\r\n fontWeight: \"var(--fw-semibold)\",\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n minWidth: 0,\r\n flex: 1,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TITLE_MONO_SX = Object.freeze({\r\n ...TITLE_BASE_SX,\r\n fontFamily: \"var(--font-mono)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SUBTITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-muted)\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CHIPS_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n flexWrap: \"wrap\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst META_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n});\r\n\r\n/* Two columns at every phone width. Deliberately not responsive: below ~320px\r\n * a single column would be more readable, but 320px is the Charter's narrowest\r\n * supported breakpoint (§07.2 xs) and two columns still fit there. Matches the\r\n * MOBILE_CARD_KV_SX both modules converged on independently. */\r\nconst KV_GRID_SX = Object.freeze({\r\n display: \"grid\",\r\n gridTemplateColumns: \"1fr 1fr\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* Right cluster of the header row: [trailing] then the kebab. One shared\r\n * wrapper so a card can carry both a visible action and an overflow menu, and\r\n * so propagation is stopped once for the whole interactive cluster. */\r\nconst HEADER_END_SX = Object.freeze({\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n flexShrink: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\n/** One label/value pair in the card's `kv` grid. Mirrors v2.KV's own props. */\r\nexport interface MobileRowCardKV {\r\n label: React.ReactNode;\r\n value?: React.ReactNode | undefined;\r\n /** Tabular-nums monospace — for references, IDs, amounts. */\r\n mono?: boolean | undefined;\r\n /** Overrides KV's default \"—\" when the value is null/undefined/\"\". */\r\n fallback?: React.ReactNode | undefined;\r\n}\r\n\r\nexport interface MobileRowCardProps {\r\n /** Slot before the title (favourite toggle, icon, avatar). Interactive\r\n * content must stop propagation itself — see the propagation note above. */\r\n leading?: React.ReactNode | undefined;\r\n /**\r\n * Slot at the END of the header row — the VISIBLE counterpart of `actions`.\r\n *\r\n * `actions` collapses into a kebab, which is right for a listing's secondary\r\n * verbs and wrong when the action IS the point of the row: a picker modal's\r\n * \"Choisir\" button is the only way to select a row on a phone, and burying it\r\n * behind \"…\" turns one tap into two. Six sites across ms-dfd-fe and ms-ti-fe\r\n * hand-rolled the entire card layout rather than accept that, which is what\r\n * this slot exists to end.\r\n *\r\n * Renders before the kebab; both may be present.\r\n *\r\n * PROPAGATION — unlike `leading`, `trailing` shares the kebab's wrapper and\r\n * therefore DOES stop click/keydown. Its declared purpose is interactive\r\n * actions, and a tap that both fires the action and opens the row is the more\r\n * damaging default. Decorative content belongs in `leading`.\r\n */\r\n trailing?: React.ReactNode | undefined;\r\n title?: React.ReactNode | undefined;\r\n titleMono?: boolean | undefined;\r\n subtitle?: React.ReactNode | undefined;\r\n chips?: React.ReactNode[] | undefined;\r\n /** Labelled pairs rendered as a 2-column v2.KV grid. See `kv` vs `meta`. */\r\n kv?: MobileRowCardKV[] | undefined;\r\n meta?: React.ReactNode[] | undefined;\r\n actions?: OverflowMenuAction[] | undefined;\r\n /**\r\n * Accessible name for the kebab trigger.\r\n *\r\n * NO DEFAULT ON PURPOSE. This used to default to the literal \"Actions\",\r\n * which was then passed to OverflowMenu's `ariaLabel` — and `ariaLabel`\r\n * WINS over `labels.trigger`, so the card silently overrode the design\r\n * system's own canonical trigger name (\"Plus d'actions\", OverflowMenu\r\n * DEFAULT_LABELS). Result: every kebab in the fleet announced « Plus\r\n * d'actions » except the ones inside a mobile row card, which announced the\r\n * vaguer « Actions » — an inter-module naming inconsistency (Charter P2 /\r\n * R-2.4 : « un même concept = un même libellé partout »).\r\n *\r\n * Leaving it undefined lets OverflowMenu apply its own default. Hosts\r\n * SHOULD still pass a contextual name (« Actions pour 2025-IM-0042 »), which\r\n * is strictly better than either default for screen-reader users scanning a\r\n * list of cards.\r\n */\r\n actionsAriaLabel?: string | undefined;\r\n}\r\n\r\nfunction MobileRowCard({\r\n leading,\r\n trailing,\r\n title,\r\n titleMono = false,\r\n subtitle,\r\n chips,\r\n kv,\r\n meta,\r\n actions,\r\n /* No default — see the prop's doc comment. Forwarded only when the host\r\n * supplies one, so OverflowMenu's own default applies otherwise. */\r\n actionsAriaLabel,\r\n}: MobileRowCardProps) {\r\n // Filter out divider entries (OverflowMenu separator marks) and\r\n // null/undefined actions so the kebab only renders when there is\r\n // at least one real action available.\r\n const visibleActions = React.useMemo(() => {\r\n if (!Array.isArray(actions)) return [];\r\n return actions.filter((a) => a && !a.divider);\r\n }, [actions]);\r\n\r\n const visibleChips = React.useMemo(() => {\r\n if (!Array.isArray(chips)) return [];\r\n return chips.filter(Boolean);\r\n }, [chips]);\r\n\r\n const metaParts = React.useMemo(() => {\r\n if (!Array.isArray(meta)) return [];\r\n return meta.filter((p) => p != null && p !== \"\");\r\n }, [meta]);\r\n\r\n /* Only `label` is required — a pair with an empty value is kept on purpose so\r\n * KV renders its \"—\" placeholder and the grid keeps its shape across rows.\r\n * Entries missing a label are dropped: KV would emit an empty eyebrow and an\r\n * aria-labelledby pointing at nothing. */\r\n const kvPairs = React.useMemo(() => {\r\n if (!Array.isArray(kv)) return [];\r\n return kv.filter((p) => p != null && p.label != null && p.label !== \"\");\r\n }, [kv]);\r\n\r\n const hasActions = visibleActions.length > 0;\r\n const hasTitle = title != null && title !== \"\";\r\n const hasLeading = leading != null && leading !== \"\";\r\n const hasTrailing = trailing != null && trailing !== \"\";\r\n const hasHeader = hasTitle || hasActions || hasLeading || hasTrailing;\r\n const hasSubtitle = subtitle != null && subtitle !== \"\";\r\n\r\n // Title attribute (native hover tooltip) is set only when the value\r\n // is a string — wrapping a React node yields a \"[object Object]\"\r\n // tooltip which is worse than no tooltip.\r\n const titleAttr = typeof title === \"string\" ? title : undefined;\r\n const subtitleAttr =\r\n typeof subtitle === \"string\" ? subtitle : undefined;\r\n\r\n return (\r\n <Box sx={CARD_INNER_SX}>\r\n {hasHeader && (\r\n <Box sx={HEADER_SX}>\r\n {(hasLeading || hasTitle) && (\r\n <Box sx={HEADER_MAIN_SX}>\r\n {hasLeading && <Box sx={LEADING_SX}>{leading}</Box>}\r\n {hasTitle && (\r\n <Box\r\n sx={titleMono ? TITLE_MONO_SX : TITLE_BASE_SX}\r\n title={titleAttr}\r\n >\r\n {title}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n {(hasTrailing || hasActions) && (\r\n // The card itself is the click target (wired by DataGrid's\r\n // mobile card wrapper). Stop propagation on the whole\r\n // interactive cluster so firing a visible action, or opening\r\n // the kebab, doesn't also fire onRowClick.\r\n <Box\r\n sx={HEADER_END_SX}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={(e) => e.stopPropagation()}\r\n >\r\n {hasTrailing && trailing}\r\n {hasActions && (\r\n <OverflowMenu\r\n {...(actionsAriaLabel !== undefined ? { ariaLabel: actionsAriaLabel } : {})}\r\n {...(actions !== undefined ? { actions } : {})}\r\n />\r\n )}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n {hasSubtitle && (\r\n <Box sx={SUBTITLE_SX} title={subtitleAttr}>\r\n {subtitle}\r\n </Box>\r\n )}\r\n {visibleChips.length > 0 && (\r\n <Box sx={CHIPS_SX}>\r\n {visibleChips.map((c, i) => (\r\n <React.Fragment key={i}>{c}</React.Fragment>\r\n ))}\r\n </Box>\r\n )}\r\n {kvPairs.length > 0 && (\r\n <Box sx={KV_GRID_SX}>\r\n {kvPairs.map((pair, i) => (\r\n <KV\r\n key={i}\r\n label={pair.label}\r\n {...(pair.value !== undefined ? { value: pair.value } : {})}\r\n {...(pair.mono !== undefined ? { mono: pair.mono } : {})}\r\n {...(pair.fallback !== undefined ? { fallback: pair.fallback } : {})}\r\n />\r\n ))}\r\n </Box>\r\n )}\r\n {metaParts.length > 0 && (\r\n <Box sx={META_SX}>{metaParts.join(\" · \")}</Box>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default MobileRowCard;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"MobileRowCard.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_OverflowMenu","_KV","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","CARD_INNER_SX","freeze","display","flexDirection","gap","padding","HEADER_SX","alignItems","justifyContent","HEADER_MAIN_SX","minWidth","flex","LEADING_SX","flexShrink","TITLE_BASE_SX","fontWeight","fontSize","color","overflow","textOverflow","whiteSpace","TITLE_MONO_SX","fontFamily","SUBTITLE_SX","CHIPS_SX","flexWrap","META_SX","KV_GRID_SX","gridTemplateColumns","HEADER_END_SX","MobileRowCard","leading","trailing","title","titleMono","subtitle","chips","kv","meta","actions","actionsAriaLabel","visibleActions","useMemo","Array","isArray","filter","a","divider","visibleChips","Boolean","metaParts","p","kvPairs","label","hasActions","length","hasTitle","hasLeading","hasTrailing","hasHeader","hasSubtitle","titleAttr","undefined","subtitleAttr","jsxs","sx","children","jsx","onClick","stopPropagation","onKeyDown","ariaLabel","map","c","Fragment","pair","value","mono","fallback","join","_default","exports"],"sources":["../../../src/lib/v2/components/MobileRowCard.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport OverflowMenu from \"./OverflowMenu\";\r\nimport type { OverflowMenuAction } from \"./OverflowMenu\";\r\nimport KV from \"./KV\";\r\n\r\n/**\r\n * MobileRowCard - Portnet UI v2\r\n *\r\n * Canonical card layout for the DataGrid mobile card view (R1 mobile,\r\n * lib commit \"feat(DataGrid): R1 mobile - opt-in card view\"). Used\r\n * inside DataGrid's renderMobileCard prop to centralise the visual\r\n * rhythm across modules.\r\n *\r\n * <DataGrid\r\n * renderMobileCard={(row) => (\r\n * <MobileRowCard\r\n * title={row.reference}\r\n * titleMono\r\n * subtitle={row.importer?.description}\r\n * chips={[\r\n * <StatutAutorisationChip code={row.statutAutorisation} />,\r\n * <StatutUtilisationChip code={row.statutUtilisation} />,\r\n * ]}\r\n * meta={[\r\n * `Émise ${formatDate(row.dateIssue)}`,\r\n * `Fin ${formatDate(row.dateFinValidite)}`,\r\n * ]}\r\n * actions={buildRowActions(row)}\r\n * actionsAriaLabel={`Actions pour ${row.reference}`}\r\n * />\r\n * )}\r\n * ...\r\n * />\r\n *\r\n * Layout (top to bottom, each line conditional on its prop):\r\n * 1. Header row: [leading] + title (truncate, optional mono) + [trailing] + OverflowMenu kebab\r\n * 2. Subtitle line: muted, single-line truncate\r\n * 3. Chips row: wrapping flexbox for status chips\r\n * 4. KV grid: two-column label/value pairs (see `kv`)\r\n * 5. Meta line: secondary scalars joined with \" · \"\r\n *\r\n * All props are optional; the component renders only the lines\r\n * that have content, with no empty placeholder boxes.\r\n *\r\n * `kv` vs `meta` — pick by whether the reader needs the label.\r\n * meta → self-evident scalars, joined label-less: \"12/05/2026 · 3 pièces\"\r\n * kv → values that are meaningless unaccompanied (\"SOFRANE SA\",\r\n * \"Casablanca\", \"Tissus\") — rendered as a 2-column grid of v2.KV\r\n *\r\n * `kv` exists because every listing in ms-dfd-fe and ms-ti-fe independently\r\n * built header + labelled-KV-grid cards with a local MOBILE_CARD_KV_SX,\r\n * bypassing this component entirely — nine sites across two modules. `meta`\r\n * could not absorb them: joining five labelled pairs into one \" · \" string\r\n * loses the labels, and on a phone those labels are what make the values\r\n * interpretable (Nielsen #6, recognition over recall). Each pair renders\r\n * through v2.KV, so label/value stay paired for screen readers via\r\n * aria-labelledby, and empty values fall back to KV's own \"—\" rather than each\r\n * host writing `?? \"-\"`.\r\n *\r\n * <MobileRowCard\r\n * leading={<FavoriteToggle ... />}\r\n * title={row.num} titleMono\r\n * chips={[<Status kind={...} label={row.etat} />]}\r\n * kv={[\r\n * { label: \"Catégorie\", value: row.categorie },\r\n * { label: \"Importateur\", value: row.importateur },\r\n * { label: \"Référence\", value: row.ref, mono: true },\r\n * ]}\r\n * />\r\n *\r\n * `leading` — a slot BEFORE the title, inside the header row, vertically\r\n * centred against it and never shrinking. Added for the listing favourite\r\n * star, which hosts previously could not place inside the card and therefore\r\n * hand-rolled the whole card layout instead:\r\n *\r\n * <MobileRowCard\r\n * leading={<FavoriteToggle pressed={isFavorite} size=\"sm\" onChange={...} />}\r\n * title={row.reference}\r\n * titleMono\r\n * />\r\n *\r\n * PROPAGATION — deliberate asymmetry with the kebab. The kebab wrapper stops\r\n * click/keydown itself, because opening a menu must never also fire the card's\r\n * onRowClick. `leading` does NOT: a decorative leading node (icon, avatar)\r\n * should still open the row like the rest of the card, and silently swallowing\r\n * that would be the more surprising default. Interactive leading content is\r\n * therefore responsible for stopping propagation in its own handlers — exactly\r\n * as DataGrid's own FavoriteCell does. Get this wrong and a tap both toggles\r\n * the star and opens the drawer.\r\n *\r\n * Charter §02.3 — spacing: --s-2 gap between lines, --s-3 padding.\r\n * Charter §02.2 — typography:\r\n * - title: text-sm semibold (text-mono variant if titleMono)\r\n * - subtitle: text-sm fg-muted\r\n * - meta: text-xs fg-subtle\r\n * Charter §05 — a11y: kebab has its own aria-label; the card-level\r\n * click wiring (role=button, tabIndex, Enter/Space) is owned by\r\n * DataGrid's mobile card wrapper. This component just renders the\r\n * contents.\r\n *\r\n * Why chips are NODES (not objects):\r\n * Hosts have specialised chip components (StatutAutorisationChip\r\n * etc.) and passing nodes lets them keep their existing chip type\r\n * without translating to a generic schema. We just lay them out\r\n * in a wrapping row.\r\n */\r\n\r\nconst CARD_INNER_SX = Object.freeze({\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-2)\",\r\n padding: \"var(--s-3)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst HEADER_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"flex-start\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* Groups `leading` + title on the left of the header so the kebab keeps its\r\n * space-between position. `minWidth: 0` is what lets the title's ellipsis\r\n * actually engage inside a flex child. */\r\nconst HEADER_MAIN_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-2)\",\r\n minWidth: 0,\r\n flex: 1,\r\n} satisfies SxProps<Theme>);\r\n\r\nconst LEADING_SX = Object.freeze({\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n flexShrink: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TITLE_BASE_SX = Object.freeze({\r\n fontWeight: \"var(--fw-semibold)\",\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n minWidth: 0,\r\n flex: 1,\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TITLE_MONO_SX = Object.freeze({\r\n ...TITLE_BASE_SX,\r\n fontFamily: \"var(--font-mono)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst SUBTITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-muted)\",\r\n overflow: \"hidden\",\r\n textOverflow: \"ellipsis\",\r\n whiteSpace: \"nowrap\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CHIPS_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n flexWrap: \"wrap\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst META_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n});\r\n\r\n/* Two columns at every phone width. Deliberately not responsive: below ~320px\r\n * a single column would be more readable, but 320px is the Charter's narrowest\r\n * supported breakpoint (§07.2 xs) and two columns still fit there. Matches the\r\n * MOBILE_CARD_KV_SX both modules converged on independently. */\r\nconst KV_GRID_SX = Object.freeze({\r\n display: \"grid\",\r\n gridTemplateColumns: \"1fr 1fr\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\n/* Right cluster of the header row: [trailing] then the kebab. One shared\r\n * wrapper so a card can carry both a visible action and an overflow menu, and\r\n * so propagation is stopped once for the whole interactive cluster. */\r\nconst HEADER_END_SX = Object.freeze({\r\n display: \"inline-flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n flexShrink: 0,\r\n} satisfies SxProps<Theme>);\r\n\r\n/** One label/value pair in the card's `kv` grid. Mirrors v2.KV's own props. */\r\nexport interface MobileRowCardKV {\r\n label: React.ReactNode;\r\n value?: React.ReactNode | undefined;\r\n /** Tabular-nums monospace — for references, IDs, amounts. */\r\n mono?: boolean | undefined;\r\n /** Overrides KV's default \"—\" when the value is null/undefined/\"\". */\r\n fallback?: React.ReactNode | undefined;\r\n}\r\n\r\nexport interface MobileRowCardProps {\r\n /** Slot before the title (favourite toggle, icon, avatar). Interactive\r\n * content must stop propagation itself — see the propagation note above. */\r\n leading?: React.ReactNode | undefined;\r\n /**\r\n * Slot at the END of the header row — the VISIBLE counterpart of `actions`.\r\n *\r\n * `actions` collapses into a kebab, which is right for a listing's secondary\r\n * verbs and wrong when the action IS the point of the row: a picker modal's\r\n * \"Choisir\" button is the only way to select a row on a phone, and burying it\r\n * behind \"…\" turns one tap into two. Six sites across ms-dfd-fe and ms-ti-fe\r\n * hand-rolled the entire card layout rather than accept that, which is what\r\n * this slot exists to end.\r\n *\r\n * Renders before the kebab; both may be present.\r\n *\r\n * PROPAGATION — unlike `leading`, `trailing` shares the kebab's wrapper and\r\n * therefore DOES stop click/keydown. Its declared purpose is interactive\r\n * actions, and a tap that both fires the action and opens the row is the more\r\n * damaging default. Decorative content belongs in `leading`.\r\n */\r\n trailing?: React.ReactNode | undefined;\r\n title?: React.ReactNode | undefined;\r\n titleMono?: boolean | undefined;\r\n subtitle?: React.ReactNode | undefined;\r\n chips?: React.ReactNode[] | undefined;\r\n /** Labelled pairs rendered as a 2-column v2.KV grid. See `kv` vs `meta`. */\r\n kv?: MobileRowCardKV[] | undefined;\r\n meta?: React.ReactNode[] | undefined;\r\n actions?: OverflowMenuAction[] | undefined;\r\n /**\r\n * Accessible name for the kebab trigger.\r\n *\r\n * NO DEFAULT ON PURPOSE. This used to default to the literal \"Actions\",\r\n * which was then passed to OverflowMenu's `ariaLabel` — and `ariaLabel`\r\n * WINS over `labels.trigger`, so the card silently overrode the design\r\n * system's own canonical trigger name (\"Plus d'actions\", OverflowMenu\r\n * DEFAULT_LABELS). Result: every kebab in the fleet announced « Plus\r\n * d'actions » except the ones inside a mobile row card, which announced the\r\n * vaguer « Actions » — an inter-module naming inconsistency (Charter P2 /\r\n * R-2.4 : « un même concept = un même libellé partout »).\r\n *\r\n * Leaving it undefined lets OverflowMenu apply its own default. Hosts\r\n * SHOULD still pass a contextual name (« Actions pour 2025-IM-0042 »), which\r\n * is strictly better than either default for screen-reader users scanning a\r\n * list of cards.\r\n */\r\n actionsAriaLabel?: string | undefined;\r\n}\r\n\r\nfunction MobileRowCard({\r\n leading,\r\n trailing,\r\n title,\r\n titleMono = false,\r\n subtitle,\r\n chips,\r\n kv,\r\n meta,\r\n actions,\r\n /* No default — see the prop's doc comment. Forwarded only when the host\r\n * supplies one, so OverflowMenu's own default applies otherwise. */\r\n actionsAriaLabel,\r\n}: MobileRowCardProps) {\r\n // Filter out divider entries (OverflowMenu separator marks) and\r\n // null/undefined actions so the kebab only renders when there is\r\n // at least one real action available.\r\n const visibleActions = React.useMemo(() => {\r\n if (!Array.isArray(actions)) return [];\r\n return actions.filter((a) => a && !a.divider);\r\n }, [actions]);\r\n\r\n const visibleChips = React.useMemo(() => {\r\n if (!Array.isArray(chips)) return [];\r\n return chips.filter(Boolean);\r\n }, [chips]);\r\n\r\n const metaParts = React.useMemo(() => {\r\n if (!Array.isArray(meta)) return [];\r\n return meta.filter((p) => p != null && p !== \"\");\r\n }, [meta]);\r\n\r\n /* Only `label` is required — a pair with an empty value is kept on purpose so\r\n * KV renders its \"—\" placeholder and the grid keeps its shape across rows.\r\n * Entries missing a label are dropped: KV would emit an empty eyebrow and an\r\n * aria-labelledby pointing at nothing. */\r\n const kvPairs = React.useMemo(() => {\r\n if (!Array.isArray(kv)) return [];\r\n return kv.filter((p) => p != null && p.label != null && p.label !== \"\");\r\n }, [kv]);\r\n\r\n const hasActions = visibleActions.length > 0;\r\n const hasTitle = title != null && title !== \"\";\r\n const hasLeading = leading != null && leading !== \"\";\r\n const hasTrailing = trailing != null && trailing !== \"\";\r\n const hasHeader = hasTitle || hasActions || hasLeading || hasTrailing;\r\n const hasSubtitle = subtitle != null && subtitle !== \"\";\r\n\r\n // Title attribute (native hover tooltip) is set only when the value\r\n // is a string — wrapping a React node yields a \"[object Object]\"\r\n // tooltip which is worse than no tooltip.\r\n const titleAttr = typeof title === \"string\" ? title : undefined;\r\n const subtitleAttr =\r\n typeof subtitle === \"string\" ? subtitle : undefined;\r\n\r\n return (\r\n <Box sx={CARD_INNER_SX}>\r\n {hasHeader && (\r\n <Box sx={HEADER_SX}>\r\n {(hasLeading || hasTitle) && (\r\n <Box sx={HEADER_MAIN_SX}>\r\n {hasLeading && <Box sx={LEADING_SX}>{leading}</Box>}\r\n {hasTitle && (\r\n <Box\r\n sx={titleMono ? TITLE_MONO_SX : TITLE_BASE_SX}\r\n title={titleAttr}\r\n >\r\n {title}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n {(hasTrailing || hasActions) && (\r\n // The card itself is the click target (wired by DataGrid's\r\n // mobile card wrapper). Stop propagation on the whole\r\n // interactive cluster so firing a visible action, or opening\r\n // the kebab, doesn't also fire onRowClick.\r\n <Box\r\n sx={HEADER_END_SX}\r\n onClick={(e) => e.stopPropagation()}\r\n onKeyDown={(e) => e.stopPropagation()}\r\n >\r\n {hasTrailing && trailing}\r\n {hasActions && (\r\n <OverflowMenu\r\n {...(actionsAriaLabel !== undefined ? { ariaLabel: actionsAriaLabel } : {})}\r\n {...(actions !== undefined ? { actions } : {})}\r\n />\r\n )}\r\n </Box>\r\n )}\r\n </Box>\r\n )}\r\n {hasSubtitle && (\r\n <Box sx={SUBTITLE_SX} title={subtitleAttr}>\r\n {subtitle}\r\n </Box>\r\n )}\r\n {visibleChips.length > 0 && (\r\n <Box sx={CHIPS_SX}>\r\n {visibleChips.map((c, i) => (\r\n <React.Fragment key={i}>{c}</React.Fragment>\r\n ))}\r\n </Box>\r\n )}\r\n {kvPairs.length > 0 && (\r\n <Box sx={KV_GRID_SX}>\r\n {kvPairs.map((pair, i) => (\r\n <KV\r\n key={i}\r\n label={pair.label}\r\n {...(pair.value !== undefined ? { value: pair.value } : {})}\r\n {...(pair.mono !== undefined ? { mono: pair.mono } : {})}\r\n {...(pair.fallback !== undefined ? { fallback: pair.fallback } : {})}\r\n />\r\n ))}\r\n </Box>\r\n )}\r\n {metaParts.length > 0 && (\r\n <Box sx={META_SX}>{metaParts.join(\" · \")}</Box>\r\n )}\r\n </Box>\r\n );\r\n}\r\n\r\nexport default MobileRowCard;\r\n"],"mappings":"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","ignoreList":[]}
|