@recursica/mui-adapter 0.21.0 → 0.22.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 (187) hide show
  1. package/ARCHITECTURE.md +3 -0
  2. package/CHANGELOG.md +58 -0
  3. package/dist/index.d.ts +2929 -2
  4. package/dist/mui-adapter.cjs +68 -68
  5. package/dist/mui-adapter.cjs.map +1 -1
  6. package/dist/mui-adapter.css +1 -1
  7. package/dist/mui-adapter.js +5660 -5582
  8. package/dist/mui-adapter.js.map +1 -1
  9. package/package.json +1 -1
  10. package/src/components/Accordion/ACCORDION_IMPLEMENTATION_NOTES.md +63 -0
  11. package/src/components/Accordion/Accordion.module.css +21 -2
  12. package/src/components/Accordion/Accordion.stories.tsx +38 -0
  13. package/src/components/Accordion/Accordion.tsx +27 -12
  14. package/src/components/AssistiveElement/ASSISTIVEELEMENT_IMPLEMENTATION_NOTES.md +59 -0
  15. package/src/components/AssistiveElement/AssistiveElement.module.css +8 -1
  16. package/src/components/AssistiveElement/AssistiveElement.tsx +17 -7
  17. package/src/components/Autocomplete/Autocomplete.tsx +18 -2
  18. package/src/components/Avatar/AVATAR_IMPLEMENTATION_NOTES.md +36 -0
  19. package/src/components/Avatar/Avatar.tsx +6 -9
  20. package/src/components/Badge/Badge.module.css +0 -12
  21. package/src/components/Badge/Badge.tsx +0 -4
  22. package/src/components/Card/Card.tsx +5 -5
  23. package/src/components/Checkbox/Checkbox.module.css +17 -21
  24. package/src/components/Checkbox/Checkbox.tsx +24 -18
  25. package/src/components/Chip/Chip.module.css +16 -7
  26. package/src/components/Chip/Chip.tsx +1 -1
  27. package/src/components/Flex/Flex.tsx +1 -1
  28. package/src/components/FormControlWrapper/FORMCONTROLWRAPPER_IMPLEMENTATION_NOTES.md +35 -0
  29. package/src/components/FormControlWrapper/FormControlWrapper.tsx +24 -8
  30. package/src/components/Grid/Grid.tsx +1 -1
  31. package/src/components/Group/Group.tsx +1 -1
  32. package/src/components/HoverCard/HoverCard.tsx +1 -1
  33. package/src/components/Label/Label.module.css +15 -2
  34. package/src/components/Label/Label.tsx +7 -6
  35. package/src/components/Menu/Menu.tsx +1 -1
  36. package/src/components/Modal/Modal.tsx +1 -1
  37. package/src/components/NumberInput/NumberInput.tsx +1 -1
  38. package/src/components/Pagination/Pagination.tsx +1 -1
  39. package/src/components/Panel/Panel.tsx +1 -1
  40. package/src/components/Radio/Radio.module.css +33 -38
  41. package/src/components/Radio/Radio.tsx +58 -44
  42. package/src/components/Radio/RadioGroup.tsx +5 -0
  43. package/src/components/SegmentedControl/SegmentedControl.module.css +0 -7
  44. package/src/components/SegmentedControl/SegmentedControl.tsx +4 -8
  45. package/src/components/Slider/Slider.tsx +1 -1
  46. package/src/components/Stack/Stack.tsx +1 -1
  47. package/src/components/Stepper/Stepper.tsx +3 -3
  48. package/src/components/Switch/SWITCH_IMPLEMENTATION_NOTES.md +123 -0
  49. package/src/components/Switch/Switch.module.css +152 -89
  50. package/src/components/Switch/Switch.tsx +140 -33
  51. package/src/components/Switch/SwitchGroup.tsx +37 -9
  52. package/src/components/Table/Table.tsx +1 -1
  53. package/src/components/Tabs/IMPLEMENTATION_NOTES.md +10 -0
  54. package/src/components/Tabs/Tabs.module.css +120 -43
  55. package/src/components/Tabs/Tabs.stories.tsx +5 -2
  56. package/src/components/Tabs/Tabs.tsx +1 -1
  57. package/src/components/Tabs/USAGE.md +27 -11
  58. package/src/components/TextField/TextField.tsx +1 -1
  59. package/src/components/TimePicker/TimePicker.tsx +1 -1
  60. package/src/components/Timeline/Timeline.tsx +1 -1
  61. package/src/components/Timeline/TimelineItem.tsx +2 -2
  62. package/src/components/Toast/Toast.tsx +4 -4
  63. package/src/components/Tooltip/Tooltip.tsx +1 -1
  64. package/src/components/Tree/Tree.tsx +1 -1
  65. package/dist/src/OverStyling.d.ts +0 -1
  66. package/dist/src/Version.d.ts +0 -1
  67. package/dist/src/components/Accordion/Accordion.d.ts +0 -77
  68. package/dist/src/components/Accordion/index.d.ts +0 -1
  69. package/dist/src/components/AssistiveElement/AssistiveElement.d.ts +0 -7
  70. package/dist/src/components/AssistiveElement/index.d.ts +0 -1
  71. package/dist/src/components/Autocomplete/Autocomplete.d.ts +0 -24
  72. package/dist/src/components/Autocomplete/index.d.ts +0 -1
  73. package/dist/src/components/Avatar/Avatar.d.ts +0 -25
  74. package/dist/src/components/Avatar/index.d.ts +0 -1
  75. package/dist/src/components/Badge/Badge.d.ts +0 -25
  76. package/dist/src/components/Badge/index.d.ts +0 -1
  77. package/dist/src/components/Box/Box.d.ts +0 -8
  78. package/dist/src/components/Box/index.d.ts +0 -1
  79. package/dist/src/components/Breadcrumb/Breadcrumb.d.ts +0 -20
  80. package/dist/src/components/Breadcrumb/index.d.ts +0 -1
  81. package/dist/src/components/Button/Button.d.ts +0 -37
  82. package/dist/src/components/Button/index.d.ts +0 -1
  83. package/dist/src/components/Card/Card.d.ts +0 -81
  84. package/dist/src/components/Card/index.d.ts +0 -1
  85. package/dist/src/components/Checkbox/Checkbox.d.ts +0 -14
  86. package/dist/src/components/Checkbox/CheckboxGroup.d.ts +0 -29
  87. package/dist/src/components/Checkbox/index.d.ts +0 -5
  88. package/dist/src/components/Chip/Chip.d.ts +0 -21
  89. package/dist/src/components/Chip/index.d.ts +0 -1
  90. package/dist/src/components/Container/Container.d.ts +0 -5
  91. package/dist/src/components/Container/index.d.ts +0 -1
  92. package/dist/src/components/DatePicker/DatePicker.d.ts +0 -20
  93. package/dist/src/components/DatePicker/index.d.ts +0 -1
  94. package/dist/src/components/Dropdown/BareDropdown.d.ts +0 -41
  95. package/dist/src/components/Dropdown/Dropdown.d.ts +0 -24
  96. package/dist/src/components/Dropdown/index.d.ts +0 -1
  97. package/dist/src/components/FileInput/FileInput.d.ts +0 -3
  98. package/dist/src/components/FileInput/index.d.ts +0 -1
  99. package/dist/src/components/FileUpload/FileUpload.d.ts +0 -3
  100. package/dist/src/components/FileUpload/index.d.ts +0 -1
  101. package/dist/src/components/Flex/Flex.d.ts +0 -5
  102. package/dist/src/components/Flex/index.d.ts +0 -1
  103. package/dist/src/components/FormControlLayout/FormControlLayout.d.ts +0 -6
  104. package/dist/src/components/FormControlLayout/index.d.ts +0 -1
  105. package/dist/src/components/FormControlWrapper/FormControlWrapper.d.ts +0 -11
  106. package/dist/src/components/FormControlWrapper/index.d.ts +0 -1
  107. package/dist/src/components/Grid/Grid.d.ts +0 -12
  108. package/dist/src/components/Grid/index.d.ts +0 -1
  109. package/dist/src/components/Group/Group.d.ts +0 -5
  110. package/dist/src/components/Group/index.d.ts +0 -1
  111. package/dist/src/components/HoverCard/HoverCard.d.ts +0 -29
  112. package/dist/src/components/HoverCard/index.d.ts +0 -1
  113. package/dist/src/components/Label/Label.d.ts +0 -7
  114. package/dist/src/components/Label/index.d.ts +0 -1
  115. package/dist/src/components/Link/Link.d.ts +0 -20
  116. package/dist/src/components/Link/index.d.ts +0 -1
  117. package/dist/src/components/Loader/Loader.d.ts +0 -5
  118. package/dist/src/components/Loader/index.d.ts +0 -1
  119. package/dist/src/components/Menu/Menu.d.ts +0 -54
  120. package/dist/src/components/Menu/index.d.ts +0 -1
  121. package/dist/src/components/Modal/Modal.d.ts +0 -78
  122. package/dist/src/components/Modal/index.d.ts +0 -1
  123. package/dist/src/components/NumberInput/NumberInput.d.ts +0 -24
  124. package/dist/src/components/NumberInput/index.d.ts +0 -1
  125. package/dist/src/components/Pagination/Pagination.d.ts +0 -23
  126. package/dist/src/components/Pagination/Pagination.icons.d.ts +0 -8
  127. package/dist/src/components/Pagination/index.d.ts +0 -1
  128. package/dist/src/components/Panel/Panel.d.ts +0 -52
  129. package/dist/src/components/Panel/index.d.ts +0 -1
  130. package/dist/src/components/Radio/Radio.d.ts +0 -13
  131. package/dist/src/components/Radio/RadioGroup.d.ts +0 -9
  132. package/dist/src/components/Radio/index.d.ts +0 -2
  133. package/dist/src/components/ReadOnlyField/ReadOnlyBooleanField.d.ts +0 -5
  134. package/dist/src/components/ReadOnlyField/ReadOnlyField.d.ts +0 -5
  135. package/dist/src/components/ReadOnlyField/ReadOnlySwitchField.d.ts +0 -5
  136. package/dist/src/components/ReadOnlyField/ReadOnlyTextField.d.ts +0 -8
  137. package/dist/src/components/ReadOnlyField/WithReadOnlyWrapper.d.ts +0 -28
  138. package/dist/src/components/ReadOnlyField/index.d.ts +0 -2
  139. package/dist/src/components/SegmentedControl/SegmentedControl.d.ts +0 -32
  140. package/dist/src/components/SegmentedControl/index.d.ts +0 -1
  141. package/dist/src/components/Slider/Slider.d.ts +0 -30
  142. package/dist/src/components/Slider/index.d.ts +0 -1
  143. package/dist/src/components/Stack/Stack.d.ts +0 -5
  144. package/dist/src/components/Stack/index.d.ts +0 -1
  145. package/dist/src/components/Stepper/Stepper.d.ts +0 -97
  146. package/dist/src/components/Stepper/index.d.ts +0 -1
  147. package/dist/src/components/Switch/Switch.d.ts +0 -10
  148. package/dist/src/components/Switch/SwitchGroup.d.ts +0 -24
  149. package/dist/src/components/Switch/index.d.ts +0 -2
  150. package/dist/src/components/Table/Table.d.ts +0 -154
  151. package/dist/src/components/Table/index.d.ts +0 -1
  152. package/dist/src/components/Tabs/Tabs.d.ts +0 -57
  153. package/dist/src/components/Tabs/index.d.ts +0 -1
  154. package/dist/src/components/Text/Text.d.ts +0 -20
  155. package/dist/src/components/Text/index.d.ts +0 -1
  156. package/dist/src/components/TextArea/TextArea.d.ts +0 -24
  157. package/dist/src/components/TextArea/index.d.ts +0 -1
  158. package/dist/src/components/TextField/TextField.d.ts +0 -24
  159. package/dist/src/components/TextField/index.d.ts +0 -1
  160. package/dist/src/components/TimePicker/TimePicker.d.ts +0 -17
  161. package/dist/src/components/TimePicker/index.d.ts +0 -1
  162. package/dist/src/components/Timeline/Timeline.d.ts +0 -16
  163. package/dist/src/components/Timeline/TimelineItem.d.ts +0 -29
  164. package/dist/src/components/Timeline/index.d.ts +0 -2
  165. package/dist/src/components/Title/Title.d.ts +0 -21
  166. package/dist/src/components/Title/index.d.ts +0 -1
  167. package/dist/src/components/Toast/Toast.d.ts +0 -32
  168. package/dist/src/components/Toast/index.d.ts +0 -1
  169. package/dist/src/components/Tooltip/Tooltip.d.ts +0 -28
  170. package/dist/src/components/Tooltip/index.d.ts +0 -1
  171. package/dist/src/components/TransferList/TransferList.d.ts +0 -4
  172. package/dist/src/components/TransferList/index.d.ts +0 -1
  173. package/dist/src/components/Tree/Tree.d.ts +0 -18
  174. package/dist/src/components/Tree/index.d.ts +0 -1
  175. package/dist/src/components/Typography/Typography.d.ts +0 -38
  176. package/dist/src/components/Typography/index.d.ts +0 -1
  177. package/dist/src/components/index.d.ts +0 -50
  178. package/dist/src/index.d.ts +0 -91
  179. package/dist/src/types/index.d.ts +0 -6
  180. package/dist/src/utils/ColorSchemeWrapper.d.ts +0 -3
  181. package/dist/src/utils/RequireAccessibleLabel.d.ts +0 -1
  182. package/dist/src/utils/copyToClipboard.d.ts +0 -8
  183. package/dist/src/utils/filterStylingProps.d.ts +0 -29
  184. package/dist/src/utils/index.d.ts +0 -1
  185. package/dist/vite.config.d.ts +0 -2
  186. package/dist/vitest.workspace.d.ts +0 -2
  187. package/src/types/mantine.d.ts +0 -7
