asma-ui-core 3.33.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.
Files changed (202) hide show
  1. package/dist/asma-ui-core.css +1 -1
  2. package/dist/components/data-display/badge/StyledBadge.js +29 -24
  3. package/dist/components/data-display/chip/StyledChip.js +45 -60
  4. package/dist/components/data-display/interactive-chip/StyledInteractiveChip.js +32 -38
  5. package/dist/components/data-display/tooltip/StyledTooltip.js +50 -33
  6. package/dist/components/data-display/typography/StyledTypography.js +62 -4
  7. package/dist/components/feedback/dialog/StyledDialog.js +70 -50
  8. package/dist/components/feedback/dialog/StyledDialog.module.js +2 -9
  9. package/dist/components/feedback/dialog/StyledDialogActions.js +16 -16
  10. package/dist/components/feedback/dialog/StyledDialogContent.js +17 -14
  11. package/dist/components/feedback/dialog/StyledDialogTitle.js +18 -13
  12. package/dist/components/feedback/minimizable-dialog/MinimizableDialog.js +56 -57
  13. package/dist/components/feedback/snack-bar/StyledAlert.js +72 -14
  14. package/dist/components/feedback/snack-bar/StyledSnackbar.js +34 -8
  15. package/dist/components/feedback/snack-bar/components/StyledDefaultSnackbar.js +33 -34
  16. package/dist/components/inputs/checkbox/base-ui/StyledCheckbox.js +55 -58
  17. package/dist/components/inputs/checkbox/base-ui/StyledCheckbox.module.js +12 -12
  18. package/dist/components/inputs/dynamic-select/components/DynamicInteractiveChipGroup.js +1 -1
  19. package/dist/components/inputs/dynamic-select/components/DynamicSelectAutocomplete.js +1 -1
  20. package/dist/components/inputs/field-styles.js +6 -0
  21. package/dist/components/inputs/input-field/StyledInputField.js +104 -81
  22. package/dist/components/inputs/input-field/StyledInputField.module.js +4 -0
  23. package/dist/components/inputs/radio-button/base-ui/RadioGroupContext.js +6 -0
  24. package/dist/components/inputs/radio-button/base-ui/StyledRadio.js +40 -29
  25. package/dist/components/inputs/radio-button/base-ui/StyledRadio.module.js +10 -10
  26. package/dist/components/inputs/radio-button/base-ui/StyledRadioGroup.js +35 -23
  27. package/dist/components/inputs/select/StyledSelect.js +124 -45
  28. package/dist/components/inputs/select/StyledSelectItem.js +19 -23
  29. package/dist/components/inputs/select-autocomplete/StyledSelectAutocomplete.js +181 -151
  30. package/dist/components/inputs/slider/StyledSlider.js +78 -52
  31. package/dist/components/inputs/slider/StyledSlider.module.js +10 -0
  32. package/dist/components/inputs/switch/base-ui/StyledSwitch.js +44 -39
  33. package/dist/components/miscellaneous/FormControlContext.js +6 -0
  34. package/dist/components/miscellaneous/StyledFormControl.js +39 -21
  35. package/dist/components/miscellaneous/StyledFormControlLabel.js +27 -16
  36. package/dist/components/miscellaneous/StyledFormGroup.js +16 -4
  37. package/dist/components/miscellaneous/StyledFormHelperText.js +12 -4
  38. package/dist/components/miscellaneous/StyledInputLabel.js +20 -4
  39. package/dist/components/mui-compat/Avatar.js +29 -0
  40. package/dist/components/mui-compat/ClickAwayListener.js +29 -0
  41. package/dist/components/mui-compat/Container.js +24 -0
  42. package/dist/components/mui-compat/Fade.js +29 -0
  43. package/dist/components/mui-compat/Fade.module.js +9 -0
  44. package/dist/components/mui-compat/FormLabel.js +22 -0
  45. package/dist/components/mui-compat/Paper.js +44 -0
  46. package/dist/components/mui-compat/Popper.js +35 -0
  47. package/dist/components/mui-compat/Skeleton.js +26 -0
  48. package/dist/components/mui-compat/Stack.js +24 -0
  49. package/dist/components/navigation/drawer/StyledDrawer.js +42 -4
  50. package/dist/components/navigation/listbox/Listbox.js +80 -0
  51. package/dist/components/navigation/menu/StyledMenu.js +27 -11
  52. package/dist/components/navigation/menu/StyledMenuItem.js +16 -18
  53. package/dist/components/navigation/menu/StyledMenuList.js +32 -4
  54. package/dist/components/navigation/tabs/StyledTab.js +25 -13
  55. package/dist/components/navigation/tabs/StyledTabs.js +112 -64
  56. package/dist/components/navigation/tabs/TabsContext.js +6 -0
  57. package/dist/components/utils/accordion/base-ui/AccordionContext.js +10 -0
  58. package/dist/components/utils/accordion/base-ui/StyledAccordion.js +28 -21
  59. package/dist/components/utils/accordion/base-ui/StyledAccordion.module.js +7 -7
  60. package/dist/components/utils/accordion/base-ui/StyledAccordionDetails.js +28 -14
  61. package/dist/components/utils/accordion/base-ui/StyledAccordionSummary.js +31 -27
  62. package/dist/components/utils/popover/StyledPopover.js +43 -15
  63. package/dist/datetime/components/date-picker/StyledDatePicker.js +6 -6
  64. package/dist/datetime/components/date-picker/components/BaseDatePickerInput.js +1 -1
  65. package/dist/datetime/components/date-picker/components/HelperTextWithTooltip.js +6 -6
  66. package/dist/datetime/components/date-picker/components/StyledCalendarPicker.js +11 -11
  67. package/dist/datetime/components/date-picker/components/StyledCalendarPickerFooter.js +13 -14
  68. package/dist/datetime/components/date-picker/components/StyledCalendarPickerSelectMonth.js +14 -14
  69. package/dist/datetime/components/date-picker/components/StyledCalendarPickerSelectYear.js +6 -6
  70. package/dist/datetime/components/date-picker/components/StyledDayPicker.js +4 -5
  71. package/dist/datetime/components/date-picker/hooks/useDatePickerMask.js +4 -4
  72. package/dist/datetime/components/time-picker/StyledTimePicker.js +25 -25
  73. package/dist/datetime/components/time-picker/TimePickerInput.js +15 -16
  74. package/dist/datetime/components/time-picker/TimePickerPopper.js +21 -19
  75. package/dist/datetime/helpers/cn.js +4 -5
  76. package/dist/helpers/arrays.js +4 -0
  77. package/dist/helpers/cn.js +4 -5
  78. package/dist/helpers/inputMask.js +45 -0
  79. package/dist/helpers/sx.js +46 -0
  80. package/dist/hooks/usePopupState.js +60 -0
  81. package/dist/index.js +285 -269
  82. package/dist/src/api-surface.test.d.ts +1 -0
  83. package/dist/src/components/data-display/badge/StyledBadge.d.ts +26 -2
  84. package/dist/src/components/data-display/chip/StyledChip.d.ts +39 -5
  85. package/dist/src/components/data-display/interactive-chip/StyledInteractiveChip.d.ts +11 -4
  86. package/dist/src/components/data-display/tooltip/StyledTooltip.d.ts +36 -2
  87. package/dist/src/components/data-display/typography/StyledTypography.d.ts +19 -1
  88. package/dist/src/components/feedback/dialog/StyledDialog.d.ts +37 -4
  89. package/dist/src/components/feedback/dialog/StyledDialogActions.d.ts +12 -2
  90. package/dist/src/components/feedback/dialog/StyledDialogContent.d.ts +12 -2
  91. package/dist/src/components/feedback/dialog/StyledDialogTitle.d.ts +10 -2
  92. package/dist/src/components/feedback/snack-bar/SnackbarProvider.d.ts +1 -1
  93. package/dist/src/components/feedback/snack-bar/StyledAlert.d.ts +24 -2
  94. package/dist/src/components/feedback/snack-bar/StyledAlertSnackbar.d.ts +1 -1
  95. package/dist/src/components/feedback/snack-bar/StyledSnackbar.d.ts +21 -2
  96. package/dist/src/components/feedback/snack-bar/components/StyledDefaultSnackbar.d.ts +1 -1
  97. package/dist/src/components/feedback/snack-bar/components/StyledInfoSnackbar.d.ts +1 -1
  98. package/dist/src/components/feedback/snack-bar/components/types.d.ts +1 -1
  99. package/dist/src/components/inputs/checkbox/base-ui/StyledCheckbox.d.ts +9 -4
  100. package/dist/src/components/inputs/dynamic-select/types.d.ts +2 -2
  101. package/dist/src/components/inputs/field-styles.d.ts +22 -0
  102. package/dist/src/components/inputs/input-field/StyledInputField.d.ts +67 -11
  103. package/dist/src/components/inputs/input-field/index.d.ts +1 -1
  104. package/dist/src/components/inputs/radio-button/base-ui/RadioGroupContext.d.ts +10 -0
  105. package/dist/src/components/inputs/radio-button/base-ui/StyledRadio.d.ts +20 -5
  106. package/dist/src/components/inputs/radio-button/base-ui/StyledRadioGroup.d.ts +24 -7
  107. package/dist/src/components/inputs/select/StyledSelect.d.ts +39 -16
  108. package/dist/src/components/inputs/select/StyledSelectItem.d.ts +14 -2
  109. package/dist/src/components/inputs/select/index.d.ts +0 -1
  110. package/dist/src/components/inputs/select-autocomplete/StyledSelectAutocomplete.d.ts +88 -17
  111. package/dist/src/components/inputs/slider/StyledSlider.d.ts +55 -3
  112. package/dist/src/components/inputs/switch/base-ui/StyledSwitch.d.ts +20 -4
  113. package/dist/src/components/miscellaneous/FormControlContext.d.ts +14 -0
  114. package/dist/src/components/miscellaneous/StyledFormControl.d.ts +22 -2
  115. package/dist/src/components/miscellaneous/StyledFormControlLabel.d.ts +21 -2
  116. package/dist/src/components/miscellaneous/StyledFormGroup.d.ts +11 -2
  117. package/dist/src/components/miscellaneous/StyledFormHelperText.d.ts +12 -2
  118. package/dist/src/components/miscellaneous/StyledInputLabel.d.ts +20 -2
  119. package/dist/src/components/mui-compat/Avatar.d.ts +6 -0
  120. package/dist/src/components/mui-compat/ClickAwayListener.d.ts +19 -0
  121. package/dist/src/components/mui-compat/Container.d.ts +6 -0
  122. package/dist/src/components/mui-compat/Fade.d.ts +21 -0
  123. package/dist/src/components/mui-compat/FormLabel.d.ts +6 -0
  124. package/dist/src/components/mui-compat/Paper.d.ts +6 -0
  125. package/dist/src/components/mui-compat/Popper.d.ts +29 -0
  126. package/dist/src/components/mui-compat/Skeleton.d.ts +7 -0
  127. package/dist/src/components/mui-compat/Stack.d.ts +7 -0
  128. package/dist/src/components/mui-compat/index.d.ts +9 -0
  129. package/dist/src/components/mui-compat/types.d.ts +46 -0
  130. package/dist/src/components/navigation/drawer/StyledDrawer.d.ts +21 -2
  131. package/dist/src/components/navigation/listbox/Listbox.d.ts +29 -0
  132. package/dist/src/components/navigation/listbox/index.d.ts +1 -0
  133. package/dist/src/components/navigation/menu/StyledMenu.d.ts +25 -2
  134. package/dist/src/components/navigation/menu/StyledMenuItem.d.ts +21 -2
  135. package/dist/src/components/navigation/menu/StyledMenuList.d.ts +16 -2
  136. package/dist/src/components/navigation/menu/index.d.ts +0 -1
  137. package/dist/src/components/navigation/tabs/StyledTab.d.ts +17 -3
  138. package/dist/src/components/navigation/tabs/StyledTabs.d.ts +16 -7
  139. package/dist/src/components/navigation/tabs/TabsContext.d.ts +11 -0
  140. package/dist/src/components/utils/accordion/base-ui/AccordionContext.d.ts +10 -0
  141. package/dist/src/components/utils/accordion/base-ui/StyledAccordion.d.ts +9 -3
  142. package/dist/src/components/utils/accordion/base-ui/StyledAccordionDetails.d.ts +5 -0
  143. package/dist/src/components/utils/accordion/base-ui/StyledAccordionSummary.d.ts +8 -4
  144. package/dist/src/components/utils/copy-wrapper/CopyWrapper.d.ts +1 -1
  145. package/dist/src/components/utils/filter-menu/StyledFilterMenu.d.ts +2 -2
  146. package/dist/src/components/utils/popover/StyledPopover.d.ts +31 -2
  147. package/dist/src/datetime/components/date-picker/components/StyledCalendarPicker.d.ts +1 -1
  148. package/dist/src/datetime/components/date-picker/components/StyledDayPicker.d.ts +1 -1
  149. package/dist/src/datetime/components/date-picker/hooks/useDatePickerMask.d.ts +1 -2
  150. package/dist/src/datetime/components/time-picker/TimePickerInput.d.ts +1 -1
  151. package/dist/src/datetime/components/time-picker/TimePickerPopper.d.ts +1 -1
  152. package/dist/src/datetime/components/time-picker/types.d.ts +1 -2
  153. package/dist/src/datetime/shared-components/StyledFormControl.d.ts +1 -2
  154. package/dist/src/datetime/shared-components/StyledInputField.d.ts +1 -12
  155. package/dist/src/datetime/shared-components/StyledSelect.d.ts +1 -16
  156. package/dist/src/datetime/shared-components/StyledSelectItem.d.ts +1 -2
  157. package/dist/src/datetime/shared-components/StyledTooltip.d.ts +1 -2
  158. package/dist/src/helpers/arrays.d.ts +2 -0
  159. package/dist/src/helpers/arrays.test.d.ts +1 -0
  160. package/dist/src/helpers/inputMask.d.ts +29 -0
  161. package/dist/src/helpers/inputMask.test.d.ts +1 -0
  162. package/dist/src/helpers/sx.d.ts +2 -0
  163. package/dist/src/helpers/sx.test.d.ts +1 -0
  164. package/dist/src/hooks/usePopupState.d.ts +54 -0
  165. package/dist/src/index.d.ts +3 -1
  166. package/dist/src/table/shared-components/StyledCheckbox.d.ts +7 -4
  167. package/dist/src/table/shared-components/StyledMenuItem.d.ts +18 -2
  168. package/dist/src/table/shared-components/menu-item/index.d.ts +13 -2
  169. package/dist/src/table/shared-components/tooltip/index.d.ts +5 -1
  170. package/dist/src/table/types.d.ts +1 -1
  171. package/dist/table/components/Fetching.js +4 -4
  172. package/dist/table/components/TableRow.js +7 -7
  173. package/dist/table/components/TableSkeleton.js +6 -6
  174. package/dist/table/components/columns/action-column/components/HeaderActionMenu.js +24 -24
  175. package/dist/table/components/columns/action-column/components/RowActionMenu.js +26 -25
  176. package/dist/table/components/table-footer/TablePagination.js +27 -24
  177. package/dist/table/components/table-footer/TableRowCountSelect.js +30 -27
  178. package/dist/table/helpers/cn.js +4 -5
  179. package/dist/table/shared-components/StyledCheckbox.js +54 -55
  180. package/dist/table/shared-components/StyledCheckbox.module.js +10 -10
  181. package/dist/table/shared-components/StyledMenuItem.js +12 -18
  182. package/dist/table/shared-components/menu-item/index.js +13 -17
  183. package/dist/table/shared-components/tooltip/index.js +4 -23
  184. package/package.json +9 -16
  185. package/dist/components/feedback/dialog/StyledDialogActions.module.js +0 -8
  186. package/dist/components/feedback/dialog/StyledDialogContent.module.js +0 -4
  187. package/dist/components/feedback/dialog/StyledDialogTitle.module.js +0 -4
  188. package/dist/components/inputs/checkbox/StyledCheckbox.js +0 -20
  189. package/dist/components/inputs/radio-button/StyledRadio.js +0 -17
  190. package/dist/datetime/shared-components/ExpandIcon.js +0 -18
  191. package/dist/datetime/shared-components/StyledFormControl.js +0 -23
  192. package/dist/datetime/shared-components/StyledInputField.js +0 -47
  193. package/dist/datetime/shared-components/StyledSelect.js +0 -47
  194. package/dist/datetime/shared-components/StyledSelectItem.js +0 -13
  195. package/dist/datetime/shared-components/StyledTooltip.js +0 -32
  196. package/dist/src/components/inputs/checkbox/StyledCheckbox.d.ts +0 -4
  197. package/dist/src/components/inputs/radio-button/StyledRadio.d.ts +0 -4
  198. package/dist/src/components/inputs/radio-button/StyledRadioGroup.d.ts +0 -4
  199. package/dist/src/components/inputs/switch/StyledSwitch.d.ts +0 -5
  200. package/dist/src/components/utils/accordion/StyledAccordion.d.ts +0 -2
  201. package/dist/src/components/utils/accordion/StyledAccordionDetails.d.ts +0 -2
  202. package/dist/src/components/utils/accordion/StyledAccordionSummary.d.ts +0 -8
