@max-ts/components 0.3.11 → 0.5.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 (141) hide show
  1. package/lib/components/Alert/Alert.d.ts +31 -0
  2. package/lib/components/Alert/index.d.ts +2 -0
  3. package/lib/components/Alert/styles.d.ts +13 -0
  4. package/lib/components/Alert/types.d.ts +1 -0
  5. package/lib/components/Avatar/Avatar.d.ts +3 -0
  6. package/lib/components/Avatar/index.d.ts +1 -0
  7. package/lib/components/Avatar/styles.d.ts +1 -0
  8. package/lib/components/ConfigProvider/ConfigProvider.d.ts +0 -2
  9. package/lib/components/DataGrid/HeadCell/styles.d.ts +14 -4
  10. package/lib/components/DataGrid/Loader/styles.d.ts +0 -1
  11. package/lib/components/DateField/DateField.d.ts +9 -0
  12. package/lib/components/DateField/index.d.ts +1 -0
  13. package/lib/components/DateField/styles.d.ts +1 -0
  14. package/lib/components/DatePicker/DatePicker.d.ts +7 -0
  15. package/lib/components/DatePicker/DayButton/DayButton.d.ts +8 -0
  16. package/lib/components/DatePicker/DayButton/index.d.ts +1 -0
  17. package/lib/components/DatePicker/DayButton/styles.d.ts +12 -0
  18. package/lib/components/DatePicker/Dropdown/Dropdown.d.ts +5 -0
  19. package/lib/components/DatePicker/Dropdown/index.d.ts +1 -0
  20. package/lib/components/DatePicker/index.d.ts +1 -0
  21. package/lib/components/DatePicker/styles.d.ts +21 -0
  22. package/lib/components/InputOTP/InputOTP.d.ts +4 -0
  23. package/lib/components/InputOTP/Separator/Separator.d.ts +4 -0
  24. package/lib/components/InputOTP/Separator/index.d.ts +1 -0
  25. package/lib/components/InputOTP/Separator/styles.d.ts +1 -0
  26. package/lib/components/InputOTP/Slot/Slot.d.ts +2 -0
  27. package/lib/components/InputOTP/Slot/index.d.ts +1 -0
  28. package/lib/components/InputOTP/Slot/styles.d.ts +5 -0
  29. package/lib/components/InputOTP/index.d.ts +1 -0
  30. package/lib/components/InputOTP/styles.d.ts +2 -0
  31. package/lib/components/Layout/Header/Header.d.ts +8 -0
  32. package/lib/components/Layout/Header/index.d.ts +1 -0
  33. package/lib/components/{DataGridOld/Head → Layout/Header}/styles.d.ts +2 -3
  34. package/lib/components/Layout/Layout.d.ts +13 -0
  35. package/lib/components/Layout/LayoutContext/LayoutContext.d.ts +6 -0
  36. package/lib/components/Layout/LayoutContext/index.d.ts +1 -0
  37. package/lib/components/Layout/Main/Main.d.ts +10 -0
  38. package/lib/components/Layout/Main/index.d.ts +1 -0
  39. package/lib/components/Layout/Main/styles.d.ts +1 -0
  40. package/lib/components/Layout/Sidebar/Sidebar.d.ts +26 -0
  41. package/lib/components/Layout/Sidebar/SidebarNav/SidebarNav.d.ts +5 -0
  42. package/lib/components/Layout/Sidebar/SidebarNav/index.d.ts +1 -0
  43. package/lib/components/Layout/Sidebar/SidebarNav/styles.d.ts +1 -0
  44. package/lib/components/Layout/Sidebar/Toggler/ToggleButton/ToggleButton.d.ts +5 -0
  45. package/lib/components/Layout/Sidebar/Toggler/ToggleButton/index.d.ts +1 -0
  46. package/lib/components/Layout/Sidebar/Toggler/ToggleButton/styles.d.ts +10 -0
  47. package/lib/components/Layout/Sidebar/Toggler/Toggler.d.ts +5 -0
  48. package/lib/components/Layout/Sidebar/Toggler/index.d.ts +1 -0
  49. package/lib/components/Layout/Sidebar/Toggler/styles.d.ts +12 -0
  50. package/lib/components/Layout/Sidebar/constants.d.ts +1 -0
  51. package/lib/components/Layout/Sidebar/index.d.ts +1 -0
  52. package/lib/components/Layout/Sidebar/styles.d.ts +6 -0
  53. package/lib/components/Layout/constants.d.ts +3 -0
  54. package/lib/components/Layout/hooks/index.d.ts +1 -0
  55. package/lib/components/Layout/hooks/useSidebar/index.d.ts +1 -0
  56. package/lib/components/Layout/hooks/useSidebar/useSidebar.d.ts +7 -0
  57. package/lib/components/Layout/index.d.ts +3 -0
  58. package/lib/components/Layout/styles.d.ts +5 -0
  59. package/lib/components/ListItemButton/ListItemButton.d.ts +1 -2
  60. package/lib/components/NavMenu/Item/ItemButton/styles.d.ts +0 -1
  61. package/lib/components/NavMenu/NavMenu.d.ts +2 -2
  62. package/lib/components/PageLayout/Aside/Aside.d.ts +6 -0
  63. package/lib/components/PageLayout/Aside/index.d.ts +1 -0
  64. package/lib/components/PageLayout/Aside/styles.d.ts +1 -0
  65. package/lib/components/PageLayout/Content/Content.d.ts +13 -0
  66. package/lib/components/PageLayout/Content/index.d.ts +1 -0
  67. package/lib/components/PageLayout/Content/styles.d.ts +5 -0
  68. package/lib/components/PageLayout/Footer/Footer.d.ts +6 -0
  69. package/lib/components/PageLayout/Footer/index.d.ts +1 -0
  70. package/lib/components/PageLayout/Footer/styles.d.ts +1 -0
  71. package/lib/components/PageLayout/Header/Header.d.ts +66 -0
  72. package/lib/components/PageLayout/Header/index.d.ts +1 -0
  73. package/lib/components/PageLayout/Header/styles.d.ts +45 -0
  74. package/lib/components/PageLayout/PageLayout.d.ts +12 -0
  75. package/lib/components/PageLayout/constants.d.ts +5 -0
  76. package/lib/components/PageLayout/index.d.ts +1 -0
  77. package/lib/components/PageLayout/styles.d.ts +1 -0
  78. package/lib/components/Product/Product.d.ts +6 -0
  79. package/lib/components/Product/index.d.ts +1 -0
  80. package/lib/components/Product/styles.d.ts +9 -0
  81. package/lib/components/Profile/MenuList/MenuList.d.ts +13 -0
  82. package/lib/components/Profile/MenuList/index.d.ts +1 -0
  83. package/lib/components/Profile/MenuList/styles.d.ts +12 -0
  84. package/lib/components/Profile/Profile.d.ts +50 -0
  85. package/lib/components/Profile/index.d.ts +1 -0
  86. package/lib/components/Profile/styles.d.ts +703 -0
  87. package/lib/components/SidebarButton/SidebarButton.d.ts +2 -0
  88. package/lib/components/SidebarButton/index.d.ts +1 -0
  89. package/lib/components/SidebarButton/styles.d.ts +11 -0
  90. package/lib/components/ThemeProvider/ThemeProvider.d.ts +0 -4
  91. package/lib/components/index.d.ts +10 -0
  92. package/lib/form/Form/Form.d.ts +45 -0
  93. package/lib/form/Form/index.d.ts +1 -0
  94. package/lib/form/FormAutocomplete/FormAutocomplete.d.ts +4 -0
  95. package/lib/form/FormAutocomplete/index.d.ts +1 -0
  96. package/lib/form/FormCheckbox/FormCheckbox.d.ts +7 -0
  97. package/lib/form/FormCheckbox/index.d.ts +2 -0
  98. package/lib/form/FormCheckbox/types.d.ts +4 -0
  99. package/lib/form/FormMaskField/FormMaskField.d.ts +4 -0
  100. package/lib/form/FormMaskField/index.d.ts +2 -0
  101. package/lib/form/FormMaskField/types.d.ts +4 -0
  102. package/lib/form/FormSelect/FormSelect.d.ts +7 -0
  103. package/lib/form/FormSelect/index.d.ts +1 -0
  104. package/lib/form/FormSubmitButton/FormSubmitButton.d.ts +6 -0
  105. package/lib/form/FormSubmitButton/index.d.ts +1 -0
  106. package/lib/form/FormTextField/FormTextField.d.ts +7 -0
  107. package/lib/form/FormTextField/index.d.ts +2 -0
  108. package/lib/form/FormTextField/types.d.ts +4 -0
  109. package/lib/form/external.d.ts +1 -0
  110. package/lib/form/hooks/index.d.ts +2 -0
  111. package/lib/form/hooks/useForm/index.d.ts +1 -0
  112. package/lib/form/hooks/useForm/useForm.d.ts +4 -0
  113. package/lib/form/hooks/useFormContext/index.d.ts +1 -0
  114. package/lib/form/index.d.ts +10 -0
  115. package/lib/form/types.d.ts +7 -0
  116. package/lib/index.d.ts +1 -0
  117. package/lib/index.mjs +8777 -3092
  118. package/package.json +20 -17
  119. package/src/index.ts +1 -0
  120. package/lib/components/DataGridOld/Body/Body.d.ts +0 -13
  121. package/lib/components/DataGridOld/Body/index.d.ts +0 -1
  122. package/lib/components/DataGridOld/Body/styles.d.ts +0 -1
  123. package/lib/components/DataGridOld/Cell/Cell.d.ts +0 -7
  124. package/lib/components/DataGridOld/Cell/index.d.ts +0 -1
  125. package/lib/components/DataGridOld/Cell/styles.d.ts +0 -4
  126. package/lib/components/DataGridOld/DataGridOld.d.ts +0 -20
  127. package/lib/components/DataGridOld/Head/Head.d.ts +0 -7
  128. package/lib/components/DataGridOld/Head/index.d.ts +0 -1
  129. package/lib/components/DataGridOld/HeadCell/HeadCell.d.ts +0 -5
  130. package/lib/components/DataGridOld/HeadCell/index.d.ts +0 -1
  131. package/lib/components/DataGridOld/HeadCell/styles.d.ts +0 -3
  132. package/lib/components/DataGridOld/Row/Row.d.ts +0 -11
  133. package/lib/components/DataGridOld/Row/index.d.ts +0 -1
  134. package/lib/components/DataGridOld/Row/styles.d.ts +0 -5
  135. package/lib/components/DataGridOld/State/State.d.ts +0 -6
  136. package/lib/components/DataGridOld/State/index.d.ts +0 -1
  137. package/lib/components/DataGridOld/State/styles.d.ts +0 -1
  138. package/lib/components/DataGridOld/constants.d.ts +0 -1
  139. package/lib/components/DataGridOld/index.d.ts +0 -2
  140. package/lib/components/DataGridOld/styles.d.ts +0 -7
  141. package/lib/components/DataGridOld/types.d.ts +0 -15
