@portnet/ui 6.0.1 → 6.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +737 -0
- package/dist/esm/index.js +90 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/v2/__tests__/AppMain.test.js +130 -0
- package/dist/esm/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js +180 -0
- package/dist/esm/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js +150 -0
- package/dist/esm/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js +93 -0
- package/dist/esm/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +71 -39
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FieldNaming.test.js +160 -0
- package/dist/esm/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +18 -18
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +173 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +236 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js +101 -0
- package/dist/esm/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +299 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +44 -43
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js +165 -0
- package/dist/esm/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js +156 -0
- package/dist/esm/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +37 -52
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/esm/v2/__tests__/apiError.test.js +50 -69
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/esm/v2/__tests__/banned-patterns.test.js +41 -122
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/esm/v2/__tests__/chart-palette.test.js +204 -0
- package/dist/esm/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/esm/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/esm/v2/__tests__/fileValidation.test.js +134 -0
- package/dist/esm/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js +321 -0
- package/dist/esm/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js +68 -0
- package/dist/esm/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js +218 -0
- package/dist/esm/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +17 -22
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/esm/v2/__tests__/locale-fallback.test.js +35 -40
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js +143 -0
- package/dist/esm/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/esm/v2/__tests__/rowActions.test.js +182 -0
- package/dist/esm/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js +155 -0
- package/dist/esm/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +266 -402
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js +120 -0
- package/dist/esm/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +48 -70
- package/dist/esm/v2/components/Accordion.js.map +1 -1
- package/dist/esm/v2/components/ActionStrip.js +31 -43
- package/dist/esm/v2/components/ActionStrip.js.map +1 -1
- package/dist/esm/v2/components/Banner.js +25 -22
- package/dist/esm/v2/components/Banner.js.map +1 -1
- package/dist/esm/v2/components/Busy.js +14 -19
- package/dist/esm/v2/components/Busy.js.map +1 -1
- package/dist/esm/v2/components/Button.js +34 -45
- package/dist/esm/v2/components/Button.js.map +1 -1
- package/dist/esm/v2/components/CategoryTag.js +44 -27
- package/dist/esm/v2/components/CategoryTag.js.map +1 -1
- package/dist/esm/v2/components/Checkbox.js +32 -38
- package/dist/esm/v2/components/Checkbox.js.map +1 -1
- package/dist/esm/v2/components/Chip.js +23 -36
- package/dist/esm/v2/components/Chip.js.map +1 -1
- package/dist/esm/v2/components/Combobox.js +112 -136
- package/dist/esm/v2/components/Combobox.js.map +1 -1
- package/dist/esm/v2/components/CommandPalette.js +113 -198
- package/dist/esm/v2/components/CommandPalette.js.map +1 -1
- package/dist/esm/v2/components/ConfirmDialog.js +36 -45
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/esm/v2/components/DatePicker.js +78 -81
- package/dist/esm/v2/components/DatePicker.js.map +1 -1
- package/dist/esm/v2/components/DateRangePicker.js +63 -74
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -1
- package/dist/esm/v2/components/DateTimePicker.js +118 -90
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -1
- package/dist/esm/v2/components/Drawer.js +71 -65
- package/dist/esm/v2/components/Drawer.js.map +1 -1
- package/dist/esm/v2/components/Dropzone.js +130 -177
- package/dist/esm/v2/components/Dropzone.js.map +1 -1
- package/dist/esm/v2/components/EmptyState.js +9 -9
- package/dist/esm/v2/components/EmptyState.js.map +1 -1
- package/dist/esm/v2/components/FavoriteToggle.js +24 -33
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/esm/v2/components/Field.js +210 -52
- package/dist/esm/v2/components/Field.js.map +1 -1
- package/dist/esm/v2/components/FieldError.js +9 -13
- package/dist/esm/v2/components/FieldError.js.map +1 -1
- package/dist/esm/v2/components/FieldHelp.js +28 -49
- package/dist/esm/v2/components/FieldHelp.js.map +1 -1
- package/dist/esm/v2/components/FileCard.js +14 -19
- package/dist/esm/v2/components/FileCard.js.map +1 -1
- package/dist/esm/v2/components/FilterTab.js +22 -31
- package/dist/esm/v2/components/FilterTab.js.map +1 -1
- package/dist/esm/v2/components/ForbiddenPage.js +28 -8
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/esm/v2/components/FormGrid.js +48 -54
- package/dist/esm/v2/components/FormGrid.js.map +1 -1
- package/dist/esm/v2/components/FormikDisplay.js +98 -24
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -1
- package/dist/esm/v2/components/Input.js +75 -34
- package/dist/esm/v2/components/Input.js.map +1 -1
- package/dist/esm/v2/components/KPICard.js +42 -51
- package/dist/esm/v2/components/KPICard.js.map +1 -1
- package/dist/esm/v2/components/KPIStrip.js +9 -15
- package/dist/esm/v2/components/KPIStrip.js.map +1 -1
- package/dist/esm/v2/components/KV.js +16 -23
- package/dist/esm/v2/components/KV.js.map +1 -1
- package/dist/esm/v2/components/KVGrid.js +15 -23
- package/dist/esm/v2/components/KVGrid.js.map +1 -1
- package/dist/esm/v2/components/Layout.js +81 -117
- package/dist/esm/v2/components/Layout.js.map +1 -1
- package/dist/esm/v2/components/MobileRowCard.js +64 -75
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -1
- package/dist/esm/v2/components/Modal.js +44 -53
- package/dist/esm/v2/components/Modal.js.map +1 -1
- package/dist/esm/v2/components/NetworkErrorPage.js +28 -11
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/esm/v2/components/NotFoundPage.js +28 -9
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -1
- package/dist/esm/v2/components/NumberInput.js +77 -107
- package/dist/esm/v2/components/NumberInput.js.map +1 -1
- package/dist/esm/v2/components/OverflowMenu.js +24 -42
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -1
- package/dist/esm/v2/components/PdfViewer.js +24 -33
- package/dist/esm/v2/components/PdfViewer.js.map +1 -1
- package/dist/esm/v2/components/ProgressBar.js +28 -36
- package/dist/esm/v2/components/ProgressBar.js.map +1 -1
- package/dist/esm/v2/components/Radio.js +49 -57
- package/dist/esm/v2/components/Radio.js.map +1 -1
- package/dist/esm/v2/components/SectionErrorBoundary.js +84 -130
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/esm/v2/components/SectionHeader.js +24 -31
- package/dist/esm/v2/components/SectionHeader.js.map +1 -1
- package/dist/esm/v2/components/Segmented.js +59 -84
- package/dist/esm/v2/components/Segmented.js.map +1 -1
- package/dist/esm/v2/components/Select.js +100 -138
- package/dist/esm/v2/components/Select.js.map +1 -1
- package/dist/esm/v2/components/ServerErrorPage.js +27 -10
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/esm/v2/components/Skeleton.js +81 -96
- package/dist/esm/v2/components/Skeleton.js.map +1 -1
- package/dist/esm/v2/components/SkipLink.js +6 -7
- package/dist/esm/v2/components/SkipLink.js.map +1 -1
- package/dist/esm/v2/components/Spinner.js +13 -22
- package/dist/esm/v2/components/Spinner.js.map +1 -1
- package/dist/esm/v2/components/Status.js +14 -25
- package/dist/esm/v2/components/Status.js.map +1 -1
- package/dist/esm/v2/components/Stepper.js +68 -71
- package/dist/esm/v2/components/Stepper.js.map +1 -1
- package/dist/esm/v2/components/Surface.js +25 -44
- package/dist/esm/v2/components/Surface.js.map +1 -1
- package/dist/esm/v2/components/Switch.js +21 -29
- package/dist/esm/v2/components/Switch.js.map +1 -1
- package/dist/esm/v2/components/TabPanel.js +84 -0
- package/dist/esm/v2/components/TabPanel.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +43 -19
- package/dist/esm/v2/components/Tabs.js.map +1 -1
- package/dist/esm/v2/components/TelInput.js +75 -108
- package/dist/esm/v2/components/TelInput.js.map +1 -1
- package/dist/esm/v2/components/Textarea.js +21 -30
- package/dist/esm/v2/components/Textarea.js.map +1 -1
- package/dist/esm/v2/components/TimePicker.js +59 -69
- package/dist/esm/v2/components/TimePicker.js.map +1 -1
- package/dist/esm/v2/components/Toast.js +109 -163
- package/dist/esm/v2/components/Toast.js.map +1 -1
- package/dist/esm/v2/components/Tooltip.js +18 -31
- package/dist/esm/v2/components/Tooltip.js.map +1 -1
- package/dist/esm/v2/components/_ErrorPageBody.js +6 -5
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/esm/v2/components/_pickerShared.js +2 -2
- package/dist/esm/v2/components/_pickerShared.js.map +1 -1
- package/dist/esm/v2/components/index.js +64 -0
- package/dist/esm/v2/components/index.js.map +1 -1
- package/dist/esm/v2/hooks/index.js +62 -0
- package/dist/esm/v2/hooks/index.js.map +1 -1
- package/dist/esm/v2/hooks/useAppliedFilters.js +112 -0
- package/dist/esm/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js +82 -0
- package/dist/esm/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +5 -19
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/esm/v2/hooks/useDensity.js +13 -17
- package/dist/esm/v2/hooks/useDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusFirstError.js +25 -33
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js +81 -0
- package/dist/esm/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +19 -23
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/esm/v2/hooks/useFormAutoSave.js +38 -53
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +32 -51
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js +125 -0
- package/dist/esm/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js +99 -0
- package/dist/esm/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +2 -10
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/esm/v2/hooks/useSortedRows.js +3 -5
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/esm/v2/hooks/useTabLoading.js +6 -21
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/esm/v2/index.js +14 -4
- package/dist/esm/v2/index.js.map +1 -1
- package/dist/esm/v2/modalContext.js +2 -2
- package/dist/esm/v2/modalContext.js.map +1 -1
- package/dist/esm/v2/models/favorite.js.map +1 -1
- package/dist/esm/v2/models/personalization.js.map +1 -1
- package/dist/esm/v2/models/referentiel.js.map +1 -1
- package/dist/esm/v2/models/savedFilter.js.map +1 -1
- package/dist/esm/v2/patterns/ActionBar.js +115 -159
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/AppMain.js +108 -0
- package/dist/esm/v2/patterns/AppMain.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +31 -34
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/esm/v2/patterns/ChartFigure.js +151 -0
- package/dist/esm/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +111 -152
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/ColumnsToggle.js +43 -77
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/esm/v2/patterns/DataGrid.js +221 -255
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +76 -94
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridToolbar.js +85 -89
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/esm/v2/patterns/DataGridVirtualized.js +141 -182
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +26 -30
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/esm/v2/patterns/DetailSplit.js +108 -0
- package/dist/esm/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +26 -75
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/esm/v2/patterns/FavoritesFilter.js +30 -39
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/esm/v2/patterns/FilterTabBar.js +112 -0
- package/dist/esm/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +12 -13
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/esm/v2/patterns/FormPageShell.js +43 -41
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/FormSection.js +30 -38
- package/dist/esm/v2/patterns/FormSection.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCheckbox.js +130 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +56 -60
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/esm/v2/patterns/FormikCombobox.js +51 -66
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDatePicker.js +51 -99
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +136 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +22 -23
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/esm/v2/patterns/FormikErrorSummary.js +89 -0
- package/dist/esm/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +94 -78
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -1
- package/dist/esm/v2/patterns/FormikInput.js +40 -50
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -1
- package/dist/esm/v2/patterns/FormikRadioGroup.js +129 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +49 -59
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/FormikSelect.js +64 -84
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/esm/v2/patterns/FormikTextarea.js +30 -43
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +64 -65
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +6 -7
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/esm/v2/patterns/PageContent.js +10 -14
- package/dist/esm/v2/patterns/PageContent.js.map +1 -1
- package/dist/esm/v2/patterns/PreviewDrawer.js +153 -0
- package/dist/esm/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +327 -312
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +38 -66
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +62 -81
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/esm/v2/patterns/SkeletonPageShell.js +106 -129
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/esm/v2/patterns/SortableHeader.js +22 -45
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/esm/v2/patterns/Tour.js +94 -120
- package/dist/esm/v2/patterns/Tour.js.map +1 -1
- package/dist/esm/v2/patterns/_dataGridShared.js +107 -128
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/esm/v2/patterns/_pickerSerialisation.js +72 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +17 -33
- package/dist/esm/v2/patterns/_sort.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnReorder.js +122 -160
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/esm/v2/patterns/_useColumnResize.js +78 -96
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/esm/v2/patterns/filterCriteria.js +102 -0
- package/dist/esm/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +235 -0
- package/dist/esm/v2/patterns/index.js.map +1 -1
- package/dist/esm/v2/patterns/rowActions.js +223 -0
- package/dist/esm/v2/patterns/rowActions.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +50 -47
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +22 -23
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +13 -13
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favorites.js +36 -60
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +22 -34
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +203 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +5 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js +119 -0
- package/dist/esm/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +90 -98
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/esm/v2/personalization/createPersonalizationStore.js +78 -181
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/esm/v2/personalization/index.js +35 -0
- package/dist/esm/v2/personalization/index.js.map +1 -1
- package/dist/esm/v2/personalization/personalizationContext.js +9 -9
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/esm/v2/personalization/schema.js +8 -9
- package/dist/esm/v2/personalization/schema.js.map +1 -1
- package/dist/esm/v2/referentiel/ReferentielProvider.js +27 -42
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/esm/v2/referentiel/types.js +2 -0
- package/dist/esm/v2/referentiel/types.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +10 -11
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielOptions.js +60 -117
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/esm/v2/referentiel/useReferentielSearch.js +37 -91
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/esm/v2/theme/_brand.js +8 -24
- package/dist/esm/v2/theme/_brand.js.map +1 -1
- package/dist/esm/v2/theme/_brandSecondary.js +8 -24
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/esm/v2/theme/createPortnetTheme.js +51 -61
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/esm/v2/theme/cssVariables.js +62 -69
- package/dist/esm/v2/theme/cssVariables.js.map +1 -1
- package/dist/esm/v2/theme/index.js +5 -5
- package/dist/esm/v2/theme/index.js.map +1 -1
- package/dist/esm/v2/tokens/breakpoints.js +14 -14
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -1
- package/dist/esm/v2/tokens/chart.js +261 -0
- package/dist/esm/v2/tokens/chart.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +22 -22
- package/dist/esm/v2/tokens/colors.js.map +1 -1
- package/dist/esm/v2/tokens/density.js +62 -7
- package/dist/esm/v2/tokens/density.js.map +1 -1
- package/dist/esm/v2/tokens/index.js +49 -34
- package/dist/esm/v2/tokens/index.js.map +1 -1
- package/dist/esm/v2/tokens/motion.js +12 -20
- package/dist/esm/v2/tokens/motion.js.map +1 -1
- package/dist/esm/v2/tokens/radius.js +1 -1
- package/dist/esm/v2/tokens/radius.js.map +1 -1
- package/dist/esm/v2/tokens/shadows.js +6 -6
- package/dist/esm/v2/tokens/shadows.js.map +1 -1
- package/dist/esm/v2/tokens/spacing.js +2 -2
- package/dist/esm/v2/tokens/spacing.js.map +1 -1
- package/dist/esm/v2/tokens/state.js +1 -1
- package/dist/esm/v2/tokens/state.js.map +1 -1
- package/dist/esm/v2/tokens/statusPalette.js +17 -21
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -1
- package/dist/esm/v2/tokens/tokens.json +6 -1
- package/dist/esm/v2/tokens/typography.js +13 -13
- package/dist/esm/v2/tokens/typography.js.map +1 -1
- package/dist/esm/v2/tokens/zIndex.js +1 -1
- package/dist/esm/v2/tokens/zIndex.js.map +1 -1
- package/dist/esm/v2/types/datagrid.js.map +1 -1
- package/dist/esm/v2/utils/apiError.js +16 -37
- package/dist/esm/v2/utils/apiError.js.map +1 -1
- package/dist/esm/v2/utils/contrast.js +31 -32
- package/dist/esm/v2/utils/contrast.js.map +1 -1
- package/dist/esm/v2/utils/cx.js +5 -25
- package/dist/esm/v2/utils/cx.js.map +1 -1
- package/dist/esm/v2/utils/fileDownload.js +23 -26
- package/dist/esm/v2/utils/fileDownload.js.map +1 -1
- package/dist/esm/v2/utils/fileValidation.js +209 -0
- package/dist/esm/v2/utils/fileValidation.js.map +1 -0
- package/dist/esm/v2/utils/fmtDate.js +111 -0
- package/dist/esm/v2/utils/fmtDate.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +8 -10
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -1
- package/dist/esm/v2/utils/formikErrors.js +78 -0
- package/dist/esm/v2/utils/formikErrors.js.map +1 -0
- package/dist/esm/v2/utils/index.js +35 -2
- package/dist/esm/v2/utils/index.js.map +1 -1
- package/dist/esm/v2/utils/mergeLabels.js +7 -12
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -1
- package/dist/esm/v2/utils/networkStatus.js +12 -12
- package/dist/esm/v2/utils/networkStatus.js.map +1 -1
- package/dist/index.d.ts +9 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +122 -47
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/AppMain.test.js +133 -0
- package/dist/v2/__tests__/AppMain.test.js.map +1 -0
- package/dist/v2/__tests__/ChartFigure.test.js +183 -0
- package/dist/v2/__tests__/ChartFigure.test.js.map +1 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js +153 -0
- package/dist/v2/__tests__/DataGridRowActionsPropagation.test.js.map +1 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js +94 -0
- package/dist/v2/__tests__/DrawerTactileTargets.test.js.map +1 -0
- package/dist/v2/__tests__/FieldError.test.js +98 -69
- package/dist/v2/__tests__/FieldError.test.js.map +1 -1
- package/dist/v2/__tests__/FieldNaming.test.js +161 -0
- package/dist/v2/__tests__/FieldNaming.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +148 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +45 -48
- package/dist/v2/__tests__/FileCard.test.js.map +1 -1
- package/dist/v2/__tests__/FormikCheckbox.test.js +175 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +237 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js +102 -0
- package/dist/v2/__tests__/FormikDisplayWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +300 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +100 -102
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/PreviewDrawer.test.js +169 -0
- package/dist/v2/__tests__/PreviewDrawer.test.js.map +1 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js +159 -0
- package/dist/v2/__tests__/ReferentielFieldContainer.test.js.map +1 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +53 -68
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -1
- package/dist/v2/__tests__/apiError.test.js +50 -69
- package/dist/v2/__tests__/apiError.test.js.map +1 -1
- package/dist/v2/__tests__/banned-patterns.test.js +42 -123
- package/dist/v2/__tests__/banned-patterns.test.js.map +1 -1
- package/dist/v2/__tests__/chart-palette.test.js +205 -0
- package/dist/v2/__tests__/chart-palette.test.js.map +1 -0
- package/dist/v2/__tests__/contrast-palette.test.js +42 -74
- package/dist/v2/__tests__/contrast-palette.test.js.map +1 -1
- package/dist/v2/__tests__/cssVariables.test.js +44 -51
- package/dist/v2/__tests__/cssVariables.test.js.map +1 -1
- package/dist/v2/__tests__/fileValidation.test.js +136 -0
- package/dist/v2/__tests__/fileValidation.test.js.map +1 -0
- package/dist/v2/__tests__/filterCriteria.test.js +324 -0
- package/dist/v2/__tests__/filterCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/fmtDate.test.js +69 -0
- package/dist/v2/__tests__/fmtDate.test.js.map +1 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js +221 -0
- package/dist/v2/__tests__/gap-leakage-refonte.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +38 -46
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/__tests__/locale-fallback.test.js +47 -52
- package/dist/v2/__tests__/locale-fallback.test.js.map +1 -1
- package/dist/v2/__tests__/reviveSavedCriteria.test.js +144 -0
- package/dist/v2/__tests__/reviveSavedCriteria.test.js.map +1 -0
- package/dist/v2/__tests__/rowActions.test.js +186 -0
- package/dist/v2/__tests__/rowActions.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js +156 -0
- package/dist/v2/__tests__/useFocusOnRouteChange.test.js.map +1 -0
- package/dist/v2/__tests__/useFocusTrap.test.js +270 -407
- package/dist/v2/__tests__/useFocusTrap.test.js.map +1 -1
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js +123 -0
- package/dist/v2/__tests__/usePrefersReducedMotion.test.js.map +1 -0
- package/dist/v2/components/Accordion.js +60 -82
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.js +40 -52
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.js +42 -41
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.js +22 -27
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.js +39 -50
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js +49 -32
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.js +39 -45
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.js +29 -42
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.js +122 -144
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.js +138 -225
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +46 -56
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.js +81 -86
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.js +77 -87
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +121 -95
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +93 -88
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.js +150 -196
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.js +18 -20
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +28 -39
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +121 -5
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +221 -62
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.js +18 -21
- package/dist/v2/components/FieldError.js.map +1 -1
- package/dist/v2/components/FieldHelp.js +40 -60
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.js +27 -31
- package/dist/v2/components/FileCard.js.map +1 -1
- package/dist/v2/components/FilterTab.js +30 -38
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/ForbiddenPage.d.ts +25 -1
- package/dist/v2/components/ForbiddenPage.d.ts.map +1 -1
- package/dist/v2/components/ForbiddenPage.js +37 -17
- package/dist/v2/components/ForbiddenPage.js.map +1 -1
- package/dist/v2/components/FormGrid.js +53 -59
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +50 -1
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js +108 -33
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +40 -0
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js +81 -41
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.js +57 -67
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.js +16 -22
- package/dist/v2/components/KPIStrip.js.map +1 -1
- package/dist/v2/components/KV.js +25 -31
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.js +19 -26
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.js +91 -120
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.js +79 -91
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.js +61 -69
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +19 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js +38 -21
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NotFoundPage.d.ts +17 -1
- package/dist/v2/components/NotFoundPage.d.ts.map +1 -1
- package/dist/v2/components/NotFoundPage.js +37 -18
- package/dist/v2/components/NotFoundPage.js.map +1 -1
- package/dist/v2/components/NumberInput.js +88 -118
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.js +38 -56
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.js +34 -45
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.js +42 -49
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.js +59 -67
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.js +90 -135
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -1
- package/dist/v2/components/SectionHeader.js +34 -41
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.js +69 -93
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +26 -2
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +120 -155
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +27 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js +37 -20
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.js +86 -100
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.js +9 -12
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Spinner.js +16 -25
- package/dist/v2/components/Spinner.js.map +1 -1
- package/dist/v2/components/Status.js +18 -29
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.js +80 -82
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.js +34 -49
- package/dist/v2/components/Surface.js.map +1 -1
- package/dist/v2/components/Switch.js +29 -37
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/TabPanel.d.ts +17 -0
- package/dist/v2/components/TabPanel.d.ts.map +1 -0
- package/dist/v2/components/TabPanel.js +90 -0
- package/dist/v2/components/TabPanel.js.map +1 -0
- package/dist/v2/components/Tabs.d.ts +25 -0
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js +53 -29
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.js +80 -115
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.js +26 -35
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.js +62 -74
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.js +119 -174
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.js +23 -38
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/_ErrorPageBody.js +15 -16
- package/dist/v2/components/_ErrorPageBody.js.map +1 -1
- package/dist/v2/components/_pickerShared.js +5 -5
- package/dist/v2/components/_pickerShared.js.map +1 -1
- package/dist/v2/components/index.d.ts +67 -1
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +153 -136
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/hooks/index.d.ts +65 -0
- package/dist/v2/hooks/index.d.ts.map +1 -1
- package/dist/v2/hooks/index.js +63 -24
- package/dist/v2/hooks/index.js.map +1 -1
- package/dist/v2/hooks/useAppliedFilters.d.ts +102 -0
- package/dist/v2/hooks/useAppliedFilters.d.ts.map +1 -0
- package/dist/v2/hooks/useAppliedFilters.js +117 -0
- package/dist/v2/hooks/useAppliedFilters.js.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts +64 -0
- package/dist/v2/hooks/useDebouncedCallback.d.ts.map +1 -0
- package/dist/v2/hooks/useDebouncedCallback.js +87 -0
- package/dist/v2/hooks/useDebouncedCallback.js.map +1 -0
- package/dist/v2/hooks/useDelayedFlag.js +6 -20
- package/dist/v2/hooks/useDelayedFlag.js.map +1 -1
- package/dist/v2/hooks/useDensity.d.ts.map +1 -1
- package/dist/v2/hooks/useDensity.js +14 -18
- package/dist/v2/hooks/useDensity.js.map +1 -1
- package/dist/v2/hooks/useFocusFirstError.js +26 -34
- package/dist/v2/hooks/useFocusFirstError.js.map +1 -1
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts +65 -0
- package/dist/v2/hooks/useFocusOnRouteChange.d.ts.map +1 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js +88 -0
- package/dist/v2/hooks/useFocusOnRouteChange.js.map +1 -0
- package/dist/v2/hooks/useFocusTrap.js +20 -24
- package/dist/v2/hooks/useFocusTrap.js.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.d.ts +4 -4
- package/dist/v2/hooks/useFormAutoSave.d.ts.map +1 -1
- package/dist/v2/hooks/useFormAutoSave.js +39 -54
- package/dist/v2/hooks/useFormAutoSave.js.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.d.ts.map +1 -1
- package/dist/v2/hooks/useFormCompletionProgress.js +33 -52
- package/dist/v2/hooks/useFormCompletionProgress.js.map +1 -1
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts +25 -0
- package/dist/v2/hooks/useKeyboardShortcuts.d.ts.map +1 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js +132 -0
- package/dist/v2/hooks/useKeyboardShortcuts.js.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts +56 -0
- package/dist/v2/hooks/usePrefersReducedMotion.d.ts.map +1 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js +105 -0
- package/dist/v2/hooks/usePrefersReducedMotion.js.map +1 -0
- package/dist/v2/hooks/useResolvedDensity.js +5 -13
- package/dist/v2/hooks/useResolvedDensity.js.map +1 -1
- package/dist/v2/hooks/useSortedRows.js +4 -6
- package/dist/v2/hooks/useSortedRows.js.map +1 -1
- package/dist/v2/hooks/useTabLoading.js +7 -22
- package/dist/v2/hooks/useTabLoading.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js +143 -145
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/modalContext.js +2 -2
- package/dist/v2/modalContext.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +8 -9
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/index.js +4 -4
- package/dist/v2/models/index.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +44 -48
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +32 -50
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -17
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.js +152 -187
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/AppMain.d.ts +109 -0
- package/dist/v2/patterns/AppMain.d.ts.map +1 -0
- package/dist/v2/patterns/AppMain.js +115 -0
- package/dist/v2/patterns/AppMain.js.map +1 -0
- package/dist/v2/patterns/BulkActionBar.js +40 -42
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/ChartFigure.d.ts +124 -0
- package/dist/v2/patterns/ChartFigure.d.ts.map +1 -0
- package/dist/v2/patterns/ChartFigure.js +159 -0
- package/dist/v2/patterns/ChartFigure.js.map +1 -0
- package/dist/v2/patterns/CollapsibleDataGrid.js +138 -174
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +60 -94
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/DataGrid.js +262 -297
- package/dist/v2/patterns/DataGrid.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -0
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +104 -121
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +103 -106
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js +179 -217
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js +32 -35
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/DetailSplit.d.ts +87 -0
- package/dist/v2/patterns/DetailSplit.d.ts.map +1 -0
- package/dist/v2/patterns/DetailSplit.js +116 -0
- package/dist/v2/patterns/DetailSplit.js.map +1 -0
- package/dist/v2/patterns/FavoriteColumn.d.ts +9 -9
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +32 -80
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +36 -44
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FilterTabBar.d.ts +28 -0
- package/dist/v2/patterns/FilterTabBar.d.ts.map +1 -0
- package/dist/v2/patterns/FilterTabBar.js +120 -0
- package/dist/v2/patterns/FilterTabBar.js.map +1 -0
- package/dist/v2/patterns/FormErrorSummary.js +20 -23
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.js +53 -50
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +8 -3
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +44 -51
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +138 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +17 -1
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js +62 -65
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +7 -1
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +55 -69
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +13 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +59 -106
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
- package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDateTimePicker.js +144 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.js +25 -26
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikErrorSummary.d.ts +74 -0
- package/dist/v2/patterns/FormikErrorSummary.d.ts.map +1 -0
- package/dist/v2/patterns/FormikErrorSummary.js +97 -0
- package/dist/v2/patterns/FormikErrorSummary.js.map +1 -0
- package/dist/v2/patterns/FormikFile.d.ts +14 -1
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js +99 -83
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +11 -1
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +45 -55
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
- package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikRadioGroup.js +137 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +12 -1
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js +54 -64
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +9 -1
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +70 -89
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +9 -1
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +35 -48
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +14 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +71 -74
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js +13 -16
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.js +17 -20
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/PreviewDrawer.d.ts +49 -0
- package/dist/v2/patterns/PreviewDrawer.d.ts.map +1 -0
- package/dist/v2/patterns/PreviewDrawer.js +159 -0
- package/dist/v2/patterns/PreviewDrawer.js.map +1 -0
- package/dist/v2/patterns/ReferentielField.d.ts +86 -2
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +347 -327
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +98 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +135 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.js +50 -77
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +89 -107
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js +122 -143
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.js +35 -57
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.js +121 -142
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +131 -147
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +80 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_sort.js +17 -33
- package/dist/v2/patterns/_sort.js.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js +124 -163
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js +80 -99
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/filterCriteria.d.ts +78 -0
- package/dist/v2/patterns/filterCriteria.d.ts.map +1 -0
- package/dist/v2/patterns/filterCriteria.js +110 -0
- package/dist/v2/patterns/filterCriteria.js.map +1 -0
- package/dist/v2/patterns/index.d.ts +247 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +182 -70
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/patterns/rowActions.d.ts +150 -0
- package/dist/v2/patterns/rowActions.d.ts.map +1 -0
- package/dist/v2/patterns/rowActions.js +232 -0
- package/dist/v2/patterns/rowActions.js.map +1 -0
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js +57 -53
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/_storageKey.js +5 -5
- package/dist/v2/personalization/adapters/_storageKey.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js +25 -24
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js +14 -14
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/index.js +5 -5
- package/dist/v2/personalization/adapters/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/favorites.js +39 -62
- package/dist/v2/personalization/capabilities/favorites.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js +25 -37
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +210 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +6 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +23 -10
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts +88 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js +126 -0
- package/dist/v2/personalization/capabilities/reviveSavedCriteria.js.map +1 -0
- package/dist/v2/personalization/capabilities/savedFilters.js +93 -100
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js +81 -182
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +34 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +41 -21
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/personalizationContext.js +10 -12
- package/dist/v2/personalization/personalizationContext.js.map +1 -1
- package/dist/v2/personalization/schema.js +8 -9
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js +31 -45
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/index.js +11 -13
- package/dist/v2/referentiel/index.js.map +1 -1
- package/dist/v2/referentiel/types.d.ts +105 -0
- package/dist/v2/referentiel/types.d.ts.map +1 -0
- package/dist/v2/referentiel/types.js +6 -0
- package/dist/v2/referentiel/types.js.map +1 -0
- package/dist/v2/referentiel/useReferentielClient.js +13 -16
- package/dist/v2/referentiel/useReferentielClient.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +7 -17
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js +63 -120
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +7 -48
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js +40 -95
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/_brand.js +12 -26
- package/dist/v2/theme/_brand.js.map +1 -1
- package/dist/v2/theme/_brandSecondary.js +12 -26
- package/dist/v2/theme/_brandSecondary.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +41 -49
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/theme/cssVariables.d.ts +3 -3
- package/dist/v2/theme/cssVariables.d.ts.map +1 -1
- package/dist/v2/theme/cssVariables.js +65 -70
- package/dist/v2/theme/cssVariables.js.map +1 -1
- package/dist/v2/theme/index.js +10 -10
- package/dist/v2/theme/index.js.map +1 -1
- package/dist/v2/tokens/breakpoints.js +16 -16
- package/dist/v2/tokens/breakpoints.js.map +1 -1
- package/dist/v2/tokens/chart.d.ts +103 -0
- package/dist/v2/tokens/chart.d.ts.map +1 -0
- package/dist/v2/tokens/chart.js +270 -0
- package/dist/v2/tokens/chart.js.map +1 -0
- package/dist/v2/tokens/colors.js +24 -24
- package/dist/v2/tokens/colors.js.map +1 -1
- package/dist/v2/tokens/density.d.ts +104 -0
- package/dist/v2/tokens/density.d.ts.map +1 -1
- package/dist/v2/tokens/density.js +67 -12
- package/dist/v2/tokens/density.js.map +1 -1
- package/dist/v2/tokens/index.d.ts +50 -1
- package/dist/v2/tokens/index.d.ts.map +1 -1
- package/dist/v2/tokens/index.js +116 -68
- package/dist/v2/tokens/index.js.map +1 -1
- package/dist/v2/tokens/motion.js +16 -22
- package/dist/v2/tokens/motion.js.map +1 -1
- package/dist/v2/tokens/radius.js +3 -3
- package/dist/v2/tokens/radius.js.map +1 -1
- package/dist/v2/tokens/shadows.js +8 -8
- package/dist/v2/tokens/shadows.js.map +1 -1
- package/dist/v2/tokens/spacing.js +4 -4
- package/dist/v2/tokens/spacing.js.map +1 -1
- package/dist/v2/tokens/state.js +3 -3
- package/dist/v2/tokens/state.js.map +1 -1
- package/dist/v2/tokens/statusPalette.js +21 -23
- package/dist/v2/tokens/statusPalette.js.map +1 -1
- package/dist/v2/tokens/tokens.json +6 -1
- package/dist/v2/tokens/typography.js +15 -15
- package/dist/v2/tokens/typography.js.map +1 -1
- package/dist/v2/tokens/zIndex.js +3 -3
- package/dist/v2/tokens/zIndex.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +9 -1
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/types/index.js +2 -2
- package/dist/v2/types/index.js.map +1 -1
- package/dist/v2/utils/apiError.js +16 -37
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/contrast.js +31 -32
- package/dist/v2/utils/contrast.js.map +1 -1
- package/dist/v2/utils/cx.js +7 -27
- package/dist/v2/utils/cx.js.map +1 -1
- package/dist/v2/utils/fileDownload.js +25 -28
- package/dist/v2/utils/fileDownload.js.map +1 -1
- package/dist/v2/utils/fileValidation.d.ts +116 -0
- package/dist/v2/utils/fileValidation.d.ts.map +1 -0
- package/dist/v2/utils/fileValidation.js +220 -0
- package/dist/v2/utils/fileValidation.js.map +1 -0
- package/dist/v2/utils/fmtDate.d.ts +103 -0
- package/dist/v2/utils/fmtDate.d.ts.map +1 -0
- package/dist/v2/utils/fmtDate.js +119 -0
- package/dist/v2/utils/fmtDate.js.map +1 -0
- package/dist/v2/utils/fmtMoney.d.ts +3 -3
- package/dist/v2/utils/fmtMoney.d.ts.map +1 -1
- package/dist/v2/utils/fmtMoney.js +9 -11
- package/dist/v2/utils/fmtMoney.js.map +1 -1
- package/dist/v2/utils/formikErrors.d.ts +67 -0
- package/dist/v2/utils/formikErrors.d.ts.map +1 -0
- package/dist/v2/utils/formikErrors.js +85 -0
- package/dist/v2/utils/formikErrors.js.map +1 -0
- package/dist/v2/utils/index.d.ts +5 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +67 -18
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.js +9 -14
- package/dist/v2/utils/mergeLabels.js.map +1 -1
- package/dist/v2/utils/networkStatus.js +14 -14
- package/dist/v2/utils/networkStatus.js.map +1 -1
- package/package.json +26 -9
|
@@ -1,28 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
|
|
3
|
-
function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
|
|
4
3
|
Object.defineProperty(exports, "__esModule", {
|
|
5
4
|
value: true
|
|
6
5
|
});
|
|
7
|
-
exports
|
|
6
|
+
exports.default = useColumnReorder;
|
|
8
7
|
var React = _interopRequireWildcard(require("react"));
|
|
9
|
-
function
|
|
10
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
11
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
12
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
13
|
-
function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
14
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
15
|
-
function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
|
|
16
|
-
function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
|
|
17
|
-
function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
18
|
-
function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
|
|
19
|
-
function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
|
|
20
|
-
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
21
|
-
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
22
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
23
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
24
|
-
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) { ; } } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
25
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
8
|
+
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
26
9
|
/**
|
|
27
10
|
* useColumnReorder — Portnet UI v2 (private)
|
|
28
11
|
*
|
|
@@ -65,200 +48,178 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
65
48
|
* onDrop never fires.
|
|
66
49
|
*/
|
|
67
50
|
|
|
68
|
-
function useColumnReorder(columns, columnOrder, onColumnOrderChange) {
|
|
69
|
-
|
|
70
|
-
|
|
51
|
+
function useColumnReorder(columns, columnOrder, onColumnOrderChange, options = {}) {
|
|
52
|
+
const {
|
|
53
|
+
resizeIsActive
|
|
54
|
+
} = options;
|
|
71
55
|
|
|
72
56
|
// Effective order = host order, or fallback to the natural columns
|
|
73
57
|
// sequence. Memoised on the input shapes; no allocation when both
|
|
74
58
|
// refs are stable.
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
});
|
|
79
|
-
}, [columnOrder, columns]);
|
|
80
|
-
var _React$useState = React.useState(null),
|
|
81
|
-
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
82
|
-
dragKey = _React$useState2[0],
|
|
83
|
-
setDragKey = _React$useState2[1];
|
|
84
|
-
var _React$useState3 = React.useState(null),
|
|
85
|
-
_React$useState4 = _slicedToArray(_React$useState3, 2),
|
|
86
|
-
overKey = _React$useState4[0],
|
|
87
|
-
setOverKey = _React$useState4[1];
|
|
59
|
+
const effectiveOrder = React.useMemo(() => columnOrder || columns.map(c => c.key), [columnOrder, columns]);
|
|
60
|
+
const [dragKey, setDragKey] = React.useState(null);
|
|
61
|
+
const [overKey, setOverKey] = React.useState(null);
|
|
88
62
|
|
|
89
63
|
// Refs mirror state for use inside fresh-closure handlers
|
|
90
64
|
// (the onDragEnd inside cellHandlers needs the latest dragKey
|
|
91
65
|
// even if React hasn't yet re-rendered).
|
|
92
|
-
|
|
93
|
-
|
|
66
|
+
const dragKeyRef = React.useRef(null);
|
|
67
|
+
const reset = React.useCallback(() => {
|
|
94
68
|
dragKeyRef.current = null;
|
|
95
69
|
setDragKey(null);
|
|
96
70
|
setOverKey(null);
|
|
97
71
|
}, []);
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
if (resizeIsActive) {
|
|
103
|
-
e.preventDefault();
|
|
104
|
-
return;
|
|
105
|
-
}
|
|
106
|
-
dragKeyRef.current = key;
|
|
107
|
-
setDragKey(key);
|
|
108
|
-
// Mark the data transfer with the source key. Some browsers
|
|
109
|
-
// require a non-empty payload to allow drop (Firefox).
|
|
110
|
-
try {
|
|
111
|
-
e.dataTransfer.effectAllowed = "move";
|
|
112
|
-
e.dataTransfer.setData("text/plain", key);
|
|
113
|
-
} catch (_unused) {
|
|
114
|
-
// Older Safari throws on certain MIME types; ignored.
|
|
115
|
-
}
|
|
116
|
-
};
|
|
117
|
-
}, [resizeIsActive]);
|
|
118
|
-
var onDragOver = React.useCallback(function (key) {
|
|
119
|
-
return function (e) {
|
|
120
|
-
// CRITICAL — without preventDefault, the browser refuses the
|
|
121
|
-
// drop and onDrop never fires.
|
|
72
|
+
const onDragStart = React.useCallback(key => e => {
|
|
73
|
+
// Cross-hook: if resize is active, abort the drag. Resize fires
|
|
74
|
+
// first via mousedown; this handler runs later via dragstart.
|
|
75
|
+
if (resizeIsActive) {
|
|
122
76
|
e.preventDefault();
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
dragKeyRef.current = key;
|
|
80
|
+
setDragKey(key);
|
|
81
|
+
// Mark the data transfer with the source key. Some browsers
|
|
82
|
+
// require a non-empty payload to allow drop (Firefox).
|
|
83
|
+
try {
|
|
84
|
+
e.dataTransfer.effectAllowed = "move";
|
|
85
|
+
e.dataTransfer.setData("text/plain", key);
|
|
86
|
+
} catch {
|
|
87
|
+
// Older Safari throws on certain MIME types; ignored.
|
|
88
|
+
}
|
|
89
|
+
}, [resizeIsActive]);
|
|
90
|
+
const onDragOver = React.useCallback(key => e => {
|
|
91
|
+
// CRITICAL — without preventDefault, the browser refuses the
|
|
92
|
+
// drop and onDrop never fires.
|
|
93
|
+
e.preventDefault();
|
|
94
|
+
try {
|
|
95
|
+
e.dataTransfer.dropEffect = "move";
|
|
96
|
+
} catch {
|
|
97
|
+
// Some browsers throw outside a trusted dragstart→drop chain.
|
|
98
|
+
}
|
|
99
|
+
if (overKey !== key) setOverKey(key);
|
|
130
100
|
}, [overKey]);
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
if (overKey === key) setOverKey(null);
|
|
136
|
-
};
|
|
101
|
+
const onDragLeave = React.useCallback(key => () => {
|
|
102
|
+
// Only clear when leaving the same key we'd entered. Without
|
|
103
|
+
// this guard, fast moves between cells flicker the highlight.
|
|
104
|
+
if (overKey === key) setOverKey(null);
|
|
137
105
|
}, [overKey]);
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
if (!sourceKey || sourceKey === targetKey) {
|
|
143
|
-
reset();
|
|
144
|
-
return;
|
|
145
|
-
}
|
|
146
|
-
var sourceIdx = effectiveOrder.indexOf(sourceKey);
|
|
147
|
-
var targetIdx = effectiveOrder.indexOf(targetKey);
|
|
148
|
-
if (sourceIdx < 0 || targetIdx < 0) {
|
|
149
|
-
reset();
|
|
150
|
-
return;
|
|
151
|
-
}
|
|
152
|
-
var newOrder = _toConsumableArray(effectiveOrder);
|
|
153
|
-
newOrder.splice(sourceIdx, 1);
|
|
154
|
-
// After splice the target index may shift by 1 if source was
|
|
155
|
-
// before target. Recompute against the post-splice array.
|
|
156
|
-
var insertIdx = newOrder.indexOf(targetKey);
|
|
157
|
-
newOrder.splice(insertIdx, 0, sourceKey);
|
|
158
|
-
if (onColumnOrderChange) onColumnOrderChange(newOrder);
|
|
106
|
+
const onDrop = React.useCallback(targetKey => e => {
|
|
107
|
+
e.preventDefault();
|
|
108
|
+
const sourceKey = e.dataTransfer && e.dataTransfer.getData("text/plain") || dragKeyRef.current;
|
|
109
|
+
if (!sourceKey || sourceKey === targetKey) {
|
|
159
110
|
reset();
|
|
160
|
-
|
|
111
|
+
return;
|
|
112
|
+
}
|
|
113
|
+
const sourceIdx = effectiveOrder.indexOf(sourceKey);
|
|
114
|
+
const targetIdx = effectiveOrder.indexOf(targetKey);
|
|
115
|
+
if (sourceIdx < 0 || targetIdx < 0) {
|
|
116
|
+
reset();
|
|
117
|
+
return;
|
|
118
|
+
}
|
|
119
|
+
const newOrder = [...effectiveOrder];
|
|
120
|
+
newOrder.splice(sourceIdx, 1);
|
|
121
|
+
// After splice the target index may shift by 1 if source was
|
|
122
|
+
// before target. Recompute against the post-splice array.
|
|
123
|
+
const insertIdx = newOrder.indexOf(targetKey);
|
|
124
|
+
newOrder.splice(insertIdx, 0, sourceKey);
|
|
125
|
+
if (onColumnOrderChange) onColumnOrderChange(newOrder);
|
|
126
|
+
reset();
|
|
161
127
|
}, [effectiveOrder, onColumnOrderChange, reset]);
|
|
162
|
-
|
|
128
|
+
const onDragEnd = React.useCallback(() => {
|
|
163
129
|
// Fires whether the drop succeeded or the user cancelled (Esc /
|
|
164
130
|
// drop on a non-target). Belt-and-suspenders cleanup.
|
|
165
131
|
reset();
|
|
166
132
|
}, [reset]);
|
|
167
|
-
|
|
133
|
+
const cellHandlers = React.useCallback(key => ({
|
|
134
|
+
draggable: true,
|
|
135
|
+
onDragStart: onDragStart(key),
|
|
136
|
+
onDragOver: onDragOver(key),
|
|
137
|
+
onDragLeave: onDragLeave(key),
|
|
138
|
+
onDrop: onDrop(key),
|
|
139
|
+
onDragEnd
|
|
140
|
+
}), [onDragStart, onDragOver, onDragLeave, onDrop, onDragEnd]);
|
|
141
|
+
const cellSx = React.useCallback(key => {
|
|
142
|
+
const isDragSource = dragKey === key;
|
|
143
|
+
const isDropTarget = overKey === key && dragKey !== key;
|
|
144
|
+
if (!isDragSource && !isDropTarget) return undefined;
|
|
168
145
|
return {
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
146
|
+
...(isDragSource && {
|
|
147
|
+
opacity: 0.5
|
|
148
|
+
}),
|
|
149
|
+
...(isDropTarget && {
|
|
150
|
+
// Inset accent outline = "drop here" visual. boxShadow not
|
|
151
|
+
// outline so it doesn't extend beyond the cell border.
|
|
152
|
+
boxShadow: "inset 0 0 0 2px var(--accent)"
|
|
153
|
+
})
|
|
175
154
|
};
|
|
176
|
-
}, [onDragStart, onDragOver, onDragLeave, onDrop, onDragEnd]);
|
|
177
|
-
var cellSx = React.useCallback(function (key) {
|
|
178
|
-
var isDragSource = dragKey === key;
|
|
179
|
-
var isDropTarget = overKey === key && dragKey !== key;
|
|
180
|
-
if (!isDragSource && !isDropTarget) return undefined;
|
|
181
|
-
return _objectSpread(_objectSpread({}, isDragSource && {
|
|
182
|
-
opacity: 0.5
|
|
183
|
-
}), isDropTarget && {
|
|
184
|
-
// Inset accent outline = "drop here" visual. boxShadow not
|
|
185
|
-
// outline so it doesn't extend beyond the cell border.
|
|
186
|
-
boxShadow: "inset 0 0 0 2px var(--accent)"
|
|
187
|
-
});
|
|
188
155
|
}, [dragKey, overKey]);
|
|
189
156
|
|
|
190
157
|
// ── Keyboard reorder (DG-R1) ───────────────────────────────────
|
|
191
158
|
// Commit a reordered copy of effectiveOrder. All keyboard moves route
|
|
192
159
|
// through here; edge/no-op cases are filtered by the callers.
|
|
193
|
-
|
|
160
|
+
const commitOrder = React.useCallback(newOrder => {
|
|
194
161
|
if (onColumnOrderChange) onColumnOrderChange(newOrder);
|
|
195
162
|
}, [onColumnOrderChange]);
|
|
196
163
|
|
|
197
164
|
// Adjacent swap toward the start (dir=-1) / end (dir=+1) of the order.
|
|
198
|
-
|
|
199
|
-
|
|
165
|
+
const swap = React.useCallback((key, dir) => {
|
|
166
|
+
const idx = effectiveOrder.indexOf(key);
|
|
200
167
|
if (idx < 0) return;
|
|
201
|
-
|
|
168
|
+
const target = idx + dir;
|
|
202
169
|
if (target < 0 || target >= effectiveOrder.length) return; // at edge
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
170
|
+
const newOrder = [...effectiveOrder];
|
|
171
|
+
const a = newOrder[idx];
|
|
172
|
+
const b = newOrder[target];
|
|
206
173
|
newOrder[idx] = b;
|
|
207
174
|
newOrder[target] = a;
|
|
208
175
|
commitOrder(newOrder);
|
|
209
176
|
}, [effectiveOrder, commitOrder]);
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
}, [swap]);
|
|
213
|
-
var moveLater = React.useCallback(function (key) {
|
|
214
|
-
return swap(key, 1);
|
|
215
|
-
}, [swap]);
|
|
177
|
+
const moveEarlier = React.useCallback(key => swap(key, -1), [swap]);
|
|
178
|
+
const moveLater = React.useCallback(key => swap(key, 1), [swap]);
|
|
216
179
|
|
|
217
180
|
// Send the column to the first / last slot (Home / End).
|
|
218
|
-
|
|
219
|
-
|
|
181
|
+
const moveToEdge = React.useCallback((key, edge) => {
|
|
182
|
+
const idx = effectiveOrder.indexOf(key);
|
|
220
183
|
if (idx < 0) return;
|
|
221
184
|
if (edge === "start" && idx === 0) return;
|
|
222
185
|
if (edge === "end" && idx === effectiveOrder.length - 1) return;
|
|
223
|
-
|
|
224
|
-
|
|
186
|
+
const newOrder = [...effectiveOrder];
|
|
187
|
+
const moved = newOrder.splice(idx, 1)[0];
|
|
225
188
|
if (edge === "start") newOrder.unshift(moved);else newOrder.push(moved);
|
|
226
189
|
commitOrder(newOrder);
|
|
227
190
|
}, [effectiveOrder, commitOrder]);
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
}
|
|
191
|
+
const handleKeyDown = React.useCallback(key => e => {
|
|
192
|
+
if (resizeIsActive) return;
|
|
193
|
+
const isLeft = e.key === "ArrowLeft";
|
|
194
|
+
const isRight = e.key === "ArrowRight";
|
|
195
|
+
const isHome = e.key === "Home";
|
|
196
|
+
const isEnd = e.key === "End";
|
|
197
|
+
if (!isLeft && !isRight && !isHome && !isEnd) return;
|
|
198
|
+
e.preventDefault();
|
|
199
|
+
e.stopPropagation();
|
|
200
|
+
if (isHome) {
|
|
201
|
+
moveToEdge(key, "start");
|
|
202
|
+
return;
|
|
203
|
+
}
|
|
204
|
+
if (isEnd) {
|
|
205
|
+
moveToEdge(key, "end");
|
|
206
|
+
return;
|
|
207
|
+
}
|
|
246
208
|
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
};
|
|
209
|
+
// RTL-aware physical-arrow mapping: in RTL the visual order is
|
|
210
|
+
// reversed, so ArrowLeft advances toward the end of the order.
|
|
211
|
+
const cell = e.currentTarget.closest("th");
|
|
212
|
+
const isRtl = !!cell && typeof window !== "undefined" && typeof window.getComputedStyle === "function" && window.getComputedStyle(cell).direction === "rtl";
|
|
213
|
+
const goLater = isRtl ? isLeft : isRight;
|
|
214
|
+
if (goLater) moveLater(key);else moveEarlier(key);
|
|
254
215
|
}, [resizeIsActive, moveToEdge, moveEarlier, moveLater]);
|
|
255
216
|
return {
|
|
256
|
-
cellHandlers
|
|
257
|
-
cellSx
|
|
217
|
+
cellHandlers,
|
|
218
|
+
cellSx,
|
|
258
219
|
isReordering: dragKey != null,
|
|
259
|
-
moveEarlier
|
|
260
|
-
moveLater
|
|
261
|
-
handleKeyDown
|
|
220
|
+
moveEarlier,
|
|
221
|
+
moveLater,
|
|
222
|
+
handleKeyDown
|
|
262
223
|
};
|
|
263
224
|
}
|
|
264
225
|
//# sourceMappingURL=_useColumnReorder.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_useColumnReorder.js","names":["React","_interopRequireWildcard","require","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","obj","__esModule","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","push","apply","_objectSpread","target","i","arguments","length","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","value","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","Symbol","toPrimitive","undefined","res","TypeError","Number","_toConsumableArray","arr","_arrayWithoutHoles","_iterableToArray","_unsupportedIterableToArray","_nonIterableSpread","iter","iterator","Array","from","isArray","_arrayLikeToArray","_slicedToArray","_arrayWithHoles","_iterableToArrayLimit","_nonIterableRest","o","minLen","n","toString","slice","constructor","name","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","err","useColumnReorder","columns","columnOrder","onColumnOrderChange","options","resizeIsActive","effectiveOrder","useMemo","map","c","_React$useState","useState","_React$useState2","dragKey","setDragKey","_React$useState3","_React$useState4","overKey","setOverKey","dragKeyRef","useRef","reset","useCallback","current","onDragStart","e","preventDefault","dataTransfer","effectAllowed","setData","_unused","onDragOver","dropEffect","_unused2","onDragLeave","onDrop","targetKey","sourceKey","getData","sourceIdx","indexOf","targetIdx","newOrder","splice","insertIdx","onDragEnd","cellHandlers","draggable","cellSx","isDragSource","isDropTarget","opacity","boxShadow","commitOrder","swap","dir","idx","a","b","moveEarlier","moveLater","moveToEdge","edge","moved","unshift","handleKeyDown","isLeft","isRight","isHome","isEnd","stopPropagation","cell","currentTarget","closest","isRtl","window","getComputedStyle","direction","goLater","isReordering"],"sources":["../../../src/lib/v2/patterns/_useColumnReorder.ts"],"sourcesContent":["import * as React from \"react\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * useColumnReorder — Portnet UI v2 (private)\r\n *\r\n * Internal hook for the DataGrid + DataGridVirtualized reorder\r\n * feature. NOT exported from the patterns barrel.\r\n *\r\n * const { cellHandlers, cellSx, isReordering, moveEarlier, moveLater, handleKeyDown } =\r\n * useColumnReorder(\r\n * columns, // for fallback order resolution\r\n * columnOrder, // host-controlled Array<key> | undefined\r\n * onColumnOrderChange, // host-controlled setter\r\n * { resizeIsActive } // cross-hook signal from useColumnResize\r\n * );\r\n *\r\n * Drop semantics (pointer):\r\n * The dragged column is INSERTED AT the target column's position.\r\n * The remaining columns shift to accommodate. This is the standard\r\n * Linear / Asana / GitHub Projects UX — the user thinks \"move\r\n * column X to where Y is\", not \"swap X and Y\".\r\n *\r\n * Keyboard (DG-R1 / WCAG 2.1.1):\r\n * moveEarlier(key) / moveLater(key) swap the column with its neighbour\r\n * toward the start / end of the order (edge-safe, no-op at the ends).\r\n * handleKeyDown(key) is meant for a focusable reorder control in the\r\n * header: ArrowLeft/ArrowRight move the column (RTL-aware, so the motion\r\n * matches the physical arrow), Home/End send it to the first/last slot.\r\n * Every move commits immediately via onColumnOrderChange (no grab/drop\r\n * mode). Direction-neutral names (earlier/later = toward index 0 / end)\r\n * keep the API unambiguous under RTL; the physical-arrow mapping lives in\r\n * handleKeyDown.\r\n *\r\n * Visual feedback during drag:\r\n * - Dragged column header: opacity 0.5\r\n * - Drop target column header: 2px inset accent outline\r\n * These are returned via cellSx; the host applies them as sx\r\n * fragments on each `<th>`.\r\n *\r\n * onDragOver MUST e.preventDefault() to allow drop. This is the\r\n * single most-forgotten step of HTML5 native drag — without it,\r\n * onDrop never fires.\r\n */\r\n\r\nexport interface UseColumnReorderOptions {\r\n resizeIsActive?: boolean | undefined;\r\n}\r\n\r\nexport interface ColumnReorderCellHandlers {\r\n draggable: boolean;\r\n onDragStart: (e: React.DragEvent) => void;\r\n onDragOver: (e: React.DragEvent) => void;\r\n onDragLeave: () => void;\r\n onDrop: (e: React.DragEvent) => void;\r\n onDragEnd: () => void;\r\n}\r\n\r\nexport interface UseColumnReorderResult {\r\n cellHandlers: (key: string) => ColumnReorderCellHandlers;\r\n cellSx: (key: string) => SxProps<Theme> | undefined;\r\n isReordering: boolean;\r\n /** Move the column one slot toward the start of the order (edge-safe). */\r\n moveEarlier: (key: string) => void;\r\n /** Move the column one slot toward the end of the order (edge-safe). */\r\n moveLater: (key: string) => void;\r\n /** onKeyDown for a focusable reorder control: Arrow (RTL-aware) / Home / End. */\r\n handleKeyDown: (key: string) => (e: React.KeyboardEvent) => void;\r\n}\r\n\r\nexport default function useColumnReorder(\r\n columns: ReadonlyArray<{ key: string }>,\r\n columnOrder: string[] | undefined,\r\n onColumnOrderChange: ((order: string[]) => void) | undefined,\r\n options: UseColumnReorderOptions = {}\r\n): UseColumnReorderResult {\r\n const { resizeIsActive } = options;\r\n\r\n // Effective order = host order, or fallback to the natural columns\r\n // sequence. Memoised on the input shapes; no allocation when both\r\n // refs are stable.\r\n const effectiveOrder = React.useMemo(\r\n () => columnOrder || columns.map((c) => c.key),\r\n [columnOrder, columns]\r\n );\r\n\r\n const [dragKey, setDragKey] = React.useState<string | null>(null);\r\n const [overKey, setOverKey] = React.useState<string | null>(null);\r\n\r\n // Refs mirror state for use inside fresh-closure handlers\r\n // (the onDragEnd inside cellHandlers needs the latest dragKey\r\n // even if React hasn't yet re-rendered).\r\n const dragKeyRef = React.useRef<string | null>(null);\r\n\r\n const reset = React.useCallback(() => {\r\n dragKeyRef.current = null;\r\n setDragKey(null);\r\n setOverKey(null);\r\n }, []);\r\n\r\n const onDragStart = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // Cross-hook: if resize is active, abort the drag. Resize fires\r\n // first via mousedown; this handler runs later via dragstart.\r\n if (resizeIsActive) {\r\n e.preventDefault();\r\n return;\r\n }\r\n dragKeyRef.current = key;\r\n setDragKey(key);\r\n // Mark the data transfer with the source key. Some browsers\r\n // require a non-empty payload to allow drop (Firefox).\r\n try {\r\n e.dataTransfer.effectAllowed = \"move\";\r\n e.dataTransfer.setData(\"text/plain\", key);\r\n } catch {\r\n // Older Safari throws on certain MIME types; ignored.\r\n }\r\n },\r\n [resizeIsActive]\r\n );\r\n\r\n const onDragOver = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // CRITICAL — without preventDefault, the browser refuses the\r\n // drop and onDrop never fires.\r\n e.preventDefault();\r\n try {\r\n e.dataTransfer.dropEffect = \"move\";\r\n } catch {\r\n // Some browsers throw outside a trusted dragstart→drop chain.\r\n }\r\n if (overKey !== key) setOverKey(key);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDragLeave = React.useCallback(\r\n (key: string) => () => {\r\n // Only clear when leaving the same key we'd entered. Without\r\n // this guard, fast moves between cells flicker the highlight.\r\n if (overKey === key) setOverKey(null);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDrop = React.useCallback(\r\n (targetKey: string) => (e: React.DragEvent) => {\r\n e.preventDefault();\r\n const sourceKey =\r\n (e.dataTransfer && e.dataTransfer.getData(\"text/plain\")) ||\r\n dragKeyRef.current;\r\n\r\n if (!sourceKey || sourceKey === targetKey) {\r\n reset();\r\n return;\r\n }\r\n\r\n const sourceIdx = effectiveOrder.indexOf(sourceKey);\r\n const targetIdx = effectiveOrder.indexOf(targetKey);\r\n if (sourceIdx < 0 || targetIdx < 0) {\r\n reset();\r\n return;\r\n }\r\n\r\n const newOrder = [...effectiveOrder];\r\n newOrder.splice(sourceIdx, 1);\r\n // After splice the target index may shift by 1 if source was\r\n // before target. Recompute against the post-splice array.\r\n const insertIdx = newOrder.indexOf(targetKey);\r\n newOrder.splice(insertIdx, 0, sourceKey);\r\n\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n reset();\r\n },\r\n [effectiveOrder, onColumnOrderChange, reset]\r\n );\r\n\r\n const onDragEnd = React.useCallback(() => {\r\n // Fires whether the drop succeeded or the user cancelled (Esc /\r\n // drop on a non-target). Belt-and-suspenders cleanup.\r\n reset();\r\n }, [reset]);\r\n\r\n const cellHandlers = React.useCallback(\r\n (key: string): ColumnReorderCellHandlers => ({\r\n draggable: true,\r\n onDragStart: onDragStart(key),\r\n onDragOver: onDragOver(key),\r\n onDragLeave: onDragLeave(key),\r\n onDrop: onDrop(key),\r\n onDragEnd,\r\n }),\r\n [onDragStart, onDragOver, onDragLeave, onDrop, onDragEnd]\r\n );\r\n\r\n const cellSx = React.useCallback(\r\n (key: string): SxProps<Theme> | undefined => {\r\n const isDragSource = dragKey === key;\r\n const isDropTarget = overKey === key && dragKey !== key;\r\n if (!isDragSource && !isDropTarget) return undefined;\r\n return {\r\n ...(isDragSource && { opacity: 0.5 }),\r\n ...(isDropTarget && {\r\n // Inset accent outline = \"drop here\" visual. boxShadow not\r\n // outline so it doesn't extend beyond the cell border.\r\n boxShadow: \"inset 0 0 0 2px var(--accent)\",\r\n }),\r\n };\r\n },\r\n [dragKey, overKey]\r\n );\r\n\r\n // ── Keyboard reorder (DG-R1) ───────────────────────────────────\r\n // Commit a reordered copy of effectiveOrder. All keyboard moves route\r\n // through here; edge/no-op cases are filtered by the callers.\r\n const commitOrder = React.useCallback(\r\n (newOrder: string[]) => {\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n },\r\n [onColumnOrderChange]\r\n );\r\n\r\n // Adjacent swap toward the start (dir=-1) / end (dir=+1) of the order.\r\n const swap = React.useCallback(\r\n (key: string, dir: -1 | 1) => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n const target = idx + dir;\r\n if (target < 0 || target >= effectiveOrder.length) return; // at edge\r\n const newOrder = [...effectiveOrder];\r\n const a = newOrder[idx] as string;\r\n const b = newOrder[target] as string;\r\n newOrder[idx] = b;\r\n newOrder[target] = a;\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const moveEarlier = React.useCallback((key: string) => swap(key, -1), [swap]);\r\n const moveLater = React.useCallback((key: string) => swap(key, 1), [swap]);\r\n\r\n // Send the column to the first / last slot (Home / End).\r\n const moveToEdge = React.useCallback(\r\n (key: string, edge: \"start\" | \"end\") => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n if (edge === \"start\" && idx === 0) return;\r\n if (edge === \"end\" && idx === effectiveOrder.length - 1) return;\r\n const newOrder = [...effectiveOrder];\r\n const moved = newOrder.splice(idx, 1)[0] as string;\r\n if (edge === \"start\") newOrder.unshift(moved);\r\n else newOrder.push(moved);\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const handleKeyDown = React.useCallback(\r\n (key: string) => (e: React.KeyboardEvent) => {\r\n if (resizeIsActive) return;\r\n const isLeft = e.key === \"ArrowLeft\";\r\n const isRight = e.key === \"ArrowRight\";\r\n const isHome = e.key === \"Home\";\r\n const isEnd = e.key === \"End\";\r\n if (!isLeft && !isRight && !isHome && !isEnd) return;\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (isHome) {\r\n moveToEdge(key, \"start\");\r\n return;\r\n }\r\n if (isEnd) {\r\n moveToEdge(key, \"end\");\r\n return;\r\n }\r\n\r\n // RTL-aware physical-arrow mapping: in RTL the visual order is\r\n // reversed, so ArrowLeft advances toward the end of the order.\r\n const cell = (e.currentTarget as HTMLElement).closest(\"th\");\r\n const isRtl =\r\n !!cell &&\r\n typeof window !== \"undefined\" &&\r\n typeof window.getComputedStyle === \"function\" &&\r\n window.getComputedStyle(cell).direction === \"rtl\";\r\n\r\n const goLater = isRtl ? isLeft : isRight;\r\n if (goLater) moveLater(key);\r\n else moveEarlier(key);\r\n },\r\n [resizeIsActive, moveToEdge, moveEarlier, moveLater]\r\n );\r\n\r\n return {\r\n cellHandlers,\r\n cellSx,\r\n isReordering: dragKey != null,\r\n moveEarlier,\r\n moveLater,\r\n handleKeyDown,\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"_useColumnReorder.js","names":["React","_interopRequireWildcard","require","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useColumnReorder","columns","columnOrder","onColumnOrderChange","options","resizeIsActive","effectiveOrder","useMemo","map","c","key","dragKey","setDragKey","useState","overKey","setOverKey","dragKeyRef","useRef","reset","useCallback","current","onDragStart","preventDefault","dataTransfer","effectAllowed","setData","onDragOver","dropEffect","onDragLeave","onDrop","targetKey","sourceKey","getData","sourceIdx","indexOf","targetIdx","newOrder","splice","insertIdx","onDragEnd","cellHandlers","draggable","cellSx","isDragSource","isDropTarget","undefined","opacity","boxShadow","commitOrder","swap","dir","idx","target","length","a","b","moveEarlier","moveLater","moveToEdge","edge","moved","unshift","push","handleKeyDown","isLeft","isRight","isHome","isEnd","stopPropagation","cell","currentTarget","closest","isRtl","window","getComputedStyle","direction","goLater","isReordering"],"sources":["../../../src/lib/v2/patterns/_useColumnReorder.ts"],"sourcesContent":["import * as React from \"react\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\n\r\n/**\r\n * useColumnReorder — Portnet UI v2 (private)\r\n *\r\n * Internal hook for the DataGrid + DataGridVirtualized reorder\r\n * feature. NOT exported from the patterns barrel.\r\n *\r\n * const { cellHandlers, cellSx, isReordering, moveEarlier, moveLater, handleKeyDown } =\r\n * useColumnReorder(\r\n * columns, // for fallback order resolution\r\n * columnOrder, // host-controlled Array<key> | undefined\r\n * onColumnOrderChange, // host-controlled setter\r\n * { resizeIsActive } // cross-hook signal from useColumnResize\r\n * );\r\n *\r\n * Drop semantics (pointer):\r\n * The dragged column is INSERTED AT the target column's position.\r\n * The remaining columns shift to accommodate. This is the standard\r\n * Linear / Asana / GitHub Projects UX — the user thinks \"move\r\n * column X to where Y is\", not \"swap X and Y\".\r\n *\r\n * Keyboard (DG-R1 / WCAG 2.1.1):\r\n * moveEarlier(key) / moveLater(key) swap the column with its neighbour\r\n * toward the start / end of the order (edge-safe, no-op at the ends).\r\n * handleKeyDown(key) is meant for a focusable reorder control in the\r\n * header: ArrowLeft/ArrowRight move the column (RTL-aware, so the motion\r\n * matches the physical arrow), Home/End send it to the first/last slot.\r\n * Every move commits immediately via onColumnOrderChange (no grab/drop\r\n * mode). Direction-neutral names (earlier/later = toward index 0 / end)\r\n * keep the API unambiguous under RTL; the physical-arrow mapping lives in\r\n * handleKeyDown.\r\n *\r\n * Visual feedback during drag:\r\n * - Dragged column header: opacity 0.5\r\n * - Drop target column header: 2px inset accent outline\r\n * These are returned via cellSx; the host applies them as sx\r\n * fragments on each `<th>`.\r\n *\r\n * onDragOver MUST e.preventDefault() to allow drop. This is the\r\n * single most-forgotten step of HTML5 native drag — without it,\r\n * onDrop never fires.\r\n */\r\n\r\nexport interface UseColumnReorderOptions {\r\n resizeIsActive?: boolean | undefined;\r\n}\r\n\r\nexport interface ColumnReorderCellHandlers {\r\n draggable: boolean;\r\n onDragStart: (e: React.DragEvent) => void;\r\n onDragOver: (e: React.DragEvent) => void;\r\n onDragLeave: () => void;\r\n onDrop: (e: React.DragEvent) => void;\r\n onDragEnd: () => void;\r\n}\r\n\r\nexport interface UseColumnReorderResult {\r\n cellHandlers: (key: string) => ColumnReorderCellHandlers;\r\n cellSx: (key: string) => SxProps<Theme> | undefined;\r\n isReordering: boolean;\r\n /** Move the column one slot toward the start of the order (edge-safe). */\r\n moveEarlier: (key: string) => void;\r\n /** Move the column one slot toward the end of the order (edge-safe). */\r\n moveLater: (key: string) => void;\r\n /** onKeyDown for a focusable reorder control: Arrow (RTL-aware) / Home / End. */\r\n handleKeyDown: (key: string) => (e: React.KeyboardEvent) => void;\r\n}\r\n\r\nexport default function useColumnReorder(\r\n columns: ReadonlyArray<{ key: string }>,\r\n columnOrder: string[] | undefined,\r\n onColumnOrderChange: ((order: string[]) => void) | undefined,\r\n options: UseColumnReorderOptions = {}\r\n): UseColumnReorderResult {\r\n const { resizeIsActive } = options;\r\n\r\n // Effective order = host order, or fallback to the natural columns\r\n // sequence. Memoised on the input shapes; no allocation when both\r\n // refs are stable.\r\n const effectiveOrder = React.useMemo(\r\n () => columnOrder || columns.map((c) => c.key),\r\n [columnOrder, columns]\r\n );\r\n\r\n const [dragKey, setDragKey] = React.useState<string | null>(null);\r\n const [overKey, setOverKey] = React.useState<string | null>(null);\r\n\r\n // Refs mirror state for use inside fresh-closure handlers\r\n // (the onDragEnd inside cellHandlers needs the latest dragKey\r\n // even if React hasn't yet re-rendered).\r\n const dragKeyRef = React.useRef<string | null>(null);\r\n\r\n const reset = React.useCallback(() => {\r\n dragKeyRef.current = null;\r\n setDragKey(null);\r\n setOverKey(null);\r\n }, []);\r\n\r\n const onDragStart = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // Cross-hook: if resize is active, abort the drag. Resize fires\r\n // first via mousedown; this handler runs later via dragstart.\r\n if (resizeIsActive) {\r\n e.preventDefault();\r\n return;\r\n }\r\n dragKeyRef.current = key;\r\n setDragKey(key);\r\n // Mark the data transfer with the source key. Some browsers\r\n // require a non-empty payload to allow drop (Firefox).\r\n try {\r\n e.dataTransfer.effectAllowed = \"move\";\r\n e.dataTransfer.setData(\"text/plain\", key);\r\n } catch {\r\n // Older Safari throws on certain MIME types; ignored.\r\n }\r\n },\r\n [resizeIsActive]\r\n );\r\n\r\n const onDragOver = React.useCallback(\r\n (key: string) => (e: React.DragEvent) => {\r\n // CRITICAL — without preventDefault, the browser refuses the\r\n // drop and onDrop never fires.\r\n e.preventDefault();\r\n try {\r\n e.dataTransfer.dropEffect = \"move\";\r\n } catch {\r\n // Some browsers throw outside a trusted dragstart→drop chain.\r\n }\r\n if (overKey !== key) setOverKey(key);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDragLeave = React.useCallback(\r\n (key: string) => () => {\r\n // Only clear when leaving the same key we'd entered. Without\r\n // this guard, fast moves between cells flicker the highlight.\r\n if (overKey === key) setOverKey(null);\r\n },\r\n [overKey]\r\n );\r\n\r\n const onDrop = React.useCallback(\r\n (targetKey: string) => (e: React.DragEvent) => {\r\n e.preventDefault();\r\n const sourceKey =\r\n (e.dataTransfer && e.dataTransfer.getData(\"text/plain\")) ||\r\n dragKeyRef.current;\r\n\r\n if (!sourceKey || sourceKey === targetKey) {\r\n reset();\r\n return;\r\n }\r\n\r\n const sourceIdx = effectiveOrder.indexOf(sourceKey);\r\n const targetIdx = effectiveOrder.indexOf(targetKey);\r\n if (sourceIdx < 0 || targetIdx < 0) {\r\n reset();\r\n return;\r\n }\r\n\r\n const newOrder = [...effectiveOrder];\r\n newOrder.splice(sourceIdx, 1);\r\n // After splice the target index may shift by 1 if source was\r\n // before target. Recompute against the post-splice array.\r\n const insertIdx = newOrder.indexOf(targetKey);\r\n newOrder.splice(insertIdx, 0, sourceKey);\r\n\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n reset();\r\n },\r\n [effectiveOrder, onColumnOrderChange, reset]\r\n );\r\n\r\n const onDragEnd = React.useCallback(() => {\r\n // Fires whether the drop succeeded or the user cancelled (Esc /\r\n // drop on a non-target). Belt-and-suspenders cleanup.\r\n reset();\r\n }, [reset]);\r\n\r\n const cellHandlers = React.useCallback(\r\n (key: string): ColumnReorderCellHandlers => ({\r\n draggable: true,\r\n onDragStart: onDragStart(key),\r\n onDragOver: onDragOver(key),\r\n onDragLeave: onDragLeave(key),\r\n onDrop: onDrop(key),\r\n onDragEnd,\r\n }),\r\n [onDragStart, onDragOver, onDragLeave, onDrop, onDragEnd]\r\n );\r\n\r\n const cellSx = React.useCallback(\r\n (key: string): SxProps<Theme> | undefined => {\r\n const isDragSource = dragKey === key;\r\n const isDropTarget = overKey === key && dragKey !== key;\r\n if (!isDragSource && !isDropTarget) return undefined;\r\n return {\r\n ...(isDragSource && { opacity: 0.5 }),\r\n ...(isDropTarget && {\r\n // Inset accent outline = \"drop here\" visual. boxShadow not\r\n // outline so it doesn't extend beyond the cell border.\r\n boxShadow: \"inset 0 0 0 2px var(--accent)\",\r\n }),\r\n };\r\n },\r\n [dragKey, overKey]\r\n );\r\n\r\n // ── Keyboard reorder (DG-R1) ───────────────────────────────────\r\n // Commit a reordered copy of effectiveOrder. All keyboard moves route\r\n // through here; edge/no-op cases are filtered by the callers.\r\n const commitOrder = React.useCallback(\r\n (newOrder: string[]) => {\r\n if (onColumnOrderChange) onColumnOrderChange(newOrder);\r\n },\r\n [onColumnOrderChange]\r\n );\r\n\r\n // Adjacent swap toward the start (dir=-1) / end (dir=+1) of the order.\r\n const swap = React.useCallback(\r\n (key: string, dir: -1 | 1) => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n const target = idx + dir;\r\n if (target < 0 || target >= effectiveOrder.length) return; // at edge\r\n const newOrder = [...effectiveOrder];\r\n const a = newOrder[idx] as string;\r\n const b = newOrder[target] as string;\r\n newOrder[idx] = b;\r\n newOrder[target] = a;\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const moveEarlier = React.useCallback((key: string) => swap(key, -1), [swap]);\r\n const moveLater = React.useCallback((key: string) => swap(key, 1), [swap]);\r\n\r\n // Send the column to the first / last slot (Home / End).\r\n const moveToEdge = React.useCallback(\r\n (key: string, edge: \"start\" | \"end\") => {\r\n const idx = effectiveOrder.indexOf(key);\r\n if (idx < 0) return;\r\n if (edge === \"start\" && idx === 0) return;\r\n if (edge === \"end\" && idx === effectiveOrder.length - 1) return;\r\n const newOrder = [...effectiveOrder];\r\n const moved = newOrder.splice(idx, 1)[0] as string;\r\n if (edge === \"start\") newOrder.unshift(moved);\r\n else newOrder.push(moved);\r\n commitOrder(newOrder);\r\n },\r\n [effectiveOrder, commitOrder]\r\n );\r\n\r\n const handleKeyDown = React.useCallback(\r\n (key: string) => (e: React.KeyboardEvent) => {\r\n if (resizeIsActive) return;\r\n const isLeft = e.key === \"ArrowLeft\";\r\n const isRight = e.key === \"ArrowRight\";\r\n const isHome = e.key === \"Home\";\r\n const isEnd = e.key === \"End\";\r\n if (!isLeft && !isRight && !isHome && !isEnd) return;\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n if (isHome) {\r\n moveToEdge(key, \"start\");\r\n return;\r\n }\r\n if (isEnd) {\r\n moveToEdge(key, \"end\");\r\n return;\r\n }\r\n\r\n // RTL-aware physical-arrow mapping: in RTL the visual order is\r\n // reversed, so ArrowLeft advances toward the end of the order.\r\n const cell = (e.currentTarget as HTMLElement).closest(\"th\");\r\n const isRtl =\r\n !!cell &&\r\n typeof window !== \"undefined\" &&\r\n typeof window.getComputedStyle === \"function\" &&\r\n window.getComputedStyle(cell).direction === \"rtl\";\r\n\r\n const goLater = isRtl ? isLeft : isRight;\r\n if (goLater) moveLater(key);\r\n else moveEarlier(key);\r\n },\r\n [resizeIsActive, moveToEdge, moveEarlier, moveLater]\r\n );\r\n\r\n return {\r\n cellHandlers,\r\n cellSx,\r\n isReordering: dragKey != null,\r\n moveEarlier,\r\n moveLater,\r\n handleKeyDown,\r\n };\r\n}\r\n"],"mappings":"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","ignoreList":[]}
|