@@ -0,0 +1,29 @@
1
+ import { ReactNode } from 'react';
2
+ type RenderProp<P> = ReactNode | ((state: P) => ReactNode);
3
+ declare function ListboxRoot<T>({ value, onChange, children, }: {
4
+ value: T;
5
+ onChange: (value: T) => void;
6
+ children: ReactNode;
7
+ }): JSX.Element;
8
+ declare function ListboxOption<T>({ value, disabled, children, className, }: {
9
+ value: T;
10
+ disabled?: boolean;
11
+ children: RenderProp<{
12
+ selected: boolean;
13
+ }>;
14
+ className?: string;
15
+ }): JSX.Element;
16
+ export declare const Listbox: typeof ListboxRoot & {
17
+ Button: ({ children, className, ...rest }: {
18
+ children: RenderProp<{
19
+ open: boolean;
20
+ }>;
21
+ className?: string;
22
+ } & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "children">) => JSX.Element;
23
+ Option: typeof ListboxOption;
24
+ Options: ({ children, className }: {
25
+ children: ReactNode;
26
+ className?: string;
27
+ }) => JSX.Element | null;
28
+ };
29
+ export {};
@@ -0,0 +1 @@
1
+ export * from './Listbox';
@@ -1,2 +1,25 @@
1
- import { MenuProps } from '@mui/material';
2
- export declare const StyledMenu: (props: MenuProps) => JSX.Element;
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 { MenuItemProps } from '@mui/material';
2
- export declare const StyledMenuItem: (props: MenuItemProps) => JSX.Element;
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 { MenuListProps } from '@mui/material';
2
- export declare const StyledMenuList: (props: MenuListProps) => JSX.Element;
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,4 +1,3 @@
1
1
  export * from './StyledMenu';