@@ -0,0 +1,66 @@
1
+ import { ElementType, ReactNode } from 'react';
2
+ import { ActionGroupProps } from '../../ActionGroup';
3
+ import { ButtonProps } from '../../Button';
4
+ import { Theme } from '../../../theme';
5
+ export type PageHeaderProps<TMainActionComponent extends ElementType = ElementType, TSecondaryActionComponent extends ElementType = ElementType, TBackButtonComponent extends ElementType = ElementType> = {
6
+ /**
7
+ * Заголовок страницы
8
+ * @example <PageHeader title="Заголовок страницы" />
9
+ */
10
+ title: ReactNode;
11
+ /**
12
+ * Описание страницы
13
+ * @example <PageHeader description="Описание страницы" />
14
+ */
15
+ description?: ReactNode;
16
+ /**
17
+ * Набор компонент, отображаемый в нижней части блока
18
+ * @example <PageHeader subheader={<TextField placeholder="Поиск на странице..." size="small" />} />
19
+ */
20
+ subheader?: ReactNode;
21
+ /**
22
+ * Хлебные крошки
23
+ * @example <PageHeader breadcrumbs={
24
+ * [
25
+ * <Link>Первая ссылка</Link>,
26
+ * <Link>Вторая ссылка</Link>,
27
+ * <>Текст</>,
28
+ * ]
29
+ * } />
30
+ */
31
+ breadcrumbs?: ReactNode[];
32
+ /**
33
+ * Набор кнопок, видимые конфигурируются через объект main, скрытые в меню - через secondary
34
+ * @example <PageHeader actions={{
35
+ * main: [
36
+ * {
37
+ * text: 'Основное действие',
38
+ * },
39
+ * ],
40
+ * secondary: [
41
+ * {
42
+ * text: 'Вспомогательное действие',
43
+ * },
44
+ * ]
45
+ * }} />
46
+ */
47
+ actions?: ActionGroupProps<TMainActionComponent, TSecondaryActionComponent>;
48
+ /**
49
+ * Название класса, применяется к корневому компоненту
50
+ */
51
+ className?: string;
52
+ /**
53
+ * Кнопка возврата на предыдущий экран
54
+ * @example
55
+ * <PageHeader
56
+ * backButton={{
57
+ * onClick: () => {},
58
+ * }}
59
+ * />
60
+ */
61
+ backButton?: Omit<ButtonProps<TBackButtonComponent>, 'children' | 'variant'> & {
62
+ component?: TBackButtonComponent;
63
+ theme?: Theme | undefined;
64
+ };
65
+ };
66
+ export declare const Header: <TMainActionComponent extends ElementType, TSecondaryActionComponent extends ElementType, TBackButtonComponent extends ElementType>(props: PageHeaderProps<TMainActionComponent, TSecondaryActionComponent, TBackButtonComponent>) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Header';
@@ -0,0 +1,45 @@
1
+ import { ActionGroup } from '../../ActionGroup';
2
+ export declare const Wrapper: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLElement>, HTMLElement>, {}>;
3
+ export declare const StyledBreadcrumbs: import('@emotion/styled').StyledComponent<import('@mui/material').BreadcrumbsOwnProps & import('@mui/material/OverridableComponent').CommonProps & Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLElement>, HTMLElement>, "sx" | "classes" | "className" | "style" | "children" | "separator" | "slots" | "slotProps" | "expandText" | "itemsAfterCollapse" | "itemsBeforeCollapse" | "maxItems"> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
4
+ export declare const BackButton: import('@emotion/styled').StyledComponent<Omit<import('../../types').WithoutEmotionSpecific<import('@mui/material').ButtonProps<import('react').ElementType<any, keyof import("react").JSX.IntrinsicElements>>>, "color" | "variant"> & {
5
+ variant?: `${import('../..').ButtonVariants}`;
6
+ loading?: boolean;
7
+ loadingIndicator?: import('react').ReactNode;
8
+ loadingPosition?: "start" | "end" | "center";
9
+ color?: `${import('../..').ButtonColors}`;
10
+ component?: import('react').ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
11
+ selected?: boolean;
12
+ } & {
13
+ loading?: boolean;
14
+ } & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
15
+ export declare const PageSubheader: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
16
+ export declare const Description: import('@emotion/styled').StyledComponent<{
17
+ children?: import('react').ReactNode;
18
+ ref?: import('react').Ref<HTMLSpanElement> | undefined;
19
+ align?: "inherit" | "left" | "center" | "right" | "justify" | undefined;
20
+ gutterBottom?: boolean | undefined;
21
+ noWrap?: boolean | undefined;
22
+ paragraph?: boolean | undefined;
23
+ } & {
24
+ color?: import('../../Typography').TypographyColor;
25
+ variant?: import('../../Typography').TypographyVariant;
26
+ colorIntensity?: import('../../Typography').Intensity;
27
+ component?: "symbol" | "object" | "text" | "main" | "clipPath" | "filter" | "mask" | "marker" | "style" | "div" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | "caption" | "center" | "cite" | "code" | "col" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "dl" | "dt" | "em" | "embed" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "hr" | "html" | "i" | "iframe" | "img" | "input" | "ins" | "kbd" | "keygen" | "label" | "legend" | "li" | "link" | "map" | "mark" | "menu" | "menuitem" | "meta" | "meter" | "nav" | "noindex" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "param" | "picture" | "pre" | "progress" | "q" | "rp" | "rt" | "ruby" | "s" | "samp" | "search" | "slot" | "script" | "section" | "select" | "small" | "source" | "span" | "strong" | "sub" | "summary" | "sup" | "table" | "template" | "tbody" | "td" | "textarea" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "track" | "u" | "ul" | "var" | "video" | "wbr" | "webview" | "svg" | "animate" | "animateMotion" | "animateTransform" | "circle" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "set" | "stop" | "switch" | "textPath" | "tspan" | "use" | "view" | import('react').ComponentType<any>;
28
+ isUpperCase?: boolean;
29
+ } & import('react').HTMLAttributes<HTMLParagraphElement> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
30
+ export declare const Title: import('@emotion/styled').StyledComponent<{
31
+ children?: import('react').ReactNode;
32
+ ref?: import('react').Ref<HTMLSpanElement> | undefined;
33
+ align?: "inherit" | "left" | "center" | "right" | "justify" | undefined;
34
+ gutterBottom?: boolean | undefined;
35
+ noWrap?: boolean | undefined;
36
+ paragraph?: boolean | undefined;
37
+ } & {
38
+ color?: import('../../Typography').TypographyColor;
39
+ variant?: import('../../Typography').TypographyVariant;
40
+ colorIntensity?: import('../../Typography').Intensity;
41
+ component?: "symbol" | "object" | "text" | "main" | "clipPath" | "filter" | "mask" | "marker" | "style" | "div" | "a" | "abbr" | "address" | "area" | "article" | "aside" | "audio" | "b" | "base" | "bdi" | "bdo" | "big" | "blockquote" | "body" | "br" | "button" | "canvas" | "caption" | "center" | "cite" | "code" | "col" | "colgroup" | "data" | "datalist" | "dd" | "del" | "details" | "dfn" | "dialog" | "dl" | "dt" | "em" | "embed" | "fieldset" | "figcaption" | "figure" | "footer" | "form" | "h1" | "h2" | "h3" | "h4" | "h5" | "h6" | "head" | "header" | "hgroup" | "hr" | "html" | "i" | "iframe" | "img" | "input" | "ins" | "kbd" | "keygen" | "label" | "legend" | "li" | "link" | "map" | "mark" | "menu" | "menuitem" | "meta" | "meter" | "nav" | "noindex" | "noscript" | "ol" | "optgroup" | "option" | "output" | "p" | "param" | "picture" | "pre" | "progress" | "q" | "rp" | "rt" | "ruby" | "s" | "samp" | "search" | "slot" | "script" | "section" | "select" | "small" | "source" | "span" | "strong" | "sub" | "summary" | "sup" | "table" | "template" | "tbody" | "td" | "textarea" | "tfoot" | "th" | "thead" | "time" | "title" | "tr" | "track" | "u" | "ul" | "var" | "video" | "wbr" | "webview" | "svg" | "animate" | "animateMotion" | "animateTransform" | "circle" | "defs" | "desc" | "ellipse" | "feBlend" | "feColorMatrix" | "feComponentTransfer" | "feComposite" | "feConvolveMatrix" | "feDiffuseLighting" | "feDisplacementMap" | "feDistantLight" | "feDropShadow" | "feFlood" | "feFuncA" | "feFuncB" | "feFuncG" | "feFuncR" | "feGaussianBlur" | "feImage" | "feMerge" | "feMergeNode" | "feMorphology" | "feOffset" | "fePointLight" | "feSpecularLighting" | "feSpotLight" | "feTile" | "feTurbulence" | "foreignObject" | "g" | "image" | "line" | "linearGradient" | "metadata" | "mpath" | "path" | "pattern" | "polygon" | "polyline" | "radialGradient" | "rect" | "set" | "stop" | "switch" | "textPath" | "tspan" | "use" | "view" | import('react').ComponentType<any>;
42
+ isUpperCase?: boolean;
43
+ } & import('react').HTMLAttributes<HTMLParagraphElement> & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
44
+ export declare const Actions: typeof ActionGroup;
45
+ export declare const MobileWrapper: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export type PageLayoutProps = {
3
+ children: ReactNode;
4
+ className?: string;
5
+ };
6
+ export declare const PageLayout: {
7
+ ({ children, className }: PageLayoutProps): import("react/jsx-runtime").JSX.Element;
8
+ Header: <TMainActionComponent extends import('react').ElementType, TSecondaryActionComponent extends import('react').ElementType, TBackButtonComponent extends import('react').ElementType>(props: import('./Header').PageHeaderProps<TMainActionComponent, TSecondaryActionComponent, TBackButtonComponent>) => import("react/jsx-runtime").JSX.Element;
9
+ Content: (props: import('./Content').PageContentProps) => import("react/jsx-runtime").JSX.Element;
10
+ Footer: (props: import('./Footer').PageLayoutFooterProps) => import("react/jsx-runtime").JSX.Element;
11
+ Aside: ({ children, className }: import('./Aside').PageAsideProps) => import("react/jsx-runtime").JSX.Element;
12
+ };
@@ -0,0 +1,5 @@
1
+ export declare const PAGE_CONTENT_WRAPPER_CLASSNAME = "page-content__wrapper";
2
+ export declare const PAGE_CONTENT_CLASSNAME = "page-content";
3
+ export declare const PAGE_HEADER_ACTIONS_CLASSNAME = "page_header_actions";
4
+ export declare const PAGE_HEADER_CLASSNAME = "page_header";
5
+ export declare const PAGE_ASIDE_CLASSNAME = "page_aside";
@@ -0,0 +1 @@
1
+ export * from './PageLayout';
@@ -0,0 +1 @@
1
+ export declare const Wrapper: import('@emotion/styled').StyledComponent<import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
@@ -0,0 +1,6 @@
1
+ import { ButtonProps } from '../Button';
2
+ export type ProductProps = ButtonProps<'button'> & {
3
+ logo: () => React.ReactNode;
4
+ name: string;
5
+ };
6
+ export declare const Product: (props: ProductProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export * from './Product';
@@ -0,0 +1,9 @@
1
+ export declare const StyledButton: import('@emotion/styled').StyledComponent<Omit<import('../types').WithoutEmotionSpecific<import('@mui/material').ButtonProps<import('react').ElementType<any, keyof import("react").JSX.IntrinsicElements>>>, "color" | "variant"> & {
2
+ variant?: `${import('../Button').ButtonVariants}`;
3
+ loading?: boolean;
4
+ loadingIndicator?: import('react').ReactNode;
5
+ loadingPosition?: "start" | "end" | "center";
6
+ color?: `${import('../Button').ButtonColors}`;
7
+ component?: import('react').ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
8
+ selected?: boolean;
9
+ } & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
@@ -0,0 +1,13 @@
1
+ import { MenuProps as MuiMenuProps } from '@mui/material';
2
+ import { ProfileMenuItemData } from '../Profile';
3
+ type MenuListProps = MuiMenuProps & {
4
+ menuList?: Array<ProfileMenuItemData>;
5
+ exitButton?: {
6
+ onClick: () => void;
7
+ };
8
+ };
9
+ /**
10
+ * Компонент для рендера menu с помощью массива данных
11
+ */
12
+ export declare const MenuList: (props: MenuListProps) => import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1 @@
1
+ export * from './MenuList';
@@ -0,0 +1,12 @@
1
+ export declare const StyledMenu: import('@emotion/styled').StyledComponent<import('../../types').WithoutEmotionSpecific<import('@mui/material').MenuProps> & {
2
+ title?: string;
3
+ } & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme>, {}, {}>;
4
+ export declare const ExitMenuItem: import('@emotion/styled').StyledComponent<import('../../types').WithoutEmotionSpecific<import('@mui/material').MenuItemProps<import('react').ElementType>> & {
5
+ disabledReason?: string;
6
+ note?: string;
7
+ tooltipPlacement?: import('../..').TooltipProps["placement"];
8
+ component?: import('react').ElementType | undefined;
9
+ href?: string;
10
+ } & import('@mui/system').MUIStyledCommonProps<import('@mui/material').Theme> & {
11
+ $exitButton: boolean;
12
+ }, {}, {}>;
@@ -0,0 +1,50 @@
1
+ import { AvatarProps, MenuProps } from '@mui/material';
2
+ import { FunctionComponent, PropsWithChildren, ReactElement, ReactNode } from 'react';
3
+ import { WithoutEmotionSpecific } from '../types';
4
+ export type ProfileMenuItemData = {
5
+ icon: ReactNode;
6
+ title: ReactNode;
7
+ onClick?: () => void;
8
+ /**
9
+ * @example
10
+ * const renderItem: ProfileMenuItemData['render'] = ({ title, icon }) => (
11
+ * <MenuItem>
12
+ * <Typography variant="caption" color="primary">
13
+ * {title}
14
+ * </Typography>
15
+ * <IconButton variant="text">{icon}</IconButton>
16
+ * </MenuItem>
17
+ * );
18
+ */
19
+ render?: FunctionComponent<Omit<ProfileMenuItemData, 'render'>>;
20
+ };
21
+ export type ProfileProps = {
22
+ /**
23
+ * Имя профиля
24
+ */
25
+ displayName: string;
26
+ /**
27
+ * Дополнительная информация (например email или username)
28
+ */
29
+ annotation?: string;
30
+ /**
31
+ * Аватарка профиля
32
+ */
33
+ avatar?: AvatarProps;
34
+ /**
35
+ * Кастомный рендер menu. Перекрывает menuList и exitButton
36
+ */
37
+ menu?: (props: PropsWithChildren<WithoutEmotionSpecific<MenuProps>>) => ReactElement;
38
+ /**
39
+ * Рендер menu через массив данных. Перекрывает menu и может использоваться с exitButton
40
+ */
41
+ menuList?: Array<ProfileMenuItemData>;
42
+ /**
43
+ * Отображение кнопки выхода и действие на нее
44
+ */
45
+ exitButton?: {
46
+ onClick: () => void;
47
+ };
48
+ };
49
+ export declare const Profile: (props: ProfileProps) => import("react/jsx-runtime").JSX.Element;
50
+ export default Profile;
@@ -0,0 +1 @@
1
+ export * from './Profile';