@@ -1,91 +0,0 @@
1
- import * as rawComponents from "./components";
2
- export * from '@recursica/adapter-common';
3
- export declare const Box: <C extends React.ElementType = "div">(props: rawComponents.BoxProps<C> & {
4
- ref?: React.ForwardedRef<any>;
5
- }) => React.ReactElement | null;
6
- export declare const Flex: import('react').ForwardRefExoticComponent<Omit<rawComponents.FlexProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
7
- export declare const Grid: import('react').ForwardRefExoticComponent<Omit<rawComponents.GridProps, "ref"> & import('react').RefAttributes<HTMLDivElement>> & {
8
- Col: typeof rawComponents.GridCol;
9
- };
10
- export declare const GridCol: import('react').ForwardRefExoticComponent<Omit<rawComponents.GridColProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
11
- export declare const Group: import('react').ForwardRefExoticComponent<Omit<rawComponents.GroupProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
12
- export declare const Stack: import('react').ForwardRefExoticComponent<Omit<rawComponents.StackProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
13
- export declare const Container: import('react').ForwardRefExoticComponent<Omit<rawComponents.ContainerProps, "ref"> & import('react').RefAttributes<HTMLDivElement>>;
14
- export declare const Typography: import('react').ForwardRefExoticComponent<(Omit<Omit<import('@recursica/adapter-common').WithRecursicaSpacing<Omit<import('@mui/material').TypographyProps, "variant"> & {
15
- typographyClass: string;
16
- component?: React.ElementType;
17
- }>, import('@recursica/adapter-common').BlockedStylingKeys> & import('@recursica/adapter-common').ForbiddenStyles & {
18
- overStyled?: false | undefined;
19
- }, "ref"> | Omit<Omit<Omit<import('@mui/material').TypographyProps, "variant"> & {
20
- typographyClass: string;
21
- component?: React.ElementType;
22
- }, "m" | "my" | "mx" | "mt" | "mb" | "ml" | "mr" | "gap" | "rowGap" | "columnGap"> & {
23
- m?: string | number | import('@recursica/adapter-common').RecursicaSpacing;
24
- mx?: string | number | import('@recursica/adapter-common').RecursicaSpacing;
25
- my?: string | number | import('@recursica/adapter-common').RecursicaSpacing;
26
- mt?: string | number | import('@recursica/adapter-common').RecursicaSpacing;
27
- mb?: string | number | import('@recursica/adapter-common').RecursicaSpacing;
28
- ml?: string | number | import('@recursica/adapter-common').RecursicaSpacing;
29
- mr?: string | number | import('@recursica/adapter-common').RecursicaSpacing;
30
- gap?: string | number | import('@recursica/adapter-common').RecursicaSpacing;
31
- rowGap?: string | number | import('@recursica/adapter-common').RecursicaSpacing;
32
- columnGap?: string | number | import('@recursica/adapter-common').RecursicaSpacing;
33
- } & {
34
- overStyled: true;
35
- }, "ref">) & import('react').RefAttributes<HTMLElement>>;
36
- export declare const FileInput: import('react').FC<rawComponents.FileInputProps>;
37
- export declare const FileUpload: import('react').FC<rawComponents.FileUploadProps>;
38
- export declare const Accordion: typeof rawComponents.Accordion;
39
- export declare const AccordionItem: typeof rawComponents.AccordionItem;
40
- export declare const AccordionControl: typeof rawComponents.AccordionControl;
41
- export declare const AccordionPanel: typeof rawComponents.AccordionPanel;
42
- export declare const AssistiveElement: typeof rawComponents.AssistiveElement;
43
- export declare const Autocomplete: typeof rawComponents.Autocomplete;
44
- export declare const Avatar: typeof rawComponents.Avatar;
45
- export declare const Badge: typeof rawComponents.Badge;
46
- export declare const Breadcrumb: typeof rawComponents.Breadcrumb;
47
- export declare const Button: typeof rawComponents.Button;
48
- export declare const Card: typeof rawComponents.Card;
49
- export declare const Checkbox: typeof rawComponents.Checkbox;
50
- export declare const CheckboxGroup: typeof rawComponents.CheckboxGroup;
51
- export declare const Chip: typeof rawComponents.Chip;
52
- export declare const DatePicker: typeof rawComponents.DatePicker;
53
- export declare const Dropdown: typeof rawComponents.Dropdown;
54
- export declare const FormControlLayout: typeof rawComponents.FormControlLayout;
55
- export declare const FormControlWrapper: typeof rawComponents.FormControlWrapper;
56
- export declare const HoverCard: typeof rawComponents.HoverCard;
57
- export declare const Label: typeof rawComponents.Label;
58
- export declare const Link: typeof rawComponents.Link;
59
- export declare const Loader: typeof rawComponents.Loader;
60
- export declare const Menu: typeof rawComponents.Menu;
61
- export declare const MenuItem: typeof rawComponents.MenuItem;
62
- export declare const MenuDivider: typeof rawComponents.MenuDivider;
63
- export declare const Modal: typeof rawComponents.Modal;
64
- export declare const NumberInput: typeof rawComponents.NumberInput;
65
- export declare const Pagination: typeof rawComponents.Pagination;
66
- export declare const Panel: typeof rawComponents.Panel;
67
- export declare const PanelFooter: typeof rawComponents.PanelFooter;
68
- export declare const Radio: typeof rawComponents.Radio;
69
- export declare const RadioGroup: typeof rawComponents.RadioGroup;
70
- export declare const ReadOnlyField: typeof rawComponents.ReadOnlyField;
71
- export declare const SegmentedControl: typeof rawComponents.SegmentedControl;
72
- export declare const Slider: typeof rawComponents.Slider;
73
- export declare const Stepper: typeof rawComponents.Stepper;
74
- export declare const Switch: typeof rawComponents.Switch;
75
- export declare const SwitchGroup: typeof rawComponents.SwitchGroup;
76
- export declare const Table: typeof rawComponents.Table;
77
- export declare const Tab: typeof rawComponents.Tab;
78
- export declare const TabPanel: typeof rawComponents.TabPanel;
79
- export declare const Tabs: typeof rawComponents.Tabs;
80
- export declare const Text: typeof rawComponents.Text;
81
- export declare const TextArea: typeof rawComponents.TextArea;
82
- export declare const TextField: typeof rawComponents.TextField;
83
- export declare const TimePicker: typeof rawComponents.TimePicker;
84
- export declare const Timeline: typeof rawComponents.Timeline;
85
- export declare const TimelineItem: typeof rawComponents.TimelineItem;
86
- export declare const Title: typeof rawComponents.Title;
87
- export declare const Toast: typeof rawComponents.Toast;
88
- export declare const Tooltip: typeof rawComponents.Tooltip;
89
- export declare const TransferList: typeof rawComponents.TransferList;
90
- export declare const Tree: typeof rawComponents.Tree;
91
- export type { RecursicaAutocompleteProps, RecursicaDropdownProps, RecursicaFormControlWrapperProps, RecursicaNumberInputProps, RecursicaSliderProps, RecursicaTextAreaProps, RecursicaTextFieldProps, RecursicaTimePickerProps, RecursicaToastProps, } from './components';
@@ -1,6 +0,0 @@
1
- export interface ComboboxItem {
2
- value: string;
3
- label: string;
4
- disabled?: boolean;
5
- onClick?: () => void;
6
- }
@@ -1,3 +0,0 @@
1
- export declare function ColorSchemeWrapper({ children, }: {
2
- children: React.ReactNode;
3
- }): import("react/jsx-runtime").JSX.Element;
@@ -1 +0,0 @@
1
- export { type RequireAccessibleLabel } from '@recursica/adapter-common';
@@ -1,8 +0,0 @@
1
- import { default as React } from 'react';
2
- /**
3
- * Helper function for copy text to clipboard
4
- * @param {string} textToCopy The text string for copying to the clipboard
5
- * @param {element|node} componentRef The ref of the component that we want to trigger the copy
6
- */
7
- declare const copyToClipboard: (textToCopy: string, componentRef: React.RefObject<HTMLElement | null>) => Promise<void>;
8
- export { copyToClipboard };
@@ -1,29 +0,0 @@
1
- /**
2
- * filterStylingProps
3
- *
4
- * This utility acts as the central gatekeeper for strict design-system adherence across
5
- * all Recursica components mapped over MUI.
6
- *
7
- * PHILOSOPHY:
8
- * Recursica components are designed to be explicitly sandboxed tokens. Allowing external
9
- * `className` or MUI style props (`sx`, `classes`, etc.) breaks the design system by
10
- * allowing developers to leak arbitrary designs into components.
11
- *
12
- * By default (`overStyled=false`), this utility actively prevents developers from overriding
13
- * internal component styles (such as background, colors, typography, or internal classes).
14
- * It safely *permits* external layout overrides (like `margin` / `m`) so that components can
15
- * easily be spaced alongside other DOM elements.
16
- *
17
- * If a developer passes `overStyled={true}`, this filter allows all styling properties to
18
- * flow through to the underlying MUI component natively, at the developer's own risk.
19
- *
20
- * @param props - The raw component props passed down to the wrapper
21
- * @param overStyled - Boolean toggle to allow raw external styling. Defaults to false.
22
- * @returns Sanitized component props safe for internal styling merging
23
- */
24
- export declare const BLOCKED_STYLING_KEYS: readonly ["className", "classes", "style", "sx", "color", "bgcolor", "backgroundColor", "typography", "fontFamily", "fontSize", "fontWeight", "lineHeight", "letterSpacing", "textAlign", "border", "borderTop", "borderBottom", "borderLeft", "borderRight", "borderColor", "borderRadius", "boxShadow", "display", "position", "zIndex"];
25
- export { type RecursicaSpacing, type RecursicaSize, type RecursicaOverStyled, type BlockedStylingKeys, type ForbiddenStyles, type WithRecursicaSpacing, } from '@recursica/adapter-common';
26
- export declare const SPACING_MAP: Record<string, string>;
27
- export type OmitSx<T> = Omit<T, "sx">;
28
- export declare function filterSxProp<T extends Record<string, unknown>>(props: T): Omit<T, "sx">;
29
- export declare function filterStylingProps<T extends Record<string, unknown>>(props: T, overStyled?: boolean): Partial<T>;
@@ -1 +0,0 @@
1
- export * from './copyToClipboard';
@@ -1,2 +0,0 @@
1
- declare const _default: import('vite').UserConfigFnObject;
2
- export default _default;
@@ -1,2 +0,0 @@
1
- declare const _default: import('vitest/config').TestProjectConfiguration[];
2
- export default _default;
@@ -1,7 +0,0 @@
1
- import type { ComboboxItem as RecursicaComboboxItem } from "./index";
2
- import "@mantine/core";
3
-
4
- declare module "@mantine/core" {
5
- // eslint-disable-next-line @typescript-eslint/no-empty-object-type
6
- export interface ComboboxItem extends RecursicaComboboxItem {}
7
- }