@portnet/ui 6.0.0 → 6.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +85 -0
- package/dist/esm/index.js +214 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldError.test.js +159 -0
- package/dist/esm/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js +146 -0
- package/dist/esm/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FileCard.test.js +143 -0
- package/dist/esm/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js +265 -0
- package/dist/esm/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js +248 -0
- package/dist/esm/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js +380 -0
- package/dist/esm/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js +332 -0
- package/dist/esm/v2/__tests__/MobileRowCard.test.js.map +1 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js +235 -0
- package/dist/esm/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/esm/v2/__tests__/apiError.test.js +181 -0
- package/dist/esm/v2/__tests__/apiError.test.js.map +1 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js +270 -0
- package/dist/esm/v2/__tests__/banned-patterns.test.js.map +1 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js +224 -0
- package/dist/esm/v2/__tests__/contrast-palette.test.js.map +1 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js +157 -0
- package/dist/esm/v2/__tests__/cssVariables.test.js.map +1 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js +146 -0
- package/dist/esm/v2/__tests__/labels-merge.test.js.map +1 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js +109 -0
- package/dist/esm/v2/__tests__/locale-fallback.test.js.map +1 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js +514 -0
- package/dist/esm/v2/__tests__/useFocusTrap.test.js.map +1 -0
- package/dist/esm/v2/components/Accordion.js +230 -0
- package/dist/esm/v2/components/Accordion.js.map +1 -0
- package/dist/esm/v2/components/ActionStrip.js +146 -0
- package/dist/esm/v2/components/ActionStrip.js.map +1 -0
- package/dist/esm/v2/components/Banner.js +254 -0
- package/dist/esm/v2/components/Banner.js.map +1 -0
- package/dist/esm/v2/components/Busy.js +97 -0
- package/dist/esm/v2/components/Busy.js.map +1 -0
- package/dist/esm/v2/components/Button.js +114 -0
- package/dist/esm/v2/components/Button.js.map +1 -0
- package/dist/esm/v2/components/CategoryTag.js +81 -0
- package/dist/esm/v2/components/CategoryTag.js.map +1 -0
- package/dist/esm/v2/components/Checkbox.js +124 -0
- package/dist/esm/v2/components/Checkbox.js.map +1 -0
- package/dist/esm/v2/components/Chip.js +124 -0
- package/dist/esm/v2/components/Chip.js.map +1 -0
- package/dist/esm/v2/components/Combobox.js +394 -0
- package/dist/esm/v2/components/Combobox.js.map +1 -0
- package/dist/esm/v2/components/CommandPalette.js +660 -0
- package/dist/esm/v2/components/CommandPalette.js.map +1 -0
- package/dist/esm/v2/components/ConfirmDialog.js +144 -0
- package/dist/esm/v2/components/ConfirmDialog.js.map +1 -0
- package/dist/esm/v2/components/DatePicker.js +200 -0
- package/dist/esm/v2/components/DatePicker.js.map +1 -0
- package/dist/esm/v2/components/DateRangePicker.js +289 -0
- package/dist/esm/v2/components/DateRangePicker.js.map +1 -0
- package/dist/esm/v2/components/DateTimePicker.js +215 -0
- package/dist/esm/v2/components/DateTimePicker.js.map +1 -0
- package/dist/esm/v2/components/Drawer.js +333 -0
- package/dist/esm/v2/components/Drawer.js.map +1 -0
- package/dist/esm/v2/components/Dropzone.js +540 -0
- package/dist/esm/v2/components/Dropzone.js.map +1 -0
- package/dist/esm/v2/components/EmptyState.js +102 -0
- package/dist/esm/v2/components/EmptyState.js.map +1 -0
- package/dist/esm/v2/components/FavoriteToggle.js +127 -0
- package/dist/esm/v2/components/FavoriteToggle.js.map +1 -0
- package/dist/esm/v2/components/Field.js +259 -0
- package/dist/esm/v2/components/Field.js.map +1 -0
- package/dist/esm/v2/components/FieldError.js +124 -0
- package/dist/esm/v2/components/FieldError.js.map +1 -0
- package/dist/esm/v2/components/FieldHelp.js +202 -0
- package/dist/esm/v2/components/FieldHelp.js.map +1 -0
- package/dist/esm/v2/components/FileCard.js +162 -0
- package/dist/esm/v2/components/FileCard.js.map +1 -0
- package/dist/esm/v2/components/FilterTab.js +138 -0
- package/dist/esm/v2/components/FilterTab.js.map +1 -0
- package/dist/esm/v2/components/ForbiddenPage.js +74 -0
- package/dist/esm/v2/components/ForbiddenPage.js.map +1 -0
- package/dist/esm/v2/components/FormGrid.js +179 -0
- package/dist/esm/v2/components/FormGrid.js.map +1 -0
- package/dist/esm/v2/components/FormikDisplay.js +118 -0
- package/dist/esm/v2/components/FormikDisplay.js.map +1 -0
- package/dist/esm/v2/components/Input.js +107 -0
- package/dist/esm/v2/components/Input.js.map +1 -0
- package/dist/esm/v2/components/KPICard.js +237 -0
- package/dist/esm/v2/components/KPICard.js.map +1 -0
- package/dist/esm/v2/components/KPIStrip.js +84 -0
- package/dist/esm/v2/components/KPIStrip.js.map +1 -0
- package/dist/esm/v2/components/KV.js +75 -0
- package/dist/esm/v2/components/KV.js.map +1 -0
- package/dist/esm/v2/components/KVGrid.js +74 -0
- package/dist/esm/v2/components/KVGrid.js.map +1 -0
- package/dist/esm/v2/components/Layout.js +284 -0
- package/dist/esm/v2/components/Layout.js.map +1 -0
- package/dist/esm/v2/components/MobileRowCard.js +314 -0
- package/dist/esm/v2/components/MobileRowCard.js.map +1 -0
- package/dist/esm/v2/components/Modal.js +276 -0
- package/dist/esm/v2/components/Modal.js.map +1 -0
- package/dist/esm/v2/components/NetworkErrorPage.js +78 -0
- package/dist/esm/v2/components/NetworkErrorPage.js.map +1 -0
- package/dist/esm/v2/components/NotFoundPage.js +58 -0
- package/dist/esm/v2/components/NotFoundPage.js.map +1 -0
- package/dist/esm/v2/components/NumberInput.js +309 -0
- package/dist/esm/v2/components/NumberInput.js.map +1 -0
- package/dist/esm/v2/components/OverflowMenu.js +184 -0
- package/dist/esm/v2/components/OverflowMenu.js.map +1 -0
- package/dist/esm/v2/components/PdfViewer.js +122 -0
- package/dist/esm/v2/components/PdfViewer.js.map +1 -0
- package/dist/esm/v2/components/ProgressBar.js +202 -0
- package/dist/esm/v2/components/ProgressBar.js.map +1 -0
- package/dist/esm/v2/components/Radio.js +228 -0
- package/dist/esm/v2/components/Radio.js.map +1 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js +214 -0
- package/dist/esm/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/esm/v2/components/SectionHeader.js +132 -0
- package/dist/esm/v2/components/SectionHeader.js.map +1 -0
- package/dist/esm/v2/components/Segmented.js +254 -0
- package/dist/esm/v2/components/Segmented.js.map +1 -0
- package/dist/esm/v2/components/Select.js +490 -0
- package/dist/esm/v2/components/Select.js.map +1 -0
- package/dist/esm/v2/components/ServerErrorPage.js +74 -0
- package/dist/esm/v2/components/ServerErrorPage.js.map +1 -0
- package/dist/esm/v2/components/Skeleton.js +269 -0
- package/dist/esm/v2/components/Skeleton.js.map +1 -0
- package/dist/esm/v2/components/SkipLink.js +49 -0
- package/dist/esm/v2/components/SkipLink.js.map +1 -0
- package/dist/esm/v2/components/Spinner.js +69 -0
- package/dist/esm/v2/components/Spinner.js.map +1 -0
- package/dist/esm/v2/components/Status.js +64 -0
- package/dist/esm/v2/components/Status.js.map +1 -0
- package/dist/esm/v2/components/Stepper.js +432 -0
- package/dist/esm/v2/components/Stepper.js.map +1 -0
- package/dist/esm/v2/components/Surface.js +159 -0
- package/dist/esm/v2/components/Surface.js.map +1 -0
- package/dist/esm/v2/components/Switch.js +128 -0
- package/dist/esm/v2/components/Switch.js.map +1 -0
- package/dist/esm/v2/components/Tabs.js +150 -0
- package/dist/esm/v2/components/Tabs.js.map +1 -0
- package/dist/esm/v2/components/TelInput.js +274 -0
- package/dist/esm/v2/components/TelInput.js.map +1 -0
- package/dist/esm/v2/components/Textarea.js +72 -0
- package/dist/esm/v2/components/Textarea.js.map +1 -0
- package/dist/esm/v2/components/TimePicker.js +134 -0
- package/dist/esm/v2/components/TimePicker.js.map +1 -0
- package/dist/esm/v2/components/Toast.js +376 -0
- package/dist/esm/v2/components/Toast.js.map +1 -0
- package/dist/esm/v2/components/Tooltip.js +161 -0
- package/dist/esm/v2/components/Tooltip.js.map +1 -0
- package/dist/esm/v2/components/_ErrorPageBody.js +85 -0
- package/dist/esm/v2/components/_ErrorPageBody.js.map +1 -0
- package/dist/esm/v2/components/_pickerShared.js +60 -0
- package/dist/esm/v2/components/_pickerShared.js.map +1 -0
- package/dist/esm/v2/components/index.js +271 -0
- package/dist/esm/v2/components/index.js.map +1 -0
- package/dist/esm/v2/hooks/index.js +10 -0
- package/dist/esm/v2/hooks/index.js.map +1 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js +55 -0
- package/dist/esm/v2/hooks/useDelayedFlag.js.map +1 -0
- package/dist/esm/v2/hooks/useDensity.js +119 -0
- package/dist/esm/v2/hooks/useDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js +197 -0
- package/dist/esm/v2/hooks/useFocusFirstError.js.map +1 -0
- package/dist/esm/v2/hooks/useFocusTrap.js +202 -0
- package/dist/esm/v2/hooks/useFocusTrap.js.map +1 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js +181 -0
- package/dist/esm/v2/hooks/useFormAutoSave.js.map +1 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js +131 -0
- package/dist/esm/v2/hooks/useFormCompletionProgress.js.map +1 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js +44 -0
- package/dist/esm/v2/hooks/useResolvedDensity.js.map +1 -0
- package/dist/esm/v2/hooks/useSortedRows.js +32 -0
- package/dist/esm/v2/hooks/useSortedRows.js.map +1 -0
- package/dist/esm/v2/hooks/useTabLoading.js +79 -0
- package/dist/esm/v2/hooks/useTabLoading.js.map +1 -0
- package/dist/esm/v2/index.js +132 -0
- package/dist/esm/v2/index.js.map +1 -0
- package/dist/esm/v2/modalContext.js +108 -0
- package/dist/esm/v2/modalContext.js.map +1 -0
- package/dist/esm/v2/models/favorite.js +2 -0
- package/dist/esm/v2/models/favorite.js.map +1 -0
- package/dist/esm/v2/models/index.js +12 -0
- package/dist/esm/v2/models/index.js.map +1 -0
- package/dist/esm/v2/models/personalization.js +2 -0
- package/dist/esm/v2/models/personalization.js.map +1 -0
- package/dist/esm/v2/models/referentiel.js +2 -0
- package/dist/esm/v2/models/referentiel.js.map +1 -0
- package/dist/esm/v2/models/savedFilter.js +2 -0
- package/dist/esm/v2/models/savedFilter.js.map +1 -0
- package/dist/esm/v2/patterns/ActionBar.js +603 -0
- package/dist/esm/v2/patterns/ActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/BulkActionBar.js +147 -0
- package/dist/esm/v2/patterns/BulkActionBar.js.map +1 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js +303 -0
- package/dist/esm/v2/patterns/CollapsibleDataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js +301 -0
- package/dist/esm/v2/patterns/ColumnsToggle.js.map +1 -0
- package/dist/esm/v2/patterns/DataGrid.js +820 -0
- package/dist/esm/v2/patterns/DataGrid.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js +375 -0
- package/dist/esm/v2/patterns/DataGridSettingsMenu.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js +249 -0
- package/dist/esm/v2/patterns/DataGridToolbar.js.map +1 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js +523 -0
- package/dist/esm/v2/patterns/DataGridVirtualized.js.map +1 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js +70 -0
- package/dist/esm/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js +117 -0
- package/dist/esm/v2/patterns/FavoriteColumn.js.map +1 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js +91 -0
- package/dist/esm/v2/patterns/FavoritesFilter.js.map +1 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js +101 -0
- package/dist/esm/v2/patterns/FormErrorSummary.js.map +1 -0
- package/dist/esm/v2/patterns/FormPageShell.js +126 -0
- package/dist/esm/v2/patterns/FormPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/FormSection.js +190 -0
- package/dist/esm/v2/patterns/FormSection.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js +140 -0
- package/dist/esm/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js +110 -0
- package/dist/esm/v2/patterns/FormikCheckboxGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikCombobox.js +118 -0
- package/dist/esm/v2/patterns/FormikCombobox.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js +162 -0
- package/dist/esm/v2/patterns/FormikDatePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js +150 -0
- package/dist/esm/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js +77 -0
- package/dist/esm/v2/patterns/FormikErrorFocus.js.map +1 -0
- package/dist/esm/v2/patterns/FormikFile.js +148 -0
- package/dist/esm/v2/patterns/FormikFile.js.map +1 -0
- package/dist/esm/v2/patterns/FormikInput.js +130 -0
- package/dist/esm/v2/patterns/FormikInput.js.map +1 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js +141 -0
- package/dist/esm/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js +116 -0
- package/dist/esm/v2/patterns/FormikReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/FormikSelect.js +162 -0
- package/dist/esm/v2/patterns/FormikSelect.js.map +1 -0
- package/dist/esm/v2/patterns/FormikTextarea.js +79 -0
- package/dist/esm/v2/patterns/FormikTextarea.js.map +1 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js +212 -0
- package/dist/esm/v2/patterns/KeyboardShortcutsHelp.js.map +1 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js +72 -0
- package/dist/esm/v2/patterns/NetworkErrorBanner.js.map +1 -0
- package/dist/esm/v2/patterns/PageContent.js +62 -0
- package/dist/esm/v2/patterns/PageContent.js.map +1 -0
- package/dist/esm/v2/patterns/ReferentielField.js +615 -0
- package/dist/esm/v2/patterns/ReferentielField.js.map +1 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js +122 -0
- package/dist/esm/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js +197 -0
- package/dist/esm/v2/patterns/SaveFilterDialog.js.map +1 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js +406 -0
- package/dist/esm/v2/patterns/SavedFiltersMenu.js.map +1 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js +342 -0
- package/dist/esm/v2/patterns/SkeletonPageShell.js.map +1 -0
- package/dist/esm/v2/patterns/SortableHeader.js +179 -0
- package/dist/esm/v2/patterns/SortableHeader.js.map +1 -0
- package/dist/esm/v2/patterns/Tour.js +471 -0
- package/dist/esm/v2/patterns/Tour.js.map +1 -0
- package/dist/esm/v2/patterns/_dataGridShared.js +431 -0
- package/dist/esm/v2/patterns/_dataGridShared.js.map +1 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js +74 -0
- package/dist/esm/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/esm/v2/patterns/_sort.js +112 -0
- package/dist/esm/v2/patterns/_sort.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js +257 -0
- package/dist/esm/v2/patterns/_useColumnReorder.js.map +1 -0
- package/dist/esm/v2/patterns/_useColumnResize.js +191 -0
- package/dist/esm/v2/patterns/_useColumnResize.js.map +1 -0
- package/dist/esm/v2/patterns/index.js +178 -0
- package/dist/esm/v2/patterns/index.js.map +1 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js +168 -0
- package/dist/esm/v2/personalization/PersonalizationProvider.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js +60 -0
- package/dist/esm/v2/personalization/adapters/_storageKey.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js +124 -0
- package/dist/esm/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js +70 -0
- package/dist/esm/v2/personalization/adapters/createMemoryAdapter.js.map +1 -0
- package/dist/esm/v2/personalization/adapters/index.js +11 -0
- package/dist/esm/v2/personalization/adapters/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js +216 -0
- package/dist/esm/v2/personalization/capabilities/favorites.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js +111 -0
- package/dist/esm/v2/personalization/capabilities/favoritesView.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js +209 -0
- package/dist/esm/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/index.js +22 -0
- package/dist/esm/v2/personalization/capabilities/index.js.map +1 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js +291 -0
- package/dist/esm/v2/personalization/capabilities/savedFilters.js.map +1 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js +472 -0
- package/dist/esm/v2/personalization/createPersonalizationStore.js.map +1 -0
- package/dist/esm/v2/personalization/index.js +64 -0
- package/dist/esm/v2/personalization/index.js.map +1 -0
- package/dist/esm/v2/personalization/personalizationContext.js +108 -0
- package/dist/esm/v2/personalization/personalizationContext.js.map +1 -0
- package/dist/esm/v2/personalization/schema.js +92 -0
- package/dist/esm/v2/personalization/schema.js.map +1 -0
- package/dist/esm/v2/personalization/types.js +2 -0
- package/dist/esm/v2/personalization/types.js.map +1 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js +87 -0
- package/dist/esm/v2/referentiel/ReferentielProvider.js.map +1 -0
- package/dist/esm/v2/referentiel/index.js +15 -0
- package/dist/esm/v2/referentiel/index.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js +37 -0
- package/dist/esm/v2/referentiel/useReferentielClient.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js +169 -0
- package/dist/esm/v2/referentiel/useReferentielOptions.js.map +1 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js +132 -0
- package/dist/esm/v2/referentiel/useReferentielSearch.js.map +1 -0
- package/dist/esm/v2/styles/base.css +425 -0
- package/dist/esm/v2/styles/css.d.ts +10 -0
- package/dist/esm/v2/styles/index.js +12 -0
- package/dist/esm/v2/styles/index.js.map +1 -0
- package/dist/esm/v2/theme/_brand.js +64 -0
- package/dist/esm/v2/theme/_brand.js.map +1 -0
- package/dist/esm/v2/theme/_brandSecondary.js +60 -0
- package/dist/esm/v2/theme/_brandSecondary.js.map +1 -0
- package/dist/esm/v2/theme/createPortnetTheme.js +548 -0
- package/dist/esm/v2/theme/createPortnetTheme.js.map +1 -0
- package/dist/esm/v2/theme/cssVariables.js +198 -0
- package/dist/esm/v2/theme/cssVariables.js.map +1 -0
- package/dist/esm/v2/theme/index.js +32 -0
- package/dist/esm/v2/theme/index.js.map +1 -0
- package/dist/esm/v2/tokens/breakpoints.js +106 -0
- package/dist/esm/v2/tokens/breakpoints.js.map +1 -0
- package/dist/esm/v2/tokens/colors.js +219 -0
- package/dist/esm/v2/tokens/colors.js.map +1 -0
- package/dist/esm/v2/tokens/density.js +98 -0
- package/dist/esm/v2/tokens/density.js.map +1 -0
- package/dist/esm/v2/tokens/index.js +80 -0
- package/dist/esm/v2/tokens/index.js.map +1 -0
- package/dist/esm/v2/tokens/motion.js +88 -0
- package/dist/esm/v2/tokens/motion.js.map +1 -0
- package/dist/esm/v2/tokens/radius.js +22 -0
- package/dist/esm/v2/tokens/radius.js.map +1 -0
- package/dist/esm/v2/tokens/shadows.js +40 -0
- package/dist/esm/v2/tokens/shadows.js.map +1 -0
- package/dist/esm/v2/tokens/spacing.js +51 -0
- package/dist/esm/v2/tokens/spacing.js.map +1 -0
- package/dist/esm/v2/tokens/state.js +41 -0
- package/dist/esm/v2/tokens/state.js.map +1 -0
- package/dist/esm/v2/tokens/statusPalette.js +66 -0
- package/dist/esm/v2/tokens/statusPalette.js.map +1 -0
- package/dist/esm/v2/tokens/tokens.json +153 -0
- package/dist/esm/v2/tokens/typography.js +149 -0
- package/dist/esm/v2/tokens/typography.js.map +1 -0
- package/dist/esm/v2/tokens/zIndex.js +44 -0
- package/dist/esm/v2/tokens/zIndex.js.map +1 -0
- package/dist/esm/v2/types/common.js +2 -0
- package/dist/esm/v2/types/common.js.map +1 -0
- package/dist/esm/v2/types/datagrid.js +2 -0
- package/dist/esm/v2/types/datagrid.js.map +1 -0
- package/dist/esm/v2/types/index.js +12 -0
- package/dist/esm/v2/types/index.js.map +1 -0
- package/dist/esm/v2/utils/apiError.js +281 -0
- package/dist/esm/v2/utils/apiError.js.map +1 -0
- package/dist/esm/v2/utils/contrast.js +157 -0
- package/dist/esm/v2/utils/contrast.js.map +1 -0
- package/dist/esm/v2/utils/cx.js +38 -0
- package/dist/esm/v2/utils/cx.js.map +1 -0
- package/dist/esm/v2/utils/fileDownload.js +226 -0
- package/dist/esm/v2/utils/fileDownload.js.map +1 -0
- package/dist/esm/v2/utils/fmtMoney.js +78 -0
- package/dist/esm/v2/utils/fmtMoney.js.map +1 -0
- package/dist/esm/v2/utils/index.js +43 -0
- package/dist/esm/v2/utils/index.js.map +1 -0
- package/dist/esm/v2/utils/mergeLabels.js +86 -0
- package/dist/esm/v2/utils/mergeLabels.js.map +1 -0
- package/dist/esm/v2/utils/networkStatus.js +114 -0
- package/dist/esm/v2/utils/networkStatus.js.map +1 -0
- package/dist/index.d.ts +5 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +35 -0
- package/dist/index.js.map +1 -1
- package/dist/v2/__tests__/FieldError.test.js +160 -0
- package/dist/v2/__tests__/FieldError.test.js.map +1 -0
- package/dist/v2/__tests__/FieldWidth.test.js +150 -0
- package/dist/v2/__tests__/FieldWidth.test.js.map +1 -0
- package/dist/v2/__tests__/FileCard.test.js +144 -0
- package/dist/v2/__tests__/FileCard.test.js.map +1 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js +268 -0
- package/dist/v2/__tests__/FormikCheckbox.test.js.map +1 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js +247 -0
- package/dist/v2/__tests__/FormikDateTimePicker.test.js.map +1 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js +381 -0
- package/dist/v2/__tests__/FormikRadioGroup.test.js.map +1 -0
- package/dist/v2/__tests__/MobileRowCard.test.js +52 -56
- package/dist/v2/__tests__/MobileRowCard.test.js.map +1 -1
- package/dist/v2/__tests__/SectionErrorBoundary.test.js +237 -0
- package/dist/v2/__tests__/SectionErrorBoundary.test.js.map +1 -0
- package/dist/v2/__tests__/labels-merge.test.js +20 -24
- package/dist/v2/__tests__/labels-merge.test.js.map +1 -1
- package/dist/v2/components/Accordion.d.ts +6 -6
- package/dist/v2/components/Accordion.d.ts.map +1 -1
- package/dist/v2/components/Accordion.js.map +1 -1
- package/dist/v2/components/ActionStrip.d.ts +12 -12
- package/dist/v2/components/ActionStrip.d.ts.map +1 -1
- package/dist/v2/components/ActionStrip.js.map +1 -1
- package/dist/v2/components/Banner.d.ts +48 -9
- package/dist/v2/components/Banner.d.ts.map +1 -1
- package/dist/v2/components/Banner.js +116 -35
- package/dist/v2/components/Banner.js.map +1 -1
- package/dist/v2/components/Busy.d.ts +3 -3
- package/dist/v2/components/Busy.d.ts.map +1 -1
- package/dist/v2/components/Busy.js.map +1 -1
- package/dist/v2/components/Button.d.ts +6 -6
- package/dist/v2/components/Button.d.ts.map +1 -1
- package/dist/v2/components/Button.js.map +1 -1
- package/dist/v2/components/CategoryTag.d.ts +3 -3
- package/dist/v2/components/CategoryTag.d.ts.map +1 -1
- package/dist/v2/components/CategoryTag.js.map +1 -1
- package/dist/v2/components/Checkbox.d.ts +11 -11
- package/dist/v2/components/Checkbox.d.ts.map +1 -1
- package/dist/v2/components/Checkbox.js.map +1 -1
- package/dist/v2/components/Chip.d.ts +8 -8
- package/dist/v2/components/Chip.d.ts.map +1 -1
- package/dist/v2/components/Chip.js +2 -1
- package/dist/v2/components/Chip.js.map +1 -1
- package/dist/v2/components/Combobox.d.ts +27 -27
- package/dist/v2/components/Combobox.d.ts.map +1 -1
- package/dist/v2/components/Combobox.js +3 -2
- package/dist/v2/components/Combobox.js.map +1 -1
- package/dist/v2/components/CommandPalette.d.ts +20 -20
- package/dist/v2/components/CommandPalette.d.ts.map +1 -1
- package/dist/v2/components/CommandPalette.js +2 -6
- package/dist/v2/components/CommandPalette.js.map +1 -1
- package/dist/v2/components/ConfirmDialog.d.ts +13 -13
- package/dist/v2/components/ConfirmDialog.d.ts.map +1 -1
- package/dist/v2/components/ConfirmDialog.js +2 -1
- package/dist/v2/components/ConfirmDialog.js.map +1 -1
- package/dist/v2/components/DatePicker.d.ts +11 -11
- package/dist/v2/components/DatePicker.d.ts.map +1 -1
- package/dist/v2/components/DatePicker.js.map +1 -1
- package/dist/v2/components/DateRangePicker.d.ts +16 -16
- package/dist/v2/components/DateRangePicker.d.ts.map +1 -1
- package/dist/v2/components/DateRangePicker.js +2 -1
- package/dist/v2/components/DateRangePicker.js.map +1 -1
- package/dist/v2/components/DateTimePicker.d.ts +11 -11
- package/dist/v2/components/DateTimePicker.d.ts.map +1 -1
- package/dist/v2/components/DateTimePicker.js +37 -4
- package/dist/v2/components/DateTimePicker.js.map +1 -1
- package/dist/v2/components/Drawer.d.ts +18 -18
- package/dist/v2/components/Drawer.d.ts.map +1 -1
- package/dist/v2/components/Drawer.js +2 -1
- package/dist/v2/components/Drawer.js.map +1 -1
- package/dist/v2/components/Dropzone.d.ts +34 -34
- package/dist/v2/components/Dropzone.d.ts.map +1 -1
- package/dist/v2/components/Dropzone.js +11 -3
- package/dist/v2/components/Dropzone.js.map +1 -1
- package/dist/v2/components/EmptyState.d.ts +7 -7
- package/dist/v2/components/EmptyState.d.ts.map +1 -1
- package/dist/v2/components/EmptyState.js.map +1 -1
- package/dist/v2/components/FavoriteToggle.d.ts +7 -7
- package/dist/v2/components/FavoriteToggle.d.ts.map +1 -1
- package/dist/v2/components/FavoriteToggle.js +2 -1
- package/dist/v2/components/FavoriteToggle.js.map +1 -1
- package/dist/v2/components/Field.d.ts +76 -13
- package/dist/v2/components/Field.d.ts.map +1 -1
- package/dist/v2/components/Field.js +87 -9
- package/dist/v2/components/Field.js.map +1 -1
- package/dist/v2/components/FieldError.d.ts +78 -0
- package/dist/v2/components/FieldError.d.ts.map +1 -0
- package/dist/v2/components/FieldError.js +131 -0
- package/dist/v2/components/FieldError.js.map +1 -0
- package/dist/v2/components/FieldHelp.d.ts +7 -7
- package/dist/v2/components/FieldHelp.d.ts.map +1 -1
- package/dist/v2/components/FieldHelp.js.map +1 -1
- package/dist/v2/components/FileCard.d.ts +75 -0
- package/dist/v2/components/FileCard.d.ts.map +1 -0
- package/dist/v2/components/FileCard.js +169 -0
- package/dist/v2/components/FileCard.js.map +1 -0
- package/dist/v2/components/FilterTab.d.ts +9 -9
- package/dist/v2/components/FilterTab.d.ts.map +1 -1
- package/dist/v2/components/FilterTab.js +2 -1
- package/dist/v2/components/FilterTab.js.map +1 -1
- package/dist/v2/components/FormGrid.d.ts +9 -4
- package/dist/v2/components/FormGrid.d.ts.map +1 -1
- package/dist/v2/components/FormGrid.js +11 -1
- package/dist/v2/components/FormGrid.js.map +1 -1
- package/dist/v2/components/FormikDisplay.d.ts +6 -6
- package/dist/v2/components/FormikDisplay.d.ts.map +1 -1
- package/dist/v2/components/FormikDisplay.js.map +1 -1
- package/dist/v2/components/Input.d.ts +6 -6
- package/dist/v2/components/Input.d.ts.map +1 -1
- package/dist/v2/components/Input.js.map +1 -1
- package/dist/v2/components/KPICard.d.ts +43 -13
- package/dist/v2/components/KPICard.d.ts.map +1 -1
- package/dist/v2/components/KPICard.js +53 -14
- package/dist/v2/components/KPICard.js.map +1 -1
- package/dist/v2/components/KPIStrip.d.ts +68 -0
- package/dist/v2/components/KPIStrip.d.ts.map +1 -0
- package/dist/v2/components/KPIStrip.js +92 -0
- package/dist/v2/components/KPIStrip.js.map +1 -0
- package/dist/v2/components/KV.d.ts +3 -3
- package/dist/v2/components/KV.d.ts.map +1 -1
- package/dist/v2/components/KV.js.map +1 -1
- package/dist/v2/components/KVGrid.d.ts +2 -2
- package/dist/v2/components/KVGrid.d.ts.map +1 -1
- package/dist/v2/components/KVGrid.js +8 -1
- package/dist/v2/components/KVGrid.js.map +1 -1
- package/dist/v2/components/Layout.d.ts +7 -7
- package/dist/v2/components/Layout.d.ts.map +1 -1
- package/dist/v2/components/Layout.js.map +1 -1
- package/dist/v2/components/MobileRowCard.d.ts +13 -13
- package/dist/v2/components/MobileRowCard.d.ts.map +1 -1
- package/dist/v2/components/MobileRowCard.js.map +1 -1
- package/dist/v2/components/Modal.d.ts +12 -12
- package/dist/v2/components/Modal.d.ts.map +1 -1
- package/dist/v2/components/Modal.js.map +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts +1 -1
- package/dist/v2/components/NetworkErrorPage.d.ts.map +1 -1
- package/dist/v2/components/NetworkErrorPage.js.map +1 -1
- package/dist/v2/components/NumberInput.d.ts +14 -14
- package/dist/v2/components/NumberInput.d.ts.map +1 -1
- package/dist/v2/components/NumberInput.js +7 -6
- package/dist/v2/components/NumberInput.js.map +1 -1
- package/dist/v2/components/OverflowMenu.d.ts +14 -14
- package/dist/v2/components/OverflowMenu.d.ts.map +1 -1
- package/dist/v2/components/OverflowMenu.js +4 -8
- package/dist/v2/components/OverflowMenu.js.map +1 -1
- package/dist/v2/components/PdfViewer.d.ts +9 -9
- package/dist/v2/components/PdfViewer.d.ts.map +1 -1
- package/dist/v2/components/PdfViewer.js.map +1 -1
- package/dist/v2/components/ProgressBar.d.ts +10 -10
- package/dist/v2/components/ProgressBar.d.ts.map +1 -1
- package/dist/v2/components/ProgressBar.js.map +1 -1
- package/dist/v2/components/Radio.d.ts +7 -7
- package/dist/v2/components/Radio.d.ts.map +1 -1
- package/dist/v2/components/Radio.js.map +1 -1
- package/dist/v2/components/SectionErrorBoundary.d.ts +89 -0
- package/dist/v2/components/SectionErrorBoundary.d.ts.map +1 -0
- package/dist/v2/components/SectionErrorBoundary.js +221 -0
- package/dist/v2/components/SectionErrorBoundary.js.map +1 -0
- package/dist/v2/components/SectionHeader.d.ts +5 -5
- package/dist/v2/components/SectionHeader.d.ts.map +1 -1
- package/dist/v2/components/SectionHeader.js.map +1 -1
- package/dist/v2/components/Segmented.d.ts +11 -11
- package/dist/v2/components/Segmented.d.ts.map +1 -1
- package/dist/v2/components/Segmented.js.map +1 -1
- package/dist/v2/components/Select.d.ts +33 -15
- package/dist/v2/components/Select.d.ts.map +1 -1
- package/dist/v2/components/Select.js +147 -30
- package/dist/v2/components/Select.js.map +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts +1 -1
- package/dist/v2/components/ServerErrorPage.d.ts.map +1 -1
- package/dist/v2/components/ServerErrorPage.js.map +1 -1
- package/dist/v2/components/Skeleton.d.ts +15 -15
- package/dist/v2/components/Skeleton.d.ts.map +1 -1
- package/dist/v2/components/Skeleton.js.map +1 -1
- package/dist/v2/components/SkipLink.d.ts +2 -2
- package/dist/v2/components/SkipLink.d.ts.map +1 -1
- package/dist/v2/components/SkipLink.js.map +1 -1
- package/dist/v2/components/Status.d.ts +3 -3
- package/dist/v2/components/Status.d.ts.map +1 -1
- package/dist/v2/components/Status.js.map +1 -1
- package/dist/v2/components/Stepper.d.ts +28 -22
- package/dist/v2/components/Stepper.d.ts.map +1 -1
- package/dist/v2/components/Stepper.js +31 -5
- package/dist/v2/components/Stepper.js.map +1 -1
- package/dist/v2/components/Surface.d.ts +94 -0
- package/dist/v2/components/Surface.d.ts.map +1 -0
- package/dist/v2/components/Surface.js +163 -0
- package/dist/v2/components/Surface.js.map +1 -0
- package/dist/v2/components/Switch.d.ts +4 -4
- package/dist/v2/components/Switch.d.ts.map +1 -1
- package/dist/v2/components/Switch.js.map +1 -1
- package/dist/v2/components/Tabs.d.ts +6 -6
- package/dist/v2/components/Tabs.d.ts.map +1 -1
- package/dist/v2/components/Tabs.js.map +1 -1
- package/dist/v2/components/TelInput.d.ts +8 -8
- package/dist/v2/components/TelInput.d.ts.map +1 -1
- package/dist/v2/components/TelInput.js +18 -18
- package/dist/v2/components/TelInput.js.map +1 -1
- package/dist/v2/components/Textarea.d.ts +1 -1
- package/dist/v2/components/Textarea.d.ts.map +1 -1
- package/dist/v2/components/Textarea.js.map +1 -1
- package/dist/v2/components/TimePicker.d.ts +11 -11
- package/dist/v2/components/TimePicker.d.ts.map +1 -1
- package/dist/v2/components/TimePicker.js.map +1 -1
- package/dist/v2/components/Toast.d.ts +6 -6
- package/dist/v2/components/Toast.d.ts.map +1 -1
- package/dist/v2/components/Toast.js +9 -8
- package/dist/v2/components/Toast.js.map +1 -1
- package/dist/v2/components/Tooltip.d.ts +1 -1
- package/dist/v2/components/Tooltip.d.ts.map +1 -1
- package/dist/v2/components/Tooltip.js.map +1 -1
- package/dist/v2/components/index.d.ts +170 -0
- package/dist/v2/components/index.d.ts.map +1 -1
- package/dist/v2/components/index.js +35 -0
- package/dist/v2/components/index.js.map +1 -1
- package/dist/v2/index.d.ts.map +1 -1
- package/dist/v2/index.js.map +1 -1
- package/dist/v2/models/favorite.d.ts +1 -1
- package/dist/v2/models/favorite.d.ts.map +1 -1
- package/dist/v2/models/favorite.js.map +1 -1
- package/dist/v2/models/personalization.d.ts +13 -13
- package/dist/v2/models/personalization.d.ts.map +1 -1
- package/dist/v2/models/personalization.js.map +1 -1
- package/dist/v2/models/referentiel.d.ts +11 -11
- package/dist/v2/models/referentiel.d.ts.map +1 -1
- package/dist/v2/models/referentiel.js.map +1 -1
- package/dist/v2/models/savedFilter.d.ts +8 -8
- package/dist/v2/models/savedFilter.d.ts.map +1 -1
- package/dist/v2/models/savedFilter.js.map +1 -1
- package/dist/v2/patterns/ActionBar.d.ts +33 -33
- package/dist/v2/patterns/ActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/ActionBar.js +2 -1
- package/dist/v2/patterns/ActionBar.js.map +1 -1
- package/dist/v2/patterns/BulkActionBar.d.ts +12 -12
- package/dist/v2/patterns/BulkActionBar.d.ts.map +1 -1
- package/dist/v2/patterns/BulkActionBar.js +2 -1
- package/dist/v2/patterns/BulkActionBar.js.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts +15 -15
- package/dist/v2/patterns/CollapsibleDataGrid.d.ts.map +1 -1
- package/dist/v2/patterns/CollapsibleDataGrid.js.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.d.ts +7 -7
- package/dist/v2/patterns/ColumnsToggle.d.ts.map +1 -1
- package/dist/v2/patterns/ColumnsToggle.js +4 -8
- package/dist/v2/patterns/ColumnsToggle.js.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts +12 -12
- package/dist/v2/patterns/DataGridSettingsMenu.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridSettingsMenu.js +9 -8
- package/dist/v2/patterns/DataGridSettingsMenu.js.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.d.ts +40 -40
- package/dist/v2/patterns/DataGridToolbar.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridToolbar.js +2 -1
- package/dist/v2/patterns/DataGridToolbar.js.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.d.ts +27 -27
- package/dist/v2/patterns/DataGridVirtualized.d.ts.map +1 -1
- package/dist/v2/patterns/DataGridVirtualized.js.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts +5 -5
- package/dist/v2/patterns/DeleteResourceConfirmDialog.d.ts.map +1 -1
- package/dist/v2/patterns/DeleteResourceConfirmDialog.js.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.d.ts +15 -15
- package/dist/v2/patterns/FavoriteColumn.d.ts.map +1 -1
- package/dist/v2/patterns/FavoriteColumn.js +14 -61
- package/dist/v2/patterns/FavoriteColumn.js.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.d.ts +10 -10
- package/dist/v2/patterns/FavoritesFilter.d.ts.map +1 -1
- package/dist/v2/patterns/FavoritesFilter.js +2 -1
- package/dist/v2/patterns/FavoritesFilter.js.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.d.ts +4 -4
- package/dist/v2/patterns/FormErrorSummary.d.ts.map +1 -1
- package/dist/v2/patterns/FormErrorSummary.js.map +1 -1
- package/dist/v2/patterns/FormPageShell.d.ts +4 -4
- package/dist/v2/patterns/FormPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/FormPageShell.js.map +1 -1
- package/dist/v2/patterns/FormSection.d.ts +19 -8
- package/dist/v2/patterns/FormSection.d.ts.map +1 -1
- package/dist/v2/patterns/FormSection.js +106 -71
- package/dist/v2/patterns/FormSection.js.map +1 -1
- package/dist/v2/patterns/FormikCheckbox.d.ts +77 -0
- package/dist/v2/patterns/FormikCheckbox.d.ts.map +1 -0
- package/dist/v2/patterns/FormikCheckbox.js +147 -0
- package/dist/v2/patterns/FormikCheckbox.js.map +1 -0
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts +6 -6
- package/dist/v2/patterns/FormikCheckboxGroup.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCheckboxGroup.js.map +1 -1
- package/dist/v2/patterns/FormikCombobox.d.ts +18 -12
- package/dist/v2/patterns/FormikCombobox.d.ts.map +1 -1
- package/dist/v2/patterns/FormikCombobox.js +5 -2
- package/dist/v2/patterns/FormikCombobox.js.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.d.ts +48 -8
- package/dist/v2/patterns/FormikDatePicker.d.ts.map +1 -1
- package/dist/v2/patterns/FormikDatePicker.js +58 -65
- package/dist/v2/patterns/FormikDatePicker.js.map +1 -1
- package/dist/v2/patterns/FormikDateTimePicker.d.ts +111 -0
- package/dist/v2/patterns/FormikDateTimePicker.d.ts.map +1 -0
- package/dist/v2/patterns/FormikDateTimePicker.js +158 -0
- package/dist/v2/patterns/FormikDateTimePicker.js.map +1 -0
- package/dist/v2/patterns/FormikErrorFocus.d.ts +3 -3
- package/dist/v2/patterns/FormikErrorFocus.d.ts.map +1 -1
- package/dist/v2/patterns/FormikErrorFocus.js.map +1 -1
- package/dist/v2/patterns/FormikFile.d.ts +8 -8
- package/dist/v2/patterns/FormikFile.d.ts.map +1 -1
- package/dist/v2/patterns/FormikFile.js.map +1 -1
- package/dist/v2/patterns/FormikInput.d.ts +51 -6
- package/dist/v2/patterns/FormikInput.d.ts.map +1 -1
- package/dist/v2/patterns/FormikInput.js +53 -2
- package/dist/v2/patterns/FormikInput.js.map +1 -1
- package/dist/v2/patterns/FormikRadioGroup.d.ts +80 -0
- package/dist/v2/patterns/FormikRadioGroup.d.ts.map +1 -0
- package/dist/v2/patterns/FormikRadioGroup.js +148 -0
- package/dist/v2/patterns/FormikRadioGroup.js.map +1 -0
- package/dist/v2/patterns/FormikReferentielField.d.ts +8 -8
- package/dist/v2/patterns/FormikReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/FormikReferentielField.js.map +1 -1
- package/dist/v2/patterns/FormikSelect.d.ts +41 -12
- package/dist/v2/patterns/FormikSelect.d.ts.map +1 -1
- package/dist/v2/patterns/FormikSelect.js +32 -3
- package/dist/v2/patterns/FormikSelect.js.map +1 -1
- package/dist/v2/patterns/FormikTextarea.d.ts +14 -6
- package/dist/v2/patterns/FormikTextarea.d.ts.map +1 -1
- package/dist/v2/patterns/FormikTextarea.js +5 -2
- package/dist/v2/patterns/FormikTextarea.js.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts +21 -8
- package/dist/v2/patterns/KeyboardShortcutsHelp.d.ts.map +1 -1
- package/dist/v2/patterns/KeyboardShortcutsHelp.js +27 -14
- package/dist/v2/patterns/KeyboardShortcutsHelp.js.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.d.ts +4 -4
- package/dist/v2/patterns/NetworkErrorBanner.d.ts.map +1 -1
- package/dist/v2/patterns/NetworkErrorBanner.js.map +1 -1
- package/dist/v2/patterns/PageContent.d.ts +3 -3
- package/dist/v2/patterns/PageContent.d.ts.map +1 -1
- package/dist/v2/patterns/PageContent.js.map +1 -1
- package/dist/v2/patterns/ReferentielField.d.ts +49 -49
- package/dist/v2/patterns/ReferentielField.d.ts.map +1 -1
- package/dist/v2/patterns/ReferentielField.js +2 -1
- package/dist/v2/patterns/ReferentielField.js.map +1 -1
- package/dist/v2/patterns/RowFavoriteToggle.d.ts +92 -0
- package/dist/v2/patterns/RowFavoriteToggle.d.ts.map +1 -0
- package/dist/v2/patterns/RowFavoriteToggle.js +127 -0
- package/dist/v2/patterns/RowFavoriteToggle.js.map +1 -0
- package/dist/v2/patterns/SaveFilterDialog.d.ts +10 -10
- package/dist/v2/patterns/SaveFilterDialog.d.ts.map +1 -1
- package/dist/v2/patterns/SaveFilterDialog.js +9 -8
- package/dist/v2/patterns/SaveFilterDialog.js.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.d.ts +7 -7
- package/dist/v2/patterns/SavedFiltersMenu.d.ts.map +1 -1
- package/dist/v2/patterns/SavedFiltersMenu.js +9 -8
- package/dist/v2/patterns/SavedFiltersMenu.js.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.d.ts +7 -7
- package/dist/v2/patterns/SkeletonPageShell.d.ts.map +1 -1
- package/dist/v2/patterns/SkeletonPageShell.js.map +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts +1 -1
- package/dist/v2/patterns/SortableHeader.d.ts.map +1 -1
- package/dist/v2/patterns/SortableHeader.js.map +1 -1
- package/dist/v2/patterns/Tour.d.ts +12 -12
- package/dist/v2/patterns/Tour.d.ts.map +1 -1
- package/dist/v2/patterns/Tour.js +9 -8
- package/dist/v2/patterns/Tour.js.map +1 -1
- package/dist/v2/patterns/_dataGridShared.d.ts +25 -6
- package/dist/v2/patterns/_dataGridShared.d.ts.map +1 -1
- package/dist/v2/patterns/_dataGridShared.js +37 -3
- package/dist/v2/patterns/_dataGridShared.js.map +1 -1
- package/dist/v2/patterns/_pickerSerialisation.d.ts +44 -0
- package/dist/v2/patterns/_pickerSerialisation.d.ts.map +1 -0
- package/dist/v2/patterns/_pickerSerialisation.js +81 -0
- package/dist/v2/patterns/_pickerSerialisation.js.map +1 -0
- package/dist/v2/patterns/_useColumnReorder.d.ts +1 -1
- package/dist/v2/patterns/_useColumnReorder.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnReorder.js.map +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts +1 -1
- package/dist/v2/patterns/_useColumnResize.d.ts.map +1 -1
- package/dist/v2/patterns/_useColumnResize.js.map +1 -1
- package/dist/v2/patterns/index.d.ts +114 -0
- package/dist/v2/patterns/index.d.ts.map +1 -1
- package/dist/v2/patterns/index.js +34 -0
- package/dist/v2/patterns/index.js.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.d.ts +9 -9
- package/dist/v2/personalization/PersonalizationProvider.d.ts.map +1 -1
- package/dist/v2/personalization/PersonalizationProvider.js.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createLocalStorageAdapter.js.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.d.ts.map +1 -1
- package/dist/v2/personalization/adapters/createMemoryAdapter.js.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.d.ts +3 -3
- package/dist/v2/personalization/capabilities/favoritesView.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/favoritesView.js.map +1 -1
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts +100 -0
- package/dist/v2/personalization/capabilities/gridPreferences.d.ts.map +1 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js +215 -0
- package/dist/v2/personalization/capabilities/gridPreferences.js.map +1 -0
- package/dist/v2/personalization/capabilities/index.d.ts +6 -0
- package/dist/v2/personalization/capabilities/index.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/index.js +13 -0
- package/dist/v2/personalization/capabilities/index.js.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.d.ts +3 -3
- package/dist/v2/personalization/capabilities/savedFilters.d.ts.map +1 -1
- package/dist/v2/personalization/capabilities/savedFilters.js.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.d.ts +8 -8
- package/dist/v2/personalization/createPersonalizationStore.d.ts.map +1 -1
- package/dist/v2/personalization/createPersonalizationStore.js.map +1 -1
- package/dist/v2/personalization/index.d.ts +18 -0
- package/dist/v2/personalization/index.d.ts.map +1 -1
- package/dist/v2/personalization/index.js +13 -0
- package/dist/v2/personalization/index.js.map +1 -1
- package/dist/v2/personalization/schema.d.ts +2 -2
- package/dist/v2/personalization/schema.d.ts.map +1 -1
- package/dist/v2/personalization/schema.js.map +1 -1
- package/dist/v2/personalization/types.d.ts +19 -19
- package/dist/v2/personalization/types.d.ts.map +1 -1
- package/dist/v2/personalization/types.js.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.d.ts +4 -4
- package/dist/v2/referentiel/ReferentielProvider.d.ts.map +1 -1
- package/dist/v2/referentiel/ReferentielProvider.js.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.d.ts +4 -4
- package/dist/v2/referentiel/useReferentielOptions.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielOptions.js.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.d.ts +3 -3
- package/dist/v2/referentiel/useReferentielSearch.d.ts.map +1 -1
- package/dist/v2/referentiel/useReferentielSearch.js.map +1 -1
- package/dist/v2/theme/createPortnetTheme.d.ts +32 -7
- package/dist/v2/theme/createPortnetTheme.d.ts.map +1 -1
- package/dist/v2/theme/createPortnetTheme.js +25 -1
- package/dist/v2/theme/createPortnetTheme.js.map +1 -1
- package/dist/v2/types/datagrid.d.ts +59 -59
- package/dist/v2/types/datagrid.d.ts.map +1 -1
- package/dist/v2/types/datagrid.js.map +1 -1
- package/dist/v2/utils/apiError.d.ts +65 -4
- package/dist/v2/utils/apiError.d.ts.map +1 -1
- package/dist/v2/utils/apiError.js +69 -6
- package/dist/v2/utils/apiError.js.map +1 -1
- package/dist/v2/utils/index.d.ts +1 -0
- package/dist/v2/utils/index.d.ts.map +1 -1
- package/dist/v2/utils/index.js +7 -0
- package/dist/v2/utils/index.js.map +1 -1
- package/dist/v2/utils/mergeLabels.d.ts +59 -0
- package/dist/v2/utils/mergeLabels.d.ts.map +1 -0
- package/dist/v2/utils/mergeLabels.js +93 -0
- package/dist/v2/utils/mergeLabels.js.map +1 -0
- package/package.json +23 -15
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollapsibleDataGrid.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_IconButton","_Collapse","_KeyboardArrowDown","_KeyboardArrowUp","_dataGridShared","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","EMPTY","readCellValue","row","defaultGetRowId","id","resolveCell","col","render","getValue","alignOf","align","numeric","numericSx","mono","fontFamily","fontVariantNumeric","CollapsibleDataGrid","_ref","_labels$expandRow","_labels$collapseRow","_labels$detailAria","_ref$rows","rows","_ref$columns","columns","_ref$detailColumns","detailColumns","_ref$getRowId","getRowId","hasDetail","_ref$density","density","ariaLabel","_ref$locale","locale","labels","_ref$loading","loading","_ref$pageSize","pageSize","pageSizeProp","_ref$pageSizes","pageSizes","_ref$maxBodyHeight","maxBodyHeight","DEFAULT_MAX_BODY_HEIGHT","L","useMemo","mergeLabels","tableAria","expandLabel","expandRow","collapseLabel","collapseRow","detailAria","rowHasDetail","useCallback","first","v","_React$useState","useState","_React$useState2","page","setPage","_React$useState3","_React$useState4","setPageSize","_React$useState5","_React$useState6","open","setOpen","total","useEffect","tableSx","TABLE_BY_DENSITY","comfortable","width","detailTableSx","compact","start","paged","masterColCount","toggle","prev","jsxs","sx","CONTAINER_SX","children","jsx","overflow","maxHeight","stickyHeader","map","position","top","zIndex","header","expandable","isOpen","Boolean","detailId","concat","Fragment","hover","ROW_STATIC_SX","index","display","alignItems","gap","size","onClick","fontSize","colSpan","paddingTop","paddingBottom","timeout","unmountOnExit","Pagination","onPageChange","onPageSizeChange","s","pagination","_default","exports"],"sources":["../../../src/lib/v2/patterns/CollapsibleDataGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Collapse from \"@mui/material/Collapse\";\r\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\r\nimport KeyboardArrowUpIcon from \"@mui/icons-material/KeyboardArrowUp\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\n\r\nimport {\r\n mergeLabels,\r\n TABLE_BY_DENSITY,\r\n CONTAINER_SX,\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n ROW_STATIC_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport type { DataGridColumn, DataGridLabels } from \"../types/datagrid\";\r\nimport type { Alignment, Density, RowId } from \"../types/common\";\r\n\r\n/**\r\n * CollapsibleDataGrid — Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · master/detail table with per-row expansion. Companion to\r\n * DataGrid for the case DataGrid intentionally does not cover: a row that\r\n * expands to reveal a secondary record (e.g. a decision and its visa\r\n * detail). Refactor of the legacy host-local CollapsibleTableClientSide\r\n * (ms-dfd-fe), lifted into the lib so modules consume it instead of\r\n * re-implementing an expandable MUI Table.\r\n *\r\n * Columns use the v2-native shape, identical to DataGrid:\r\n * { key, header, render(row), getValue(row), width, align, numeric, mono }\r\n *\r\n * `columns` master row cells (the first cell hosts the expand toggle).\r\n * `detailColumns` the expanded panel; values are read from the SAME row\r\n * object (a row carries both its master and detail fields).\r\n *\r\n * A row is expandable when `hasDetail(row)` is true. Default: the first\r\n * detail column resolves to a non-nullish value. Pass `hasDetail` to override.\r\n *\r\n * Pagination is client-side (the host passes the full row set) and uses the\r\n * shared v2 Pagination — 1-based, tabular range, optional page-size select.\r\n *\r\n * Accessibility (WCAG 2.2 AA · Charter R-DG):\r\n * - the expand control is a real <button> with aria-expanded +\r\n * aria-controls pointing at the detail region id;\r\n * - the detail region is labelled (labels.detailAria);\r\n * - the table carries a contextual name (ariaLabel | labels.tableAria).\r\n */\r\n\r\n/** The read subset of the DataGrid column contract that this pattern honours. */\r\nexport type CollapsibleColumn<T> = Pick<\r\n DataGridColumn<T>,\r\n \"key\" | \"header\" | \"align\" | \"numeric\" | \"mono\" | \"width\" | \"render\" | \"getValue\"\r\n>;\r\n\r\n/** DataGrid labels + the expansion-specific names. */\r\nexport interface CollapsibleDataGridLabels extends DataGridLabels {\r\n expandRow?: string;\r\n collapseRow?: string;\r\n detailAria?: string;\r\n}\r\n\r\nexport interface CollapsibleDataGridProps<T> {\r\n rows?: T[];\r\n columns: CollapsibleColumn<T>[];\r\n detailColumns?: CollapsibleColumn<T>[];\r\n /** Row identity (default `(row) => row.id`). */\r\n getRowId?: (row: T) => RowId;\r\n /** Override the \"row is expandable\" test (default: first detail value is non-nullish). */\r\n hasDetail?: (row: T) => boolean;\r\n density?: Density;\r\n /** Contextual accessible table name (WCAG 1.3.1 / Charter R-DG). */\r\n ariaLabel?: string;\r\n /** BCP-47 locale for pagination number formatting (default \"fr-FR\"). */\r\n locale?: string;\r\n labels?: CollapsibleDataGridLabels;\r\n loading?: boolean;\r\n pageSize?: number;\r\n pageSizes?: number[];\r\n maxBodyHeight?: number | string;\r\n}\r\n\r\nconst EMPTY = \"—\";\r\n\r\n/* Default value accessor for an unconstrained row type — typed against\r\n * `unknown` so the single assertion is legal (mirrors DataGrid). */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction resolveCell<T>(col: CollapsibleColumn<T>, row: T): React.ReactNode {\r\n if (col.render) return col.render(row);\r\n const value = col.getValue ? col.getValue(row) : readCellValue(row, col.key);\r\n return value == null || value === \"\" ? EMPTY : (value as React.ReactNode);\r\n}\r\n\r\nfunction alignOf(col: Pick<DataGridColumn<unknown>, \"align\" | \"numeric\">): Alignment {\r\n return col.align || (col.numeric ? \"right\" : \"left\");\r\n}\r\n\r\nfunction numericSx(\r\n col: Pick<DataGridColumn<unknown>, \"numeric\" | \"mono\">\r\n): SystemStyleObject<Theme> {\r\n return {\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono ? { fontVariantNumeric: \"tabular-nums\" } : {}),\r\n };\r\n}\r\n\r\nfunction CollapsibleDataGrid<T>({\r\n rows = [],\r\n columns = [],\r\n detailColumns = [],\r\n getRowId = defaultGetRowId,\r\n hasDetail,\r\n density = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n loading = false,\r\n pageSize: pageSizeProp = 10,\r\n pageSizes = [10, 25, 100],\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n}: CollapsibleDataGridProps<T>) {\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n const expandLabel = labels?.expandRow ?? \"Afficher le détail\";\r\n const collapseLabel = labels?.collapseRow ?? \"Réduire le détail\";\r\n const detailAria = labels?.detailAria ?? \"Détail de la ligne\";\r\n\r\n const rowHasDetail = React.useCallback(\r\n (row: T): boolean => {\r\n if (typeof hasDetail === \"function\") return hasDetail(row);\r\n if (!detailColumns.length) return false;\r\n const first = detailColumns[0];\r\n if (!first) return false;\r\n const v = first.getValue ? first.getValue(row) : readCellValue(row, first.key);\r\n return v != null && v !== \"\";\r\n },\r\n [hasDetail, detailColumns]\r\n );\r\n\r\n const [page, setPage] = React.useState(1);\r\n const [pageSize, setPageSize] = React.useState(pageSizeProp);\r\n const [open, setOpen] = React.useState<Record<RowId, boolean>>({});\r\n\r\n // Reset to the first page when the data set size changes so the slice\r\n // never lands past the end of a shrunken list.\r\n const total = rows.length;\r\n React.useEffect(() => {\r\n setPage(1);\r\n }, [total]);\r\n\r\n const tableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...((TABLE_BY_DENSITY[density] ||\r\n TABLE_BY_DENSITY.comfortable) as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n }),\r\n [density]\r\n );\r\n const detailTableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...(TABLE_BY_DENSITY.compact as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n }),\r\n []\r\n );\r\n\r\n const start = (page - 1) * pageSize;\r\n const paged = rows.slice(start, start + pageSize);\r\n const masterColCount = columns.length;\r\n\r\n const toggle = (id: RowId) =>\r\n setOpen((prev) => ({ ...prev, [id]: !prev[id] }));\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n <Box sx={{ overflow: \"auto\", maxHeight: maxBodyHeight, width: \"100%\" }}>\r\n <Table aria-label={tableAria} stickyHeader sx={tableSx}>\r\n <TableHead>\r\n <TableRow>\r\n {columns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(col.width != null ? { width: col.width } : {}),\r\n }}\r\n >\r\n {col.header}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {paged.map((row) => {\r\n const id = getRowId(row);\r\n const expandable = rowHasDetail(row);\r\n const isOpen = Boolean(open[id]);\r\n const detailId = `pui-cdg-detail-${id}`;\r\n return (\r\n <React.Fragment key={id}>\r\n <TableRow hover sx={ROW_STATIC_SX}>\r\n {columns.map((col, index) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={{\r\n ...numericSx(col),\r\n ...(col.width != null ? { width: col.width } : {}),\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n }}\r\n >\r\n {index === 0 && expandable && (\r\n <IconButton\r\n size=\"small\"\r\n aria-label={isOpen ? collapseLabel : expandLabel}\r\n aria-expanded={isOpen}\r\n aria-controls={detailId}\r\n onClick={() => toggle(id)}\r\n >\r\n {isOpen ? (\r\n <KeyboardArrowUpIcon fontSize=\"small\" />\r\n ) : (\r\n <KeyboardArrowDownIcon fontSize=\"small\" />\r\n )}\r\n </IconButton>\r\n )}\r\n {resolveCell(col, row)}\r\n </Box>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n\r\n {expandable && (\r\n <TableRow>\r\n <TableCell\r\n colSpan={masterColCount}\r\n sx={{ paddingTop: 0, paddingBottom: 0 }}\r\n >\r\n <Collapse\r\n id={detailId}\r\n in={isOpen}\r\n timeout=\"auto\"\r\n unmountOnExit\r\n >\r\n <Box\r\n sx={{\r\n paddingTop: \"var(--s-3)\",\r\n paddingBottom: \"var(--s-3)\",\r\n }}\r\n >\r\n <Table\r\n size=\"small\"\r\n aria-label={detailAria}\r\n sx={detailTableSx}\r\n >\r\n <TableHead>\r\n <TableRow>\r\n {detailColumns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={\r\n col.width != null\r\n ? { width: col.width }\r\n : {}\r\n }\r\n >\r\n {col.header}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow sx={ROW_STATIC_SX}>\r\n {detailColumns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={numericSx(col)}\r\n >\r\n {resolveCell(col, row)}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n </Collapse>\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </React.Fragment>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n <Pagination\r\n page={page}\r\n pageSize={pageSize}\r\n total={total}\r\n onPageChange={setPage}\r\n onPageSizeChange={(s) => {\r\n setPageSize(s);\r\n setPage(1);\r\n }}\r\n pageSizes={pageSizes}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n </Box>\r\n );\r\n}\r\n\r\nexport default CollapsibleDataGrid;\r\n"],"mappings":";;;;;;AAAA,IAAAA,KAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,IAAA,GAAAC,sBAAA,CAAAF,OAAA;AACA,IAAAG,MAAA,GAAAD,sBAAA,CAAAF,OAAA;AACA,IAAAI,UAAA,GAAAF,sBAAA,CAAAF,OAAA;AACA,IAAAK,UAAA,GAAAH,sBAAA,CAAAF,OAAA;AACA,IAAAM,SAAA,GAAAJ,sBAAA,CAAAF,OAAA;AACA,IAAAO,UAAA,GAAAL,sBAAA,CAAAF,OAAA;AACA,IAAAQ,WAAA,GAAAN,sBAAA,CAAAF,OAAA;AACA,IAAAS,SAAA,GAAAP,sBAAA,CAAAF,OAAA;AACA,IAAAU,kBAAA,GAAAR,sBAAA,CAAAF,OAAA;AACA,IAAAW,gBAAA,GAAAT,sBAAA,CAAAF,OAAA;AAIA,IAAAY,eAAA,GAAAZ,OAAA;AAO2B,IAAAa,WAAA,GAAAb,OAAA;AAAA,SAAAE,uBAAAY,GAAA,WAAAA,GAAA,IAAAA,GAAA,CAAAC,UAAA,GAAAD,GAAA,gBAAAA,GAAA;AAAA,SAAAE,yBAAAC,WAAA,eAAAC,OAAA,kCAAAC,iBAAA,OAAAD,OAAA,QAAAE,gBAAA,OAAAF,OAAA,YAAAF,wBAAA,YAAAA,yBAAAC,WAAA,WAAAA,WAAA,GAAAG,gBAAA,GAAAD,iBAAA,KAAAF,WAAA;AAAA,SAAAlB,wBAAAe,GAAA,EAAAG,WAAA,SAAAA,WAAA,IAAAH,GAAA,IAAAA,GAAA,CAAAC,UAAA,WAAAD,GAAA,QAAAA,GAAA,aAAAO,OAAA,CAAAP,GAAA,yBAAAA,GAAA,uCAAAA,GAAA,UAAAQ,KAAA,GAAAN,wBAAA,CAAAC,WAAA,OAAAK,KAAA,IAAAA,KAAA,CAAAC,GAAA,CAAAT,GAAA,YAAAQ,KAAA,CAAAE,GAAA,CAAAV,GAAA,SAAAW,MAAA,WAAAC,qBAAA,GAAAC,MAAA,CAAAC,cAAA,IAAAD,MAAA,CAAAE,wBAAA,WAAAC,GAAA,IAAAhB,GAAA,QAAAgB,GAAA,kBAAAH,MAAA,CAAAI,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAnB,GAAA,EAAAgB,GAAA,SAAAI,IAAA,GAAAR,qBAAA,GAAAC,MAAA,CAAAE,wBAAA,CAAAf,GAAA,EAAAgB,GAAA,cAAAI,IAAA,KAAAA,IAAA,CAAAV,GAAA,IAAAU,IAAA,CAAAC,GAAA,KAAAR,MAAA,CAAAC,cAAA,CAAAH,MAAA,EAAAK,GAAA,EAAAI,IAAA,YAAAT,MAAA,CAAAK,GAAA,IAAAhB,GAAA,CAAAgB,GAAA,SAAAL,MAAA,cAAAX,GAAA,MAAAQ,KAAA,IAAAA,KAAA,CAAAa,GAAA,CAAArB,GAAA,EAAAW,MAAA,YAAAA,MAAA;AAAA,SAAAJ,QAAAP,GAAA,sCAAAO,OAAA,wBAAAe,MAAA,uBAAAA,MAAA,CAAAC,QAAA,aAAAvB,GAAA,kBAAAA,GAAA,gBAAAA,GAAA,WAAAA,GAAA,yBAAAsB,MAAA,IAAAtB,GAAA,CAAAwB,WAAA,KAAAF,MAAA,IAAAtB,GAAA,KAAAsB,MAAA,CAAAL,SAAA,qBAAAjB,GAAA,KAAAO,OAAA,CAAAP,GAAA;AAAA,SAAAyB,eAAAC,GAAA,EAAAC,CAAA,WAAAC,eAAA,CAAAF,GAAA,KAAAG,qBAAA,CAAAH,GAAA,EAAAC,CAAA,KAAAG,2BAAA,CAAAJ,GAAA,EAAAC,CAAA,KAAAI,gBAAA;AAAA,SAAAA,iBAAA,cAAAC,SAAA;AAAA,SAAAF,4BAAAG,CAAA,EAAAC,MAAA,SAAAD,CAAA,qBAAAA,CAAA,sBAAAE,iBAAA,CAAAF,CAAA,EAAAC,MAAA,OAAAE,CAAA,GAAAvB,MAAA,CAAAI,SAAA,CAAAoB,QAAA,CAAAlB,IAAA,CAAAc,CAAA,EAAAK,KAAA,aAAAF,CAAA,iBAAAH,CAAA,CAAAT,WAAA,EAAAY,CAAA,GAAAH,CAAA,CAAAT,WAAA,CAAAe,IAAA,MAAAH,CAAA,cAAAA,CAAA,mBAAAI,KAAA,CAAAC,IAAA,CAAAR,CAAA,OAAAG,CAAA,+DAAAM,IAAA,CAAAN,CAAA,UAAAD,iBAAA,CAAAF,CAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAT,GAAA,EAAAiB,GAAA,QAAAA,GAAA,YAAAA,GAAA,GAAAjB,GAAA,CAAAkB,MAAA,EAAAD,GAAA,GAAAjB,GAAA,CAAAkB,MAAA,WAAAjB,CAAA,MAAAkB,IAAA,OAAAL,KAAA,CAAAG,GAAA,GAAAhB,CAAA,GAAAgB,GAAA,EAAAhB,CAAA,MAAAkB,IAAA,CAAAlB,CAAA,IAAAD,GAAA,CAAAC,CAAA,YAAAkB,IAAA;AAAA,SAAAhB,sBAAAH,GAAA,EAAAC,CAAA,QAAAmB,EAAA,WAAApB,GAAA,gCAAAJ,MAAA,IAAAI,GAAA,CAAAJ,MAAA,CAAAC,QAAA,KAAAG,GAAA,4BAAAoB,EAAA,QAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,EAAA,EAAAC,IAAA,OAAAC,EAAA,OAAAC,EAAA,iBAAAJ,EAAA,IAAAH,EAAA,GAAAA,EAAA,CAAA3B,IAAA,CAAAO,GAAA,GAAA4B,IAAA,QAAA3B,CAAA,QAAAd,MAAA,CAAAiC,EAAA,MAAAA,EAAA,UAAAM,EAAA,uBAAAA,EAAA,IAAAL,EAAA,GAAAE,EAAA,CAAA9B,IAAA,CAAA2B,EAAA,GAAAS,IAAA,MAAAJ,IAAA,CAAAK,IAAA,CAAAT,EAAA,CAAAU,KAAA,GAAAN,IAAA,CAAAP,MAAA,KAAAjB,CAAA,GAAAyB,EAAA,sBAAAM,GAAA,IAAAL,EAAA,OAAAL,EAAA,GAAAU,GAAA,yBAAAN,EAAA,YAAAN,EAAA,eAAAI,EAAA,GAAAJ,EAAA,cAAAjC,MAAA,CAAAqC,EAAA,MAAAA,EAAA,2BAAAG,EAAA,QAAAL,EAAA,aAAAG,IAAA;AAAA,SAAAvB,gBAAAF,GAAA,QAAAc,KAAA,CAAAmB,OAAA,CAAAjC,GAAA,UAAAA,GAAA;AAAA,SAAAkC,QAAAC,MAAA,EAAAC,cAAA,QAAAC,IAAA,GAAAlD,MAAA,CAAAkD,IAAA,CAAAF,MAAA,OAAAhD,MAAA,CAAAmD,qBAAA,QAAAC,OAAA,GAAApD,MAAA,CAAAmD,qBAAA,CAAAH,MAAA,GAAAC,cAAA,KAAAG,OAAA,GAAAA,OAAA,CAAAC,MAAA,WAAAC,GAAA,WAAAtD,MAAA,CAAAE,wBAAA,CAAA8C,MAAA,EAAAM,GAAA,EAAAC,UAAA,OAAAL,IAAA,CAAAP,IAAA,CAAAa,KAAA,CAAAN,IAAA,EAAAE,OAAA,YAAAF,IAAA;AAAA,SAAAO,cAAAC,MAAA,aAAA5C,CAAA,MAAAA,CAAA,GAAA6C,SAAA,CAAA5B,MAAA,EAAAjB,CAAA,UAAA8C,MAAA,WAAAD,SAAA,CAAA7C,CAAA,IAAA6C,SAAA,CAAA7C,CAAA,QAAAA,CAAA,OAAAiC,OAAA,CAAA/C,MAAA,CAAA4D,MAAA,OAAAC,OAAA,WAAA1D,GAAA,IAAA2D,eAAA,CAAAJ,MAAA,EAAAvD,GAAA,EAAAyD,MAAA,CAAAzD,GAAA,SAAAH,MAAA,CAAA+D,yBAAA,GAAA/D,MAAA,CAAAgE,gBAAA,CAAAN,MAAA,EAAA1D,MAAA,CAAA+D,yBAAA,CAAAH,MAAA,KAAAb,OAAA,CAAA/C,MAAA,CAAA4D,MAAA,GAAAC,OAAA,WAAA1D,GAAA,IAAAH,MAAA,CAAAC,cAAA,CAAAyD,MAAA,EAAAvD,GAAA,EAAAH,MAAA,CAAAE,wBAAA,CAAA0D,MAAA,EAAAzD,GAAA,iBAAAuD,MAAA;AAAA,SAAAI,gBAAA3E,GAAA,EAAAgB,GAAA,EAAAyC,KAAA,IAAAzC,GAAA,GAAA8D,cAAA,CAAA9D,GAAA,OAAAA,GAAA,IAAAhB,GAAA,IAAAa,MAAA,CAAAC,cAAA,CAAAd,GAAA,EAAAgB,GAAA,IAAAyC,KAAA,EAAAA,KAAA,EAAAW,UAAA,QAAAW,YAAA,QAAAC,QAAA,oBAAAhF,GAAA,CAAAgB,GAAA,IAAAyC,KAAA,WAAAzD,GAAA;AAAA,SAAA8E,eAAAG,GAAA,QAAAjE,GAAA,GAAAkE,YAAA,CAAAD,GAAA,oBAAA1E,OAAA,CAAAS,GAAA,iBAAAA,GAAA,GAAAmE,MAAA,CAAAnE,GAAA;AAAA,SAAAkE,aAAAE,KAAA,EAAAC,IAAA,QAAA9E,OAAA,CAAA6E,KAAA,kBAAAA,KAAA,kBAAAA,KAAA,MAAAE,IAAA,GAAAF,KAAA,CAAA9D,MAAA,CAAAiE,WAAA,OAAAD,IAAA,KAAAE,SAAA,QAAAC,GAAA,GAAAH,IAAA,CAAAnE,IAAA,CAAAiE,KAAA,EAAAC,IAAA,oBAAA9E,OAAA,CAAAkF,GAAA,uBAAAA,GAAA,YAAAzD,SAAA,4DAAAqD,IAAA,gBAAAF,MAAA,GAAAO,MAAA,EAAAN,KAAA,KAI3B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GA5BA,CA8BA,kFAMA;AA2BA,IAAMO,KAAK,GAAG,GAAG;;AAEjB;AACA;AACA,SAASC,aAAaA,CAACC,GAAY,EAAE7E,GAAW,EAAW;EACzD,OAAQ6E,GAAG,CAA6B7E,GAAG,CAAC;AAC9C;;AAEA;AACA;AACA,IAAM8E,eAAe,GAAG,SAAlBA,eAAeA,CAAID,GAAY;EAAA,OAAaA,GAAG,CAAmBE,EAAE;AAAA;AAE1E,SAASC,WAAWA,CAAIC,GAAyB,EAAEJ,GAAM,EAAmB;EAC1E,IAAII,GAAG,CAACC,MAAM,EAAE,OAAOD,GAAG,CAACC,MAAM,CAACL,GAAG,CAAC;EACtC,IAAMpC,KAAK,GAAGwC,GAAG,CAACE,QAAQ,GAAGF,GAAG,CAACE,QAAQ,CAACN,GAAG,CAAC,GAAGD,aAAa,CAACC,GAAG,EAAEI,GAAG,CAACjF,GAAG,CAAC;EAC5E,OAAOyC,KAAK,IAAI,IAAI,IAAIA,KAAK,KAAK,EAAE,GAAGkC,KAAK,GAAIlC,KAAyB;AAC3E;AAEA,SAAS2C,OAAOA,CAACH,GAAuD,EAAa;EACnF,OAAOA,GAAG,CAACI,KAAK,KAAKJ,GAAG,CAACK,OAAO,GAAG,OAAO,GAAG,MAAM,CAAC;AACtD;AAEA,SAASC,SAASA,CAChBN,GAAsD,EAC5B;EAC1B,OAAA3B,aAAA,CAAAA,aAAA,KACM2B,GAAG,CAACO,IAAI,GAAG;IAAEC,UAAU,EAAE;EAAmB,CAAC,GAAG,CAAC,CAAC,GAClDR,GAAG,CAACK,OAAO,IAAIL,GAAG,CAACO,IAAI,GAAG;IAAEE,kBAAkB,EAAE;EAAe,CAAC,GAAG,CAAC,CAAC;AAE7E;AAEA,SAASC,mBAAmBA,CAAAC,IAAA,EAcI;EAAA,IAAAC,iBAAA,EAAAC,mBAAA,EAAAC,kBAAA;EAAA,IAAAC,SAAA,GAAAJ,IAAA,CAb9BK,IAAI;IAAJA,IAAI,GAAAD,SAAA,cAAG,EAAE,GAAAA,SAAA;IAAAE,YAAA,GAAAN,IAAA,CACTO,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,EAAE,GAAAA,YAAA;IAAAE,kBAAA,GAAAR,IAAA,CACZS,aAAa;IAAbA,aAAa,GAAAD,kBAAA,cAAG,EAAE,GAAAA,kBAAA;IAAAE,aAAA,GAAAV,IAAA,CAClBW,QAAQ;IAARA,QAAQ,GAAAD,aAAA,cAAGxB,eAAe,GAAAwB,aAAA;IAC1BE,SAAS,GAAAZ,IAAA,CAATY,SAAS;IAAAC,YAAA,GAAAb,IAAA,CACTc,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,aAAa,GAAAA,YAAA;IACvBE,SAAS,GAAAf,IAAA,CAATe,SAAS;IAAAC,WAAA,GAAAhB,IAAA,CACTiB,MAAM;IAANA,MAAM,GAAAD,WAAA,cAAG,OAAO,GAAAA,WAAA;IAChBE,MAAM,GAAAlB,IAAA,CAANkB,MAAM;IAAAC,YAAA,GAAAnB,IAAA,CACNoB,OAAO;IAAPA,OAAO,GAAAD,YAAA,cAAG,KAAK,GAAAA,YAAA;IAAAE,aAAA,GAAArB,IAAA,CACfsB,QAAQ;IAAEC,YAAY,GAAAF,aAAA,cAAG,EAAE,GAAAA,aAAA;IAAAG,cAAA,GAAAxB,IAAA,CAC3ByB,SAAS;IAATA,SAAS,GAAAD,cAAA,cAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,GAAAA,cAAA;IAAAE,kBAAA,GAAA1B,IAAA,CACzB2B,aAAa;IAAbA,aAAa,GAAAD,kBAAA,cAAGE,uCAAuB,GAAAF,kBAAA;EAEvC,IAAMG,CAAC,GAAGzJ,KAAK,CAAC0J,OAAO,CAAC;IAAA,OAAM,IAAAC,2BAAW,EAACb,MAAM,CAAC;EAAA,GAAE,CAACA,MAAM,CAAC,CAAC;EAC5D,IAAMc,SAAS,GAAGjB,SAAS,IAAI,IAAI,GAAGA,SAAS,GAAGc,CAAC,CAACG,SAAS;EAC7D,IAAMC,WAAW,IAAAhC,iBAAA,GAAGiB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEgB,SAAS,cAAAjC,iBAAA,cAAAA,iBAAA,GAAI,oBAAoB;EAC7D,IAAMkC,aAAa,IAAAjC,mBAAA,GAAGgB,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEkB,WAAW,cAAAlC,mBAAA,cAAAA,mBAAA,GAAI,mBAAmB;EAChE,IAAMmC,UAAU,IAAAlC,kBAAA,GAAGe,MAAM,aAANA,MAAM,uBAANA,MAAM,CAAEmB,UAAU,cAAAlC,kBAAA,cAAAA,kBAAA,GAAI,oBAAoB;EAE7D,IAAMmC,YAAY,GAAGlK,KAAK,CAACmK,WAAW,CACpC,UAACtD,GAAM,EAAc;IACnB,IAAI,OAAO2B,SAAS,KAAK,UAAU,EAAE,OAAOA,SAAS,CAAC3B,GAAG,CAAC;IAC1D,IAAI,CAACwB,aAAa,CAACzE,MAAM,EAAE,OAAO,KAAK;IACvC,IAAMwG,KAAK,GAAG/B,aAAa,CAAC,CAAC,CAAC;IAC9B,IAAI,CAAC+B,KAAK,EAAE,OAAO,KAAK;IACxB,IAAMC,CAAC,GAAGD,KAAK,CAACjD,QAAQ,GAAGiD,KAAK,CAACjD,QAAQ,CAACN,GAAG,CAAC,GAAGD,aAAa,CAACC,GAAG,EAAEuD,KAAK,CAACpI,GAAG,CAAC;IAC9E,OAAOqI,CAAC,IAAI,IAAI,IAAIA,CAAC,KAAK,EAAE;EAC9B,CAAC,EACD,CAAC7B,SAAS,EAAEH,aAAa,CAC3B,CAAC;EAED,IAAAiC,eAAA,GAAwBtK,KAAK,CAACuK,QAAQ,CAAC,CAAC,CAAC;IAAAC,gBAAA,GAAA/H,cAAA,CAAA6H,eAAA;IAAlCG,IAAI,GAAAD,gBAAA;IAAEE,OAAO,GAAAF,gBAAA;EACpB,IAAAG,gBAAA,GAAgC3K,KAAK,CAACuK,QAAQ,CAACpB,YAAY,CAAC;IAAAyB,gBAAA,GAAAnI,cAAA,CAAAkI,gBAAA;IAArDzB,QAAQ,GAAA0B,gBAAA;IAAEC,WAAW,GAAAD,gBAAA;EAC5B,IAAAE,gBAAA,GAAwB9K,KAAK,CAACuK,QAAQ,CAAyB,CAAC,CAAC,CAAC;IAAAQ,gBAAA,GAAAtI,cAAA,CAAAqI,gBAAA;IAA3DE,IAAI,GAAAD,gBAAA;IAAEE,OAAO,GAAAF,gBAAA;;EAEpB;EACA;EACA,IAAMG,KAAK,GAAGjD,IAAI,CAACrE,MAAM;EACzB5D,KAAK,CAACmL,SAAS,CAAC,YAAM;IACpBT,OAAO,CAAC,CAAC,CAAC;EACZ,CAAC,EAAE,CAACQ,KAAK,CAAC,CAAC;EAEX,IAAME,OAAO,GAAGpL,KAAK,CAAC0J,OAAO,CAC3B;IAAA,OAAApE,aAAA,CAAAA,aAAA,KACO+F,gCAAgB,CAAC3C,OAAO,CAAC,IAC5B2C,gCAAgB,CAACC,WAAW;MAC9BC,KAAK,EAAE;IAAM;EAAA,CACb,EACF,CAAC7C,OAAO,CACV,CAAC;EACD,IAAM8C,aAAa,GAAGxL,KAAK,CAAC0J,OAAO,CACjC;IAAA,OAAApE,aAAA,CAAAA,aAAA,KACM+F,gCAAgB,CAACI,OAAO;MAC5BF,KAAK,EAAE;IAAM;EAAA,CACb,EACF,EACF,CAAC;EAED,IAAMG,KAAK,GAAG,CAACjB,IAAI,GAAG,CAAC,IAAIvB,QAAQ;EACnC,IAAMyC,KAAK,GAAG1D,IAAI,CAAC3E,KAAK,CAACoI,KAAK,EAAEA,KAAK,GAAGxC,QAAQ,CAAC;EACjD,IAAM0C,cAAc,GAAGzD,OAAO,CAACvE,MAAM;EAErC,IAAMiI,MAAM,GAAG,SAATA,MAAMA,CAAI9E,EAAS;IAAA,OACvBkE,OAAO,CAAC,UAACa,IAAI;MAAA,OAAAxG,aAAA,CAAAA,aAAA,KAAWwG,IAAI,OAAAnG,eAAA,KAAGoB,EAAE,EAAG,CAAC+E,IAAI,CAAC/E,EAAE,CAAC;IAAA,CAAG,CAAC;EAAA;EAEnD,oBACE,IAAAhG,WAAA,CAAAgL,IAAA,EAAC5L,IAAA,WAAG;IAAC6L,EAAE,EAAEC,4BAAa;IAAAC,QAAA,gBACpB,IAAAnL,WAAA,CAAAoL,GAAA,EAAChM,IAAA,WAAG;MAAC6L,EAAE,EAAE;QAAEI,QAAQ,EAAE,MAAM;QAAEC,SAAS,EAAE9C,aAAa;QAAEgC,KAAK,EAAE;MAAO,CAAE;MAAAW,QAAA,eACrE,IAAAnL,WAAA,CAAAgL,IAAA,EAAC1L,MAAA,WAAK;QAAC,cAAYuJ,SAAU;QAAC0C,YAAY;QAACN,EAAE,EAAEZ,OAAQ;QAAAc,QAAA,gBACrD,IAAAnL,WAAA,CAAAoL,GAAA,EAAC7L,UAAA,WAAS;UAAA4L,QAAA,eACR,IAAAnL,WAAA,CAAAoL,GAAA,EAAC3L,SAAA,WAAQ;YAAA0L,QAAA,EACN/D,OAAO,CAACoE,GAAG,CAAC,UAACtF,GAAG;cAAA,oBACf,IAAAlG,WAAA,CAAAoL,GAAA,EAAC1L,UAAA,WAAS;gBAER4G,KAAK,EAAED,OAAO,CAACH,GAAG,CAAE;gBACpB+E,EAAE,EAAA1G,aAAA;kBACAkH,QAAQ,EAAE,QAAQ;kBAClBC,GAAG,EAAE,CAAC;kBACNC,MAAM,EAAE;gBAAC,GACLzF,GAAG,CAACsE,KAAK,IAAI,IAAI,GAAG;kBAAEA,KAAK,EAAEtE,GAAG,CAACsE;gBAAM,CAAC,GAAG,CAAC,CAAC,CACjD;gBAAAW,QAAA,EAEDjF,GAAG,CAAC0F;cAAM,GATN1F,GAAG,CAACjF,GAUA,CAAC;YAAA,CACb;UAAC,CACM;QAAC,CACF,CAAC,eACZ,IAAAjB,WAAA,CAAAoL,GAAA,EAAC5L,UAAA,WAAS;UAAA2L,QAAA,EACPP,KAAK,CAACY,GAAG,CAAC,UAAC1F,GAAG,EAAK;YAClB,IAAME,EAAE,GAAGwB,QAAQ,CAAC1B,GAAG,CAAC;YACxB,IAAM+F,UAAU,GAAG1C,YAAY,CAACrD,GAAG,CAAC;YACpC,IAAMgG,MAAM,GAAGC,OAAO,CAAC9B,IAAI,CAACjE,EAAE,CAAC,CAAC;YAChC,IAAMgG,QAAQ,qBAAAC,MAAA,CAAqBjG,EAAE,CAAE;YACvC,oBACE,IAAAhG,WAAA,CAAAgL,IAAA,EAAC/L,KAAK,CAACiN,QAAQ;cAAAf,QAAA,gBACb,IAAAnL,WAAA,CAAAoL,GAAA,EAAC3L,SAAA,WAAQ;gBAAC0M,KAAK;gBAAClB,EAAE,EAAEmB,6BAAc;gBAAAjB,QAAA,EAC/B/D,OAAO,CAACoE,GAAG,CAAC,UAACtF,GAAG,EAAEmG,KAAK;kBAAA,oBACtB,IAAArM,WAAA,CAAAoL,GAAA,EAAC1L,UAAA,WAAS;oBAER4G,KAAK,EAAED,OAAO,CAACH,GAAG,CAAE;oBACpB+E,EAAE,EAAA1G,aAAA,CAAAA,aAAA,KACGiC,SAAS,CAACN,GAAG,CAAC,GACbA,GAAG,CAACsE,KAAK,IAAI,IAAI,GAAG;sBAAEA,KAAK,EAAEtE,GAAG,CAACsE;oBAAM,CAAC,GAAG,CAAC,CAAC,CACjD;oBAAAW,QAAA,eAEF,IAAAnL,WAAA,CAAAgL,IAAA,EAAC5L,IAAA,WAAG;sBACF6L,EAAE,EAAE;wBACFqB,OAAO,EAAE,MAAM;wBACfC,UAAU,EAAE,QAAQ;wBACpBC,GAAG,EAAE;sBACP,CAAE;sBAAArB,QAAA,GAEDkB,KAAK,KAAK,CAAC,IAAIR,UAAU,iBACxB,IAAA7L,WAAA,CAAAoL,GAAA,EAACzL,WAAA,WAAU;wBACT8M,IAAI,EAAC,OAAO;wBACZ,cAAYX,MAAM,GAAG9C,aAAa,GAAGF,WAAY;wBACjD,iBAAegD,MAAO;wBACtB,iBAAeE,QAAS;wBACxBU,OAAO,EAAE,SAAAA,QAAA;0BAAA,OAAM5B,MAAM,CAAC9E,EAAE,CAAC;wBAAA,CAAC;wBAAAmF,QAAA,EAEzBW,MAAM,gBACL,IAAA9L,WAAA,CAAAoL,GAAA,EAACtL,gBAAA,WAAmB;0BAAC6M,QAAQ,EAAC;wBAAO,CAAE,CAAC,gBAExC,IAAA3M,WAAA,CAAAoL,GAAA,EAACvL,kBAAA,WAAqB;0BAAC8M,QAAQ,EAAC;wBAAO,CAAE;sBAC1C,CACS,CACb,EACA1G,WAAW,CAACC,GAAG,EAAEJ,GAAG,CAAC;oBAAA,CACnB;kBAAC,GA9BDI,GAAG,CAACjF,GA+BA,CAAC;gBAAA,CACb;cAAC,CACM,CAAC,EAEV4K,UAAU,iBACT,IAAA7L,WAAA,CAAAoL,GAAA,EAAC3L,SAAA,WAAQ;gBAAA0L,QAAA,eACP,IAAAnL,WAAA,CAAAoL,GAAA,EAAC1L,UAAA,WAAS;kBACRkN,OAAO,EAAE/B,cAAe;kBACxBI,EAAE,EAAE;oBAAE4B,UAAU,EAAE,CAAC;oBAAEC,aAAa,EAAE;kBAAE,CAAE;kBAAA3B,QAAA,eAExC,IAAAnL,WAAA,CAAAoL,GAAA,EAACxL,SAAA,WAAQ;oBACPoG,EAAE,EAAEgG,QAAS;oBACb,MAAIF,MAAO;oBACXiB,OAAO,EAAC,MAAM;oBACdC,aAAa;oBAAA7B,QAAA,eAEb,IAAAnL,WAAA,CAAAoL,GAAA,EAAChM,IAAA,WAAG;sBACF6L,EAAE,EAAE;wBACF4B,UAAU,EAAE,YAAY;wBACxBC,aAAa,EAAE;sBACjB,CAAE;sBAAA3B,QAAA,eAEF,IAAAnL,WAAA,CAAAgL,IAAA,EAAC1L,MAAA,WAAK;wBACJmN,IAAI,EAAC,OAAO;wBACZ,cAAYvD,UAAW;wBACvB+B,EAAE,EAAER,aAAc;wBAAAU,QAAA,gBAElB,IAAAnL,WAAA,CAAAoL,GAAA,EAAC7L,UAAA,WAAS;0BAAA4L,QAAA,eACR,IAAAnL,WAAA,CAAAoL,GAAA,EAAC3L,SAAA,WAAQ;4BAAA0L,QAAA,EACN7D,aAAa,CAACkE,GAAG,CAAC,UAACtF,GAAG;8BAAA,oBACrB,IAAAlG,WAAA,CAAAoL,GAAA,EAAC1L,UAAA,WAAS;gCAER4G,KAAK,EAAED,OAAO,CAACH,GAAG,CAAE;gCACpB+E,EAAE,EACA/E,GAAG,CAACsE,KAAK,IAAI,IAAI,GACb;kCAAEA,KAAK,EAAEtE,GAAG,CAACsE;gCAAM,CAAC,GACpB,CAAC,CACN;gCAAAW,QAAA,EAEAjF,GAAG,CAAC0F;8BAAM,GARN1F,GAAG,CAACjF,GASA,CAAC;4BAAA,CACb;0BAAC,CACM;wBAAC,CACF,CAAC,eACZ,IAAAjB,WAAA,CAAAoL,GAAA,EAAC5L,UAAA,WAAS;0BAAA2L,QAAA,eACR,IAAAnL,WAAA,CAAAoL,GAAA,EAAC3L,SAAA,WAAQ;4BAACwL,EAAE,EAAEmB,6BAAc;4BAAAjB,QAAA,EACzB7D,aAAa,CAACkE,GAAG,CAAC,UAACtF,GAAG;8BAAA,oBACrB,IAAAlG,WAAA,CAAAoL,GAAA,EAAC1L,UAAA,WAAS;gCAER4G,KAAK,EAAED,OAAO,CAACH,GAAG,CAAE;gCACpB+E,EAAE,EAAEzE,SAAS,CAACN,GAAG,CAAE;gCAAAiF,QAAA,EAElBlF,WAAW,CAACC,GAAG,EAAEJ,GAAG;8BAAC,GAJjBI,GAAG,CAACjF,GAKA,CAAC;4BAAA,CACb;0BAAC,CACM;wBAAC,CACF,CAAC;sBAAA,CACP;oBAAC,CACL;kBAAC,CACE;gBAAC,CACF;cAAC,CACJ,CACX;YAAA,GAjGkB+E,EAkGL,CAAC;UAErB,CAAC;QAAC,CACO,CAAC;MAAA,CACP;IAAC,CACL,CAAC,eACN,IAAAhG,WAAA,CAAAoL,GAAA,EAACrL,eAAA,CAAAkN,UAAU;MACTvD,IAAI,EAAEA,IAAK;MACXvB,QAAQ,EAAEA,QAAS;MACnBgC,KAAK,EAAEA,KAAM;MACb+C,YAAY,EAAEvD,OAAQ;MACtBwD,gBAAgB,EAAE,SAAAA,iBAACC,CAAC,EAAK;QACvBtD,WAAW,CAACsD,CAAC,CAAC;QACdzD,OAAO,CAAC,CAAC,CAAC;MACZ,CAAE;MACFrB,SAAS,EAAEA,SAAU;MACrBL,OAAO,EAAEA,OAAQ;MACjBH,MAAM,EAAEA,MAAO;MACfC,MAAM,EAAEW,CAAC,CAAC2E;IAAW,CACtB,CAAC;EAAA,CACC,CAAC;AAEV;AAAC,IAAAC,QAAA,GAAAC,OAAA,cAEc3G,mBAAmB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CollapsibleDataGrid.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Table","_TableHead","_TableBody","_TableRow","_TableCell","_IconButton","_Collapse","_KeyboardArrowDown","_KeyboardArrowUp","_dataGridShared","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","EMPTY","readCellValue","row","defaultGetRowId","id","resolveCell","col","render","getValue","alignOf","align","numeric","numericSx","mono","fontFamily","fontVariantNumeric","CollapsibleDataGrid","_ref","_labels$expandRow","_labels$collapseRow","_labels$detailAria","_ref$rows","rows","_ref$columns","columns","_ref$detailColumns","detailColumns","_ref$getRowId","getRowId","hasDetail","_ref$density","density","ariaLabel","_ref$locale","locale","labels","_ref$loading","loading","_ref$pageSize","pageSize","pageSizeProp","_ref$pageSizes","pageSizes","_ref$maxBodyHeight","maxBodyHeight","DEFAULT_MAX_BODY_HEIGHT","L","useMemo","mergeLabels","tableAria","expandLabel","expandRow","collapseLabel","collapseRow","detailAria","rowHasDetail","useCallback","first","v","_React$useState","useState","_React$useState2","page","setPage","_React$useState3","_React$useState4","setPageSize","_React$useState5","_React$useState6","open","setOpen","total","useEffect","tableSx","TABLE_BY_DENSITY","comfortable","width","detailTableSx","compact","start","paged","masterColCount","toggle","prev","jsxs","sx","CONTAINER_SX","children","jsx","overflow","maxHeight","stickyHeader","map","position","top","zIndex","header","expandable","isOpen","Boolean","detailId","concat","Fragment","hover","ROW_STATIC_SX","index","display","alignItems","gap","size","onClick","fontSize","colSpan","paddingTop","paddingBottom","timeout","unmountOnExit","Pagination","onPageChange","onPageSizeChange","s","pagination","_default","exports"],"sources":["../../../src/lib/v2/patterns/CollapsibleDataGrid.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Table from \"@mui/material/Table\";\r\nimport TableHead from \"@mui/material/TableHead\";\r\nimport TableBody from \"@mui/material/TableBody\";\r\nimport TableRow from \"@mui/material/TableRow\";\r\nimport TableCell from \"@mui/material/TableCell\";\r\nimport IconButton from \"@mui/material/IconButton\";\r\nimport Collapse from \"@mui/material/Collapse\";\r\nimport KeyboardArrowDownIcon from \"@mui/icons-material/KeyboardArrowDown\";\r\nimport KeyboardArrowUpIcon from \"@mui/icons-material/KeyboardArrowUp\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { SystemStyleObject } from \"@mui/system\";\r\n\r\nimport {\r\n mergeLabels,\r\n TABLE_BY_DENSITY,\r\n CONTAINER_SX,\r\n DEFAULT_MAX_BODY_HEIGHT,\r\n ROW_STATIC_SX,\r\n Pagination,\r\n} from \"./_dataGridShared\";\r\nimport type { DataGridColumn, DataGridLabels } from \"../types/datagrid\";\r\nimport type { Alignment, Density, RowId } from \"../types/common\";\r\n\r\n/**\r\n * CollapsibleDataGrid — Portnet UI v2 (pattern)\r\n *\r\n * Charter §03 · master/detail table with per-row expansion. Companion to\r\n * DataGrid for the case DataGrid intentionally does not cover: a row that\r\n * expands to reveal a secondary record (e.g. a decision and its visa\r\n * detail). Refactor of the legacy host-local CollapsibleTableClientSide\r\n * (ms-dfd-fe), lifted into the lib so modules consume it instead of\r\n * re-implementing an expandable MUI Table.\r\n *\r\n * Columns use the v2-native shape, identical to DataGrid:\r\n * { key, header, render(row), getValue(row), width, align, numeric, mono }\r\n *\r\n * `columns` master row cells (the first cell hosts the expand toggle).\r\n * `detailColumns` the expanded panel; values are read from the SAME row\r\n * object (a row carries both its master and detail fields).\r\n *\r\n * A row is expandable when `hasDetail(row)` is true. Default: the first\r\n * detail column resolves to a non-nullish value. Pass `hasDetail` to override.\r\n *\r\n * Pagination is client-side (the host passes the full row set) and uses the\r\n * shared v2 Pagination — 1-based, tabular range, optional page-size select.\r\n *\r\n * Accessibility (WCAG 2.2 AA · Charter R-DG):\r\n * - the expand control is a real <button> with aria-expanded +\r\n * aria-controls pointing at the detail region id;\r\n * - the detail region is labelled (labels.detailAria);\r\n * - the table carries a contextual name (ariaLabel | labels.tableAria).\r\n */\r\n\r\n/** The read subset of the DataGrid column contract that this pattern honours. */\r\nexport type CollapsibleColumn<T> = Pick<\r\n DataGridColumn<T>,\r\n \"key\" | \"header\" | \"align\" | \"numeric\" | \"mono\" | \"width\" | \"render\" | \"getValue\"\r\n>;\r\n\r\n/** DataGrid labels + the expansion-specific names. */\r\nexport interface CollapsibleDataGridLabels extends DataGridLabels {\r\n expandRow?: string | undefined;\r\n collapseRow?: string | undefined;\r\n detailAria?: string | undefined;\r\n}\r\n\r\nexport interface CollapsibleDataGridProps<T> {\r\n rows?: T[] | undefined;\r\n columns: CollapsibleColumn<T>[];\r\n detailColumns?: CollapsibleColumn<T>[] | undefined;\r\n /** Row identity (default `(row) => row.id`). */\r\n getRowId?: ((row: T) => RowId) | undefined;\r\n /** Override the \"row is expandable\" test (default: first detail value is non-nullish). */\r\n hasDetail?: ((row: T) => boolean) | undefined;\r\n density?: Density | undefined;\r\n /** Contextual accessible table name (WCAG 1.3.1 / Charter R-DG). */\r\n ariaLabel?: string | undefined;\r\n /** BCP-47 locale for pagination number formatting (default \"fr-FR\"). */\r\n locale?: string | undefined;\r\n labels?: CollapsibleDataGridLabels | undefined;\r\n loading?: boolean | undefined;\r\n pageSize?: number | undefined;\r\n pageSizes?: number[] | undefined;\r\n maxBodyHeight?: number | string | undefined;\r\n}\r\n\r\nconst EMPTY = \"—\";\r\n\r\n/* Default value accessor for an unconstrained row type — typed against\r\n * `unknown` so the single assertion is legal (mirrors DataGrid). */\r\nfunction readCellValue(row: unknown, key: string): unknown {\r\n return (row as Record<string, unknown>)[key];\r\n}\r\n\r\n/* Default getRowId (`(r) => r.id`); `(unknown) => RowId` is assignable to\r\n * the declared `(row: T) => RowId` by parameter contravariance. */\r\nconst defaultGetRowId = (row: unknown): RowId => (row as { id: RowId }).id;\r\n\r\nfunction resolveCell<T>(col: CollapsibleColumn<T>, row: T): React.ReactNode {\r\n if (col.render) return col.render(row);\r\n const value = col.getValue ? col.getValue(row) : readCellValue(row, col.key);\r\n return value == null || value === \"\" ? EMPTY : (value as React.ReactNode);\r\n}\r\n\r\nfunction alignOf(col: Pick<DataGridColumn<unknown>, \"align\" | \"numeric\">): Alignment {\r\n return col.align || (col.numeric ? \"right\" : \"left\");\r\n}\r\n\r\nfunction numericSx(\r\n col: Pick<DataGridColumn<unknown>, \"numeric\" | \"mono\">\r\n): SystemStyleObject<Theme> {\r\n return {\r\n ...(col.mono ? { fontFamily: \"var(--font-mono)\" } : {}),\r\n ...(col.numeric || col.mono ? { fontVariantNumeric: \"tabular-nums\" } : {}),\r\n };\r\n}\r\n\r\nfunction CollapsibleDataGrid<T>({\r\n rows = [],\r\n columns = [],\r\n detailColumns = [],\r\n getRowId = defaultGetRowId,\r\n hasDetail,\r\n density = \"comfortable\",\r\n ariaLabel,\r\n locale = \"fr-FR\",\r\n labels,\r\n loading = false,\r\n pageSize: pageSizeProp = 10,\r\n pageSizes = [10, 25, 100],\r\n maxBodyHeight = DEFAULT_MAX_BODY_HEIGHT,\r\n}: CollapsibleDataGridProps<T>) {\r\n const L = React.useMemo(() => mergeLabels(labels), [labels]);\r\n const tableAria = ariaLabel != null ? ariaLabel : L.tableAria;\r\n const expandLabel = labels?.expandRow ?? \"Afficher le détail\";\r\n const collapseLabel = labels?.collapseRow ?? \"Réduire le détail\";\r\n const detailAria = labels?.detailAria ?? \"Détail de la ligne\";\r\n\r\n const rowHasDetail = React.useCallback(\r\n (row: T): boolean => {\r\n if (typeof hasDetail === \"function\") return hasDetail(row);\r\n if (!detailColumns.length) return false;\r\n const first = detailColumns[0];\r\n if (!first) return false;\r\n const v = first.getValue ? first.getValue(row) : readCellValue(row, first.key);\r\n return v != null && v !== \"\";\r\n },\r\n [hasDetail, detailColumns]\r\n );\r\n\r\n const [page, setPage] = React.useState(1);\r\n const [pageSize, setPageSize] = React.useState(pageSizeProp);\r\n const [open, setOpen] = React.useState<Record<RowId, boolean>>({});\r\n\r\n // Reset to the first page when the data set size changes so the slice\r\n // never lands past the end of a shrunken list.\r\n const total = rows.length;\r\n React.useEffect(() => {\r\n setPage(1);\r\n }, [total]);\r\n\r\n const tableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...((TABLE_BY_DENSITY[density] ||\r\n TABLE_BY_DENSITY.comfortable) as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n }),\r\n [density]\r\n );\r\n const detailTableSx = React.useMemo<SxProps<Theme>>(\r\n () => ({\r\n ...(TABLE_BY_DENSITY.compact as SystemStyleObject<Theme>),\r\n width: \"100%\",\r\n }),\r\n []\r\n );\r\n\r\n const start = (page - 1) * pageSize;\r\n const paged = rows.slice(start, start + pageSize);\r\n const masterColCount = columns.length;\r\n\r\n const toggle = (id: RowId) =>\r\n setOpen((prev) => ({ ...prev, [id]: !prev[id] }));\r\n\r\n return (\r\n <Box sx={CONTAINER_SX}>\r\n <Box sx={{ overflow: \"auto\", maxHeight: maxBodyHeight, width: \"100%\" }}>\r\n <Table aria-label={tableAria} stickyHeader sx={tableSx}>\r\n <TableHead>\r\n <TableRow>\r\n {columns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={{\r\n position: \"sticky\",\r\n top: 0,\r\n zIndex: 1,\r\n ...(col.width != null ? { width: col.width } : {}),\r\n }}\r\n >\r\n {col.header}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n {paged.map((row) => {\r\n const id = getRowId(row);\r\n const expandable = rowHasDetail(row);\r\n const isOpen = Boolean(open[id]);\r\n const detailId = `pui-cdg-detail-${id}`;\r\n return (\r\n <React.Fragment key={id}>\r\n <TableRow hover sx={ROW_STATIC_SX}>\r\n {columns.map((col, index) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={{\r\n ...numericSx(col),\r\n ...(col.width != null ? { width: col.width } : {}),\r\n }}\r\n >\r\n <Box\r\n sx={{\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n gap: \"var(--s-1)\",\r\n }}\r\n >\r\n {index === 0 && expandable && (\r\n <IconButton\r\n size=\"small\"\r\n aria-label={isOpen ? collapseLabel : expandLabel}\r\n aria-expanded={isOpen}\r\n aria-controls={detailId}\r\n onClick={() => toggle(id)}\r\n >\r\n {isOpen ? (\r\n <KeyboardArrowUpIcon fontSize=\"small\" />\r\n ) : (\r\n <KeyboardArrowDownIcon fontSize=\"small\" />\r\n )}\r\n </IconButton>\r\n )}\r\n {resolveCell(col, row)}\r\n </Box>\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n\r\n {expandable && (\r\n <TableRow>\r\n <TableCell\r\n colSpan={masterColCount}\r\n sx={{ paddingTop: 0, paddingBottom: 0 }}\r\n >\r\n <Collapse\r\n id={detailId}\r\n in={isOpen}\r\n timeout=\"auto\"\r\n unmountOnExit\r\n >\r\n <Box\r\n sx={{\r\n paddingTop: \"var(--s-3)\",\r\n paddingBottom: \"var(--s-3)\",\r\n }}\r\n >\r\n <Table\r\n size=\"small\"\r\n aria-label={detailAria}\r\n sx={detailTableSx}\r\n >\r\n <TableHead>\r\n <TableRow>\r\n {detailColumns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={\r\n col.width != null\r\n ? { width: col.width }\r\n : {}\r\n }\r\n >\r\n {col.header}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableHead>\r\n <TableBody>\r\n <TableRow sx={ROW_STATIC_SX}>\r\n {detailColumns.map((col) => (\r\n <TableCell\r\n key={col.key}\r\n align={alignOf(col)}\r\n sx={numericSx(col)}\r\n >\r\n {resolveCell(col, row)}\r\n </TableCell>\r\n ))}\r\n </TableRow>\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n </Collapse>\r\n </TableCell>\r\n </TableRow>\r\n )}\r\n </React.Fragment>\r\n );\r\n })}\r\n </TableBody>\r\n </Table>\r\n </Box>\r\n <Pagination\r\n page={page}\r\n pageSize={pageSize}\r\n total={total}\r\n onPageChange={setPage}\r\n onPageSizeChange={(s) => {\r\n setPageSize(s);\r\n setPage(1);\r\n }}\r\n pageSizes={pageSizes}\r\n loading={loading}\r\n locale={locale}\r\n labels={L.pagination}\r\n />\r\n </Box>\r\n );\r\n}\r\n\r\nexport default CollapsibleDataGrid;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -37,17 +37,17 @@ import type { DataGridColumn } from "../types/datagrid";
|
|
|
37
37
|
* component.
|
|
38
38
|
*/
|
|
39
39
|
export interface ColumnsToggleLabels {
|
|
40
|
-
button?: string;
|
|
41
|
-
title?: string;
|
|
42
|
-
showAll?: string;
|
|
43
|
-
hideAll?: string;
|
|
44
|
-
countSuffix?: (n: number) => string;
|
|
40
|
+
button?: string | undefined;
|
|
41
|
+
title?: string | undefined;
|
|
42
|
+
showAll?: string | undefined;
|
|
43
|
+
hideAll?: string | undefined;
|
|
44
|
+
countSuffix?: ((n: number) => string) | undefined;
|
|
45
45
|
}
|
|
46
46
|
export interface ColumnsToggleProps {
|
|
47
47
|
columns: ReadonlyArray<Pick<DataGridColumn<unknown>, "key" | "header" | "toggleable">>;
|
|
48
|
-
hiddenColumns?: Set<string> | string[];
|
|
48
|
+
hiddenColumns?: Set<string> | string[] | undefined;
|
|
49
49
|
onHiddenColumnsChange: (hidden: Set<string>) => void;
|
|
50
|
-
labels?: ColumnsToggleLabels;
|
|
50
|
+
labels?: ColumnsToggleLabels | undefined;
|
|
51
51
|
}
|
|
52
52
|
export declare function extractHeaderText(node: React.ReactNode): string;
|
|
53
53
|
declare function ColumnsToggle({ columns, hiddenColumns, onHiddenColumnsChange, labels, }: ColumnsToggleProps): React.JSX.Element;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnsToggle.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/ColumnsToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"ColumnsToggle.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/ColumnsToggle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAQ/B,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAEH,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,SAAS,CAAC;CACnD;AAED,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACnD,qBAAqB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC1C;AAgBD,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,KAAK,CAAC,SAAS,GAAG,MAAM,CAQ/D;AAiED,iBAAS,aAAa,CAAC,EACrB,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,MAAM,GACP,EAAE,kBAAkB,qBA8JpB;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
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); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -12,22 +13,17 @@ var _Checkbox = _interopRequireDefault(require("@mui/material/Checkbox"));
|
|
|
12
13
|
var _FormControlLabel = _interopRequireDefault(require("@mui/material/FormControlLabel"));
|
|
13
14
|
var _ViewColumn = _interopRequireDefault(require("@mui/icons-material/ViewColumn"));
|
|
14
15
|
var _Button = _interopRequireDefault(require("../components/Button"));
|
|
16
|
+
var _mergeLabels = require("../utils/mergeLabels");
|
|
15
17
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
16
18
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
17
19
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
18
20
|
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; }
|
|
19
|
-
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); }
|
|
20
21
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
21
22
|
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
23
|
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
24
|
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
25
|
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; }
|
|
26
|
-
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; }
|
|
27
|
-
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; }
|
|
28
|
-
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; }
|
|
29
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
30
|
-
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); } /**
|
|
26
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
|
|
31
27
|
* ColumnsToggle - Portnet UI v2 (pattern)
|
|
32
28
|
*
|
|
33
29
|
* Companion affordance for DataGrid's `hiddenColumns` prop. Renders
|
|
@@ -151,7 +147,7 @@ function ColumnsToggle(_ref) {
|
|
|
151
147
|
hiddenColumns = _ref.hiddenColumns,
|
|
152
148
|
onHiddenColumnsChange = _ref.onHiddenColumnsChange,
|
|
153
149
|
labels = _ref.labels;
|
|
154
|
-
var L =
|
|
150
|
+
var L = (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
|
|
155
151
|
var _React$useState = React.useState(null),
|
|
156
152
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
157
153
|
anchor = _React$useState2[0],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ColumnsToggle.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Popover","_Checkbox","_FormControlLabel","_ViewColumn","_Button","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","Symbol","iterator","constructor","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","name","Array","from","test","len","length","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","ownKeys","object","enumerableOnly","keys","getOwnPropertySymbols","symbols","filter","sym","enumerable","apply","_objectSpread","target","arguments","source","forEach","_defineProperty","getOwnPropertyDescriptors","defineProperties","_toPropertyKey","configurable","writable","arg","_toPrimitive","String","input","hint","prim","toPrimitive","undefined","res","Number","DEFAULT_LABELS","freeze","button","title","showAll","hideAll","countSuffix","concat","extractHeaderText","node","map","join","trim","isValidElement","props","children","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","maxHeight","overflowY","display","flexDirection","gap","POPOVER_TITLE_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","marginBottom","POPOVER_FOOTER_SX","justifyContent","paddingTop","marginTop","borderTop","CHECKBOX_LABEL_SX","marginLeft","marginRight","BADGE_SX","marginInlineStart","background","lineHeight","ColumnsToggle","_ref","columns","hiddenColumns","onHiddenColumnsChange","labels","L","_React$useState","useState","_React$useState2","anchor","setAnchor","hiddenSet","useMemo","Set","toggleableColumns","c","toggleable","hiddenCount","open","Boolean","handleOpen","e","currentTarget","handleClose","toggleColumn","add","triggerAriaLabel","popoverSlotProps","paper","sx","role","jsxs","Fragment","variant","size","type","icon","jsx","onClick","component","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","col","isVisible","headerText","header","labelText","control","checked","onChange","label","disabled","_default","exports"],"sources":["../../../src/lib/v2/patterns/ColumnsToggle.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport ViewColumnIcon from \"@mui/icons-material/ViewColumn\";\r\nimport Button from \"../components/Button\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\n\r\n/**\r\n * ColumnsToggle - Portnet UI v2 (pattern)\r\n *\r\n * Companion affordance for DataGrid's `hiddenColumns` prop. Renders\r\n * a small toolbar button that opens a popover containing one\r\n * checkbox per toggleable column. Toggling a checkbox emits the\r\n * new hiddenColumns Set up to the host.\r\n *\r\n * <ColumnsToggle\r\n * columns={cols}\r\n * hiddenColumns={hiddenSet}\r\n * onHiddenColumnsChange={setHiddenSet}\r\n * labels={{\r\n * button: \"Colonnes\",\r\n * title: \"Afficher les colonnes\",\r\n * showAll: \"Tout afficher\",\r\n * hideAll: \"Tout masquer\",\r\n * countSuffix: (n) => `${n} masquée${n > 1 ? \"s\" : \"\"}`,\r\n * }}\r\n * />\r\n *\r\n * The host owns the columns schema, the hiddenColumns state, and\r\n * the change callback. The component is pure presentation — its\r\n * only internal state is the popover's anchor element.\r\n *\r\n * Mental model: checkbox represents VISIBILITY (checked = visible,\r\n * not in hiddenSet) — avoids the double-negative trap of \"checked\r\n * means hidden\". Matches what users expect from \"show columns\" UIs.\r\n *\r\n * `col.toggleable: false` on a column excludes it from the popover\r\n * entirely — useful for identity columns or system-pinned columns\r\n * that should not be user-hideable. The DataGrid itself doesn't\r\n * read this flag (it filters strictly based on hiddenColumns);\r\n * the flag is a contract between the host's schema and this\r\n * component.\r\n */\r\n\r\nexport interface ColumnsToggleLabels {\r\n button?: string;\r\n title?: string;\r\n showAll?: string;\r\n hideAll?: string;\r\n countSuffix?: (n: number) => string;\r\n}\r\n\r\nexport interface ColumnsToggleProps {\r\n columns: ReadonlyArray<Pick<DataGridColumn<unknown>, \"key\" | \"header\" | \"toggleable\">>;\r\n hiddenColumns?: Set<string> | string[];\r\n onHiddenColumnsChange: (hidden: Set<string>) => void;\r\n labels?: ColumnsToggleLabels;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Colonnes\",\r\n title: \"Afficher les colonnes\",\r\n showAll: \"Tout afficher\",\r\n hideAll: \"Tout masquer\",\r\n countSuffix: (n: number) => `${n} masquée${n > 1 ? \"s\" : \"\"}`,\r\n});\r\n\r\n/* SET-1 — Best-effort plain-text extraction from a column header node, used to\r\n * build the visibility checkbox's accessible name. A JSX header (icon + text)\r\n * would otherwise fall back to the machine `col.key`, making the accessible\r\n * name diverge from the visible label (WCAG 2.5.3, label in name). Same shape\r\n * as the Chip/Tooltip text extractors; returns \"\" for icon-only headers.\r\n * Exported so DataGridSettingsMenu reuses the identical logic (DGS-1). */\r\nexport function extractHeaderText(node: React.ReactNode): string {\r\n if (node == null || node === false) return \"\";\r\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\r\n if (Array.isArray(node)) return node.map(extractHeaderText).join(\" \").trim();\r\n if (React.isValidElement(node)) {\r\n return extractHeaderText((node.props as { children?: React.ReactNode }).children);\r\n }\r\n return \"\";\r\n}\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n // Match the rest of the v2 surface — soft radius, subtle border,\r\n // shadow consistent with Drawer / Modal.\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 240,\r\n maxHeight: 360,\r\n overflowY: \"auto\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_TITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n marginBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n paddingTop: \"var(--s-2)\",\r\n marginTop: \"var(--s-2)\",\r\n borderTop: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CHECKBOX_LABEL_SX = Object.freeze({\r\n // Override MUI default 16px which is too generous for compact\r\n // popover lists. Keeps each row at the ~32px touch-friendly\r\n // minimum without padding.\r\n marginLeft: 0,\r\n marginRight: 0,\r\n \"& .MuiFormControlLabel-label\": {\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n },\r\n});\r\n\r\nconst BADGE_SX = Object.freeze({\r\n marginInlineStart: \"var(--s-1)\",\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 6px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nfunction ColumnsToggle({\r\n columns,\r\n hiddenColumns,\r\n onHiddenColumnsChange,\r\n labels,\r\n}: ColumnsToggleProps) {\r\n const L = labels ? { ...DEFAULT_LABELS, ...labels } : DEFAULT_LABELS;\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n\r\n // Normalise hiddenColumns to a Set for the predicate work below.\r\n // Same contract as DataGrid — accepts Set or Array. Memoised so\r\n // the popover body doesn't recompute checkbox states on unrelated\r\n // renders.\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n // Toggleable subset — the only columns this UI exposes. System-\r\n // pinned columns (col.toggleable === false) are absent from the\r\n // popover entirely. Memoised because columns is often passed\r\n // inline by hosts (defensive against per-render reference churn).\r\n const toggleableColumns = React.useMemo(\r\n () => columns.filter((c) => c.toggleable !== false),\r\n [columns]\r\n );\r\n\r\n // Count of currently-hidden columns AMONG the toggleable set\r\n // (defensive: a host that pre-hides a column then flips its\r\n // toggleable flag to false shouldn't see a stale count).\r\n const hiddenCount = React.useMemo(\r\n () => toggleableColumns.filter((c) => hiddenSet.has(c.key)).length,\r\n [toggleableColumns, hiddenSet]\r\n );\r\n\r\n const open = Boolean(anchor);\r\n\r\n const handleOpen = (e: React.MouseEvent<HTMLButtonElement>) => setAnchor(e.currentTarget);\r\n const handleClose = () => setAnchor(null);\r\n\r\n // Single column toggle — checkbox represents visibility, so\r\n // CHECKED means \"remove from hiddenSet\" (= show).\r\n const toggleColumn = (key: string) => {\r\n const next = new Set(hiddenSet);\r\n if (next.has(key)) next.delete(key);\r\n else next.add(key);\r\n onHiddenColumnsChange(next);\r\n };\r\n\r\n const showAll = () => onHiddenColumnsChange(new Set<string>());\r\n const hideAll = () =>\r\n onHiddenColumnsChange(new Set(toggleableColumns.map((c) => c.key)));\r\n\r\n // ARIA label for the trigger — includes the hidden count so\r\n // screen readers announce state without relying on the\r\n // decorative badge digit. e.g. \"Colonnes, 2 masquées\".\r\n const triggerAriaLabel =\r\n hiddenCount > 0 ? `${L.button}, ${L.countSuffix(hiddenCount)}` : L.button;\r\n\r\n // MUI v9: slot bag for Popover paper. Carries the dialog ARIA\r\n // contract (role + aria-label) — host-customisable via labels.title.\r\n // Memoised so the slotProps reference stays stable when L.title\r\n // is unchanged.\r\n const popoverSlotProps = React.useMemo(\r\n () => ({\r\n paper: {\r\n sx: POPOVER_PAPER_SX,\r\n // Dialog role so screen readers treat the popover as a\r\n // discrete UI region rather than just a tooltip-like\r\n // overlay.\r\n role: \"dialog\",\r\n \"aria-label\": L.title,\r\n },\r\n }),\r\n [L.title]\r\n );\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<ViewColumnIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={triggerAriaLabel}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {L.button}\r\n {hiddenCount > 0 && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\">\r\n {hiddenCount}\r\n </Box>\r\n )}\r\n </Button>\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"right\" }}\r\n transformOrigin={{ vertical: \"top\", horizontal: \"right\" }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n <Box component=\"div\" sx={POPOVER_TITLE_SX}>\r\n {L.title}\r\n </Box>\r\n\r\n {toggleableColumns.map((col) => {\r\n const isVisible = !hiddenSet.has(col.key);\r\n // SET-1 — accessible name = the header's visible text so it matches\r\n // the rendered label (WCAG 2.5.3). Only icon-only headers (no text)\r\n // fall back to the raw key. The visual label still renders col.header.\r\n const headerText = extractHeaderText(col.header).trim();\r\n const labelText = headerText || col.key;\r\n return (\r\n <FormControlLabel\r\n key={col.key}\r\n control={\r\n <Checkbox\r\n size=\"small\"\r\n checked={isVisible}\r\n onChange={() => toggleColumn(col.key)}\r\n slotProps={{\r\n input: { \"aria-label\": labelText },\r\n }}\r\n />\r\n }\r\n label={col.header}\r\n sx={CHECKBOX_LABEL_SX}\r\n />\r\n );\r\n })}\r\n\r\n <Box sx={POPOVER_FOOTER_SX}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={showAll}\r\n disabled={hiddenCount === 0}\r\n >\r\n {L.showAll}\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={hideAll}\r\n disabled={hiddenCount === toggleableColumns.length}\r\n >\r\n {L.hideAll}\r\n </Button>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n </>\r\n );\r\n}\r\n\r\nexport default ColumnsToggle;\r\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"ColumnsToggle.js","names":["React","_interopRequireWildcard","require","_Box","_interopRequireDefault","_Popover","_Checkbox","_FormControlLabel","_ViewColumn","_Button","_mergeLabels","_jsxRuntime","obj","__esModule","_getRequireWildcardCache","nodeInterop","WeakMap","cacheBabelInterop","cacheNodeInterop","_typeof","cache","has","get","newObj","hasPropertyDescriptor","Object","defineProperty","getOwnPropertyDescriptor","key","prototype","hasOwnProperty","call","desc","set","_slicedToArray","arr","i","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","TypeError","o","minLen","_arrayLikeToArray","n","toString","slice","constructor","name","Array","from","test","len","length","arr2","_i","Symbol","iterator","_s","_e","_x","_r","_arr","_n","_d","next","done","push","value","err","isArray","DEFAULT_LABELS","freeze","button","title","showAll","hideAll","countSuffix","concat","extractHeaderText","node","String","map","join","trim","isValidElement","props","children","POPOVER_PAPER_SX","borderRadius","boxShadow","border","POPOVER_BODY_SX","padding","minWidth","maxHeight","overflowY","display","flexDirection","gap","POPOVER_TITLE_SX","fontSize","fontWeight","color","textTransform","letterSpacing","paddingBottom","borderBottom","marginBottom","POPOVER_FOOTER_SX","justifyContent","paddingTop","marginTop","borderTop","CHECKBOX_LABEL_SX","marginLeft","marginRight","BADGE_SX","marginInlineStart","background","lineHeight","ColumnsToggle","_ref","columns","hiddenColumns","onHiddenColumnsChange","labels","L","mergeLabels","_React$useState","useState","_React$useState2","anchor","setAnchor","hiddenSet","useMemo","Set","toggleableColumns","filter","c","toggleable","hiddenCount","open","Boolean","handleOpen","e","currentTarget","handleClose","toggleColumn","add","triggerAriaLabel","popoverSlotProps","paper","sx","role","jsxs","Fragment","variant","size","type","icon","jsx","onClick","component","anchorEl","onClose","anchorOrigin","vertical","horizontal","transformOrigin","slotProps","col","isVisible","headerText","header","labelText","control","checked","onChange","input","label","disabled","_default","exports"],"sources":["../../../src/lib/v2/patterns/ColumnsToggle.tsx"],"sourcesContent":["import * as React from \"react\";\r\nimport Box from \"@mui/material/Box\";\r\nimport Popover from \"@mui/material/Popover\";\r\nimport Checkbox from \"@mui/material/Checkbox\";\r\nimport FormControlLabel from \"@mui/material/FormControlLabel\";\r\nimport ViewColumnIcon from \"@mui/icons-material/ViewColumn\";\r\nimport Button from \"../components/Button\";\r\nimport type { SxProps, Theme } from \"@mui/material/styles\";\r\nimport type { DataGridColumn } from \"../types/datagrid\";\r\nimport { mergeLabels } from \"../utils/mergeLabels\";\r\n\r\n/**\r\n * ColumnsToggle - Portnet UI v2 (pattern)\r\n *\r\n * Companion affordance for DataGrid's `hiddenColumns` prop. Renders\r\n * a small toolbar button that opens a popover containing one\r\n * checkbox per toggleable column. Toggling a checkbox emits the\r\n * new hiddenColumns Set up to the host.\r\n *\r\n * <ColumnsToggle\r\n * columns={cols}\r\n * hiddenColumns={hiddenSet}\r\n * onHiddenColumnsChange={setHiddenSet}\r\n * labels={{\r\n * button: \"Colonnes\",\r\n * title: \"Afficher les colonnes\",\r\n * showAll: \"Tout afficher\",\r\n * hideAll: \"Tout masquer\",\r\n * countSuffix: (n) => `${n} masquée${n > 1 ? \"s\" : \"\"}`,\r\n * }}\r\n * />\r\n *\r\n * The host owns the columns schema, the hiddenColumns state, and\r\n * the change callback. The component is pure presentation — its\r\n * only internal state is the popover's anchor element.\r\n *\r\n * Mental model: checkbox represents VISIBILITY (checked = visible,\r\n * not in hiddenSet) — avoids the double-negative trap of \"checked\r\n * means hidden\". Matches what users expect from \"show columns\" UIs.\r\n *\r\n * `col.toggleable: false` on a column excludes it from the popover\r\n * entirely — useful for identity columns or system-pinned columns\r\n * that should not be user-hideable. The DataGrid itself doesn't\r\n * read this flag (it filters strictly based on hiddenColumns);\r\n * the flag is a contract between the host's schema and this\r\n * component.\r\n */\r\n\r\nexport interface ColumnsToggleLabels {\r\n button?: string | undefined;\r\n title?: string | undefined;\r\n showAll?: string | undefined;\r\n hideAll?: string | undefined;\r\n countSuffix?: ((n: number) => string) | undefined;\r\n}\r\n\r\nexport interface ColumnsToggleProps {\r\n columns: ReadonlyArray<Pick<DataGridColumn<unknown>, \"key\" | \"header\" | \"toggleable\">>;\r\n hiddenColumns?: Set<string> | string[] | undefined;\r\n onHiddenColumnsChange: (hidden: Set<string>) => void;\r\n labels?: ColumnsToggleLabels | undefined;\r\n}\r\n\r\nconst DEFAULT_LABELS = Object.freeze({\r\n button: \"Colonnes\",\r\n title: \"Afficher les colonnes\",\r\n showAll: \"Tout afficher\",\r\n hideAll: \"Tout masquer\",\r\n countSuffix: (n: number) => `${n} masquée${n > 1 ? \"s\" : \"\"}`,\r\n});\r\n\r\n/* SET-1 — Best-effort plain-text extraction from a column header node, used to\r\n * build the visibility checkbox's accessible name. A JSX header (icon + text)\r\n * would otherwise fall back to the machine `col.key`, making the accessible\r\n * name diverge from the visible label (WCAG 2.5.3, label in name). Same shape\r\n * as the Chip/Tooltip text extractors; returns \"\" for icon-only headers.\r\n * Exported so DataGridSettingsMenu reuses the identical logic (DGS-1). */\r\nexport function extractHeaderText(node: React.ReactNode): string {\r\n if (node == null || node === false) return \"\";\r\n if (typeof node === \"string\" || typeof node === \"number\") return String(node);\r\n if (Array.isArray(node)) return node.map(extractHeaderText).join(\" \").trim();\r\n if (React.isValidElement(node)) {\r\n return extractHeaderText((node.props as { children?: React.ReactNode }).children);\r\n }\r\n return \"\";\r\n}\r\n\r\n/* ── Hoisted sx (D5) ──────────────────────────────────────────────── */\r\n\r\nconst POPOVER_PAPER_SX = Object.freeze({\r\n // Match the rest of the v2 surface — soft radius, subtle border,\r\n // shadow consistent with Drawer / Modal.\r\n borderRadius: \"var(--r-lg)\",\r\n boxShadow: \"var(--shadow-md)\",\r\n border: \"1px solid var(--border)\",\r\n});\r\n\r\nconst POPOVER_BODY_SX = Object.freeze({\r\n padding: \"var(--s-3) var(--s-4)\",\r\n minWidth: 240,\r\n maxHeight: 360,\r\n overflowY: \"auto\",\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n gap: \"var(--s-1)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_TITLE_SX = Object.freeze({\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n color: \"var(--fg-muted)\",\r\n textTransform: \"uppercase\",\r\n letterSpacing: \"0.04em\",\r\n paddingBottom: \"var(--s-2)\",\r\n borderBottom: \"1px solid var(--border)\",\r\n marginBottom: \"var(--s-2)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst POPOVER_FOOTER_SX = Object.freeze({\r\n display: \"flex\",\r\n justifyContent: \"space-between\",\r\n gap: \"var(--s-2)\",\r\n paddingTop: \"var(--s-2)\",\r\n marginTop: \"var(--s-2)\",\r\n borderTop: \"1px solid var(--border)\",\r\n} satisfies SxProps<Theme>);\r\n\r\nconst CHECKBOX_LABEL_SX = Object.freeze({\r\n // Override MUI default 16px which is too generous for compact\r\n // popover lists. Keeps each row at the ~32px touch-friendly\r\n // minimum without padding.\r\n marginLeft: 0,\r\n marginRight: 0,\r\n \"& .MuiFormControlLabel-label\": {\r\n fontSize: \"var(--text-sm)\",\r\n color: \"var(--fg)\",\r\n },\r\n});\r\n\r\nconst BADGE_SX = Object.freeze({\r\n marginInlineStart: \"var(--s-1)\",\r\n background: \"var(--accent)\",\r\n color: \"var(--accent-fg)\",\r\n borderRadius: \"var(--r-full)\",\r\n padding: \"1px 6px\",\r\n fontSize: \"var(--text-xs)\",\r\n fontWeight: \"var(--fw-semibold)\",\r\n lineHeight: 1.4,\r\n});\r\n\r\nfunction ColumnsToggle({\r\n columns,\r\n hiddenColumns,\r\n onHiddenColumnsChange,\r\n labels,\r\n}: ColumnsToggleProps) {\r\n const L = mergeLabels(DEFAULT_LABELS, labels);\r\n const [anchor, setAnchor] = React.useState<HTMLElement | null>(null);\r\n\r\n // Normalise hiddenColumns to a Set for the predicate work below.\r\n // Same contract as DataGrid — accepts Set or Array. Memoised so\r\n // the popover body doesn't recompute checkbox states on unrelated\r\n // renders.\r\n const hiddenSet = React.useMemo(\r\n () =>\r\n hiddenColumns instanceof Set\r\n ? hiddenColumns\r\n : new Set(hiddenColumns || []),\r\n [hiddenColumns]\r\n );\r\n\r\n // Toggleable subset — the only columns this UI exposes. System-\r\n // pinned columns (col.toggleable === false) are absent from the\r\n // popover entirely. Memoised because columns is often passed\r\n // inline by hosts (defensive against per-render reference churn).\r\n const toggleableColumns = React.useMemo(\r\n () => columns.filter((c) => c.toggleable !== false),\r\n [columns]\r\n );\r\n\r\n // Count of currently-hidden columns AMONG the toggleable set\r\n // (defensive: a host that pre-hides a column then flips its\r\n // toggleable flag to false shouldn't see a stale count).\r\n const hiddenCount = React.useMemo(\r\n () => toggleableColumns.filter((c) => hiddenSet.has(c.key)).length,\r\n [toggleableColumns, hiddenSet]\r\n );\r\n\r\n const open = Boolean(anchor);\r\n\r\n const handleOpen = (e: React.MouseEvent<HTMLButtonElement>) => setAnchor(e.currentTarget);\r\n const handleClose = () => setAnchor(null);\r\n\r\n // Single column toggle — checkbox represents visibility, so\r\n // CHECKED means \"remove from hiddenSet\" (= show).\r\n const toggleColumn = (key: string) => {\r\n const next = new Set(hiddenSet);\r\n if (next.has(key)) next.delete(key);\r\n else next.add(key);\r\n onHiddenColumnsChange(next);\r\n };\r\n\r\n const showAll = () => onHiddenColumnsChange(new Set<string>());\r\n const hideAll = () =>\r\n onHiddenColumnsChange(new Set(toggleableColumns.map((c) => c.key)));\r\n\r\n // ARIA label for the trigger — includes the hidden count so\r\n // screen readers announce state without relying on the\r\n // decorative badge digit. e.g. \"Colonnes, 2 masquées\".\r\n const triggerAriaLabel =\r\n hiddenCount > 0 ? `${L.button}, ${L.countSuffix(hiddenCount)}` : L.button;\r\n\r\n // MUI v9: slot bag for Popover paper. Carries the dialog ARIA\r\n // contract (role + aria-label) — host-customisable via labels.title.\r\n // Memoised so the slotProps reference stays stable when L.title\r\n // is unchanged.\r\n const popoverSlotProps = React.useMemo(\r\n () => ({\r\n paper: {\r\n sx: POPOVER_PAPER_SX,\r\n // Dialog role so screen readers treat the popover as a\r\n // discrete UI region rather than just a tooltip-like\r\n // overlay.\r\n role: \"dialog\",\r\n \"aria-label\": L.title,\r\n },\r\n }),\r\n [L.title]\r\n );\r\n\r\n return (\r\n <>\r\n <Button\r\n variant=\"ghost\"\r\n size=\"sm\"\r\n type=\"button\"\r\n icon={<ViewColumnIcon fontSize=\"small\" />}\r\n onClick={handleOpen}\r\n aria-label={triggerAriaLabel}\r\n aria-haspopup=\"dialog\"\r\n aria-expanded={open}\r\n >\r\n {L.button}\r\n {hiddenCount > 0 && (\r\n <Box component=\"span\" sx={BADGE_SX} aria-hidden=\"true\">\r\n {hiddenCount}\r\n </Box>\r\n )}\r\n </Button>\r\n\r\n <Popover\r\n open={open}\r\n anchorEl={anchor}\r\n onClose={handleClose}\r\n anchorOrigin={{ vertical: \"bottom\", horizontal: \"right\" }}\r\n transformOrigin={{ vertical: \"top\", horizontal: \"right\" }}\r\n slotProps={popoverSlotProps}\r\n >\r\n <Box sx={POPOVER_BODY_SX}>\r\n <Box component=\"div\" sx={POPOVER_TITLE_SX}>\r\n {L.title}\r\n </Box>\r\n\r\n {toggleableColumns.map((col) => {\r\n const isVisible = !hiddenSet.has(col.key);\r\n // SET-1 — accessible name = the header's visible text so it matches\r\n // the rendered label (WCAG 2.5.3). Only icon-only headers (no text)\r\n // fall back to the raw key. The visual label still renders col.header.\r\n const headerText = extractHeaderText(col.header).trim();\r\n const labelText = headerText || col.key;\r\n return (\r\n <FormControlLabel\r\n key={col.key}\r\n control={\r\n <Checkbox\r\n size=\"small\"\r\n checked={isVisible}\r\n onChange={() => toggleColumn(col.key)}\r\n slotProps={{\r\n input: { \"aria-label\": labelText },\r\n }}\r\n />\r\n }\r\n label={col.header}\r\n sx={CHECKBOX_LABEL_SX}\r\n />\r\n );\r\n })}\r\n\r\n <Box sx={POPOVER_FOOTER_SX}>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={showAll}\r\n disabled={hiddenCount === 0}\r\n >\r\n {L.showAll}\r\n </Button>\r\n <Button\r\n size=\"sm\"\r\n variant=\"ghost\"\r\n type=\"button\"\r\n onClick={hideAll}\r\n disabled={hiddenCount === toggleableColumns.length}\r\n >\r\n {L.hideAll}\r\n </Button>\r\n </Box>\r\n </Box>\r\n </Popover>\r\n </>\r\n );\r\n}\r\n\r\nexport default ColumnsToggle;\r\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -45,23 +45,23 @@ import type { DataGridColumn } from "../types/datagrid";
|
|
|
45
45
|
* When omitted, the trigger falls back to the compact IconButton.
|
|
46
46
|
*/
|
|
47
47
|
export interface DataGridSettingsMenuLabels {
|
|
48
|
-
button?: string;
|
|
49
|
-
title?: string;
|
|
50
|
-
columnsHeading?: string;
|
|
51
|
-
densityHeading?: string;
|
|
52
|
-
showAll?: string;
|
|
53
|
-
hideAll?: string;
|
|
54
|
-
densityAriaLabel?: string;
|
|
48
|
+
button?: string | undefined;
|
|
49
|
+
title?: string | undefined;
|
|
50
|
+
columnsHeading?: string | undefined;
|
|
51
|
+
densityHeading?: string | undefined;
|
|
52
|
+
showAll?: string | undefined;
|
|
53
|
+
hideAll?: string | undefined;
|
|
54
|
+
densityAriaLabel?: string | undefined;
|
|
55
55
|
}
|
|
56
56
|
export interface DataGridSettingsMenuProps {
|
|
57
57
|
columns: ReadonlyArray<Pick<DataGridColumn<unknown>, "key" | "header" | "toggleable">>;
|
|
58
|
-
hiddenColumns?: Set<string> | string[];
|
|
58
|
+
hiddenColumns?: Set<string> | string[] | undefined;
|
|
59
59
|
onHiddenColumnsChange: (hidden: Set<string>) => void;
|
|
60
|
-
density?: Density;
|
|
60
|
+
density?: Density | undefined;
|
|
61
61
|
onDensityChange: (density: Density) => void;
|
|
62
|
-
densityOptions?: SegmentedOption[];
|
|
63
|
-
labels?: DataGridSettingsMenuLabels;
|
|
64
|
-
label?: string;
|
|
62
|
+
densityOptions?: SegmentedOption[] | undefined;
|
|
63
|
+
labels?: DataGridSettingsMenuLabels | undefined;
|
|
64
|
+
label?: string | undefined;
|
|
65
65
|
}
|
|
66
66
|
declare function DataGridSettingsMenu({ columns, hiddenColumns, onHiddenColumnsChange, density, onDensityChange, densityOptions, labels, label, }: DataGridSettingsMenuProps): React.JSX.Element;
|
|
67
67
|
export default DataGridSettingsMenu;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataGridSettingsMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"DataGridSettingsMenu.d.ts","sourceRoot":"","sources":["../../../src/lib/v2/patterns/DataGridSettingsMenu.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAS/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAG/D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AAEH,MAAM,WAAW,0BAA0B;IACzC,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACvC;AAED,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,YAAY,CAAC,CAAC,CAAC;IACvF,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC;IACnD,qBAAqB,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC;IACrD,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,eAAe,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAC5C,cAAc,CAAC,EAAE,eAAe,EAAE,GAAG,SAAS,CAAC;IAC/C,MAAM,CAAC,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAChD,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B;AAyFD,iBAAS,oBAAoB,CAAC,EAC5B,OAAO,EACP,aAAa,EACb,qBAAqB,EACrB,OAAO,EACP,eAAe,EACf,cAAc,EACd,MAAM,EACN,KAAK,GACN,EAAE,yBAAyB,qBAqN3B;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -1,5 +1,6 @@
|
|
|
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); }
|
|
3
4
|
Object.defineProperty(exports, "__esModule", {
|
|
4
5
|
value: true
|
|
5
6
|
});
|
|
@@ -14,22 +15,22 @@ var _Tune = _interopRequireDefault(require("@mui/icons-material/Tune"));
|
|
|
14
15
|
var _Button = _interopRequireDefault(require("../components/Button"));
|
|
15
16
|
var _Segmented = _interopRequireDefault(require("../components/Segmented"));
|
|
16
17
|
var _ColumnsToggle = require("./ColumnsToggle");
|
|
18
|
+
var _mergeLabels = require("../utils/mergeLabels");
|
|
17
19
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
18
20
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
19
21
|
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
20
22
|
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; }
|
|
21
|
-
function
|
|
23
|
+
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; }
|
|
24
|
+
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; }
|
|
25
|
+
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; }
|
|
26
|
+
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
27
|
+
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); }
|
|
22
28
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
23
29
|
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."); }
|
|
24
30
|
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); }
|
|
25
31
|
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; }
|
|
26
32
|
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; } }
|
|
27
|
-
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
28
|
-
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; }
|
|
29
|
-
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; }
|
|
30
|
-
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; }
|
|
31
|
-
function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
|
|
32
|
-
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); } /**
|
|
33
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; } /**
|
|
33
34
|
* DataGridSettingsMenu - Portnet UI v2 (pattern)
|
|
34
35
|
*
|
|
35
36
|
* Combined "table options" popover wrapping two DataGrid-adjacent
|
|
@@ -162,7 +163,7 @@ function DataGridSettingsMenu(_ref) {
|
|
|
162
163
|
densityOptions = _ref.densityOptions,
|
|
163
164
|
labels = _ref.labels,
|
|
164
165
|
label = _ref.label;
|
|
165
|
-
var L =
|
|
166
|
+
var L = (0, _mergeLabels.mergeLabels)(DEFAULT_LABELS, labels);
|
|
166
167
|
var _React$useState = React.useState(null),
|
|
167
168
|
_React$useState2 = _slicedToArray(_React$useState, 2),
|
|
168
169
|
anchor = _React$useState2[0],
|