@portnet/ui 6.0.2 → 6.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +652 -0
- package/dist/esm/index.js +72 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
- package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +71 -38
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +11 -11
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FileCard.test.js +18 -17
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +87 -179
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +32 -44
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +118 -199
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -42
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/esm/v2/__tests__/apiError.test.js +50 -69
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
- package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
- package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +17 -21
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
- package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +48 -70
- package/dist/esm/v2/components/Accordion.js.map +1 -1
- package/dist/esm/v2/components/ActionStrip.js +31 -43
- package/dist/esm/v2/components/ActionStrip.js.map +1 -1
- package/dist/esm/v2/components/Banner.js +25 -22
- package/dist/esm/v2/components/Banner.js.map +1 -1
- package/dist/esm/v2/components/Busy.js +14 -19
- package/dist/esm/v2/components/Busy.js.map +1 -1
- package/dist/esm/v2/components/Button.js +34 -45
- package/dist/esm/v2/components/Button.js.map +1 -1
- package/dist/esm/v2/components/CategoryTag.js +44 -27
- package/dist/esm/v2/components/CategoryTag.js.map +1 -1
- package/dist/esm/v2/components/Checkbox.js +32 -38
- package/dist/esm/v2/components/Checkbox.js.map +1 -1
- package/dist/esm/v2/components/Chip.js +23 -36
- package/dist/esm/v2/components/Chip.js.map +1 -1
- package/dist/esm/v2/components/Combobox.js +112 -136
- package/dist/esm/v2/components/Combobox.js.map +1 -1
- package/dist/esm/v2/components/CommandPalette.js +113 -198
- package/dist/esm/v2/components/CommandPalette.js.map +1 -1
- package/dist/esm/v2/components/ConfirmDialog.js +36 -45
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/esm/v2/components/DatePicker.js +78 -81
- package/dist/esm/v2/components/DatePicker.js.map +1 -1
- package/dist/esm/v2/components/DateRangePicker.js +63 -74
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
- package/dist/esm/v2/components/DateTimePicker.js +81 -86
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
- package/dist/esm/v2/components/Drawer.js +71 -65
- package/dist/esm/v2/components/Drawer.js.map +1 -1
- package/dist/esm/v2/components/Dropzone.js +130 -177
- package/dist/esm/v2/components/Dropzone.js.map +1 -1
- package/dist/esm/v2/components/EmptyState.js +9 -9
- package/dist/esm/v2/components/EmptyState.js.map +1 -1
- package/dist/esm/v2/components/FavoriteToggle.js +24 -33
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/esm/v2/components/Field.js +155 -59
- package/dist/esm/v2/components/Field.js.map +1 -1
- package/dist/esm/v2/components/FieldError.js +9 -13
- package/dist/esm/v2/components/FieldError.js.map +1 -1
- package/dist/esm/v2/components/FieldHelp.js +28 -49
- package/dist/esm/v2/components/FieldHelp.js.map +1 -1
- package/dist/esm/v2/components/FileCard.js +14 -19
- package/dist/esm/v2/components/FileCard.js.map +1 -1
- package/dist/esm/v2/components/FilterTab.js +22 -31
- package/dist/esm/v2/components/FilterTab.js.map +1 -1
- package/dist/esm/v2/components/ForbiddenPage.js +28 -8
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/esm/v2/components/FormGrid.js +48 -54
- package/dist/esm/v2/components/FormGrid.js.map +1 -1
- package/dist/esm/v2/components/FormikDisplay.js +98 -24
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
- package/dist/esm/v2/components/Input.js +75 -34
- package/dist/esm/v2/components/Input.js.map +1 -1
- package/dist/esm/v2/components/KPICard.js +42 -51
- package/dist/esm/v2/components/KPICard.js.map +1 -1
- package/dist/esm/v2/components/KPIStrip.js +9 -15
- package/dist/esm/v2/components/KPIStrip.js.map +1 -1
- package/dist/esm/v2/components/KV.js +16 -23
- package/dist/esm/v2/components/KV.js.map +1 -1
- package/dist/esm/v2/components/KVGrid.js +15 -23
- package/dist/esm/v2/components/KVGrid.js.map +1 -1
- package/dist/esm/v2/components/Layout.js +81 -117
- package/dist/esm/v2/components/Layout.js.map +1 -1
- package/dist/esm/v2/components/MobileRowCard.js +64 -75
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
- package/dist/esm/v2/components/Modal.js +44 -53
- package/dist/esm/v2/components/Modal.js.map +1 -1
- package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/esm/v2/components/NotFoundPage.js +28 -9
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
- package/dist/esm/v2/components/NumberInput.js +77 -107
- package/dist/esm/v2/components/NumberInput.js.map +1 -1
- package/dist/esm/v2/components/OverflowMenu.js +24 -42
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
- package/dist/esm/v2/components/PdfViewer.js +24 -33
- package/dist/esm/v2/components/PdfViewer.js.map +1 -1
- package/dist/esm/v2/components/ProgressBar.js +28 -36
- package/dist/esm/v2/components/ProgressBar.js.map +1 -1
- package/dist/esm/v2/components/Radio.js +49 -57
- package/dist/esm/v2/components/Radio.js.map +1 -1
- package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/esm/v2/components/SectionHeader.js +24 -31
- package/dist/esm/v2/components/SectionHeader.js.map +1 -1
- package/dist/esm/v2/components/Segmented.js +59 -84
- package/dist/esm/v2/components/Segmented.js.map +1 -1
- package/dist/esm/v2/components/Select.js +100 -138
- package/dist/esm/v2/components/Select.js.map +1 -1
- package/dist/esm/v2/components/ServerErrorPage.js +27 -10
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/esm/v2/components/Skeleton.js +81 -96
- package/dist/esm/v2/components/Skeleton.js.map +1 -1
- package/dist/esm/v2/components/SkipLink.js +6 -7
- package/dist/esm/v2/components/SkipLink.js.map +1 -1
- package/dist/esm/v2/components/Spinner.js +13 -22
- package/dist/esm/v2/components/Spinner.js.map +1 -1
- package/dist/esm/v2/components/Status.js +14 -25
- package/dist/esm/v2/components/Status.js.map +1 -1
- package/dist/esm/v2/components/Stepper.js +68 -71
- package/dist/esm/v2/components/Stepper.js.map +1 -1
- package/dist/esm/v2/components/Surface.js +25 -44
- package/dist/esm/v2/components/Surface.js.map +1 -1
- package/dist/esm/v2/components/Switch.js +21 -29
- package/dist/esm/v2/components/Switch.js.map +1 -1
- package/dist/esm/v2/components/TabPanel.js +84 -0
- package/dist/esm/v2/components/TabPanel.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +43 -19
- package/dist/esm/v2/components/Tabs.js.map +1 -1
- package/dist/esm/v2/components/TelInput.js +75 -108
- package/dist/esm/v2/components/TelInput.js.map +1 -1
- package/dist/esm/v2/components/Textarea.js +21 -30
- package/dist/esm/v2/components/Textarea.js.map +1 -1
- package/dist/esm/v2/components/TimePicker.js +59 -69
- package/dist/esm/v2/components/TimePicker.js.map +1 -1
- package/dist/esm/v2/components/Toast.js +109 -163
- package/dist/esm/v2/components/Toast.js.map +1 -1
- package/dist/esm/v2/components/Tooltip.js +18 -31
- package/dist/esm/v2/components/Tooltip.js.map +1 -1
- package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/esm/v2/components/_pickerShared.js +2 -2
- package/dist/esm/v2/components/_pickerShared.js.map +1 -1
- package/dist/esm/v2/components/index.js +37 -0
- package/dist/esm/v2/components/index.js.map +1 -1
- package/dist/esm/v2/hooks/index.js +62 -0
- package/dist/esm/v2/hooks/index.js.map +1 -1
- package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
- package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/esm/v2/hooks/useDensity.js +13 -17
- package/dist/esm/v2/hooks/useDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useSortedRows.js +3 -5
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/esm/v2/hooks/useTabLoading.js +6 -21
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/esm/v2/index.js +2 -3
- package/dist/esm/v2/index.js.map +1 -1
- package/dist/esm/v2/modalContext.js +2 -2
- package/dist/esm/v2/modalContext.js.map +1 -1
- package/dist/esm/v2/models/favorite.js.map +1 -1
- package/dist/esm/v2/models/personalization.js.map +1 -1
- package/dist/esm/v2/models/referentiel.js.map +1 -1
- package/dist/esm/v2/models/savedFilter.js.map +1 -1
- package/dist/esm/v2/patterns/ActionBar.js +115 -159
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/AppMain.js +108 -0
- package/dist/esm/v2/patterns/AppMain.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/ChartFigure.js +151 -0
- package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/esm/v2/patterns/DataGrid.js +221 -255
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/esm/v2/patterns/DetailSplit.js +108 -0
- package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +15 -17
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
- package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/esm/v2/patterns/FormPageShell.js +43 -41
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/FormSection.js +30 -38
- package/dist/esm/v2/patterns/FormSection.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckbox.js +29 -39
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCombobox.js +51 -69
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +44 -58
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +44 -58
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
- package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +94 -78
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
- package/dist/esm/v2/patterns/FormikInput.js +40 -53
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +39 -51
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/FormikSelect.js +64 -87
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -46
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +53 -71
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/esm/v2/patterns/PageContent.js +10 -14
- package/dist/esm/v2/patterns/PageContent.js.map +1 -1
- package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
- package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +327 -312
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +27 -22
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -1
- package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/SortableHeader.js +22 -45
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/esm/v2/patterns/Tour.js +94 -120
- package/dist/esm/v2/patterns/Tour.js.map +1 -1
- package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/esm/v2/patterns/_pickerSerialisation.js +6 -8
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -1
- package/dist/esm/v2/patterns/_sort.js +17 -33
- package/dist/esm/v2/patterns/_sort.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/esm/v2/patterns/filterCriteria.js +102 -0
- package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +152 -0
- package/dist/esm/v2/patterns/index.js.map +1 -1
- package/dist/esm/v2/patterns/rowActions.js +223 -0
- package/dist/esm/v2/patterns/rowActions.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +28 -34
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/esm/v2/personalization/index.js +17 -0
- package/dist/esm/v2/personalization/index.js.map +1 -1
- package/dist/esm/v2/personalization/personalizationContext.js +9 -9
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/esm/v2/personalization/schema.js +8 -9
- package/dist/esm/v2/personalization/schema.js.map +1 -1
- package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/esm/v2/referentiel/types.js +2 -0
- package/dist/esm/v2/referentiel/types.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/esm/v2/theme/_brand.js +8 -24
- package/dist/esm/v2/theme/_brand.js.map +1 -1
- package/dist/esm/v2/theme/_brandSecondary.js +8 -24
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/esm/v2/theme/cssVariables.js +62 -69
- package/dist/esm/v2/theme/cssVariables.js.map +1 -1
- package/dist/esm/v2/theme/index.js +5 -5
- package/dist/esm/v2/theme/index.js.map +1 -1
- package/dist/esm/v2/tokens/breakpoints.js +14 -14
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
- package/dist/esm/v2/tokens/chart.js +261 -0
- package/dist/esm/v2/tokens/chart.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +22 -22
- package/dist/esm/v2/tokens/colors.js.map +1 -1
- package/dist/esm/v2/tokens/density.js +62 -7
- package/dist/esm/v2/tokens/density.js.map +1 -1
- package/dist/esm/v2/tokens/index.js +49 -34
- package/dist/esm/v2/tokens/index.js.map +1 -1
- package/dist/esm/v2/tokens/motion.js +12 -20
- package/dist/esm/v2/tokens/motion.js.map +1 -1
- package/dist/esm/v2/tokens/radius.js +1 -1
- package/dist/esm/v2/tokens/radius.js.map +1 -1
- package/dist/esm/v2/tokens/shadows.js +6 -6
- package/dist/esm/v2/tokens/shadows.js.map +1 -1
- package/dist/esm/v2/tokens/spacing.js +2 -2
- package/dist/esm/v2/tokens/spacing.js.map +1 -1
- package/dist/esm/v2/tokens/state.js +1 -1
- package/dist/esm/v2/tokens/state.js.map +1 -1
- package/dist/esm/v2/tokens/statusPalette.js +17 -21
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
- package/dist/esm/v2/tokens/tokens.json +6 -1
- package/dist/esm/v2/tokens/typography.js +13 -13
- package/dist/esm/v2/tokens/typography.js.map +1 -1
- package/dist/esm/v2/tokens/zIndex.js +1 -1
- package/dist/esm/v2/tokens/zIndex.js.map +1 -1
- package/dist/esm/v2/types/datagrid.js.map +1 -1
- package/dist/esm/v2/utils/apiError.js +16 -37
- package/dist/esm/v2/utils/apiError.js.map +1 -1
- package/dist/esm/v2/utils/contrast.js +31 -32
- package/dist/esm/v2/utils/contrast.js.map +1 -1
- package/dist/esm/v2/utils/cx.js +5 -25
- package/dist/esm/v2/utils/cx.js.map +1 -1
- package/dist/esm/v2/utils/fileDownload.js +23 -26
- package/dist/esm/v2/utils/fileDownload.js.map +1 -1
- package/dist/esm/v2/utils/fileValidation.js +209 -0
- package/dist/esm/v2/utils/fileValidation.js.map +1 -0
- package/dist/esm/v2/utils/fmtDate.js +111 -0
- package/dist/esm/v2/utils/fmtDate.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +8 -10
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
- package/dist/esm/v2/utils/formikErrors.js +78 -0
- package/dist/esm/v2/utils/formikErrors.js.map +1 -0
- package/dist/esm/v2/utils/index.js +35 -2
- package/dist/esm/v2/utils/index.js.map +1 -1
- package/dist/esm/v2/utils/mergeLabels.js +7 -12
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
- package/dist/esm/v2/utils/networkStatus.js +12 -12
- package/dist/esm/v2/utils/networkStatus.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +110 -49
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/AppMain.test.js +133 -0
- package/dist/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/v2/__tests__/ChartFigure.test.js +183 -0
- package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/v2/__tests__/FieldError.test.js +82 -49
- package/dist/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/v2/__tests__/FieldNaming.test.js +161 -0
- package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +23 -25
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -1
- package/dist/v2/__tests__/FileCard.test.js +29 -28
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +90 -183
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -1
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +38 -48
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -1
- package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +123 -204
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -1
- package/dist/v2/__tests__/MobileRowCard.test.js +63 -61
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
- package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/v2/__tests__/apiError.test.js +50 -69
- package/dist/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/v2/__tests__/banned-patterns.test.js +42 -123
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/v2/__tests__/chart-palette.test.js +205 -0
- package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/v2/__tests__/fileValidation.test.js +136 -0
- package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/v2/__tests__/filterCriteria.test.js +324 -0
- package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/fmtDate.test.js +69 -0
- package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +23 -27
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/__tests__/locale-fallback.test.js +47 -52
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
- package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/rowActions.test.js +186 -0
- package/dist/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/v2/components/Accordion.js +60 -82
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.js +40 -52
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.js +42 -41
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.js +22 -27
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.js +39 -50
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js +49 -32
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.js +39 -45
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.js +29 -42
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.js +122 -144
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.js +138 -225
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +46 -56
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.js +81 -86
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.js +77 -87
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.js +84 -91
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +93 -88
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.js +150 -196
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.js +18 -20
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +28 -39
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +62 -4
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +169 -70
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.js +18 -21
- package/dist/v2/components/FieldError.js.map +1 -1
- package/dist/v2/components/FieldHelp.js +40 -60
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.js +27 -31
- package/dist/v2/components/FileCard.js.map +1 -1
- package/dist/v2/components/FilterTab.js +30 -38
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/ForbiddenPage.d.ts +25 -1
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
- package/dist/v2/components/ForbiddenPage.js +37 -17
- package/dist/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/v2/components/FormGrid.js +53 -59
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +50 -1
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js +108 -33
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +40 -0
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js +81 -41
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.js +57 -67
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.js +16 -22
- package/dist/v2/components/KPIStrip.js.map +1 -1
- package/dist/v2/components/KV.js +25 -31
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.js +19 -26
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.js +91 -120
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.js +79 -91
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.js +61 -69
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js +38 -21
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NotFoundPage.d.ts +17 -1
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
- package/dist/v2/components/NotFoundPage.js +37 -18
- package/dist/v2/components/NotFoundPage.js.map +1 -1
- package/dist/v2/components/NumberInput.js +88 -118
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.js +38 -56
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.js +34 -45
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.js +42 -49
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.js +59 -67
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.js +90 -135
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/v2/components/SectionHeader.js +34 -41
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.js +69 -93
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +26 -2
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +120 -155
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +27 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js +37 -20
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.js +86 -100
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.js +9 -12
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Spinner.js +16 -25
- package/dist/v2/components/Spinner.js.map +1 -1
- package/dist/v2/components/Status.js +18 -29
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.js +80 -82
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.js +34 -49
- package/dist/v2/components/Surface.js.map +1 -1
- package/dist/v2/components/Switch.js +29 -37
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/TabPanel.d.ts +17 -0
- package/dist/v2/components/TabPanel.d.ts.map +1 -0
- package/dist/v2/components/TabPanel.js +90 -0
- package/dist/v2/components/TabPanel.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +25 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js +53 -29
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.js +80 -115
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.js +26 -35
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.js +62 -74
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.js +119 -174
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.js +23 -38
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/_ErrorPageBody.js +15 -16
- package/dist/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/v2/components/_pickerShared.js +5 -5
- package/dist/v2/components/_pickerShared.js.map +1 -1
- package/dist/v2/components/index.d.ts +40 -1
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +153 -136
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/hooks/index.d.ts +65 -0
- package/dist/v2/hooks/index.d.ts.map +1 -1
- package/dist/v2/hooks/index.js +63 -24
- package/dist/v2/hooks/index.js.map +1 -1
- package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
- package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
- package/dist/v2/hooks/useAppliedFilters.js +117 -0
- package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.js +87 -0
- package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +6 -20
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/v2/hooks/useDensity.d.ts.map +1 -1
- package/dist/v2/hooks/useDensity.js +14 -18
- package/dist/v2/hooks/useDensity.js.map +1 -1
- package/dist/v2/hooks/useFocusFirstError.js +26 -34
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +20 -24
- package/dist/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.js +39 -54
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +5 -13
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/v2/hooks/useSortedRows.js +4 -6
- package/dist/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/v2/hooks/useTabLoading.js +7 -22
- package/dist/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/v2/index.js +143 -145
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/modalContext.js +2 -2
- package/dist/v2/modalContext.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +8 -9
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/index.js +4 -4
- package/dist/v2/models/index.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +44 -48
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +32 -50
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -17
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.js +152 -187
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/AppMain.d.ts +109 -0
- package/dist/v2/patterns/AppMain.d.ts.map +1 -0
- package/dist/v2/patterns/AppMain.js +115 -0
- package/dist/v2/patterns/AppMain.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +40 -42
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/ChartFigure.d.ts +124 -0
- package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
- package/dist/v2/patterns/ChartFigure.js +159 -0
- package/dist/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +60 -94
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/DataGrid.js +262 -297
- package/dist/v2/patterns/DataGrid.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +103 -106
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js +179 -217
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/DetailSplit.d.ts +87 -0
- package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
- package/dist/v2/patterns/DetailSplit.js +116 -0
- package/dist/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.js +22 -23
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +36 -44
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
- package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
- package/dist/v2/patterns/FilterTabBar.js +120 -0
- package/dist/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +20 -23
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.js +53 -50
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +8 -3
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +44 -51
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.js +36 -45
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +55 -72
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +50 -64
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.js +50 -64
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js +25 -26
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
- package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorSummary.js +97 -0
- package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +14 -1
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js +99 -83
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.js +45 -58
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.js +45 -56
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js +54 -64
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +70 -92
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -51
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +60 -80
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.js +17 -20
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
- package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
- package/dist/v2/patterns/PreviewDrawer.js +159 -0
- package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +86 -2
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +347 -327
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +6 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.js +38 -30
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +50 -77
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js +122 -143
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.js +35 -57
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.js +121 -142
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +131 -147
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.js +9 -10
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -1
- package/dist/v2/patterns/_sort.js +17 -33
- package/dist/v2/patterns/_sort.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js +124 -163
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js +80 -99
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/filterCriteria.d.ts +78 -0
- package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
- package/dist/v2/patterns/filterCriteria.js +110 -0
- package/dist/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +160 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +157 -79
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/patterns/rowActions.d.ts +150 -0
- package/dist/v2/patterns/rowActions.d.ts.map +1 -0
- package/dist/v2/patterns/rowActions.js +232 -0
- package/dist/v2/patterns/rowActions.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js +57 -53
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/index.js +5 -5
- package/dist/v2/personalization/adapters/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/favorites.js +39 -62
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.js +31 -36
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +12 -12
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js +81 -182
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +16 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +30 -23
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/personalizationContext.js +10 -12
- package/dist/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/v2/personalization/schema.js +8 -9
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js +31 -45
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/index.js +11 -13
- package/dist/v2/referentiel/index.js.map +1 -1
- package/dist/v2/referentiel/types.d.ts +105 -0
- package/dist/v2/referentiel/types.d.ts.map +1 -0
- package/dist/v2/referentiel/types.js +6 -0
- package/dist/v2/referentiel/types.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +13 -16
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js +63 -120
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js +40 -95
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/_brand.js +12 -26
- package/dist/v2/theme/_brand.js.map +1 -1
- package/dist/v2/theme/_brandSecondary.js +12 -26
- package/dist/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +41 -49
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/theme/cssVariables.d.ts +3 -3
- package/dist/v2/theme/cssVariables.d.ts.map +1 -1
- package/dist/v2/theme/cssVariables.js +65 -70
- package/dist/v2/theme/cssVariables.js.map +1 -1
- package/dist/v2/theme/index.js +10 -10
- package/dist/v2/theme/index.js.map +1 -1
- package/dist/v2/tokens/breakpoints.js +16 -16
- package/dist/v2/tokens/breakpoints.js.map +1 -1
- package/dist/v2/tokens/chart.d.ts +103 -0
- package/dist/v2/tokens/chart.d.ts.map +1 -0
- package/dist/v2/tokens/chart.js +270 -0
- package/dist/v2/tokens/chart.js.map +1 -0
- package/dist/v2/tokens/colors.js +24 -24
- package/dist/v2/tokens/colors.js.map +1 -1
- package/dist/v2/tokens/density.d.ts +104 -0
- package/dist/v2/tokens/density.d.ts.map +1 -1
- package/dist/v2/tokens/density.js +67 -12
- package/dist/v2/tokens/density.js.map +1 -1
- package/dist/v2/tokens/index.d.ts +50 -1
- package/dist/v2/tokens/index.d.ts.map +1 -1
- package/dist/v2/tokens/index.js +116 -68
- package/dist/v2/tokens/index.js.map +1 -1
- package/dist/v2/tokens/motion.js +16 -22
- package/dist/v2/tokens/motion.js.map +1 -1
- package/dist/v2/tokens/radius.js +3 -3
- package/dist/v2/tokens/radius.js.map +1 -1
- package/dist/v2/tokens/shadows.js +8 -8
- package/dist/v2/tokens/shadows.js.map +1 -1
- package/dist/v2/tokens/spacing.js +4 -4
- package/dist/v2/tokens/spacing.js.map +1 -1
- package/dist/v2/tokens/state.js +3 -3
- package/dist/v2/tokens/state.js.map +1 -1
- package/dist/v2/tokens/statusPalette.js +21 -23
- package/dist/v2/tokens/statusPalette.js.map +1 -1
- package/dist/v2/tokens/tokens.json +6 -1
- package/dist/v2/tokens/typography.js +15 -15
- package/dist/v2/tokens/typography.js.map +1 -1
- package/dist/v2/tokens/zIndex.js +3 -3
- package/dist/v2/tokens/zIndex.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +9 -1
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/types/index.js +2 -2
- package/dist/v2/types/index.js.map +1 -1
- package/dist/v2/utils/apiError.js +16 -37
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/contrast.js +31 -32
- package/dist/v2/utils/contrast.js.map +1 -1
- package/dist/v2/utils/cx.js +7 -27
- package/dist/v2/utils/cx.js.map +1 -1
- package/dist/v2/utils/fileDownload.js +25 -28
- package/dist/v2/utils/fileDownload.js.map +1 -1
- package/dist/v2/utils/fileValidation.d.ts +116 -0
- package/dist/v2/utils/fileValidation.d.ts.map +1 -0
- package/dist/v2/utils/fileValidation.js +220 -0
- package/dist/v2/utils/fileValidation.js.map +1 -0
- package/dist/v2/utils/fmtDate.d.ts +103 -0
- package/dist/v2/utils/fmtDate.d.ts.map +1 -0
- package/dist/v2/utils/fmtDate.js +119 -0
- package/dist/v2/utils/fmtDate.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +3 -3
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
- package/dist/v2/utils/fmtMoney.js +9 -11
- package/dist/v2/utils/fmtMoney.js.map +1 -1
- package/dist/v2/utils/formikErrors.d.ts +67 -0
- package/dist/v2/utils/formikErrors.d.ts.map +1 -0
- package/dist/v2/utils/formikErrors.js +85 -0
- package/dist/v2/utils/formikErrors.js.map +1 -0
- package/dist/v2/utils/index.d.ts +5 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +67 -18
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.js +9 -14
- package/dist/v2/utils/mergeLabels.js.map +1 -1
- package/dist/v2/utils/networkStatus.js +14 -14
- package/dist/v2/utils/networkStatus.js.map +1 -1
- package/package.json +26 -9
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tour.js","names":["React","_interopRequireWildcard","require","_reactDom","_Box","_interopRequireDefault","_IconButton","_Close","_Button","_useFocusTrap","_mergeLabels","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","arr2","_i","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","err","isArray","PADDING","TOOLTIP_GAP","TOOLTIP_WIDTH","TOOLTIP_MAX_HEIGHT","VIEWPORT_MARGIN","DEFAULT_LABELS","freeze","prev","skip","finish","closeAria","stepCounter","cur","total","concat","getElementRect","selector","document","el","querySelector","r","getBoundingClientRect","top","left","right","bottom","width","height","_unused","computeTooltipPosition","targetRect","placement","vw","vh","p","space","best","entries","sort","a","b","Math","max","min","SPOTLIGHT_BG","SPOTLIGHT_BASE_SX","position","background","zIndex","pointerEvents","BACKDROP_FALLBACK_SX","inset","TOOLTIP_BASE_SX","maxHeight","overflowY","border","borderRadius","boxShadow","padding","TOOLTIP_HEADER_SX","display","alignItems","justifyContent","gap","marginBottom","TOOLTIP_TITLE_SX","fontSize","fontWeight","color","TOOLTIP_CLOSE_SX","marginRight","marginTop","TOOLTIP_CONTENT_SX","lineHeight","TOOLTIP_FOOTER_SX","STEP_COUNTER_SX","fontVariantNumeric","NAV_BUTTONS_SX","Tour","_ref","open","steps","onClose","onComplete","labels","L","useMemo","mergeLabels","_React$useState","useState","_React$useState2","stepIdx","setStepIdx","_React$useState3","_React$useState4","setTargetRect","_React$useState5","_React$useState6","tooltipPos","setTooltipPos","_React$useState7","w","h","_React$useState8","viewport","setViewport","tooltipRef","useRef","titleId","useId","contentId","currentStep","useFocusTrap","useEffect","recompute","window","innerWidth","innerHeight","rect","initialEl","_unused2","scrollIntoView","block","behavior","rafId","onViewportChange","requestAnimationFrame","addEventListener","removeEventListener","cancelAnimationFrame","onKey","e","preventDefault","isFirst","isLast","goNext","goPrev","spotlight","jsxs","Fragment","children","jsx","onClick","sx","backdropFallback","tooltip","ref","role","id","title","size","content","variant","createPortal","body","_default","exports"],"sources":["../../../src/lib/v2/patterns/Tour.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport Button from \"../components/Button\";\r\nimport useFocusTrap from \"../hooks/useFocusTrap\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Tour - Portnet UI v2 (pattern)\r\n *\r\n * Charter §07 · \"First-run tooltips\" / onboarding. Step-by-step guided tour\r\n * anchored to specific DOM elements with spotlight + tooltip nav.\r\n *\r\n * <Tour\r\n * open={tourOpen}\r\n * steps={[\r\n * { target: \"#nav-dashboard\", title: \"Accueil\", content: \"...\" },\r\n * { target: \"[data-tour='kpi']\", title: \"KPIs\", content: \"...\", placement: \"bottom\" },\r\n * ]}\r\n * onClose={() => setTourOpen(false)}\r\n * onComplete={() => markTourSeen()}\r\n * />\r\n *\r\n * Step state is INTERNAL (resets to 0 on every `open` → true transition).\r\n * Host owns `open` and the \"user has seen the tour\" persistence.\r\n *\r\n * A11y: role=\"dialog\" aria-modal=\"true\"; aria-labelledby / aria-describedby;\r\n * step counter in role=\"status\" aria-live=\"polite\"; step title + content are\r\n * polite/atomic live regions so each step change is announced (TOUR-1); Esc\r\n * closes; focus trapped.\r\n *\r\n * Target-not-found fallback: if the CSS selector doesn't match, the spotlight\r\n * falls back to a full-screen dimmed backdrop and the tooltip renders centered.\r\n */\r\n\r\nexport type TourPlacement = \"top\" | \"bottom\" | \"left\" | \"right\" | \"auto\";\r\n\r\nexport interface TourStep {\r\n /** CSS selector for the element to highlight. */\r\n target: string;\r\n title: React.ReactNode;\r\n content: React.ReactNode;\r\n /** Preferred side; \"auto\" (default) picks the side with the most space. */\r\n placement?: TourPlacement | undefined;\r\n}\r\n\r\nexport interface TourLabels {\r\n prev?: React.ReactNode | undefined;\r\n next?: React.ReactNode | undefined;\r\n skip?: React.ReactNode | undefined;\r\n finish?: React.ReactNode | undefined;\r\n closeAria?: string | undefined;\r\n stepCounter?: ((cur: number, total: number) => React.ReactNode) | undefined;\r\n}\r\n\r\nexport interface TourProps {\r\n open?: boolean | undefined;\r\n steps?: TourStep[] | undefined;\r\n onClose?: (() => void) | undefined;\r\n onComplete?: (() => void) | undefined;\r\n labels?: TourLabels | undefined;\r\n}\r\n\r\n/** Resolved target geometry (plus the element, for potential callers). */\r\ninterface TargetRect {\r\n top: number;\r\n left: number;\r\n right: number;\r\n bottom: number;\r\n width: number;\r\n height: number;\r\n el: Element;\r\n}\r\n\r\n/** Resolved tooltip position; `placement` is the chosen side (or \"center\"). */\r\ninterface TooltipPosition {\r\n top: number;\r\n left: number;\r\n placement: string;\r\n}\r\n\r\nconst PADDING = 8; // spotlight extra around target bbox\r\nconst TOOLTIP_GAP = 12; // distance from target to tooltip edge\r\nconst TOOLTIP_WIDTH = 320;\r\nconst TOOLTIP_MAX_HEIGHT = 360;\r\nconst VIEWPORT_MARGIN = 8; // min distance from viewport edges\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n prev: \"Précédent\",\r\n next: \"Suivant\",\r\n skip: \"Ignorer\",\r\n finish: \"Terminer\",\r\n closeAria: \"Fermer la visite guidée\",\r\n stepCounter: (cur: number, total: number) => `${cur} sur ${total}`,\r\n});\r\n\r\n/**\r\n * Try to resolve a CSS selector to its element's bounding rect. Returns null\r\n * on any failure (selector invalid, element absent). Defensive — host typos\r\n * shouldn't crash the tour.\r\n */\r\nfunction getElementRect(selector: string): TargetRect | null {\r\n if (!selector || typeof document === \"undefined\") return null;\r\n try {\r\n const el = document.querySelector(selector);\r\n if (!el) return null;\r\n const r = el.getBoundingClientRect();\r\n return {\r\n top: r.top,\r\n left: r.left,\r\n right: r.right,\r\n bottom: r.bottom,\r\n width: r.width,\r\n height: r.height,\r\n el,\r\n };\r\n } catch {\r\n // Invalid selector syntax → catch SyntaxError, return null.\r\n return null;\r\n }\r\n}\r\n\r\n/**\r\n * Compute the tooltip's top/left given a target rect, a placement preference,\r\n * and the viewport bounds. Auto picks the side with the most clearance;\r\n * clamps to viewport.\r\n */\r\nfunction computeTooltipPosition(\r\n targetRect: TargetRect,\r\n placement: TourPlacement | undefined,\r\n vw: number,\r\n vh: number\r\n): TooltipPosition {\r\n let p: string = placement || \"auto\";\r\n if (p === \"auto\") {\r\n const space = {\r\n top: targetRect.top,\r\n bottom: vh - targetRect.bottom,\r\n left: targetRect.left,\r\n right: vw - targetRect.right,\r\n };\r\n // Pick the side with the most clearance. Stable on ties — first entry\r\n // wins (Object.entries order is insertion order, ES2015+).\r\n const best = Object.entries(space).sort((a, b) => b[1] - a[1])[0];\r\n if (best) p = best[0];\r\n }\r\n\r\n let top: number;\r\n let left: number;\r\n switch (p) {\r\n case \"top\":\r\n top = targetRect.top - TOOLTIP_GAP - TOOLTIP_MAX_HEIGHT;\r\n left = targetRect.left + targetRect.width / 2 - TOOLTIP_WIDTH / 2;\r\n break;\r\n case \"bottom\":\r\n top = targetRect.bottom + TOOLTIP_GAP;\r\n left = targetRect.left + targetRect.width / 2 - TOOLTIP_WIDTH / 2;\r\n break;\r\n case \"left\":\r\n top = targetRect.top + targetRect.height / 2 - TOOLTIP_MAX_HEIGHT / 2;\r\n left = targetRect.left - TOOLTIP_GAP - TOOLTIP_WIDTH;\r\n break;\r\n case \"right\":\r\n top = targetRect.top + targetRect.height / 2 - TOOLTIP_MAX_HEIGHT / 2;\r\n left = targetRect.right + TOOLTIP_GAP;\r\n break;\r\n default:\r\n top = targetRect.bottom + TOOLTIP_GAP;\r\n left = targetRect.left;\r\n }\r\n\r\n // Clamp to viewport with a small margin so the tooltip never touches the edge.\r\n left = Math.max(\r\n VIEWPORT_MARGIN,\r\n Math.min(left, vw - TOOLTIP_WIDTH - VIEWPORT_MARGIN)\r\n );\r\n top = Math.max(\r\n VIEWPORT_MARGIN,\r\n Math.min(top, vh - TOOLTIP_MAX_HEIGHT - VIEWPORT_MARGIN)\r\n );\r\n\r\n return { top, left, placement: p };\r\n}\r\n\r\n/* ── Hoisted sx (Batch 14 D5 pattern) ─────────────────────────────── */\r\n\r\nconst SPOTLIGHT_BG = \"color-mix(in srgb, var(--fg) 60%, transparent)\";\r\n\r\nconst SPOTLIGHT_BASE_SX = Object.freeze({\r\n position: \"fixed\",\r\n background: SPOTLIGHT_BG,\r\n zIndex: \"var(--z-modal)\",\r\n pointerEvents: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst BACKDROP_FALLBACK_SX = Object.freeze({\r\n position: \"fixed\",\r\n inset: 0,\r\n background: SPOTLIGHT_BG,\r\n zIndex: \"var(--z-modal)\",\r\n pointerEvents: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TOOLTIP_BASE_SX = Object.freeze({\r\n position: \"fixed\",\r\n width: TOOLTIP_WIDTH,\r\n maxHeight: TOOLTIP_MAX_HEIGHT,\r\n overflowY: \"auto\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-lg)\",\r\n padding: \"var(--s-4)\",\r\n zIndex: \"var(--z-tooltip)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TOOLTIP_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 marginBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TOOLTIP_TITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-h4)\",\r\n fontWeight: \"var(--fw-bold)\",\r\n color: \"var(--fg)\",\r\n});\r\n\r\nconst TOOLTIP_CLOSE_SX = Object.freeze({\r\n color: \"var(--fg-muted)\",\r\n marginRight: \"calc(-1 * var(--s-1))\",\r\n marginTop: \"calc(-1 * var(--s-1))\",\r\n});\r\n\r\nconst TOOLTIP_CONTENT_SX = Object.freeze({\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-muted)\",\r\n marginBottom: \"var(--s-3)\",\r\n lineHeight: \"var(--lh-normal)\",\r\n});\r\n\r\nconst TOOLTIP_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst STEP_COUNTER_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n fontVariantNumeric: \"tabular-nums\",\r\n});\r\n\r\nconst NAV_BUTTONS_SX = Object.freeze({\r\n display: \"flex\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nfunction Tour({ open, steps, onClose, onComplete, labels }: TourProps) {\r\n const L = React.useMemo(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n\r\n const [stepIdx, setStepIdx] = React.useState(0);\r\n const [targetRect, setTargetRect] = React.useState<TargetRect | null>(null);\r\n const [tooltipPos, setTooltipPos] = React.useState<TooltipPosition | null>(\r\n null\r\n );\r\n const [viewport, setViewport] = React.useState({ w: 0, h: 0 });\r\n\r\n const tooltipRef = React.useRef<HTMLDivElement>(null);\r\n const titleId = React.useId();\r\n const contentId = React.useId();\r\n\r\n const currentStep = steps && steps[stepIdx];\r\n\r\n // Focus trap activates ONLY after tooltipPos is computed (tooltip actually\r\n // mounted with a non-null ref). On first open, tooltipPos is null until the\r\n // position effect runs, so the trap would otherwise activate against a null ref.\r\n useFocusTrap(tooltipRef, !!open && tooltipPos != null);\r\n\r\n // Reset to step 0 on each open transition.\r\n React.useEffect(() => {\r\n if (open) setStepIdx(0);\r\n }, [open]);\r\n\r\n // Compute target rect + tooltip position. Re-runs on step change and on\r\n // window scroll/resize.\r\n React.useEffect(() => {\r\n if (!open || !currentStep) return undefined;\r\n\r\n const recompute = () => {\r\n const w = window.innerWidth;\r\n const h = window.innerHeight;\r\n setViewport({ w, h });\r\n const rect = getElementRect(currentStep.target);\r\n setTargetRect(rect);\r\n if (rect) {\r\n setTooltipPos(\r\n computeTooltipPosition(rect, currentStep.placement, w, h)\r\n );\r\n } else {\r\n // Fallback: center the tooltip when target not found.\r\n setTooltipPos({\r\n top: Math.max(VIEWPORT_MARGIN, (h - TOOLTIP_MAX_HEIGHT) / 2),\r\n left: Math.max(VIEWPORT_MARGIN, (w - TOOLTIP_WIDTH) / 2),\r\n placement: \"center\",\r\n });\r\n }\r\n };\r\n\r\n recompute();\r\n\r\n // Scroll the target into view on each step change; no-ops if not found.\r\n const initialEl =\r\n typeof document !== \"undefined\"\r\n ? (() => {\r\n try {\r\n return document.querySelector(currentStep.target);\r\n } catch {\r\n return null;\r\n }\r\n })()\r\n : null;\r\n if (initialEl && typeof initialEl.scrollIntoView === \"function\") {\r\n initialEl.scrollIntoView({ block: \"center\", behavior: \"smooth\" });\r\n }\r\n\r\n // TOUR-2 (perf) — coalesce scroll/resize into ONE recompute per frame.\r\n // recompute() does a querySelector + getBoundingClientRect + up to 4\r\n // setState calls, so running it on every raw scroll event is wasteful;\r\n // rAF-throttle to at most once per animation frame. `true` (capture)\r\n // catches scroll on any ancestor (default scroll events don't bubble).\r\n let rafId: number | null = null;\r\n const onViewportChange = () => {\r\n if (rafId != null) return; // a frame is already scheduled\r\n rafId = window.requestAnimationFrame(() => {\r\n rafId = null;\r\n recompute();\r\n });\r\n };\r\n window.addEventListener(\"scroll\", onViewportChange, true);\r\n window.addEventListener(\"resize\", onViewportChange);\r\n return () => {\r\n window.removeEventListener(\"scroll\", onViewportChange, true);\r\n window.removeEventListener(\"resize\", onViewportChange);\r\n if (rafId != null) window.cancelAnimationFrame(rafId);\r\n };\r\n }, [open, currentStep]);\r\n\r\n // Esc closes the tour. Window-bound — same pattern as Modal / Drawer.\r\n React.useEffect(() => {\r\n if (!open) return undefined;\r\n const onKey = (e: KeyboardEvent) => {\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n onClose?.();\r\n }\r\n };\r\n window.addEventListener(\"keydown\", onKey);\r\n return () => window.removeEventListener(\"keydown\", onKey);\r\n }, [open, onClose]);\r\n\r\n if (!open || !steps || steps.length === 0 || !currentStep) return null;\r\n\r\n const total = steps.length;\r\n const isFirst = stepIdx === 0;\r\n const isLast = stepIdx === total - 1;\r\n\r\n const goNext = () => {\r\n if (isLast) {\r\n onComplete?.();\r\n onClose?.();\r\n } else {\r\n setStepIdx(stepIdx + 1);\r\n }\r\n };\r\n const goPrev = () => {\r\n if (!isFirst) setStepIdx(stepIdx - 1);\r\n };\r\n const skip = () => {\r\n onClose?.();\r\n };\r\n\r\n // Spotlight: 4 dark overlays around the target bbox. Each is clickable → skip.\r\n const spotlight = targetRect && (\r\n <>\r\n {/* Top */}\r\n <Box\r\n onClick={skip}\r\n sx={{\r\n ...SPOTLIGHT_BASE_SX,\r\n left: 0,\r\n top: 0,\r\n width: \"100vw\",\r\n height: Math.max(0, targetRect.top - PADDING),\r\n }}\r\n />\r\n {/* Left */}\r\n <Box\r\n onClick={skip}\r\n sx={{\r\n ...SPOTLIGHT_BASE_SX,\r\n left: 0,\r\n top: Math.max(0, targetRect.top - PADDING),\r\n width: Math.max(0, targetRect.left - PADDING),\r\n height: targetRect.height + 2 * PADDING,\r\n }}\r\n />\r\n {/* Right */}\r\n <Box\r\n onClick={skip}\r\n sx={{\r\n ...SPOTLIGHT_BASE_SX,\r\n left: targetRect.right + PADDING,\r\n top: Math.max(0, targetRect.top - PADDING),\r\n width: Math.max(0, viewport.w - (targetRect.right + PADDING)),\r\n height: targetRect.height + 2 * PADDING,\r\n }}\r\n />\r\n {/* Bottom */}\r\n <Box\r\n onClick={skip}\r\n sx={{\r\n ...SPOTLIGHT_BASE_SX,\r\n left: 0,\r\n top: targetRect.bottom + PADDING,\r\n width: \"100vw\",\r\n height: Math.max(0, viewport.h - (targetRect.bottom + PADDING)),\r\n }}\r\n />\r\n </>\r\n );\r\n\r\n // Backdrop fallback when target not found — full-screen dimmed overlay.\r\n const backdropFallback = !targetRect && (\r\n <Box onClick={skip} sx={BACKDROP_FALLBACK_SX} />\r\n );\r\n\r\n // Tooltip — only renders once tooltipPos is computed.\r\n const tooltip = tooltipPos && (\r\n <Box\r\n ref={tooltipRef}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={titleId}\r\n aria-describedby={contentId}\r\n sx={{\r\n ...TOOLTIP_BASE_SX,\r\n top: tooltipPos.top,\r\n left: tooltipPos.left,\r\n }}\r\n >\r\n <Box sx={TOOLTIP_HEADER_SX}>\r\n {/* TOUR-1 — polite/atomic so a step change announces the new title. */}\r\n <Box\r\n id={titleId}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n sx={TOOLTIP_TITLE_SX}\r\n >\r\n {currentStep.title}\r\n </Box>\r\n <IconButton\r\n size=\"small\"\r\n onClick={skip}\r\n aria-label={L.closeAria}\r\n sx={TOOLTIP_CLOSE_SX}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n\r\n {/* TOUR-1 — polite/atomic so a step change announces the new content. */}\r\n <Box\r\n id={contentId}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n sx={TOOLTIP_CONTENT_SX}\r\n >\r\n {currentStep.content}\r\n </Box>\r\n\r\n <Box sx={TOOLTIP_FOOTER_SX}>\r\n <Box role=\"status\" aria-live=\"polite\" sx={STEP_COUNTER_SX}>\r\n {L.stepCounter(stepIdx + 1, total)}\r\n </Box>\r\n <Box sx={NAV_BUTTONS_SX}>\r\n {!isFirst && (\r\n <Button variant=\"ghost\" size=\"sm\" onClick={goPrev}>\r\n {L.prev}\r\n </Button>\r\n )}\r\n <Button variant=\"ghost\" size=\"sm\" onClick={skip}>\r\n {L.skip}\r\n </Button>\r\n <Button variant=\"primary\" size=\"sm\" onClick={goNext}>\r\n {isLast ? L.finish : L.next}\r\n </Button>\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n\r\n // Portal to document.body so the tour escapes any host overflow/transform\r\n // context that would clip absolute positioning.\r\n if (typeof document === \"undefined\") return null;\r\n return createPortal(\r\n <>\r\n {spotlight}\r\n {backdropFallback}\r\n {tooltip}\r\n </>,\r\n document.body\r\n );\r\n}\r\n\r\nexport default Tour;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Tour.js","names":["React","_interopRequireWildcard","require","_reactDom","_Box","_interopRequireDefault","_IconButton","_Close","_Button","_useFocusTrap","_mergeLabels","_jsxRuntime","e","__esModule","default","t","WeakMap","r","n","o","i","f","__proto__","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","PADDING","TOOLTIP_GAP","TOOLTIP_WIDTH","TOOLTIP_MAX_HEIGHT","VIEWPORT_MARGIN","DEFAULT_LABELS","freeze","prev","next","skip","finish","closeAria","stepCounter","cur","total","getElementRect","selector","document","el","querySelector","getBoundingClientRect","top","left","right","bottom","width","height","computeTooltipPosition","targetRect","placement","vw","vh","p","space","best","entries","sort","a","b","Math","max","min","SPOTLIGHT_BG","SPOTLIGHT_BASE_SX","position","background","zIndex","pointerEvents","BACKDROP_FALLBACK_SX","inset","TOOLTIP_BASE_SX","maxHeight","overflowY","border","borderRadius","boxShadow","padding","TOOLTIP_HEADER_SX","display","alignItems","justifyContent","gap","marginBottom","TOOLTIP_TITLE_SX","fontSize","fontWeight","color","TOOLTIP_CLOSE_SX","marginRight","marginTop","TOOLTIP_CONTENT_SX","lineHeight","TOOLTIP_FOOTER_SX","STEP_COUNTER_SX","fontVariantNumeric","NAV_BUTTONS_SX","Tour","open","steps","onClose","onComplete","labels","L","useMemo","mergeLabels","stepIdx","setStepIdx","useState","setTargetRect","tooltipPos","setTooltipPos","viewport","setViewport","w","h","tooltipRef","useRef","titleId","useId","contentId","currentStep","useFocusTrap","useEffect","undefined","recompute","window","innerWidth","innerHeight","rect","target","initialEl","scrollIntoView","block","behavior","rafId","onViewportChange","requestAnimationFrame","addEventListener","removeEventListener","cancelAnimationFrame","onKey","key","preventDefault","length","isFirst","isLast","goNext","goPrev","spotlight","jsxs","Fragment","children","jsx","onClick","sx","backdropFallback","tooltip","ref","role","id","title","size","content","variant","createPortal","body","_default","exports"],"sources":["../../../src/lib/v2/patterns/Tour.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport { createPortal } from \"react-dom\";\r\nimport Box from \"@mui/material/Box\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport CloseIcon from \"@mui/icons-material/Close\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport Button from \"../components/Button\";\r\nimport useFocusTrap from \"../hooks/useFocusTrap\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * Tour - Portnet UI v2 (pattern)\r\n *\r\n * Charter §07 · \"First-run tooltips\" / onboarding. Step-by-step guided tour\r\n * anchored to specific DOM elements with spotlight + tooltip nav.\r\n *\r\n * <Tour\r\n * open={tourOpen}\r\n * steps={[\r\n * { target: \"#nav-dashboard\", title: \"Accueil\", content: \"...\" },\r\n * { target: \"[data-tour='kpi']\", title: \"KPIs\", content: \"...\", placement: \"bottom\" },\r\n * ]}\r\n * onClose={() => setTourOpen(false)}\r\n * onComplete={() => markTourSeen()}\r\n * />\r\n *\r\n * Step state is INTERNAL (resets to 0 on every `open` → true transition).\r\n * Host owns `open` and the \"user has seen the tour\" persistence.\r\n *\r\n * A11y: role=\"dialog\" aria-modal=\"true\"; aria-labelledby / aria-describedby;\r\n * step counter in role=\"status\" aria-live=\"polite\"; step title + content are\r\n * polite/atomic live regions so each step change is announced (TOUR-1); Esc\r\n * closes; focus trapped.\r\n *\r\n * Target-not-found fallback: if the CSS selector doesn't match, the spotlight\r\n * falls back to a full-screen dimmed backdrop and the tooltip renders centered.\r\n */\r\n\r\nexport type TourPlacement = \"top\" | \"bottom\" | \"left\" | \"right\" | \"auto\";\r\n\r\nexport interface TourStep {\r\n /** CSS selector for the element to highlight. */\r\n target: string;\r\n title: React.ReactNode;\r\n content: React.ReactNode;\r\n /** Preferred side; \"auto\" (default) picks the side with the most space. */\r\n placement?: TourPlacement | undefined;\r\n}\r\n\r\nexport interface TourLabels {\r\n prev?: React.ReactNode | undefined;\r\n next?: React.ReactNode | undefined;\r\n skip?: React.ReactNode | undefined;\r\n finish?: React.ReactNode | undefined;\r\n closeAria?: string | undefined;\r\n stepCounter?: ((cur: number, total: number) => React.ReactNode) | undefined;\r\n}\r\n\r\nexport interface TourProps {\r\n open?: boolean | undefined;\r\n steps?: TourStep[] | undefined;\r\n onClose?: (() => void) | undefined;\r\n onComplete?: (() => void) | undefined;\r\n labels?: TourLabels | undefined;\r\n}\r\n\r\n/** Resolved target geometry (plus the element, for potential callers). */\r\ninterface TargetRect {\r\n top: number;\r\n left: number;\r\n right: number;\r\n bottom: number;\r\n width: number;\r\n height: number;\r\n el: Element;\r\n}\r\n\r\n/** Resolved tooltip position; `placement` is the chosen side (or \"center\"). */\r\ninterface TooltipPosition {\r\n top: number;\r\n left: number;\r\n placement: string;\r\n}\r\n\r\nconst PADDING = 8; // spotlight extra around target bbox\r\nconst TOOLTIP_GAP = 12; // distance from target to tooltip edge\r\nconst TOOLTIP_WIDTH = 320;\r\nconst TOOLTIP_MAX_HEIGHT = 360;\r\nconst VIEWPORT_MARGIN = 8; // min distance from viewport edges\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n prev: \"Précédent\",\r\n next: \"Suivant\",\r\n skip: \"Ignorer\",\r\n finish: \"Terminer\",\r\n closeAria: \"Fermer la visite guidée\",\r\n stepCounter: (cur: number, total: number) => `${cur} sur ${total}`,\r\n});\r\n\r\n/**\r\n * Try to resolve a CSS selector to its element's bounding rect. Returns null\r\n * on any failure (selector invalid, element absent). Defensive — host typos\r\n * shouldn't crash the tour.\r\n */\r\nfunction getElementRect(selector: string): TargetRect | null {\r\n if (!selector || typeof document === \"undefined\") return null;\r\n try {\r\n const el = document.querySelector(selector);\r\n if (!el) return null;\r\n const r = el.getBoundingClientRect();\r\n return {\r\n top: r.top,\r\n left: r.left,\r\n right: r.right,\r\n bottom: r.bottom,\r\n width: r.width,\r\n height: r.height,\r\n el,\r\n };\r\n } catch {\r\n // Invalid selector syntax → catch SyntaxError, return null.\r\n return null;\r\n }\r\n}\r\n\r\n/**\r\n * Compute the tooltip's top/left given a target rect, a placement preference,\r\n * and the viewport bounds. Auto picks the side with the most clearance;\r\n * clamps to viewport.\r\n */\r\nfunction computeTooltipPosition(\r\n targetRect: TargetRect,\r\n placement: TourPlacement | undefined,\r\n vw: number,\r\n vh: number\r\n): TooltipPosition {\r\n let p: string = placement || \"auto\";\r\n if (p === \"auto\") {\r\n const space = {\r\n top: targetRect.top,\r\n bottom: vh - targetRect.bottom,\r\n left: targetRect.left,\r\n right: vw - targetRect.right,\r\n };\r\n // Pick the side with the most clearance. Stable on ties — first entry\r\n // wins (Object.entries order is insertion order, ES2015+).\r\n const best = Object.entries(space).sort((a, b) => b[1] - a[1])[0];\r\n if (best) p = best[0];\r\n }\r\n\r\n let top: number;\r\n let left: number;\r\n switch (p) {\r\n case \"top\":\r\n top = targetRect.top - TOOLTIP_GAP - TOOLTIP_MAX_HEIGHT;\r\n left = targetRect.left + targetRect.width / 2 - TOOLTIP_WIDTH / 2;\r\n break;\r\n case \"bottom\":\r\n top = targetRect.bottom + TOOLTIP_GAP;\r\n left = targetRect.left + targetRect.width / 2 - TOOLTIP_WIDTH / 2;\r\n break;\r\n case \"left\":\r\n top = targetRect.top + targetRect.height / 2 - TOOLTIP_MAX_HEIGHT / 2;\r\n left = targetRect.left - TOOLTIP_GAP - TOOLTIP_WIDTH;\r\n break;\r\n case \"right\":\r\n top = targetRect.top + targetRect.height / 2 - TOOLTIP_MAX_HEIGHT / 2;\r\n left = targetRect.right + TOOLTIP_GAP;\r\n break;\r\n default:\r\n top = targetRect.bottom + TOOLTIP_GAP;\r\n left = targetRect.left;\r\n }\r\n\r\n // Clamp to viewport with a small margin so the tooltip never touches the edge.\r\n left = Math.max(\r\n VIEWPORT_MARGIN,\r\n Math.min(left, vw - TOOLTIP_WIDTH - VIEWPORT_MARGIN)\r\n );\r\n top = Math.max(\r\n VIEWPORT_MARGIN,\r\n Math.min(top, vh - TOOLTIP_MAX_HEIGHT - VIEWPORT_MARGIN)\r\n );\r\n\r\n return { top, left, placement: p };\r\n}\r\n\r\n/* ── Hoisted sx (Batch 14 D5 pattern) ─────────────────────────────── */\r\n\r\nconst SPOTLIGHT_BG = \"color-mix(in srgb, var(--fg) 60%, transparent)\";\r\n\r\nconst SPOTLIGHT_BASE_SX = Object.freeze({\r\n position: \"fixed\",\r\n background: SPOTLIGHT_BG,\r\n zIndex: \"var(--z-modal)\",\r\n pointerEvents: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst BACKDROP_FALLBACK_SX = Object.freeze({\r\n position: \"fixed\",\r\n inset: 0,\r\n background: SPOTLIGHT_BG,\r\n zIndex: \"var(--z-modal)\",\r\n pointerEvents: \"auto\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TOOLTIP_BASE_SX = Object.freeze({\r\n position: \"fixed\",\r\n width: TOOLTIP_WIDTH,\r\n maxHeight: TOOLTIP_MAX_HEIGHT,\r\n overflowY: \"auto\",\r\n background: \"var(--surface)\",\r\n border: \"1px solid var(--border)\",\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-lg)\",\r\n padding: \"var(--s-4)\",\r\n zIndex: \"var(--z-tooltip)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TOOLTIP_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 marginBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst TOOLTIP_TITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-h4)\",\r\n fontWeight: \"var(--fw-bold)\",\r\n color: \"var(--fg)\",\r\n});\r\n\r\nconst TOOLTIP_CLOSE_SX = Object.freeze({\r\n color: \"var(--fg-muted)\",\r\n marginRight: \"calc(-1 * var(--s-1))\",\r\n marginTop: \"calc(-1 * var(--s-1))\",\r\n});\r\n\r\nconst TOOLTIP_CONTENT_SX = Object.freeze({\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg-muted)\",\r\n marginBottom: \"var(--s-3)\",\r\n lineHeight: \"var(--lh-normal)\",\r\n});\r\n\r\nconst TOOLTIP_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst STEP_COUNTER_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n color: \"var(--fg-subtle)\",\r\n fontVariantNumeric: \"tabular-nums\",\r\n});\r\n\r\nconst NAV_BUTTONS_SX = Object.freeze({\r\n display: \"flex\",\r\n gap: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nfunction Tour({ open, steps, onClose, onComplete, labels }: TourProps) {\r\n const L = React.useMemo(\r\n () => (mergeLabels(DEFAULT_LABELS, labels)),\r\n [labels]\r\n );\r\n\r\n const [stepIdx, setStepIdx] = React.useState(0);\r\n const [targetRect, setTargetRect] = React.useState<TargetRect | null>(null);\r\n const [tooltipPos, setTooltipPos] = React.useState<TooltipPosition | null>(\r\n null\r\n );\r\n const [viewport, setViewport] = React.useState({ w: 0, h: 0 });\r\n\r\n const tooltipRef = React.useRef<HTMLDivElement>(null);\r\n const titleId = React.useId();\r\n const contentId = React.useId();\r\n\r\n const currentStep = steps && steps[stepIdx];\r\n\r\n // Focus trap activates ONLY after tooltipPos is computed (tooltip actually\r\n // mounted with a non-null ref). On first open, tooltipPos is null until the\r\n // position effect runs, so the trap would otherwise activate against a null ref.\r\n useFocusTrap(tooltipRef, !!open && tooltipPos != null);\r\n\r\n // Reset to step 0 on each open transition.\r\n React.useEffect(() => {\r\n if (open) setStepIdx(0);\r\n }, [open]);\r\n\r\n // Compute target rect + tooltip position. Re-runs on step change and on\r\n // window scroll/resize.\r\n React.useEffect(() => {\r\n if (!open || !currentStep) return undefined;\r\n\r\n const recompute = () => {\r\n const w = window.innerWidth;\r\n const h = window.innerHeight;\r\n setViewport({ w, h });\r\n const rect = getElementRect(currentStep.target);\r\n setTargetRect(rect);\r\n if (rect) {\r\n setTooltipPos(\r\n computeTooltipPosition(rect, currentStep.placement, w, h)\r\n );\r\n } else {\r\n // Fallback: center the tooltip when target not found.\r\n setTooltipPos({\r\n top: Math.max(VIEWPORT_MARGIN, (h - TOOLTIP_MAX_HEIGHT) / 2),\r\n left: Math.max(VIEWPORT_MARGIN, (w - TOOLTIP_WIDTH) / 2),\r\n placement: \"center\",\r\n });\r\n }\r\n };\r\n\r\n recompute();\r\n\r\n // Scroll the target into view on each step change; no-ops if not found.\r\n const initialEl =\r\n typeof document !== \"undefined\"\r\n ? (() => {\r\n try {\r\n return document.querySelector(currentStep.target);\r\n } catch {\r\n return null;\r\n }\r\n })()\r\n : null;\r\n if (initialEl && typeof initialEl.scrollIntoView === \"function\") {\r\n initialEl.scrollIntoView({ block: \"center\", behavior: \"smooth\" });\r\n }\r\n\r\n // TOUR-2 (perf) — coalesce scroll/resize into ONE recompute per frame.\r\n // recompute() does a querySelector + getBoundingClientRect + up to 4\r\n // setState calls, so running it on every raw scroll event is wasteful;\r\n // rAF-throttle to at most once per animation frame. `true` (capture)\r\n // catches scroll on any ancestor (default scroll events don't bubble).\r\n let rafId: number | null = null;\r\n const onViewportChange = () => {\r\n if (rafId != null) return; // a frame is already scheduled\r\n rafId = window.requestAnimationFrame(() => {\r\n rafId = null;\r\n recompute();\r\n });\r\n };\r\n window.addEventListener(\"scroll\", onViewportChange, true);\r\n window.addEventListener(\"resize\", onViewportChange);\r\n return () => {\r\n window.removeEventListener(\"scroll\", onViewportChange, true);\r\n window.removeEventListener(\"resize\", onViewportChange);\r\n if (rafId != null) window.cancelAnimationFrame(rafId);\r\n };\r\n }, [open, currentStep]);\r\n\r\n // Esc closes the tour. Window-bound — same pattern as Modal / Drawer.\r\n React.useEffect(() => {\r\n if (!open) return undefined;\r\n const onKey = (e: KeyboardEvent) => {\r\n if (e.key === \"Escape\") {\r\n e.preventDefault();\r\n onClose?.();\r\n }\r\n };\r\n window.addEventListener(\"keydown\", onKey);\r\n return () => window.removeEventListener(\"keydown\", onKey);\r\n }, [open, onClose]);\r\n\r\n if (!open || !steps || steps.length === 0 || !currentStep) return null;\r\n\r\n const total = steps.length;\r\n const isFirst = stepIdx === 0;\r\n const isLast = stepIdx === total - 1;\r\n\r\n const goNext = () => {\r\n if (isLast) {\r\n onComplete?.();\r\n onClose?.();\r\n } else {\r\n setStepIdx(stepIdx + 1);\r\n }\r\n };\r\n const goPrev = () => {\r\n if (!isFirst) setStepIdx(stepIdx - 1);\r\n };\r\n const skip = () => {\r\n onClose?.();\r\n };\r\n\r\n // Spotlight: 4 dark overlays around the target bbox. Each is clickable → skip.\r\n const spotlight = targetRect && (\r\n <>\r\n {/* Top */}\r\n <Box\r\n onClick={skip}\r\n sx={{\r\n ...SPOTLIGHT_BASE_SX,\r\n left: 0,\r\n top: 0,\r\n width: \"100vw\",\r\n height: Math.max(0, targetRect.top - PADDING),\r\n }}\r\n />\r\n {/* Left */}\r\n <Box\r\n onClick={skip}\r\n sx={{\r\n ...SPOTLIGHT_BASE_SX,\r\n left: 0,\r\n top: Math.max(0, targetRect.top - PADDING),\r\n width: Math.max(0, targetRect.left - PADDING),\r\n height: targetRect.height + 2 * PADDING,\r\n }}\r\n />\r\n {/* Right */}\r\n <Box\r\n onClick={skip}\r\n sx={{\r\n ...SPOTLIGHT_BASE_SX,\r\n left: targetRect.right + PADDING,\r\n top: Math.max(0, targetRect.top - PADDING),\r\n width: Math.max(0, viewport.w - (targetRect.right + PADDING)),\r\n height: targetRect.height + 2 * PADDING,\r\n }}\r\n />\r\n {/* Bottom */}\r\n <Box\r\n onClick={skip}\r\n sx={{\r\n ...SPOTLIGHT_BASE_SX,\r\n left: 0,\r\n top: targetRect.bottom + PADDING,\r\n width: \"100vw\",\r\n height: Math.max(0, viewport.h - (targetRect.bottom + PADDING)),\r\n }}\r\n />\r\n </>\r\n );\r\n\r\n // Backdrop fallback when target not found — full-screen dimmed overlay.\r\n const backdropFallback = !targetRect && (\r\n <Box onClick={skip} sx={BACKDROP_FALLBACK_SX} />\r\n );\r\n\r\n // Tooltip — only renders once tooltipPos is computed.\r\n const tooltip = tooltipPos && (\r\n <Box\r\n ref={tooltipRef}\r\n role=\"dialog\"\r\n aria-modal=\"true\"\r\n aria-labelledby={titleId}\r\n aria-describedby={contentId}\r\n sx={{\r\n ...TOOLTIP_BASE_SX,\r\n top: tooltipPos.top,\r\n left: tooltipPos.left,\r\n }}\r\n >\r\n <Box sx={TOOLTIP_HEADER_SX}>\r\n {/* TOUR-1 — polite/atomic so a step change announces the new title. */}\r\n <Box\r\n id={titleId}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n sx={TOOLTIP_TITLE_SX}\r\n >\r\n {currentStep.title}\r\n </Box>\r\n <IconButton\r\n size=\"small\"\r\n onClick={skip}\r\n aria-label={L.closeAria}\r\n sx={TOOLTIP_CLOSE_SX}\r\n >\r\n <CloseIcon fontSize=\"small\" />\r\n </IconButton>\r\n </Box>\r\n\r\n {/* TOUR-1 — polite/atomic so a step change announces the new content. */}\r\n <Box\r\n id={contentId}\r\n aria-live=\"polite\"\r\n aria-atomic=\"true\"\r\n sx={TOOLTIP_CONTENT_SX}\r\n >\r\n {currentStep.content}\r\n </Box>\r\n\r\n <Box sx={TOOLTIP_FOOTER_SX}>\r\n <Box role=\"status\" aria-live=\"polite\" sx={STEP_COUNTER_SX}>\r\n {L.stepCounter(stepIdx + 1, total)}\r\n </Box>\r\n <Box sx={NAV_BUTTONS_SX}>\r\n {!isFirst && (\r\n <Button variant=\"ghost\" size=\"sm\" onClick={goPrev}>\r\n {L.prev}\r\n </Button>\r\n )}\r\n <Button variant=\"ghost\" size=\"sm\" onClick={skip}>\r\n {L.skip}\r\n </Button>\r\n <Button variant=\"primary\" size=\"sm\" onClick={goNext}>\r\n {isLast ? L.finish : L.next}\r\n </Button>\r\n </Box>\r\n </Box>\r\n </Box>\r\n );\r\n\r\n // Portal to document.body so the tour escapes any host overflow/transform\r\n // context that would clip absolute positioning.\r\n if (typeof document === \"undefined\") return null;\r\n return createPortal(\r\n <>\r\n {spotlight}\r\n {backdropFallback}\r\n {tooltip}\r\n </>,\r\n document.body\r\n );\r\n}\r\n\r\nexport default Tour;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_dataGridShared.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/_dataGridShared.tsx"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,EAAE,OAAO,EAAS,MAAM,iBAAiB,CAAC;AACtD,OAAO,KAAK,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAGlF;;;;;;;;;;;;;;GAcG;AACH,KAAK,QAAQ,CAAC,CAAC,IAAI;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC;CAAE,CAAC;AAElE;;;;;GAKG;AACH,MAAM,MAAM,gCAAgC,GAAG,QAAQ,CAAC,wBAAwB,CAAC,CAAC;AAClF,MAAM,MAAM,sBAAsB,GAAG,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,YAAY,CAAC,CAAC,GAAG;IAClF,UAAU,EAAE,gCAAgC,CAAC;CAC9C,CAAC;AAEF,eAAO,MAAM,kBAAkB,UAAgB,CAAC;AAChD,eAAO,MAAM,uBAAuB,SAAS,CAAC;AAE9C,eAAO,MAAM,cAAc,EAAE,sBAe3B,CAAC;AAEH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,sBAAsB,CAyB3E;AAED,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC,YAAY,CAGtE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,SAAS;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,EACxD,OAAO,EAAE,CAAC,EAAE,EACZ,WAAW,EAAE,MAAM,EAAE,GAAG,IAAI,GAAG,SAAS,GACvC,CAAC,EAAE,CAUL;AASD,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgB9D;AAED,eAAO,MAAM,kBAAkB;;EAAiE,CAAC;AACjG,eAAO,MAAM,YAAY;;;EAA4F,CAAC;AAwCtH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAM3D,CAAC;AAYH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;EAIF,CAAC;AAE5B,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;EAA0F,CAAC;AAErH,eAAO,MAAM,uBAAuB;;;;;EAAiH,CAAC;AACtJ,eAAO,MAAM,qBAAqB;;EAAmD,CAAC;AAEtF,eAAO,MAAM,kBAAkB;;;;;;;;;EAK7B,CAAC;AAEH,eAAO,MAAM,aAAa;;;EAAuD,CAAC;AAClF,eAAO,MAAM,cAAc;;EAA2C,CAAC;AAEvE,eAAO,MAAM,cAAc;;;EAAyE,CAAC;AACrG,eAAO,MAAM,mBAAmB;;;;;;;EAGL,CAAC;
|
|
1
|
+
{"version":3,"file":"_dataGridShared.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/_dataGridShared.tsx"],"names":[],"mappings":"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"}
|