asma-ui-core 3.34.0 → 3.35.0
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/dist/asma-ui-core.css +1 -1
- package/dist/components/data-display/badge/StyledBadge.js +29 -24
- package/dist/components/data-display/chip/StyledChip.js +45 -60
- package/dist/components/data-display/interactive-chip/StyledInteractiveChip.js +32 -38
- package/dist/components/data-display/tooltip/StyledTooltip.js +50 -33
- package/dist/components/data-display/typography/StyledTypography.js +62 -4
- package/dist/components/feedback/dialog/StyledDialog.js +70 -50
- package/dist/components/feedback/dialog/StyledDialog.module.js +2 -9
- package/dist/components/feedback/dialog/StyledDialogActions.js +16 -16
- package/dist/components/feedback/dialog/StyledDialogContent.js +17 -14
- package/dist/components/feedback/dialog/StyledDialogTitle.js +18 -13
- package/dist/components/feedback/minimizable-dialog/MinimizableDialog.js +56 -57
- package/dist/components/feedback/snack-bar/StyledAlert.js +72 -14
- package/dist/components/feedback/snack-bar/StyledSnackbar.js +34 -8
- package/dist/components/feedback/snack-bar/components/StyledDefaultSnackbar.js +33 -34
- package/dist/components/inputs/checkbox/base-ui/StyledCheckbox.js +55 -58
- package/dist/components/inputs/checkbox/base-ui/StyledCheckbox.module.js +12 -12
- package/dist/components/inputs/dynamic-select/components/DynamicInteractiveChipGroup.js +1 -1
- package/dist/components/inputs/dynamic-select/components/DynamicSelectAutocomplete.js +1 -1
- package/dist/components/inputs/field-styles.js +6 -0
- package/dist/components/inputs/input-field/StyledInputField.js +104 -81
- package/dist/components/inputs/input-field/StyledInputField.module.js +4 -0
- package/dist/components/inputs/radio-button/base-ui/RadioGroupContext.js +6 -0
- package/dist/components/inputs/radio-button/base-ui/StyledRadio.js +40 -29
- package/dist/components/inputs/radio-button/base-ui/StyledRadio.module.js +10 -10
- package/dist/components/inputs/radio-button/base-ui/StyledRadioGroup.js +35 -23
- package/dist/components/inputs/select/StyledSelect.js +124 -45
- package/dist/components/inputs/select/StyledSelectItem.js +19 -23
- package/dist/components/inputs/select-autocomplete/StyledSelectAutocomplete.js +181 -151
- package/dist/components/inputs/slider/StyledSlider.js +78 -52
- package/dist/components/inputs/slider/StyledSlider.module.js +10 -0
- package/dist/components/inputs/switch/base-ui/StyledSwitch.js +44 -39
- package/dist/components/miscellaneous/FormControlContext.js +6 -0
- package/dist/components/miscellaneous/StyledFormControl.js +39 -21
- package/dist/components/miscellaneous/StyledFormControlLabel.js +27 -16
- package/dist/components/miscellaneous/StyledFormGroup.js +16 -4
- package/dist/components/miscellaneous/StyledFormHelperText.js +12 -4
- package/dist/components/miscellaneous/StyledInputLabel.js +20 -4
- package/dist/components/mui-compat/Avatar.js +29 -0
- package/dist/components/mui-compat/ClickAwayListener.js +29 -0
- package/dist/components/mui-compat/Container.js +24 -0
- package/dist/components/mui-compat/Fade.js +29 -0
- package/dist/components/mui-compat/Fade.module.js +9 -0
- package/dist/components/mui-compat/FormLabel.js +22 -0
- package/dist/components/mui-compat/Paper.js +44 -0
- package/dist/components/mui-compat/Popper.js +35 -0
- package/dist/components/mui-compat/Skeleton.js +26 -0
- package/dist/components/mui-compat/Stack.js +24 -0
- package/dist/components/navigation/drawer/StyledDrawer.js +42 -4
- package/dist/components/navigation/listbox/Listbox.js +7 -7
- package/dist/components/navigation/menu/StyledMenu.js +27 -11
- package/dist/components/navigation/menu/StyledMenuItem.js +16 -18
- package/dist/components/navigation/menu/StyledMenuList.js +32 -4
- package/dist/components/navigation/tabs/StyledTab.js +25 -13
- package/dist/components/navigation/tabs/StyledTabs.js +112 -64
- package/dist/components/navigation/tabs/TabsContext.js +6 -0
- package/dist/components/utils/accordion/base-ui/AccordionContext.js +10 -0
- package/dist/components/utils/accordion/base-ui/StyledAccordion.js +28 -21
- package/dist/components/utils/accordion/base-ui/StyledAccordion.module.js +7 -7
- package/dist/components/utils/accordion/base-ui/StyledAccordionDetails.js +28 -14
- package/dist/components/utils/accordion/base-ui/StyledAccordionSummary.js +31 -27
- package/dist/components/utils/popover/StyledPopover.js +43 -15
- package/dist/datetime/components/date-picker/StyledDatePicker.js +6 -6
- package/dist/datetime/components/date-picker/components/BaseDatePickerInput.js +1 -1
- package/dist/datetime/components/date-picker/components/HelperTextWithTooltip.js +6 -6
- package/dist/datetime/components/date-picker/components/StyledCalendarPicker.js +11 -11
- package/dist/datetime/components/date-picker/components/StyledCalendarPickerFooter.js +13 -14
- package/dist/datetime/components/date-picker/components/StyledCalendarPickerSelectMonth.js +14 -14
- package/dist/datetime/components/date-picker/components/StyledCalendarPickerSelectYear.js +6 -6
- package/dist/datetime/components/date-picker/components/StyledDayPicker.js +4 -5
- package/dist/datetime/components/date-picker/hooks/useDatePickerMask.js +4 -4
- package/dist/datetime/components/time-picker/StyledTimePicker.js +25 -25
- package/dist/datetime/components/time-picker/TimePickerInput.js +15 -16
- package/dist/datetime/components/time-picker/TimePickerPopper.js +21 -19
- package/dist/datetime/helpers/cn.js +4 -5
- package/dist/helpers/arrays.js +4 -0
- package/dist/helpers/cn.js +4 -5
- package/dist/helpers/inputMask.js +45 -0
- package/dist/helpers/sx.js +46 -0
- package/dist/index.js +183 -175
- package/dist/src/api-surface.test.d.ts +1 -0
- package/dist/src/components/data-display/badge/StyledBadge.d.ts +26 -2
- package/dist/src/components/data-display/chip/StyledChip.d.ts +39 -5
- package/dist/src/components/data-display/interactive-chip/StyledInteractiveChip.d.ts +11 -4
- package/dist/src/components/data-display/tooltip/StyledTooltip.d.ts +36 -2
- package/dist/src/components/data-display/typography/StyledTypography.d.ts +19 -1
- package/dist/src/components/feedback/dialog/StyledDialog.d.ts +37 -4
- package/dist/src/components/feedback/dialog/StyledDialogActions.d.ts +12 -2
- package/dist/src/components/feedback/dialog/StyledDialogContent.d.ts +12 -2
- package/dist/src/components/feedback/dialog/StyledDialogTitle.d.ts +10 -2
- package/dist/src/components/feedback/snack-bar/SnackbarProvider.d.ts +1 -1
- package/dist/src/components/feedback/snack-bar/StyledAlert.d.ts +24 -2
- package/dist/src/components/feedback/snack-bar/StyledAlertSnackbar.d.ts +1 -1
- package/dist/src/components/feedback/snack-bar/StyledSnackbar.d.ts +21 -2
- package/dist/src/components/feedback/snack-bar/components/StyledDefaultSnackbar.d.ts +1 -1
- package/dist/src/components/feedback/snack-bar/components/StyledInfoSnackbar.d.ts +1 -1
- package/dist/src/components/feedback/snack-bar/components/types.d.ts +1 -1
- package/dist/src/components/inputs/checkbox/base-ui/StyledCheckbox.d.ts +9 -4
- package/dist/src/components/inputs/dynamic-select/types.d.ts +2 -2
- package/dist/src/components/inputs/field-styles.d.ts +22 -0
- package/dist/src/components/inputs/input-field/StyledInputField.d.ts +67 -11
- package/dist/src/components/inputs/input-field/index.d.ts +1 -1
- package/dist/src/components/inputs/radio-button/base-ui/RadioGroupContext.d.ts +10 -0
- package/dist/src/components/inputs/radio-button/base-ui/StyledRadio.d.ts +20 -5
- package/dist/src/components/inputs/radio-button/base-ui/StyledRadioGroup.d.ts +24 -7
- package/dist/src/components/inputs/select/StyledSelect.d.ts +39 -16
- package/dist/src/components/inputs/select/StyledSelectItem.d.ts +14 -2
- package/dist/src/components/inputs/select/index.d.ts +0 -1
- package/dist/src/components/inputs/select-autocomplete/StyledSelectAutocomplete.d.ts +88 -17
- package/dist/src/components/inputs/slider/StyledSlider.d.ts +55 -3
- package/dist/src/components/inputs/switch/base-ui/StyledSwitch.d.ts +20 -4
- package/dist/src/components/miscellaneous/FormControlContext.d.ts +14 -0
- package/dist/src/components/miscellaneous/StyledFormControl.d.ts +22 -2
- package/dist/src/components/miscellaneous/StyledFormControlLabel.d.ts +21 -2
- package/dist/src/components/miscellaneous/StyledFormGroup.d.ts +11 -2
- package/dist/src/components/miscellaneous/StyledFormHelperText.d.ts +12 -2
- package/dist/src/components/miscellaneous/StyledInputLabel.d.ts +20 -2
- package/dist/src/components/mui-compat/Avatar.d.ts +6 -0
- package/dist/src/components/mui-compat/ClickAwayListener.d.ts +19 -0
- package/dist/src/components/mui-compat/Container.d.ts +6 -0
- package/dist/src/components/mui-compat/Fade.d.ts +21 -0
- package/dist/src/components/mui-compat/FormLabel.d.ts +6 -0
- package/dist/src/components/mui-compat/Paper.d.ts +6 -0
- package/dist/src/components/mui-compat/Popper.d.ts +29 -0
- package/dist/src/components/mui-compat/Skeleton.d.ts +7 -0
- package/dist/src/components/mui-compat/Stack.d.ts +7 -0
- package/dist/src/components/mui-compat/index.d.ts +9 -0
- package/dist/src/components/mui-compat/types.d.ts +46 -0
- package/dist/src/components/navigation/drawer/StyledDrawer.d.ts +21 -2
- package/dist/src/components/navigation/menu/StyledMenu.d.ts +25 -2
- package/dist/src/components/navigation/menu/StyledMenuItem.d.ts +21 -2
- package/dist/src/components/navigation/menu/StyledMenuList.d.ts +16 -2
- package/dist/src/components/navigation/menu/index.d.ts +0 -1
- package/dist/src/components/navigation/tabs/StyledTab.d.ts +17 -3
- package/dist/src/components/navigation/tabs/StyledTabs.d.ts +16 -7
- package/dist/src/components/navigation/tabs/TabsContext.d.ts +11 -0
- package/dist/src/components/utils/accordion/base-ui/AccordionContext.d.ts +10 -0
- package/dist/src/components/utils/accordion/base-ui/StyledAccordion.d.ts +9 -3
- package/dist/src/components/utils/accordion/base-ui/StyledAccordionDetails.d.ts +5 -0
- package/dist/src/components/utils/accordion/base-ui/StyledAccordionSummary.d.ts +8 -4
- package/dist/src/components/utils/copy-wrapper/CopyWrapper.d.ts +1 -1
- package/dist/src/components/utils/filter-menu/StyledFilterMenu.d.ts +2 -2
- package/dist/src/components/utils/popover/StyledPopover.d.ts +31 -2
- package/dist/src/datetime/components/date-picker/components/StyledCalendarPicker.d.ts +1 -1
- package/dist/src/datetime/components/date-picker/components/StyledDayPicker.d.ts +1 -1
- package/dist/src/datetime/components/date-picker/hooks/useDatePickerMask.d.ts +1 -2
- package/dist/src/datetime/components/time-picker/TimePickerInput.d.ts +1 -1
- package/dist/src/datetime/components/time-picker/TimePickerPopper.d.ts +1 -1
- package/dist/src/datetime/components/time-picker/types.d.ts +1 -2
- package/dist/src/datetime/shared-components/StyledFormControl.d.ts +1 -2
- package/dist/src/datetime/shared-components/StyledInputField.d.ts +1 -12
- package/dist/src/datetime/shared-components/StyledSelect.d.ts +1 -16
- package/dist/src/datetime/shared-components/StyledSelectItem.d.ts +1 -2
- package/dist/src/datetime/shared-components/StyledTooltip.d.ts +1 -2
- package/dist/src/helpers/arrays.d.ts +2 -0
- package/dist/src/helpers/arrays.test.d.ts +1 -0
- package/dist/src/helpers/inputMask.d.ts +29 -0
- package/dist/src/helpers/inputMask.test.d.ts +1 -0
- package/dist/src/helpers/sx.d.ts +2 -0
- package/dist/src/helpers/sx.test.d.ts +1 -0
- package/dist/src/index.d.ts +1 -1
- package/dist/src/table/shared-components/StyledCheckbox.d.ts +7 -4
- package/dist/src/table/shared-components/StyledMenuItem.d.ts +18 -2
- package/dist/src/table/shared-components/menu-item/index.d.ts +13 -2
- package/dist/src/table/shared-components/tooltip/index.d.ts +5 -1
- package/dist/src/table/types.d.ts +1 -1
- package/dist/table/components/Fetching.js +4 -4
- package/dist/table/components/TableRow.js +7 -7
- package/dist/table/components/TableSkeleton.js +6 -6
- package/dist/table/components/columns/action-column/components/HeaderActionMenu.js +24 -24
- package/dist/table/components/columns/action-column/components/RowActionMenu.js +26 -25
- package/dist/table/components/table-footer/TablePagination.js +27 -24
- package/dist/table/components/table-footer/TableRowCountSelect.js +30 -27
- package/dist/table/helpers/cn.js +4 -5
- package/dist/table/shared-components/StyledCheckbox.js +54 -55
- package/dist/table/shared-components/StyledCheckbox.module.js +10 -10
- package/dist/table/shared-components/StyledMenuItem.js +12 -18
- package/dist/table/shared-components/menu-item/index.js +13 -17
- package/dist/table/shared-components/tooltip/index.js +4 -23
- package/package.json +9 -16
- package/dist/components/feedback/dialog/StyledDialogActions.module.js +0 -8
- package/dist/components/feedback/dialog/StyledDialogContent.module.js +0 -4
- package/dist/components/feedback/dialog/StyledDialogTitle.module.js +0 -4
- package/dist/components/inputs/checkbox/StyledCheckbox.js +0 -20
- package/dist/components/inputs/radio-button/StyledRadio.js +0 -17
- package/dist/datetime/shared-components/ExpandIcon.js +0 -18
- package/dist/datetime/shared-components/StyledFormControl.js +0 -23
- package/dist/datetime/shared-components/StyledInputField.js +0 -47
- package/dist/datetime/shared-components/StyledSelect.js +0 -47
- package/dist/datetime/shared-components/StyledSelectItem.js +0 -13
- package/dist/datetime/shared-components/StyledTooltip.js +0 -32
- package/dist/src/components/inputs/checkbox/StyledCheckbox.d.ts +0 -4
- package/dist/src/components/inputs/radio-button/StyledRadio.d.ts +0 -4
- package/dist/src/components/inputs/radio-button/StyledRadioGroup.d.ts +0 -4
- package/dist/src/components/inputs/switch/StyledSwitch.d.ts +0 -5
- package/dist/src/components/utils/accordion/StyledAccordion.d.ts +0 -2
- package/dist/src/components/utils/accordion/StyledAccordionDetails.d.ts +0 -2
- package/dist/src/components/utils/accordion/StyledAccordionSummary.d.ts +0 -8
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { default as React, ReactNode } from 'react';
|
|
2
|
-
import {
|
|
2
|
+
import { StyledPopoverProps } from '../popover';
|
|
3
3
|
/**
|
|
4
4
|
* Custom props:
|
|
5
5
|
* @param filterIsActive - needed to determine whether or not to show the dot in the top right corner indicating some changes were made
|
|
@@ -16,7 +16,7 @@ interface StyledFilterMenuProps {
|
|
|
16
16
|
disabled?: boolean;
|
|
17
17
|
size?: 'small' | 'large' | 'medium';
|
|
18
18
|
variant?: 'contained' | 'outlined' | 'text' | 'textGray';
|
|
19
|
-
popoverProps?: Omit<
|
|
19
|
+
popoverProps?: Omit<StyledPopoverProps, 'open' | 'anchorEl' | 'onClose' | 'children'>;
|
|
20
20
|
anchorNode?: (props: {
|
|
21
21
|
isOpen: boolean;
|
|
22
22
|
onClose: () => void;
|
|
@@ -1,2 +1,31 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface PopoverOrigin {
|
|
3
|
+
vertical: 'top' | 'center' | 'bottom' | number;
|
|
4
|
+
horizontal: 'left' | 'center' | 'right' | number;
|
|
5
|
+
}
|
|
6
|
+
export type PopoverCloseReason = 'backdropClick' | 'escapeKeyDown';
|
|
7
|
+
export interface StyledPopoverProps {
|
|
8
|
+
open: boolean;
|
|
9
|
+
anchorEl?: Element | null;
|
|
10
|
+
onClose?: (event: object, reason?: PopoverCloseReason) => void;
|
|
11
|
+
anchorOrigin?: PopoverOrigin;
|
|
12
|
+
transformOrigin?: PopoverOrigin;
|
|
13
|
+
id?: string;
|
|
14
|
+
className?: string;
|
|
15
|
+
sx?: unknown;
|
|
16
|
+
slotProps?: {
|
|
17
|
+
paper?: {
|
|
18
|
+
className?: string;
|
|
19
|
+
sx?: unknown;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
onClick?: (event: React.MouseEvent<HTMLDivElement>) => void;
|
|
23
|
+
children?: ReactNode;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Anchored popover built on `@floating-ui/react` (replaces MUI `Popover`). Positions against
|
|
27
|
+
* `anchorEl`, flips/shifts on collision, portalled, and closes on outside-press/escape mapping to
|
|
28
|
+
* MUI's `onClose(event, reason)`. `anchorOrigin`/`transformOrigin`/`slotProps.paper` preserved
|
|
29
|
+
* (DEC-003). TASK-302.
|
|
30
|
+
*/
|
|
31
|
+
export declare const StyledPopover: ({ open, anchorEl, onClose, anchorOrigin, transformOrigin, id, className, sx, slotProps, onClick, children, }: StyledPopoverProps) => JSX.Element | null;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DatePickerProps } from '../types';
|
|
2
|
-
import { PopoverProps } from '
|
|
2
|
+
import { StyledPopoverProps as PopoverProps } from '../../../../components/utils/popover';
|
|
3
3
|
export declare const StyledCalendarPicker: React.FC<{
|
|
4
4
|
datePickerProps: DatePickerProps;
|
|
5
5
|
popoverProps: PopoverProps;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { DatePickerProps } from '../types';
|
|
2
|
-
import { PopoverProps } from '
|
|
2
|
+
import { StyledPopoverProps as PopoverProps } from '../../../../components/utils/popover';
|
|
3
3
|
export declare const StyledDayPicker: React.FC<{
|
|
4
4
|
datePickerProps: DatePickerProps;
|
|
5
5
|
popoverProps: PopoverProps;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { StyledTimePickerProps } from './types';
|
|
2
|
-
import { PopupState } from '
|
|
2
|
+
import { PopupState } from '../../../hooks/usePopupState';
|
|
3
3
|
import { ChangeEvent } from 'react';
|
|
4
4
|
export declare const TimePickerInput: React.FC<StyledTimePickerProps & {
|
|
5
5
|
popupState: PopupState;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PopupState } from '
|
|
1
|
+
import { PopupState } from '../../../hooks/usePopupState';
|
|
2
2
|
import { StyledTimePickerProps } from './types';
|
|
3
3
|
export declare const TimePickerPopper: React.FC<StyledTimePickerProps & {
|
|
4
4
|
popupState: PopupState;
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { default as PopupState } from 'material-ui-popup-state';
|
|
2
1
|
import { ReactNode } from 'react';
|
|
3
2
|
/**
|
|
4
3
|
* @param notBeforeTime - Start time of the range. Selected time must be after this value.
|
|
@@ -19,4 +18,4 @@ export interface StyledTimePickerProps {
|
|
|
19
18
|
title?: string;
|
|
20
19
|
notBeforeTime?: Date;
|
|
21
20
|
}
|
|
22
|
-
export type IPopupStateType =
|
|
21
|
+
export type IPopupStateType = JSX.Element;
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const StyledFormControl: (props: FormControlProps) => JSX.Element;
|
|
1
|
+
export { StyledFormControl, type FormControlProps } from '../../components/miscellaneous/StyledFormControl';
|
|
@@ -1,12 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @inputRef
|
|
5
|
-
* inputRef to get Node of Input Element inside
|
|
6
|
-
*
|
|
7
|
-
* type='mui-input' is temporary, remove it after deleting antd from all projects. Antd lib overwrites styles for type[text]
|
|
8
|
-
*/
|
|
9
|
-
export declare const StyledInputField: React.FC<TextFieldProps & {
|
|
10
|
-
readOnly?: boolean;
|
|
11
|
-
dataTest: string;
|
|
12
|
-
}>;
|
|
1
|
+
export { StyledInputField, type StyledInputFieldProps } from '../../components/inputs/input-field/StyledInputField';
|
|
@@ -1,16 +1 @@
|
|
|
1
|
-
|
|
2
|
-
/**
|
|
3
|
-
*
|
|
4
|
-
* @usage
|
|
5
|
-
* use StyleSelect only inside StyledFormControl
|
|
6
|
-
*
|
|
7
|
-
* @size
|
|
8
|
-
* control the size through StyledFormControl
|
|
9
|
-
*
|
|
10
|
-
* @inputRef
|
|
11
|
-
* inputRef to get Node of Input Element inside
|
|
12
|
-
*
|
|
13
|
-
*/
|
|
14
|
-
export declare const StyledSelect: React.FC<SelectProps & {
|
|
15
|
-
dataTest: string;
|
|
16
|
-
}>;
|
|
1
|
+
export { StyledSelect, type StyledSelectProps, type SelectChangeEvent } from '../../components/inputs/select/StyledSelect';
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const StyledSelectItem: (item: MenuItemProps) => JSX.Element;
|
|
1
|
+
export { StyledSelectItem, type StyledSelectItemProps } from '../../components/inputs/select/StyledSelectItem';
|
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
export declare const StyledTooltip: (props: TooltipProps) => JSX.Element;
|
|
1
|
+
export { StyledTooltip, type TooltipProps } from '../../components/data-display/tooltip/StyledTooltip';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Dependency-free input masking — replaces `@react-input/mask` for the two masks this library
|
|
3
|
+
* actually uses: the date scaffold `' / / '` (showMask) and the progressive time mask
|
|
4
|
+
* `'xx:xx'`. Slots (positions equal to `maskChar`) accept digits; every other mask character is a
|
|
5
|
+
* literal.
|
|
6
|
+
*/
|
|
7
|
+
export interface InputMaskSpec {
|
|
8
|
+
/** Mask template, e.g. `' / / '` or `'xx:xx'`. */
|
|
9
|
+
mask: string;
|
|
10
|
+
/** The character in `mask` marking a fillable slot, e.g. `' '` or `'x'`. */
|
|
11
|
+
maskChar: string;
|
|
12
|
+
/** true → render the full scaffold once any digit is present; false → grow as the user types. */
|
|
13
|
+
showMask: boolean;
|
|
14
|
+
}
|
|
15
|
+
export interface MaskedResult {
|
|
16
|
+
value: string;
|
|
17
|
+
caret: number;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Pure formatter: distributes the digits of `raw` over the mask slots and computes the caret
|
|
21
|
+
* position that follows the last digit typed before `caretInRaw`. Zero digits always yield an
|
|
22
|
+
* empty value so the input's placeholder shows.
|
|
23
|
+
*/
|
|
24
|
+
export declare const formatMaskedValue: (raw: string, caretInRaw: number, spec: InputMaskSpec) => MaskedResult;
|
|
25
|
+
/**
|
|
26
|
+
* Ref-callback hook applying `formatMaskedValue` on every native `input` event, before React's
|
|
27
|
+
* delegated onChange reads the value — a drop-in for `useMask` from `@react-input/mask`.
|
|
28
|
+
*/
|
|
29
|
+
export declare const useInputMask: ({ mask, maskChar, showMask }: InputMaskSpec) => ((element: HTMLInputElement | null) => void);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/src/index.d.ts
CHANGED
|
@@ -50,4 +50,4 @@ export * from './components/custom/module/module-title/StyledModuleTitle';
|
|
|
50
50
|
export * from './components/custom/module/header-layout';
|
|
51
51
|
export * from './components/feedback/minimizable-dialog';
|
|
52
52
|
export * from './hooks/usePopupState';
|
|
53
|
-
export {
|
|
53
|
+
export { Paper, ClickAwayListener, Avatar, Skeleton, Container, Stack, FormLabel, Fade, Popper, } from './components/mui-compat';
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { default as React, SVGProps } from 'react';
|
|
2
|
-
import { Checkbox } from '@base-ui/react/checkbox';
|
|
1
|
+
import { default as React, ChangeEvent, SVGProps } from 'react';
|
|
3
2
|
type StyledCheckboxProps = {
|
|
4
3
|
dataTest: string;
|
|
5
4
|
size?: 'small' | 'medium';
|
|
@@ -8,9 +7,13 @@ type StyledCheckboxProps = {
|
|
|
8
7
|
disableRipple?: boolean;
|
|
9
8
|
hideWrapper?: boolean;
|
|
10
9
|
className?: string;
|
|
11
|
-
onChange?: (event:
|
|
12
|
-
} & Omit<React.
|
|
10
|
+
onChange?: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void;
|
|
11
|
+
} & Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange' | 'size' | 'checked' | 'type'>;
|
|
13
12
|
export declare const IndeterminateIcon: (props: SVGProps<SVGSVGElement>) => JSX.Element;
|
|
14
13
|
export declare const CheckIcon: (props: SVGProps<SVGSVGElement>) => JSX.Element;
|
|
14
|
+
/**
|
|
15
|
+
* Table's native `<input type="checkbox">` (replaces `@base-ui/react`). Mirrors the main
|
|
16
|
+
* `StyledCheckbox`; state drives the SCSS `data-*` selectors. TASK-201.
|
|
17
|
+
*/
|
|
15
18
|
export declare const StyledCheckbox: React.FC<StyledCheckboxProps>;
|
|
16
19
|
export {};
|
|
@@ -1,2 +1,18 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
1
|
+
import { MouseEvent, ReactNode } from 'react';
|
|
2
|
+
export interface StyledMenuItemProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
selected?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
classes?: {
|
|
8
|
+
root?: string;
|
|
9
|
+
};
|
|
10
|
+
onClick?: (event: MouseEvent<HTMLLIElement>) => void;
|
|
11
|
+
onMouseDown?: (event: MouseEvent<HTMLLIElement>) => void;
|
|
12
|
+
onMouseUp?: (event: MouseEvent<HTMLLIElement>) => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Table row-action menu item (replaces MUI `MenuItem`). Native `role="menuitem"`; disabled stays
|
|
16
|
+
* focusable but non-interactive. TASK-404.
|
|
17
|
+
*/
|
|
18
|
+
export declare const StyledMenuItem: ({ children, disabled, selected, className, classes, onClick, onMouseDown, onMouseUp, }: StyledMenuItemProps) => JSX.Element;
|
|
@@ -1,2 +1,13 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
1
|
+
import { MouseEvent, ReactNode } from 'react';
|
|
2
|
+
export interface MenuItemProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
selected?: boolean;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
className?: string;
|
|
7
|
+
onClick?: (event: MouseEvent<HTMLLIElement>) => void;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Table menu item with a leading check column (replaces MUI `MenuItem`). Native `role="menuitem"`.
|
|
11
|
+
* TASK-404.
|
|
12
|
+
*/
|
|
13
|
+
export declare const StyledMenuItem: ({ children, selected, disabled, className, onClick }: MenuItemProps) => JSX.Element;
|
|
@@ -1,2 +1,6 @@
|
|
|
1
|
-
import { TooltipProps } from '
|
|
1
|
+
import { TooltipProps } from '../../../components/data-display/tooltip/StyledTooltip';
|
|
2
|
+
/**
|
|
3
|
+
* Table tooltip — the core `StyledTooltip` (MUI-free) with the table's arrow + top-placement
|
|
4
|
+
* defaults. TASK-404.
|
|
5
|
+
*/
|
|
2
6
|
export declare const StyledTooltip: (props: TooltipProps) => JSX.Element;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ColumnPinningColumnDef, ColumnSizingColumnDef, GroupingColumnDef, RowData, SortingColumnDef, VisibilityColumnDef, AccessorFn, ColumnDefTemplate, CellContext, ColumnMeta, HeaderContext, Row, RowModel, TableOptions, Table, ColumnDef } from '@tanstack/react-table';
|
|
2
2
|
import { CSSProperties, MouseEvent, MutableRefObject, ReactElement, ReactNode } from 'react';
|
|
3
3
|
import { ExpandedRow, ExpandedRowsInstance, ExpandedRowsOptions, ExpandedRowsTableState } from './custom-features/expand-rows';
|
|
4
|
-
import { TooltipProps } from '
|
|
4
|
+
import { TooltipProps } from '../components/data-display/tooltip/StyledTooltip';
|
|
5
5
|
import { FocusedRowsOptions, FocusedRowsTableState, FocusedRow, FocusedRowsInstance } from './custom-features/focus-rows';
|
|
6
6
|
import { OrderedColumnsOptions, OrderedColumnsTableState } from './custom-features/order-columns';
|
|
7
7
|
import { RowSelectionTooltipOptions, RowSelectionTooltipRow } from './custom-features/row-selection-tooltip';
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import o from "
|
|
2
|
-
import
|
|
1
|
+
import { LoadingIcon as o } from "../shared-components/LoadingIcon.js";
|
|
2
|
+
import i from "./StyledTable.module.js";
|
|
3
3
|
import { jsx as e } from "react/jsx-runtime";
|
|
4
4
|
var m = ({ fetching: t = !1 }) => t ? /* @__PURE__ */ e("div", {
|
|
5
5
|
className: "absolute bottom-0 left-0 right-0 top-0 z-10 flex items-center justify-center bg-white/40",
|
|
6
|
-
children: /* @__PURE__ */ e(
|
|
7
|
-
className:
|
|
6
|
+
children: /* @__PURE__ */ e(o, {
|
|
7
|
+
className: i["loading-icon"],
|
|
8
8
|
width: 50,
|
|
9
9
|
height: 50
|
|
10
10
|
})
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { ACTIONS_COLUMN_ID as U } from "../types.js";
|
|
2
2
|
import { useRootContext as se } from "../context/RootContext.js";
|
|
3
3
|
import n from "./StyledTable.module.js";
|
|
4
|
+
import { compact as ae } from "../../helpers/arrays.js";
|
|
4
5
|
import W from "clsx";
|
|
5
|
-
import { Fragment as
|
|
6
|
-
import { Fragment as
|
|
7
|
-
import { compact as me } from "lodash-es";
|
|
6
|
+
import { Fragment as de, useCallback as ce, useEffect as re, useMemo as g } from "react";
|
|
7
|
+
import { Fragment as me, jsx as l, jsxs as p } from "react/jsx-runtime";
|
|
8
8
|
import { useSortable as ge } from "@dnd-kit/sortable";
|
|
9
9
|
import { flexRender as ue } from "@tanstack/react-table";
|
|
10
10
|
import { CSS as fe } from "@dnd-kit/utilities";
|
|
@@ -19,7 +19,7 @@ function ve({ styledTableProps: _, row: t, index: H, columnWindow: { paddingLeft
|
|
|
19
19
|
zIndex: A ? 1 : 0,
|
|
20
20
|
position: "relative"
|
|
21
21
|
}, { isResizing: ee, disableResizingFlag: te } = se();
|
|
22
|
-
|
|
22
|
+
re(() => {
|
|
23
23
|
K && t.getCanExpand() && !t.getIsExpanded() && t.toggleExpand();
|
|
24
24
|
}, []);
|
|
25
25
|
const B = (e) => {
|
|
@@ -34,7 +34,7 @@ function ve({ styledTableProps: _, row: t, index: H, columnWindow: { paddingLeft
|
|
|
34
34
|
})), T = g(() => r.filter((e) => !e.column.columnDef.fixedLeft && !e.column.columnDef.fixedRight && e.column.id !== "actions"), [r]), a = g(() => r.filter((e) => !!e.column.columnDef.fixedRight || e.column.id === "actions").map((e, i, o) => ({
|
|
35
35
|
...e,
|
|
36
36
|
right: o.slice(i + 1).reduce((d, c) => d + (c.column.getSize() ?? 0), 0)
|
|
37
|
-
})), [r]), L = g(() => a.some((e) => e.column.id === U), [a]), h = !!C || !!V, M = g(() => a.some((e) => !!e.column.columnDef.fixedRight), [a]), m = g(() => r.filter((e) => e.column.columnDef.fixedLeft), [r]), S = !Y && !q && G, b = t.getIsSelected() && S, R = x instanceof Function, z = F.length > 0 ?
|
|
37
|
+
})), [r]), L = g(() => a.some((e) => e.column.id === U), [a]), h = !!C || !!V, M = g(() => a.some((e) => !!e.column.columnDef.fixedRight), [a]), m = g(() => r.filter((e) => e.column.columnDef.fixedLeft), [r]), S = !Y && !q && G, b = t.getIsSelected() && S, R = x instanceof Function, z = F.length > 0 ? ae(F.map((e) => T[e])) : T, D = ce((e, i) => {
|
|
38
38
|
const o = e.column.id === U, d = e.column.columnDef.fixedLeft, c = !!e.column.columnDef.fixedRight, ie = e.id === m.at(-1)?.id, oe = e.id === a.at(0)?.id && !o, le = t.isExpanded(), k = i === 0;
|
|
39
39
|
return /* @__PURE__ */ l("td", {
|
|
40
40
|
className: W(n["t-cell"], R && "cursor-pointer", N, o && n["action-cell"], o && !h && n["action-cell--not-fixed"], o && h && M && n["action-cell--no-shadow"], o && h && !!C && m.length && n.shadowed, o && (s?.(t) ? s?.(t) : n["action-cell-default-background"]), d && n["fixed-cell"], c && n["fixed-right-cell"], ie && n.shadowed, oe && n["shadowed-right"], t.getIsSelected() && n.selected, d && (s?.(t) ? s?.(t) : n["fixed-cell-default-background"]), c && (s?.(t) ? s?.(t) : n["fixed-right-cell-default-background"]), le && n.expanded_row, (!!b || t.isFocused()) && n["single-selection"]),
|
|
@@ -82,7 +82,7 @@ function ve({ styledTableProps: _, row: t, index: H, columnWindow: { paddingLeft
|
|
|
82
82
|
S,
|
|
83
83
|
N
|
|
84
84
|
]);
|
|
85
|
-
return /* @__PURE__ */ p(
|
|
85
|
+
return /* @__PURE__ */ p(de, { children: [/* @__PURE__ */ p("tr", {
|
|
86
86
|
"aria-selected": t.getIsSelected() || t.isFocused() ? "true" : "false",
|
|
87
87
|
tabIndex: t.isFocused() ? 0 : -1,
|
|
88
88
|
"data-index": H,
|
|
@@ -139,7 +139,7 @@ function ve({ styledTableProps: _, row: t, index: H, columnWindow: { paddingLeft
|
|
|
139
139
|
}),
|
|
140
140
|
a.map((e, i) => D(e, m.length + z.length + i))
|
|
141
141
|
]
|
|
142
|
-
}), t.getIsExpanded() && /* @__PURE__ */ l(
|
|
142
|
+
}), t.getIsExpanded() && /* @__PURE__ */ l(me, { children: I && P?.({
|
|
143
143
|
rows: I.get(t.original.id.toString()) ?? [],
|
|
144
144
|
row: t.original
|
|
145
145
|
}) })] }, t.id);
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import a from "
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
1
|
+
import { Skeleton as a } from "../../components/mui-compat/Skeleton.js";
|
|
2
|
+
import l from "./TableSkeleton.module.js";
|
|
3
|
+
import { Fragment as m } from "react";
|
|
4
4
|
import { jsx as r } from "react/jsx-runtime";
|
|
5
|
-
var p = (({ colSpan: o, rowHeight: t = 48 }) => /* @__PURE__ */ r(
|
|
5
|
+
var p = (({ colSpan: o, rowHeight: t = 48 }) => /* @__PURE__ */ r(m, { children: Array.from({ length: 10 }).map((i, e) => /* @__PURE__ */ r("tr", { children: /* @__PURE__ */ r("td", {
|
|
6
6
|
colSpan: o,
|
|
7
7
|
height: t,
|
|
8
|
-
className:
|
|
9
|
-
children: /* @__PURE__ */ r(
|
|
8
|
+
className: l["skeleton-row"],
|
|
9
|
+
children: /* @__PURE__ */ r(a, {
|
|
10
10
|
variant: "rectangular",
|
|
11
11
|
width: "100%",
|
|
12
12
|
height: 40,
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
+
import { StyledPopover as D } from "../../../../../components/utils/popover/StyledPopover.js";
|
|
1
2
|
import { INTERNAL_COLUMN_IDS as S } from "../../../../types.js";
|
|
2
|
-
import { cn as
|
|
3
|
-
import { StyledCheckbox as
|
|
4
|
-
import { StyledTooltip as
|
|
5
|
-
import { useToggleMenuVisibility as
|
|
6
|
-
import { StyledButton as
|
|
7
|
-
import { PinIcon as
|
|
3
|
+
import { cn as N } from "../../../../helpers/cn.js";
|
|
4
|
+
import { StyledCheckbox as T } from "../../../../shared-components/StyledCheckbox.js";
|
|
5
|
+
import { StyledTooltip as A } from "../../../../shared-components/tooltip/index.js";
|
|
6
|
+
import { useToggleMenuVisibility as L } from "../../../../hooks/useToggleMenuVisibility.hook.js";
|
|
7
|
+
import { StyledButton as _ } from "../../../../shared-components/button/StyledButton.js";
|
|
8
|
+
import { PinIcon as k } from "../../../../shared-components/PinIcon.js";
|
|
8
9
|
import a from "./TableActions.module.js";
|
|
9
10
|
import c from "./HeaderActionMenu.module.js";
|
|
10
|
-
import { DotsHorizontalIcon as
|
|
11
|
-
import { useTranslations as
|
|
12
|
-
import {
|
|
11
|
+
import { DotsHorizontalIcon as H } from "../../../../shared-components/DotsHorizontalIcon.js";
|
|
12
|
+
import { useTranslations as I } from "../../../../hooks/useTranslations.js";
|
|
13
|
+
import { compact as O } from "../../../../../helpers/arrays.js";
|
|
13
14
|
import { jsx as i, jsxs as d } from "react/jsx-runtime";
|
|
14
|
-
import {
|
|
15
|
-
import { DndContext as M, PointerSensor as R, closestCenter as V, useSensor as E, useSensors as P } from "@dnd-kit/core";
|
|
15
|
+
import { DndContext as R, PointerSensor as V, closestCenter as E, useSensor as M, useSensors as P } from "@dnd-kit/core";
|
|
16
16
|
import { restrictToParentElement as w, restrictToVerticalAxis as z } from "@dnd-kit/modifiers";
|
|
17
17
|
import { SortableContext as W, arrayMove as j, useSortable as U, verticalListSortingStrategy as B } from "@dnd-kit/sortable";
|
|
18
18
|
import { CSS as Y } from "@dnd-kit/utilities";
|
|
@@ -34,21 +34,21 @@ function $({ id: n, disabled: m, children: f }) {
|
|
|
34
34
|
});
|
|
35
35
|
}
|
|
36
36
|
function ce({ headerData: n, locale: m }) {
|
|
37
|
-
const { anchorEl: f, open: u, handleClose: p, handleOpen: h } =
|
|
37
|
+
const { anchorEl: f, open: u, handleClose: p, handleOpen: h } = L(), b = n.table.getAllLeafColumns().some((e) => e.getCanHide() && !e.getIsVisible() && !S.includes(e.id)), l = n.table.getAllLeafColumns(), y = (e) => {
|
|
38
38
|
const { active: o, over: t } = e;
|
|
39
39
|
!o || !t || o.id === t.id || l.find((r) => r.id === t.id)?.columnDef.fixedLeft || l.find((r) => r.id === t.id)?.columnDef.fixedRight || n.table.setColumnOrder((r) => {
|
|
40
40
|
const s = O(r).length ? r : n.table.getAllLeafColumns().map((C) => C.id);
|
|
41
41
|
return j(s, s.indexOf(o.id), s.indexOf(t.id));
|
|
42
42
|
});
|
|
43
|
-
}, v = P(
|
|
43
|
+
}, v = P(M(V, { activationConstraint: { distance: 8 } })), g = I(m), x = l.filter((e) => !S.includes(e.id) && !!e.columnDef.header);
|
|
44
44
|
return /* @__PURE__ */ d("div", {
|
|
45
45
|
className: a["actions-header-wrapper"],
|
|
46
46
|
children: [/* @__PURE__ */ d("button", {
|
|
47
47
|
type: "button",
|
|
48
48
|
className: a["actions-header"],
|
|
49
49
|
onClick: h,
|
|
50
|
-
children: [/* @__PURE__ */ i(
|
|
51
|
-
}), /* @__PURE__ */ d(
|
|
50
|
+
children: [/* @__PURE__ */ i(k, { className: a["pin-icon"] }), b && /* @__PURE__ */ i("div", { className: a["pin-indicator"] })]
|
|
51
|
+
}), /* @__PURE__ */ d(D, {
|
|
52
52
|
anchorEl: f,
|
|
53
53
|
anchorOrigin: {
|
|
54
54
|
horizontal: "left",
|
|
@@ -56,15 +56,15 @@ function ce({ headerData: n, locale: m }) {
|
|
|
56
56
|
},
|
|
57
57
|
open: u,
|
|
58
58
|
onClose: p,
|
|
59
|
-
|
|
59
|
+
slotProps: { paper: { sx: {
|
|
60
60
|
maxHeight: "calc(7 * 36px)",
|
|
61
61
|
overflowY: "auto",
|
|
62
62
|
scrollbarWidth: "thin"
|
|
63
|
-
} },
|
|
64
|
-
children: [/* @__PURE__ */ i(
|
|
63
|
+
} } },
|
|
64
|
+
children: [/* @__PURE__ */ i(R, {
|
|
65
65
|
modifiers: [z, w],
|
|
66
66
|
onDragEnd: y,
|
|
67
|
-
collisionDetection: (e) =>
|
|
67
|
+
collisionDetection: (e) => E(e).filter((o) => {
|
|
68
68
|
const t = x.find((r) => r.id === o.id);
|
|
69
69
|
return !t?.columnDef.fixedLeft && !t?.columnDef.fixedRight;
|
|
70
70
|
}),
|
|
@@ -77,7 +77,7 @@ function ce({ headerData: n, locale: m }) {
|
|
|
77
77
|
return /* @__PURE__ */ i($, {
|
|
78
78
|
id: e.id,
|
|
79
79
|
disabled: o,
|
|
80
|
-
children: ({ listeners: s, attributes: C }) => /* @__PURE__ */ i(
|
|
80
|
+
children: ({ listeners: s, attributes: C }) => /* @__PURE__ */ i(A, {
|
|
81
81
|
title: r,
|
|
82
82
|
arrow: !0,
|
|
83
83
|
children: /* @__PURE__ */ d("button", {
|
|
@@ -87,7 +87,7 @@ function ce({ headerData: n, locale: m }) {
|
|
|
87
87
|
},
|
|
88
88
|
className: c["table-action-item"],
|
|
89
89
|
children: [
|
|
90
|
-
/* @__PURE__ */ i(
|
|
90
|
+
/* @__PURE__ */ i(H, {
|
|
91
91
|
width: 20,
|
|
92
92
|
height: 20,
|
|
93
93
|
...C,
|
|
@@ -98,11 +98,11 @@ function ce({ headerData: n, locale: m }) {
|
|
|
98
98
|
userSelect: "none",
|
|
99
99
|
WebkitTouchCallout: "none"
|
|
100
100
|
},
|
|
101
|
-
className:
|
|
101
|
+
className: N(c["drag-icon"], o ? c["drag-icon--disabled"] : c["drag-icon--enabled"])
|
|
102
102
|
}),
|
|
103
103
|
/* @__PURE__ */ i("span", {
|
|
104
104
|
className: "px-2",
|
|
105
|
-
children: /* @__PURE__ */ i(
|
|
105
|
+
children: /* @__PURE__ */ i(T, {
|
|
106
106
|
readOnly: t,
|
|
107
107
|
dataTest: `${e.id}-column-visibility-checkbox`,
|
|
108
108
|
size: "small",
|
|
@@ -123,7 +123,7 @@ function ce({ headerData: n, locale: m }) {
|
|
|
123
123
|
})
|
|
124
124
|
}), /* @__PURE__ */ i("div", {
|
|
125
125
|
className: "pb-2 pl-2",
|
|
126
|
-
children: /* @__PURE__ */ i(
|
|
126
|
+
children: /* @__PURE__ */ i(_, {
|
|
127
127
|
dataTest: "reset-order-button",
|
|
128
128
|
variant: "text",
|
|
129
129
|
size: "small",
|
|
@@ -1,21 +1,22 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { StyledPopover as T } from "../../../../../components/utils/popover/StyledPopover.js";
|
|
2
|
+
import { StyledMenuList as M } from "../../../../../components/navigation/menu/StyledMenuList.js";
|
|
3
|
+
import { isCustomAction as S } from "../../../../types.js";
|
|
2
4
|
import { StyledTooltip as f } from "../../../../shared-components/tooltip/index.js";
|
|
3
|
-
import { useToggleMenuVisibility as
|
|
4
|
-
import { DotsVerticalIcon as
|
|
5
|
-
import { StyledMenuItem as
|
|
6
|
-
import { StyledButton as
|
|
7
|
-
import { CircleWarningOutlineIcon as
|
|
8
|
-
import h, { useEffect as
|
|
9
|
-
import { MenuList as I, Popover as V } from "@mui/material";
|
|
5
|
+
import { useToggleMenuVisibility as O } from "../../../../hooks/useToggleMenuVisibility.hook.js";
|
|
6
|
+
import { DotsVerticalIcon as j } from "../../../../shared-components/DotsVerticalIcon.js";
|
|
7
|
+
import { StyledMenuItem as A } from "../../../../shared-components/StyledMenuItem.js";
|
|
8
|
+
import { StyledButton as k } from "../../../../shared-components/button/StyledButton.js";
|
|
9
|
+
import { CircleWarningOutlineIcon as D } from "../../../../shared-components/CircleWarningOutlineIcon.js";
|
|
10
|
+
import h, { useEffect as F, useMemo as I, useState as V } from "react";
|
|
10
11
|
import { jsx as t, jsxs as g } from "react/jsx-runtime";
|
|
11
|
-
function
|
|
12
|
-
const { anchorEl: C, open: b, handleClose: s, handleOpen: x } =
|
|
13
|
-
if (
|
|
12
|
+
function K({ tableData: o, actions: w, rowActionsState: v }) {
|
|
13
|
+
const { anchorEl: C, open: b, handleClose: s, handleOpen: x } = O(), l = w(o.row), n = v?.(o.row) ?? { state: "enabled" }, P = o.table.options.meta?.locale === "no" ? "Ingen handlinger tilgjengelig" : "No actions available", y = I(() => l.every((e) => "component" in e ? !1 : e.hide), [l]), d = l.length > 0 && !y, p = n.state === "enabled" && !d, N = n.state !== "hidden" && (d || p || n.state === "disabled"), [a, i] = V(!1);
|
|
14
|
+
if (F(() => {
|
|
14
15
|
if (!a) return;
|
|
15
|
-
const e = window.setTimeout(() =>
|
|
16
|
+
const e = window.setTimeout(() => i(!1), 1600);
|
|
16
17
|
return () => window.clearTimeout(e);
|
|
17
|
-
}, [a]), !
|
|
18
|
-
const c = n.state === "disabled", u = /* @__PURE__ */ t(
|
|
18
|
+
}, [a]), !N) return /* @__PURE__ */ t("div", { className: "flex w-[40px] items-center justify-center" });
|
|
19
|
+
const c = n.state === "disabled", u = /* @__PURE__ */ t(k, {
|
|
19
20
|
dataTest: "",
|
|
20
21
|
variant: "text",
|
|
21
22
|
size: "small",
|
|
@@ -29,7 +30,7 @@ function J({ tableData: o, actions: w, rowActionsState: v }) {
|
|
|
29
30
|
onMouseUp: (e) => {
|
|
30
31
|
e.stopPropagation(), e.preventDefault();
|
|
31
32
|
},
|
|
32
|
-
children: /* @__PURE__ */ t(
|
|
33
|
+
children: /* @__PURE__ */ t(j, {
|
|
33
34
|
className: c ? "text-delta-300" : "text-delta-700",
|
|
34
35
|
width: 20,
|
|
35
36
|
height: 20
|
|
@@ -44,19 +45,19 @@ function J({ tableData: o, actions: w, rowActionsState: v }) {
|
|
|
44
45
|
arrow: !0,
|
|
45
46
|
placement: n.tooltipPlacement ?? "top",
|
|
46
47
|
open: a,
|
|
47
|
-
onOpen: () =>
|
|
48
|
-
onClose: () =>
|
|
48
|
+
onOpen: () => i(!0),
|
|
49
|
+
onClose: () => i(!1),
|
|
49
50
|
children: /* @__PURE__ */ t("span", {
|
|
50
51
|
className: "cursor-not-allowed",
|
|
51
52
|
onTouchStart: (e) => {
|
|
52
|
-
e.stopPropagation(), e.preventDefault(),
|
|
53
|
+
e.stopPropagation(), e.preventDefault(), i(!0);
|
|
53
54
|
},
|
|
54
55
|
onClick: (e) => {
|
|
55
56
|
e.stopPropagation(), e.preventDefault();
|
|
56
57
|
},
|
|
57
58
|
children: u
|
|
58
59
|
})
|
|
59
|
-
}) : u, n.state === "enabled" && /* @__PURE__ */ t(
|
|
60
|
+
}) : u, n.state === "enabled" && /* @__PURE__ */ t(T, {
|
|
60
61
|
open: b,
|
|
61
62
|
anchorEl: C,
|
|
62
63
|
onClose: () => {
|
|
@@ -75,14 +76,14 @@ function J({ tableData: o, actions: w, rowActionsState: v }) {
|
|
|
75
76
|
},
|
|
76
77
|
children: p ? /* @__PURE__ */ g("div", {
|
|
77
78
|
className: "flex items-center gap-2 p-3 text-delta-700",
|
|
78
|
-
children: [/* @__PURE__ */ t(
|
|
79
|
+
children: [/* @__PURE__ */ t(D, {
|
|
79
80
|
width: 20,
|
|
80
81
|
height: 20
|
|
81
82
|
}), /* @__PURE__ */ t("span", { children: P })]
|
|
82
|
-
}) : /* @__PURE__ */ t(
|
|
83
|
+
}) : /* @__PURE__ */ t(M, {
|
|
83
84
|
disablePadding: !0,
|
|
84
|
-
children:
|
|
85
|
-
if (
|
|
85
|
+
children: l.map((e, m) => {
|
|
86
|
+
if (S(e)) {
|
|
86
87
|
const r = e.component(o.row, s);
|
|
87
88
|
return h.isValidElement(r) ? /* @__PURE__ */ t(h.Fragment, { children: r }, m) : null;
|
|
88
89
|
}
|
|
@@ -90,7 +91,7 @@ function J({ tableData: o, actions: w, rowActionsState: v }) {
|
|
|
90
91
|
title: e?.tooltipTitle,
|
|
91
92
|
arrow: !0,
|
|
92
93
|
placement: e?.tooltipPlacement ?? "left",
|
|
93
|
-
children: /* @__PURE__ */ t("span", { children: /* @__PURE__ */ t(
|
|
94
|
+
children: /* @__PURE__ */ t("span", { children: /* @__PURE__ */ t(A, {
|
|
94
95
|
className: e.className,
|
|
95
96
|
disabled: e.disabled,
|
|
96
97
|
onClick: () => {
|
|
@@ -112,5 +113,5 @@ function J({ tableData: o, actions: w, rowActionsState: v }) {
|
|
|
112
113
|
});
|
|
113
114
|
}
|
|
114
115
|
export {
|
|
115
|
-
|
|
116
|
+
K as RowActionMenu
|
|
116
117
|
};
|