2
2
  export * from './StyledMenuItem';
3
3
  export * from './StyledMenuList';
4
- export { type MenuProps } from '@mui/material';
@@ -1,3 +1,17 @@
1
- import { TabProps } from '@mui/material';
2
- import { FC } from 'react';
3
- export declare const StyledTab: FC<TabProps>;
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 { TabsProps } from '@mui/material';
2
- import { FC } from 'react';
3
- type StyledTabsProps = TabsProps & {
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
- * Styled wrapper for MUI Tabs with consistent theming tokens.
8
- * Provides customized styling for tab indicators, scroll buttons, and inactive states.
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 { Accordion } from '@base-ui/react/accordion';
1
+ import { HTMLAttributes } from 'react';
2
2
  import * as React from 'react';
3
- interface StyledAccordionProps extends Omit<React.ComponentProps<typeof Accordion.Root>, 'value' | 'onValueChange' | 'defaultValue' | 'onChange'> {
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
- export declare const StyledAccordion: ({ className, children, expanded, defaultExpanded, onChange, ...props }: StyledAccordionProps) => JSX.Element;
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.ComponentProps<typeof Accordion.Trigger> {
5
- headerClassName?: string | ((state: Accordion.Item.State) => 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
- export declare const StyledAccordionSummary: ({ size, expandChevronRight, className, headerClassName, sx, children, ...rest }: StyledAccordionSummaryProps) => JSX.Element;
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 '@mui/material';
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 & {
@@ -1,5 +1,5 @@
1
1
  import { default as React, ReactNode } from 'react';
2
- import { PopoverProps } from '@mui/material';
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<PopoverProps, 'open' | 'anchorEl' | 'onClose'>;
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 { PopoverProps } from '@mui/material';
2
- export declare const StyledPopover: ({ anchorOrigin, transformOrigin, className, ...props }: PopoverProps) => JSX.Element;
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 '@mui/material';
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 '@mui/material';
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,4 +1,3 @@
1
- import { MutableRefObject } from 'node_modules/@types/react';
2
1
  export declare const useDatePickerMask: () => {
3
- maskRef: MutableRefObject<HTMLInputElement | null>;
2
+ maskRef: (element: HTMLInputElement | null) => void;
4
3
  };
@@ -1,5 +1,5 @@
1
1
  import { StyledTimePickerProps } from './types';
2
- import { PopupState } from 'material-ui-popup-state/hooks';
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 'material-ui-popup-state/hooks';
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 = ReturnType<typeof PopupState>;
21
+ export type IPopupStateType = JSX.Element;
@@ -1,2 +1 @@
1
- import { FormControlProps } from '@mui/material';
2
- export declare const StyledFormControl: (props: FormControlProps) => JSX.Element;
1
+ export { StyledFormControl, type FormControlProps } from '../../components/miscellaneous/StyledFormControl';
@@ -1,12 +1 @@
1
- import { TextFieldProps } from '@mui/material';
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
- import { SelectProps } from '@mui/material';
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
- import { MenuItemProps } from '@mui/material';
2
- export declare const StyledSelectItem: (item: MenuItemProps) => JSX.Element;
1
+ export { StyledSelectItem, type StyledSelectItemProps } from '../../components/inputs/select/StyledSelectItem';
@@ -1,2 +1 @@
1
- import { TooltipProps } from '@mui/material';
2
- export declare const StyledTooltip: (props: TooltipProps) => JSX.Element;
1
+ export { StyledTooltip, type TooltipProps } from '../../components/data-display/tooltip/StyledTooltip';
@@ -0,0 +1,2 @@
1
+ /** Removes all falsy entries with type narrowing — lodash `compact` semantics. */
2
+ export declare const compact: <T>(array: readonly (T | null | undefined | false | "" | 0)[]) => T[];
@@ -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,2 @@
1
+ import { CSSProperties } from 'react';
2
+ export declare const resolveSx: (sx: unknown) => CSSProperties;
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,54 @@
1
+ import { ReactNode } from 'react';
2
+ /**
3
+ * Dependency-free popup state primitive — a drop-in for the small slice of
4
+ * `material-ui-popup-state` most apps use: a `PopupState` render-prop / `usePopupState` hook plus
5
+ * `bindTrigger`/`bindPopper`/`bindPopover` helpers. `open`/`toggle` accept a React event or an
6
+ * element and derive the anchor from `currentTarget`; the bind helpers produce the prop shapes
7
+ * consumed by MUI `Popover`/`Popper` (and this library's `StyledPopover`).
8
+ */
9
+ type PopupVariant = 'popover' | 'popper';
10
+ type OpenArg = React.SyntheticEvent<Element> | Element | null | undefined;
11
+ export interface PopupState {
12
+ isOpen: boolean;
13
+ anchorEl: HTMLElement | undefined;
14
+ popupId?: string;
15
+ variant: PopupVariant;
16
+ open: (eventOrAnchorEl?: OpenArg) => void;
17
+ close: () => void;
18
+ toggle: (eventOrAnchorEl?: OpenArg) => void;
19
+ setAnchorEl: (el: HTMLElement | undefined) => void;
20
+ }
21
+ export type InjectedProps = PopupState;
22
+ interface ControlAriaProps {
23
+ 'aria-controls': string | undefined;
24
+ 'aria-describedby': string | undefined;
25
+ 'aria-haspopup': true | undefined;
26
+ }
27
+ type TriggerBindProps = ControlAriaProps & {
28
+ onClick: PopupState['open'];
29
+ onTouchStart: PopupState['open'];
30
+ };
31
+ interface PopoverBindProps {
32
+ anchorEl: HTMLElement | undefined;
33
+ id: string | undefined;
34
+ onClose: () => void;
35
+ open: boolean;
36
+ }
37
+ interface PopperBindProps {
38
+ anchorEl: HTMLElement | undefined;
39
+ id: string | undefined;
40
+ open: boolean;
41
+ }
42
+ export declare const usePopupState: ({ popupId, variant }: {
43
+ popupId?: string;
44
+ variant: PopupVariant;
45
+ }) => PopupState;
46
+ export declare const PopupState: ({ variant, popupId, children, }: {
47
+ variant: PopupVariant;
48
+ popupId?: string;
49
+ children: (popupState: PopupState) => ReactNode;
50
+ }) => JSX.Element;
51
+ export declare const bindTrigger: (state: PopupState) => TriggerBindProps;
52
+ export declare const bindPopover: (state: PopupState) => PopoverBindProps;
53
+ export declare const bindPopper: (state: PopupState) => PopperBindProps;
54
+ export {};
@@ -37,6 +37,7 @@ export * from './components/navigation/drawer';
37
37
  export * from './components/navigation/menu';
38
38
  export * from './components/navigation/link';
39
39
  export * from './components/navigation/tabs';
40
+ export * from './components/navigation/listbox';
40
41
  export * from './components/utils/accordion';
41
42
  export * from './table';
42
43
  export * from './components/utils/popover';
@@ -48,4 +49,5 @@ export * from './components/custom/widget/widget/StyledWidget';
48
49
  export * from './components/custom/module/module-title/StyledModuleTitle';
49
50
  export * from './components/custom/module/header-layout';
50
51
  export * from './components/feedback/minimizable-dialog';
51
- export { Fade, Paper, ClickAwayListener, Popper, Avatar, Skeleton, Container, Stack, FormLabel } from '@mui/material';
52
+ export * from './hooks/usePopupState';
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: React.ChangeEvent<HTMLInputElement>, checked: boolean) => void;
12
- } & Omit<React.ComponentProps<typeof Checkbox.Root>, 'children'>;
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 { MenuItemProps } from '@mui/material';
2
- export declare const StyledMenuItem: (props: MenuItemProps) => JSX.Element;
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 { MenuItemProps } from '@mui/material';
2
- export declare const StyledMenuItem: (props: MenuItemProps) => JSX.Element;
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 '@mui/material';
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 '@mui/material';
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 "./StyledTable.module.js";
2
- import { LoadingIcon as i } from "../shared-components/LoadingIcon.js";
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(i, {
7
- className: o["loading-icon"],
6
+ children: /* @__PURE__ */ e(o, {
7
+ className: i["loading-icon"],
8
8
  width: 50,
9
9
  height: 50
10
10
  })