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,8 +1,60 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export interface
|
|
1
|
+
import { ReactNode, SyntheticEvent } from 'react';
|
|
2
|
+
export interface SliderMark {
|
|
3
|
+
value: number;
|
|
4
|
+
label?: ReactNode;
|
|
5
|
+
}
|
|
6
|
+
type SliderValue = number | number[];
|
|
7
|
+
interface SliderClasses {
|
|
8
|
+
root?: string;
|
|
9
|
+
rail?: string;
|
|
10
|
+
track?: string;
|
|
11
|
+
thumb?: string;
|
|
12
|
+
mark?: string;
|
|
13
|
+
markActive?: string;
|
|
14
|
+
markLabel?: string;
|
|
15
|
+
markLabelActive?: string;
|
|
16
|
+
}
|
|
17
|
+
interface SliderSlotProps {
|
|
18
|
+
thumb?: {
|
|
19
|
+
className?: string;
|
|
20
|
+
};
|
|
21
|
+
rail?: {
|
|
22
|
+
className?: string;
|
|
23
|
+
};
|
|
24
|
+
markLabel?: {
|
|
25
|
+
className?: string;
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
export interface StyledSliderProps {
|
|
3
29
|
dataTest: string;
|
|
30
|
+
min?: number;
|
|
31
|
+
max?: number;
|
|
32
|
+
step?: number;
|
|
33
|
+
value?: SliderValue;
|
|
34
|
+
defaultValue?: SliderValue;
|
|
35
|
+
disabled?: boolean;
|
|
36
|
+
size?: 'small' | 'medium';
|
|
37
|
+
orientation?: 'horizontal' | 'vertical';
|
|
38
|
+
marks?: boolean | SliderMark[];
|
|
39
|
+
name?: string;
|
|
40
|
+
className?: string;
|
|
41
|
+
classes?: SliderClasses;
|
|
42
|
+
slotProps?: SliderSlotProps;
|
|
4
43
|
error?: boolean;
|
|
5
44
|
errorText?: string;
|
|
6
45
|
helperText?: string;
|
|
46
|
+
onChange?: (event: SyntheticEvent, value: SliderValue, activeThumb: number) => void;
|
|
47
|
+
onChangeCommitted?: (event: SyntheticEvent, value: SliderValue) => void;
|
|
7
48
|
}
|
|
8
|
-
|
|
49
|
+
/**
|
|
50
|
+
* Native range-input slider (replaces MUI `Slider`). Single value uses one `<input type="range">`;
|
|
51
|
+
* a two-element `value` renders two stacked inputs (each thumb independently grabbable via
|
|
52
|
+
* pointer-events on the thumb only). Marks, vertical orientation, `classes`/`slotProps` slots and
|
|
53
|
+
* `onChange`/`onChangeCommitted` are preserved (DEC-003).
|
|
54
|
+
*
|
|
55
|
+
* ponytail: exact-pixel parity with MUI's thumb travel/animation is a known ceiling — Chromatic in
|
|
56
|
+
* CI is the visual gate. Upgrade path: tune the 8px thumb inset if a diff shows misalignment.
|
|
57
|
+
* TASK-204.
|
|
58
|
+
*/
|
|
59
|
+
export declare const StyledSlider: ({ dataTest, min, max, step, value, defaultValue, disabled, size, orientation, marks, name, className, classes, slotProps, error, errorText, helperText, onChange, onChangeCommitted, }: StyledSliderProps) => JSX.Element;
|
|
60
|
+
export {};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { Switch } from '@base-ui/react/switch';
|
|
1
|
+
import { default as React, ButtonHTMLAttributes } from 'react';
|
|
3
2
|
type StyledSwitchProps = {
|
|
4
3
|
checked?: boolean;
|
|
5
4
|
defaultChecked?: boolean;
|
|
@@ -9,7 +8,24 @@ type StyledSwitchProps = {
|
|
|
9
8
|
required?: boolean;
|
|
10
9
|
id?: string;
|
|
11
10
|
dataTest?: string;
|
|
12
|
-
|
|
11
|
+
className?: string;
|
|
12
|
+
} & Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onChange' | 'type'>;
|
|
13
13
|
export type SwitchProps = StyledSwitchProps;
|
|
14
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Native `<button role="switch">` toggle (replaces `@base-ui/react`). Drives the SCSS module's
|
|
16
|
+
* `data-checked`/`data-unchecked`/`data-disabled` selectors from React; the visual track/thumb stay
|
|
17
|
+
* in SCSS (transitions/pseudo-elements — GUD-003). Public props + `onChange(event, checked)`
|
|
18
|
+
* unchanged. TASK-201.
|
|
19
|
+
*/
|
|
20
|
+
export declare const StyledSwitch: React.ForwardRefExoticComponent<{
|
|
21
|
+
checked?: boolean;
|
|
22
|
+
defaultChecked?: boolean;
|
|
23
|
+
onChange?: (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => void;
|
|
24
|
+
disabled?: boolean;
|
|
25
|
+
readOnly?: boolean;
|
|
26
|
+
required?: boolean;
|
|
27
|
+
id?: string;
|
|
28
|
+
dataTest?: string;
|
|
29
|
+
className?: string;
|
|
30
|
+
} & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "onChange" | "type"> & React.RefAttributes<HTMLButtonElement>>;
|
|
15
31
|
export {};
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { FieldSize } from '../inputs/field-styles';
|
|
2
|
+
export interface FormControlContextValue {
|
|
3
|
+
focused: boolean;
|
|
4
|
+
filled: boolean;
|
|
5
|
+
error: boolean;
|
|
6
|
+
disabled: boolean;
|
|
7
|
+
required: boolean;
|
|
8
|
+
size: FieldSize;
|
|
9
|
+
labelId?: string;
|
|
10
|
+
setFocused: (value: boolean) => void;
|
|
11
|
+
setFilled: (value: boolean) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const FormControlContext: import('node_modules/@types/react').Context<FormControlContextValue | null>;
|
|
14
|
+
export declare const useFormControlContext: () => FormControlContextValue | null;
|
|
@@ -1,2 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import { FieldSize } from '../inputs/field-styles';
|
|
3
|
+
export interface FormControlProps {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
error?: boolean;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
size?: FieldSize;
|
|
9
|
+
fullWidth?: boolean;
|
|
10
|
+
/** Accepted for API parity; the design always renders outlined. */
|
|
11
|
+
variant?: string;
|
|
12
|
+
className?: string;
|
|
13
|
+
style?: CSSProperties;
|
|
14
|
+
sx?: unknown;
|
|
15
|
+
id?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Form-field context provider + positioned container (replaces MUI `FormControl`). Tracks
|
|
19
|
+
* focus/filled state so `StyledInputLabel` can float and `StyledFormHelperText` can colour itself;
|
|
20
|
+
* `StyledSelect` reports its state into this context. Public props preserved (DEC-003). TASK-401.
|
|
21
|
+
*/
|
|
22
|
+
export declare const StyledFormControl: ({ children, error, disabled, required, size, fullWidth, className, style, sx, id, }: FormControlProps) => JSX.Element;
|
|
@@ -1,2 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
1
|
+
import { ChangeEvent, ReactElement, ReactNode } from 'react';
|
|
2
|
+
export type LabelPlacement = 'end' | 'start' | 'top' | 'bottom';
|
|
3
|
+
export interface FormControlLabelProps {
|
|
4
|
+
/** The control element (a checkbox, radio, or switch). Receives `checked`/`onChange`/`disabled`/`name`/`value` unless already set. */
|
|
5
|
+
control: ReactElement;
|
|
6
|
+
label?: ReactNode;
|
|
7
|
+
checked?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
name?: string;
|
|
10
|
+
value?: unknown;
|
|
11
|
+
labelPlacement?: LabelPlacement;
|
|
12
|
+
className?: string;
|
|
13
|
+
sx?: unknown;
|
|
14
|
+
onChange?: (event: ChangeEvent<HTMLInputElement>, checked: boolean) => void;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Native replacement for MUI `FormControlLabel` — a `<label>` that pairs a form control with a
|
|
18
|
+
* text label and forwards `checked`/`onChange`/`disabled`/`name`/`value` into the control (MUI's
|
|
19
|
+
* clone behavior). Public props preserved (DEC-003). TASK-203.
|
|
20
|
+
*/
|
|
21
|
+
export declare const StyledFormControlLabel: ({ control, label, checked, disabled, name, value, labelPlacement, className, sx, onChange, }: FormControlLabelProps) => JSX.Element;
|
|
@@ -1,2 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
interface FormGroupProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
row?: boolean;
|
|
4
|
+
sx?: unknown;
|
|
5
|
+
classes?: Record<string, string>;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* MUI-free `FormGroup`: a flex container, column by default or `row`. TASK-101.
|
|
9
|
+
*/
|
|
10
|
+
export declare const StyledFormGroup: ({ row, className, sx, style, children, classes: _classes, ...rest }: FormGroupProps) => JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -1,2 +1,12 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
1
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export interface FormHelperTextProps extends Omit<HTMLAttributes<HTMLParagraphElement>, 'children'> {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
error?: boolean;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
}
|
|
7
|
+
/**
|
|
8
|
+
* Helper/validation text under a field (replaces MUI `FormHelperText`). Inherits `error`/`disabled`
|
|
9
|
+
* from a surrounding `StyledFormControl` when present, else from props. Public props preserved
|
|
10
|
+
* (DEC-003). TASK-401.
|
|
11
|
+
*/
|
|
12
|
+
export declare const StyledFormHelperText: ({ children, error, disabled, className, ...rest }: FormHelperTextProps) => JSX.Element;
|
|
@@ -1,2 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
import { FieldSize } from '../inputs/field-styles';
|
|
3
|
+
export interface InputLabelProps {
|
|
4
|
+
children?: ReactNode;
|
|
5
|
+
htmlFor?: string;
|
|
6
|
+
id?: string;
|
|
7
|
+
required?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
9
|
+
error?: boolean;
|
|
10
|
+
size?: FieldSize;
|
|
11
|
+
/** Force the shrunk (floated) state; otherwise derived from the surrounding FormControl. */
|
|
12
|
+
shrink?: boolean;
|
|
13
|
+
className?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Floating field label (replaces MUI `InputLabel`). Reads focus/filled/error/size from the
|
|
17
|
+
* surrounding `StyledFormControl`; `shrink` lifts it onto the border. Public props preserved
|
|
18
|
+
* (DEC-003). TASK-401.
|
|
19
|
+
*/
|
|
20
|
+
export declare const StyledInputLabel: ({ children, htmlFor, id, required, disabled, error, size, shrink, className, }: InputLabelProps) => JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { AvatarProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* MUI-free `Avatar`: 40×40 flex box showing an image (`src`) or fallback children/initials on a
|
|
4
|
+
* grey background. Reproduces MUI default metrics + `variant`. TASK-102.
|
|
5
|
+
*/
|
|
6
|
+
export declare const Avatar: ({ src, srcSet, alt, variant, sizes, className, sx, style, children, classes: _classes, component: _component, ...rest }: AvatarProps) => JSX.Element;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ReactElement } from 'react';
|
|
2
|
+
type MouseEventName = 'onClick' | 'onMouseDown' | 'onMouseUp';
|
|
3
|
+
type TouchEventName = 'onTouchStart' | 'onTouchEnd';
|
|
4
|
+
export interface ClickAwayListenerProps {
|
|
5
|
+
children: ReactElement;
|
|
6
|
+
onClickAway: (event: MouseEvent | TouchEvent) => void;
|
|
7
|
+
mouseEvent?: MouseEventName | false;
|
|
8
|
+
touchEvent?: TouchEventName | false;
|
|
9
|
+
disableReactTree?: boolean;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* MUI-free `ClickAwayListener`: fires `onClickAway` when a pointer event lands outside the single
|
|
13
|
+
* child element. Matches the MUI API subset this library uses (`onClickAway`, `mouseEvent`,
|
|
14
|
+
* `touchEvent`). The child must forward a ref to its root DOM node.
|
|
15
|
+
*
|
|
16
|
+
* @see asma-modules/_docs/frontend/plans/2026-07-10-19-12-plan-asma-ui-core-mui-removal.md — TASK-102
|
|
17
|
+
*/
|
|
18
|
+
export declare const ClickAwayListener: ({ children, onClickAway, mouseEvent, touchEvent, }: ClickAwayListenerProps) => ReactElement;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ContainerProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* MUI-free `Container`: full-width, horizontally centred, with default 16px gutters and a
|
|
4
|
+
* breakpoint `maxWidth` (default `lg`). `fixed` is not reproduced (rare). TASK-102.
|
|
5
|
+
*/
|
|
6
|
+
export declare const Container: ({ maxWidth, disableGutters, className, sx, style, component, children, fixed: _fixed, ...rest }: ContainerProps) => JSX.Element;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { CSSProperties, ReactElement } from 'react';
|
|
2
|
+
type Timeout = number | {
|
|
3
|
+
enter?: number;
|
|
4
|
+
exit?: number;
|
|
5
|
+
};
|
|
6
|
+
export interface FadeProps {
|
|
7
|
+
in?: boolean;
|
|
8
|
+
timeout?: Timeout;
|
|
9
|
+
appear?: boolean;
|
|
10
|
+
children: ReactElement;
|
|
11
|
+
onEnter?: () => void;
|
|
12
|
+
onExited?: () => void;
|
|
13
|
+
style?: CSSProperties;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Opacity transition (replaces MUI `Fade`). Clones its single child and runs a CSS keyframe on
|
|
17
|
+
* enter/exit, keeping the child mounted through the exit tween before calling `onExited` (so a
|
|
18
|
+
* parent `Popper` can unmount it). Public props preserved (DEC-003). TASK-403.
|
|
19
|
+
*/
|
|
20
|
+
export declare const Fade: ({ in: inProp, timeout, children, onExited, style, }: FadeProps) => JSX.Element | null;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { FormLabelProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* MUI-free `FormLabel`: a `<label>` with MUI's default form-label typography/colour. Distinct from
|
|
4
|
+
* this library's `StyledFormLabel` (data-display); this is the raw MUI passthrough. TASK-102.
|
|
5
|
+
*/
|
|
6
|
+
export declare const FormLabel: ({ required, className, sx, style, children, classes: _classes, component: _component, error: _error, focused: _focused, filled: _filled, color: _color, ...rest }: FormLabelProps) => JSX.Element;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { PaperProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* MUI-free `Paper`: white surface with border-radius and an elevation shadow (default 1) or an
|
|
4
|
+
* outlined border (`variant="outlined"`). Reproduces the MUI default-theme shadow scale (TASK-102).
|
|
5
|
+
*/
|
|
6
|
+
export declare const Paper: ({ elevation, square, variant, className, sx, style, component, children, classes: _classes, ...rest }: PaperProps) => JSX.Element;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { CSSProperties, ReactNode } from 'react';
|
|
2
|
+
import { Placement } from '@floating-ui/react';
|
|
3
|
+
export interface PopperTransitionProps {
|
|
4
|
+
in: boolean;
|
|
5
|
+
onExited: () => void;
|
|
6
|
+
}
|
|
7
|
+
type PopperChildren = ReactNode | ((props: {
|
|
8
|
+
TransitionProps: PopperTransitionProps;
|
|
9
|
+
placement: Placement;
|
|
10
|
+
}) => ReactNode);
|
|
11
|
+
export interface PopperProps {
|
|
12
|
+
open?: boolean;
|
|
13
|
+
anchorEl?: Element | null;
|
|
14
|
+
id?: string;
|
|
15
|
+
placement?: Placement;
|
|
16
|
+
transition?: boolean;
|
|
17
|
+
disablePortal?: boolean;
|
|
18
|
+
className?: string;
|
|
19
|
+
style?: CSSProperties;
|
|
20
|
+
children?: PopperChildren;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Positioning primitive (replaces MUI `Popper`) built on `@floating-ui/react`. Positions its
|
|
24
|
+
* content against `anchorEl`; with `transition`, renders children as a function receiving
|
|
25
|
+
* `TransitionProps` (`in`/`onExited`) so a child `Fade` can animate and unmount. Public props
|
|
26
|
+
* preserved (DEC-003). TASK-403.
|
|
27
|
+
*/
|
|
28
|
+
export declare const Popper: ({ open, anchorEl, id, placement, transition, disablePortal, className, style, children, }: PopperProps) => JSX.Element | null;
|
|
29
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SkeletonProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* MUI-free `Skeleton`: grey placeholder with the pulse animation (default). Reproduces MUI's
|
|
4
|
+
* variants (`text`/`circular`/`rectangular`/`rounded`), `width`/`height`, and background. `wave`
|
|
5
|
+
* animation degrades to `pulse` (Tailwind-first). TASK-102.
|
|
6
|
+
*/
|
|
7
|
+
export declare const Skeleton: ({ variant, width, height, animation, className, sx, style, children, classes: _classes, component: _component, ...rest }: SkeletonProps) => JSX.Element;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { StackProps } from './types';
|
|
2
|
+
/**
|
|
3
|
+
* MUI-free `Stack`: a flex container with `direction` and `spacing` (× 8px gap) and optional
|
|
4
|
+
* `divider` between children. Scalar direction/spacing only — responsive breakpoint objects are not
|
|
5
|
+
* reproduced (rare on this library's usage). TASK-102.
|
|
6
|
+
*/
|
|
7
|
+
export declare const Stack: ({ direction, spacing, divider, className, sx, style, component, children, useFlexGap: _useFlexGap, ...rest }: StackProps) => JSX.Element;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { ClickAwayListener } from './ClickAwayListener';
|
|
2
|
+
export { Paper } from './Paper';
|
|
3
|
+
export { Stack } from './Stack';
|
|
4
|
+
export { Container } from './Container';
|
|
5
|
+
export { Avatar } from './Avatar';
|
|
6
|
+
export { Skeleton } from './Skeleton';
|
|
7
|
+
export { FormLabel } from './FormLabel';
|
|
8
|
+
export { Fade } from './Fade';
|
|
9
|
+
export { Popper } from './Popper';
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { ElementType, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
interface BaseShimProps extends HTMLAttributes<HTMLElement> {
|
|
3
|
+
sx?: unknown;
|
|
4
|
+
component?: ElementType;
|
|
5
|
+
classes?: Record<string, string>;
|
|
6
|
+
}
|
|
7
|
+
export interface PaperProps extends BaseShimProps {
|
|
8
|
+
elevation?: number;
|
|
9
|
+
square?: boolean;
|
|
10
|
+
variant?: 'elevation' | 'outlined';
|
|
11
|
+
}
|
|
12
|
+
export interface StackProps extends BaseShimProps {
|
|
13
|
+
direction?: 'row' | 'row-reverse' | 'column' | 'column-reverse';
|
|
14
|
+
spacing?: number | string;
|
|
15
|
+
divider?: ReactNode;
|
|
16
|
+
useFlexGap?: boolean;
|
|
17
|
+
}
|
|
18
|
+
export interface AvatarProps extends BaseShimProps {
|
|
19
|
+
src?: string;
|
|
20
|
+
srcSet?: string;
|
|
21
|
+
alt?: string;
|
|
22
|
+
sizes?: string;
|
|
23
|
+
variant?: 'circular' | 'rounded' | 'square';
|
|
24
|
+
}
|
|
25
|
+
export interface SkeletonProps extends BaseShimProps {
|
|
26
|
+
variant?: 'text' | 'rectangular' | 'rounded' | 'circular';
|
|
27
|
+
width?: number | string;
|
|
28
|
+
height?: number | string;
|
|
29
|
+
animation?: 'pulse' | 'wave' | false;
|
|
30
|
+
}
|
|
31
|
+
export interface ContainerProps extends BaseShimProps {
|
|
32
|
+
maxWidth?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | false;
|
|
33
|
+
disableGutters?: boolean;
|
|
34
|
+
fixed?: boolean;
|
|
35
|
+
}
|
|
36
|
+
export interface FormLabelProps extends HTMLAttributes<HTMLLabelElement> {
|
|
37
|
+
sx?: unknown;
|
|
38
|
+
component?: ElementType;
|
|
39
|
+
classes?: Record<string, string>;
|
|
40
|
+
required?: boolean;
|
|
41
|
+
error?: boolean;
|
|
42
|
+
focused?: boolean;
|
|
43
|
+
filled?: boolean;
|
|
44
|
+
color?: string;
|
|
45
|
+
}
|
|
46
|
+
export {};
|
|
@@ -1,3 +1,22 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
export type DrawerAnchor = 'left' | 'right' | 'top' | 'bottom';
|
|
3
|
+
export type DrawerCloseReason = 'backdropClick' | 'escapeKeyDown';
|
|
4
|
+
export interface DrawerProps {
|
|
5
|
+
open?: boolean;
|
|
6
|
+
onClose?: (event: Event | React.SyntheticEvent, reason: DrawerCloseReason) => void;
|
|
7
|
+
anchor?: DrawerAnchor;
|
|
8
|
+
variant?: 'temporary' | 'persistent' | 'permanent';
|
|
9
|
+
hideBackdrop?: boolean;
|
|
10
|
+
className?: string;
|
|
11
|
+
sx?: unknown;
|
|
12
|
+
PaperProps?: {
|
|
13
|
+
className?: string;
|
|
14
|
+
sx?: unknown;
|
|
15
|
+
};
|
|
16
|
+
children?: ReactNode;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Sliding edge panel (replaces MUI `Drawer`). Portalled, slides from `anchor`, temporary variant
|
|
20
|
+
* shows a backdrop and closes on backdrop-click / Escape. Public props preserved (DEC-003). TASK-304.
|
|
21
|
+
*/
|
|
3
22
|
export declare const StyledDrawer: FC<DrawerProps>;
|
|
@@ -1,2 +1,25 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
1
|
+
import { MouseEvent, ReactNode } from 'react';
|
|
2
|
+
import { PopoverOrigin, StyledPopoverProps } from '../../utils/popover';
|
|
3
|
+
export interface MenuProps {
|
|
4
|
+
open: boolean;
|
|
5
|
+
anchorEl?: Element | null;
|
|
6
|
+
onClose?: StyledPopoverProps['onClose'];
|
|
7
|
+
anchorOrigin?: PopoverOrigin;
|
|
8
|
+
transformOrigin?: PopoverOrigin;
|
|
9
|
+
id?: string;
|
|
10
|
+
className?: string;
|
|
11
|
+
sx?: unknown;
|
|
12
|
+
classes?: {
|
|
13
|
+
paper?: string;
|
|
14
|
+
list?: string;
|
|
15
|
+
};
|
|
16
|
+
autoFocus?: boolean;
|
|
17
|
+
onClick?: (event: MouseEvent<HTMLUListElement>) => void;
|
|
18
|
+
children?: ReactNode;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Anchored menu (replaces MUI `Menu`) = `StyledPopover` + a keyboard-navigable `StyledMenuList`.
|
|
22
|
+
* Public props (`open`/`anchorEl`/`onClose`/`anchorOrigin`/`classes`/`autoFocus`) preserved
|
|
23
|
+
* (DEC-003). TASK-303.
|
|
24
|
+
*/
|
|
25
|
+
export declare const StyledMenu: ({ open, anchorEl, onClose, anchorOrigin, transformOrigin, id, className, sx, classes, autoFocus, onClick, children, }: MenuProps) => JSX.Element;
|
|
@@ -1,2 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
1
|
+
import { MouseEvent, ReactNode } from 'react';
|
|
2
|
+
export interface StyledMenuItemProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
onClick?: (event: MouseEvent<HTMLLIElement>) => void;
|
|
5
|
+
disabled?: boolean;
|
|
6
|
+
selected?: boolean;
|
|
7
|
+
value?: unknown;
|
|
8
|
+
className?: string;
|
|
9
|
+
classes?: {
|
|
10
|
+
root?: string;
|
|
11
|
+
selected?: string;
|
|
12
|
+
};
|
|
13
|
+
sx?: unknown;
|
|
14
|
+
'data-test'?: string;
|
|
15
|
+
'data-testid'?: string;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Native `role="menuitem"` (replaces MUI `MenuItem`). Enter/Space activate; a disabled item stays
|
|
19
|
+
* focusable but non-interactive (MUI parity). Public props preserved (DEC-003). TASK-303.
|
|
20
|
+
*/
|
|
21
|
+
export declare const StyledMenuItem: ({ children, onClick, disabled, selected, className, classes, sx, "data-test": dataTest, "data-testid": dataTestId, value: _value, }: StyledMenuItemProps) => JSX.Element;
|
|
@@ -1,2 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export
|
|
1
|
+
import { KeyboardEvent, MouseEvent, ReactNode } from 'react';
|
|
2
|
+
export interface StyledMenuListProps {
|
|
3
|
+
children?: ReactNode;
|
|
4
|
+
className?: string;
|
|
5
|
+
/** Focus the first enabled item on mount (MUI Menu autoFocus behaviour). */
|
|
6
|
+
autoFocus?: boolean;
|
|
7
|
+
/** Drop the default vertical padding (MUI `disablePadding`). */
|
|
8
|
+
disablePadding?: boolean;
|
|
9
|
+
onClick?: (event: MouseEvent<HTMLUListElement>) => void;
|
|
10
|
+
onKeyDown?: (event: KeyboardEvent<HTMLUListElement>) => void;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Keyboard-navigable `role="menu"` list (replaces MUI `MenuList`). Arrow-key / Home / End roving
|
|
14
|
+
* focus over enabled `[role="menuitem"]` children. TASK-303.
|
|
15
|
+
*/
|
|
16
|
+
export declare const StyledMenuList: ({ children, className, autoFocus, disablePadding, onClick, onKeyDown, }: StyledMenuListProps) => JSX.Element;
|
|
@@ -1,3 +1,17 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
export
|
|
1
|
+
import { FC, ReactNode } from 'react';
|
|
2
|
+
import { TabValue } from './TabsContext';
|
|
3
|
+
export interface StyledTabProps {
|
|
4
|
+
value?: TabValue;
|
|
5
|
+
label?: ReactNode;
|
|
6
|
+
disabled?: boolean;
|
|
7
|
+
className?: string;
|
|
8
|
+
sx?: unknown;
|
|
9
|
+
/** @internal Injected by `StyledTabs` so a value-less tab selects by position (MUI parity). */
|
|
10
|
+
index?: number;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Native tab button (replaces MUI `Tab`). Reads selection/size from the surrounding
|
|
14
|
+
* `StyledTabs` context and reports its node so the parent can position the active indicator.
|
|
15
|
+
* Public props (`value`/`label`/`disabled`/`className`) preserved (DEC-003). TASK-202.
|
|
16
|
+
*/
|
|
17
|
+
export declare const StyledTab: FC<StyledTabProps>;
|
|
@@ -1,11 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { FC, ReactNode, SyntheticEvent } from 'react';
|
|
2
|
+
import { TabValue } from './TabsContext';
|
|
3
|
+
export interface StyledTabsProps {
|
|
4
|
+
value?: TabValue;
|
|
5
|
+
onChange?: (event: SyntheticEvent, value: TabValue) => void;
|
|
6
|
+
variant?: 'standard' | 'scrollable' | 'fullWidth';
|
|
7
|
+
scrollButtons?: 'auto' | boolean;
|
|
8
|
+
centered?: boolean;
|
|
4
9
|
size?: 'default' | 'small';
|
|
5
|
-
|
|
10
|
+
className?: string;
|
|
11
|
+
sx?: unknown;
|
|
12
|
+
children?: ReactNode;
|
|
13
|
+
}
|
|
6
14
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
15
|
+
* Native tablist (replaces MUI `Tabs`). Provides selection/size via context to `StyledTab`
|
|
16
|
+
* children, animates an underline indicator measured from the active tab, and — in the
|
|
17
|
+
* `scrollable` variant — shows overflow scroll buttons. Roving-tabindex arrow-key nav. Public
|
|
18
|
+
* props (`value`/`onChange`/`variant`/`scrollButtons`/`centered`/`size`) preserved (DEC-003). TASK-202.
|
|
9
19
|
*/
|
|
10
20
|
export declare const StyledTabs: FC<StyledTabsProps>;
|
|
11
|
-
export {};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { SyntheticEvent } from 'react';
|
|
2
|
+
export type TabValue = unknown;
|
|
3
|
+
export interface TabsContextValue {
|
|
4
|
+
value: TabValue;
|
|
5
|
+
size: 'default' | 'small';
|
|
6
|
+
onSelect: (event: SyntheticEvent, value: TabValue) => void;
|
|
7
|
+
/** Registers a tab button so the parent can measure the active indicator and drive arrow-key focus. */
|
|
8
|
+
register: (value: TabValue, node: HTMLButtonElement | null) => void;
|
|
9
|
+
}
|
|
10
|
+
export declare const TabsContext: import('node_modules/@types/react').Context<TabsContextValue | null>;
|
|
11
|
+
export declare const useTabsContext: () => TabsContextValue | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface AccordionContextValue {
|
|
2
|
+
open: boolean;
|
|
3
|
+
toggle: () => void;
|
|
4
|
+
disabled?: boolean;
|
|
5
|
+
triggerId: string;
|
|
6
|
+
panelId: string;
|
|
7
|
+
}
|
|
8
|
+
/** Shared open-state + ARIA ids for the accordion compound (replaces `@base-ui/react`). */
|
|
9
|
+
export declare const AccordionContext: import('node_modules/@types/react').Context<AccordionContextValue | null>;
|
|
10
|
+
export declare const useAccordionContext: () => AccordionContextValue;
|
|
@@ -1,11 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
interface StyledAccordionProps extends Omit<
|
|
3
|
+
interface StyledAccordionProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange' | 'defaultValue'> {
|
|
4
4
|
className?: string;
|
|
5
5
|
children: React.ReactNode;
|
|
6
6
|
expanded?: boolean;
|
|
7
7
|
defaultExpanded?: boolean;
|
|
8
|
+
disabled?: boolean;
|
|
8
9
|
onChange?: (expanded: boolean) => void;
|
|
9
10
|
}
|
|
10
|
-
|
|
11
|
+
/**
|
|
12
|
+
* Native accordion root (replaces `@base-ui/react`): owns the open state (controlled via `expanded`
|
|
13
|
+
* or uncontrolled via `defaultExpanded`) and shares it with `StyledAccordionSummary`/`Details`
|
|
14
|
+
* through context. TASK-201.
|
|
15
|
+
*/
|
|
16
|
+
export declare const StyledAccordion: ({ className, children, expanded, defaultExpanded, disabled, onChange, ...props }: StyledAccordionProps) => JSX.Element;
|
|
11
17
|
export {};
|
|
@@ -2,5 +2,10 @@ import * as React from 'react';
|
|
|
2
2
|
type StyledAccordionDetailsProps = React.HTMLAttributes<HTMLDivElement> & {
|
|
3
3
|
contentClassName?: string;
|
|
4
4
|
};
|
|
5
|
+
/**
|
|
6
|
+
* Native accordion panel (replaces `@base-ui/react`): a `role="region"` whose height animates
|
|
7
|
+
* between 0 and its measured content height via the SCSS `--accordion-panel-height` var (was
|
|
8
|
+
* base-ui-provided). Kept `hidden` when closed after the transition for a11y. TASK-201.
|
|
9
|
+
*/
|
|
5
10
|
export declare const StyledAccordionDetails: ({ children, className, contentClassName, ...props }: StyledAccordionDetailsProps) => JSX.Element;
|
|
6
11
|
export {};
|
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { Accordion } from '@base-ui/react/accordion';
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
export type StyledAccordionSummarySize = 'small' | 'large';
|
|
4
|
-
export interface StyledAccordionSummaryProps extends React.
|
|
5
|
-
headerClassName?: string
|
|
3
|
+
export interface StyledAccordionSummaryProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, 'type'> {
|
|
4
|
+
headerClassName?: string;
|
|
6
5
|
size?: StyledAccordionSummarySize;
|
|
7
6
|
expandChevronRight?: boolean;
|
|
8
7
|
sx?: React.CSSProperties;
|
|
9
8
|
}
|
|
10
|
-
|
|
9
|
+
/**
|
|
10
|
+
* Native accordion trigger (replaces `@base-ui/react`): a `<button aria-expanded aria-controls>`
|
|
11
|
+
* inside a header, toggling the shared context. `data-panel-open` drives the chevron rotation in
|
|
12
|
+
* SCSS. TASK-201.
|
|
13
|
+
*/
|
|
14
|
+
export declare const StyledAccordionSummary: ({ size, expandChevronRight, className, headerClassName, sx, children, onClick, ...rest }: StyledAccordionSummaryProps) => JSX.Element;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { AlertColor } from '
|
|
1
|
+
import { AlertColor } from '../../feedback/snack-bar/StyledAlert';
|
|
2
2
|
import { SnackbarProviderProps } from 'notistack';
|
|
3
3
|
import { FC, PropsWithChildren, ReactNode } from 'react';
|
|
4
4
|
export type MessageProps = SnackbarProviderProps & {
|