@astral/ui 4.88.1 → 4.90.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 (109) hide show
  1. package/components/Accordion/styles.d.ts +1 -1
  2. package/components/AutoSaveIndicator/DefaultState/styles.d.ts +1 -1
  3. package/components/AutoSaveIndicator/ErrorState/styles.d.ts +1 -1
  4. package/components/AutoSaveIndicator/LoadingState/styles.d.ts +1 -1
  5. package/components/AutoSaveIndicator/SuccessState/styles.d.ts +1 -1
  6. package/components/BulletListItem/styles.d.ts +1 -1
  7. package/components/Chevron/styles.d.ts +1 -1
  8. package/components/Chip/ChipStatusIcon/styled.d.ts +1 -1
  9. package/components/ComplianceStatus/styles.d.ts +3 -3
  10. package/components/CopyTypography/styles.d.ts +1 -1
  11. package/components/DataGrid/Row/styles.d.ts +1 -1
  12. package/components/DataGridCollapsibleRow/styles.d.ts +1 -1
  13. package/components/DatePicker/DateCalendar/DateCalendarChevronButton/DateCalendarNextButton/styles.d.ts +2 -2
  14. package/components/DatePicker/DateCalendar/DateCalendarChevronButton/DateCalendarPrevButton/styles.d.ts +2 -2
  15. package/components/FormHelperText/FormHelperTextContent/styles.d.ts +2 -2
  16. package/components/GuidTypography/GuidTypography.d.ts +2 -8
  17. package/components/GuidTypography/GuidTypography.js +12 -7
  18. package/components/GuidTypography/index.d.ts +2 -1
  19. package/components/GuidTypography/public.d.ts +2 -1
  20. package/components/GuidTypography/types.d.ts +16 -0
  21. package/components/GuidTypography/types.js +1 -0
  22. package/components/GuidTypography/useLogic/index.d.ts +1 -0
  23. package/components/GuidTypography/useLogic/index.js +1 -0
  24. package/components/GuidTypography/useLogic/useLogic.d.ts +638 -0
  25. package/components/GuidTypography/useLogic/useLogic.js +18 -0
  26. package/components/HintIcon/HintIcon.d.ts +1 -1
  27. package/components/HintIcon/HintIcon.js +2 -2
  28. package/components/HintIcon/Icon/Icon.d.ts +1 -1
  29. package/components/HintIcon/Icon/Icon.js +11 -4
  30. package/components/HintIcon/Icon/useLogic/useLogic.d.ts +1 -3
  31. package/components/HintIcon/Icon/useLogic/useLogic.js +2 -14
  32. package/components/HintIcon/constants.d.ts +5 -4
  33. package/components/HintIcon/constants.js +4 -5
  34. package/components/HintIcon/types.d.ts +6 -0
  35. package/components/JsonViewer/JsonNode/styles.d.ts +1 -1
  36. package/components/JsonViewer/NodeValue/styles.d.ts +2 -0
  37. package/components/LegacyNotification/styles.d.ts +4 -4
  38. package/components/Loader/styles.d.ts +1 -1
  39. package/components/NavMenu/Item/ItemButton/styles.d.ts +2 -2
  40. package/components/NewPopover/styles.js +1 -1
  41. package/components/NewStepper/Step/styles.d.ts +1 -1
  42. package/components/Notification/styles.d.ts +4 -4
  43. package/components/SearchField/styles.d.ts +1 -1
  44. package/components/Stepper/ArrowConnector/ArrowConnector.d.ts +1 -1
  45. package/components/Stepper/StepIcon/styles.d.ts +5 -5
  46. package/components/SvgIcon/SvgIcon.js +11 -1
  47. package/components/SvgIcon/constants.d.ts +4 -0
  48. package/components/SvgIcon/constants.js +4 -0
  49. package/components/SvgIcon/styles.js +7 -4
  50. package/components/SvgIcon/types.d.ts +2 -2
  51. package/components/Tree/TreeItem/styles.d.ts +1 -1
  52. package/components/fileUploading/FileInfo/styles.d.ts +1 -1
  53. package/hook-form/EditableText/styles.d.ts +1 -1
  54. package/hook-form/FormWizardPageLayout/FormWizardFooter/styles.d.ts +2 -2
  55. package/node/components/Accordion/styles.d.ts +1 -1
  56. package/node/components/AutoSaveIndicator/DefaultState/styles.d.ts +1 -1
  57. package/node/components/AutoSaveIndicator/ErrorState/styles.d.ts +1 -1
  58. package/node/components/AutoSaveIndicator/LoadingState/styles.d.ts +1 -1
  59. package/node/components/AutoSaveIndicator/SuccessState/styles.d.ts +1 -1
  60. package/node/components/BulletListItem/styles.d.ts +1 -1
  61. package/node/components/Chevron/styles.d.ts +1 -1
  62. package/node/components/Chip/ChipStatusIcon/styled.d.ts +1 -1
  63. package/node/components/ComplianceStatus/styles.d.ts +3 -3
  64. package/node/components/CopyTypography/styles.d.ts +1 -1
  65. package/node/components/DataGrid/Row/styles.d.ts +1 -1
  66. package/node/components/DataGridCollapsibleRow/styles.d.ts +1 -1
  67. package/node/components/DatePicker/DateCalendar/DateCalendarChevronButton/DateCalendarNextButton/styles.d.ts +2 -2
  68. package/node/components/DatePicker/DateCalendar/DateCalendarChevronButton/DateCalendarPrevButton/styles.d.ts +2 -2
  69. package/node/components/FormHelperText/FormHelperTextContent/styles.d.ts +2 -2
  70. package/node/components/GuidTypography/GuidTypography.d.ts +2 -8
  71. package/node/components/GuidTypography/GuidTypography.js +11 -6
  72. package/node/components/GuidTypography/index.d.ts +2 -1
  73. package/node/components/GuidTypography/public.d.ts +2 -1
  74. package/node/components/GuidTypography/types.d.ts +16 -0
  75. package/node/components/GuidTypography/types.js +2 -0
  76. package/node/components/GuidTypography/useLogic/index.d.ts +1 -0
  77. package/node/components/GuidTypography/useLogic/index.js +17 -0
  78. package/node/components/GuidTypography/useLogic/useLogic.d.ts +638 -0
  79. package/node/components/GuidTypography/useLogic/useLogic.js +22 -0
  80. package/node/components/HintIcon/HintIcon.d.ts +1 -1
  81. package/node/components/HintIcon/HintIcon.js +2 -2
  82. package/node/components/HintIcon/Icon/Icon.d.ts +1 -1
  83. package/node/components/HintIcon/Icon/Icon.js +10 -3
  84. package/node/components/HintIcon/Icon/useLogic/useLogic.d.ts +1 -3
  85. package/node/components/HintIcon/Icon/useLogic/useLogic.js +2 -14
  86. package/node/components/HintIcon/constants.d.ts +5 -4
  87. package/node/components/HintIcon/constants.js +4 -5
  88. package/node/components/HintIcon/types.d.ts +6 -0
  89. package/node/components/JsonViewer/JsonNode/styles.d.ts +1 -1
  90. package/node/components/JsonViewer/NodeValue/styles.d.ts +2 -0
  91. package/node/components/LegacyNotification/styles.d.ts +4 -4
  92. package/node/components/Loader/styles.d.ts +1 -1
  93. package/node/components/NavMenu/Item/ItemButton/styles.d.ts +2 -2
  94. package/node/components/NewPopover/styles.js +1 -1
  95. package/node/components/NewStepper/Step/styles.d.ts +1 -1
  96. package/node/components/Notification/styles.d.ts +4 -4
  97. package/node/components/SearchField/styles.d.ts +1 -1
  98. package/node/components/Stepper/ArrowConnector/ArrowConnector.d.ts +1 -1
  99. package/node/components/Stepper/StepIcon/styles.d.ts +5 -5
  100. package/node/components/SvgIcon/SvgIcon.js +11 -1
  101. package/node/components/SvgIcon/constants.d.ts +4 -0
  102. package/node/components/SvgIcon/constants.js +4 -0
  103. package/node/components/SvgIcon/styles.js +7 -4
  104. package/node/components/SvgIcon/types.d.ts +2 -2
  105. package/node/components/Tree/TreeItem/styles.d.ts +1 -1
  106. package/node/components/fileUploading/FileInfo/styles.d.ts +1 -1
  107. package/node/hook-form/EditableText/styles.d.ts +1 -1
  108. package/node/hook-form/FormWizardPageLayout/FormWizardFooter/styles.d.ts +2 -2
  109. package/package.json +1 -1
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLogic = void 0;
4
+ const personalDataSecurity_1 = require("../../personalDataSecurity");
5
+ const useLogic = ({ className, isHidePersonalData, tooltipProps, canCopy, copyParams, ...restProps }) => {
6
+ const hidePersonalDataClassname = (0, personalDataSecurity_1.useHidePersonalData)({
7
+ isEnabled: isHidePersonalData,
8
+ });
9
+ const guidText = typeof restProps.children === 'string' ? restProps.children : undefined;
10
+ const resolvedCopyText = copyParams?.copyText ?? guidText;
11
+ return {
12
+ className,
13
+ isHidePersonalData,
14
+ tooltipProps,
15
+ canCopy,
16
+ copyParams,
17
+ restProps,
18
+ resolvedCopyText,
19
+ hidePersonalDataClassname,
20
+ };
21
+ };
22
+ exports.useLogic = useLogic;
@@ -1,2 +1,2 @@
1
1
  import { type HintIconProps } from './types';
2
- export declare const HintIcon: ({ variant, title, note, iconOption, tooltipPlacement, renderIcon, tooltipWidth, }: HintIconProps) => import("react/jsx-runtime").JSX.Element;
2
+ export declare const HintIcon: ({ variant, title, note, iconOption, size, tooltipPlacement, renderIcon, tooltipWidth, }: HintIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -6,8 +6,8 @@ const BottomDrawer_1 = require("../BottomDrawer");
6
6
  const Icon_1 = require("./Icon");
7
7
  const styles_1 = require("./styles");
8
8
  const useLogic_1 = require("./useLogic");
9
- const HintIcon = ({ variant, title, note, iconOption, tooltipPlacement = 'bottom', renderIcon, tooltipWidth, }) => {
9
+ const HintIcon = ({ variant, title, note, iconOption, size, tooltipPlacement = 'bottom', renderIcon, tooltipWidth, }) => {
10
10
  const { handleClose, handleOpen, open } = (0, useLogic_1.useLogic)();
11
- return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Icon_1.Icon, { onClick: handleOpen, variant: variant, iconOption: iconOption, note: note, tooltipPlacement: tooltipPlacement, renderIcon: renderIcon, tooltipWidth: tooltipWidth }), (0, jsx_runtime_1.jsx)(BottomDrawer_1.BottomDrawer, { title: title, open: open, onClose: handleClose, children: (0, jsx_runtime_1.jsx)(styles_1.DrawerContent, { children: note }) })] }));
11
+ return ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)(Icon_1.Icon, { onClick: handleOpen, variant: variant, iconOption: iconOption, size: size, note: note, tooltipPlacement: tooltipPlacement, renderIcon: renderIcon, tooltipWidth: tooltipWidth }), (0, jsx_runtime_1.jsx)(BottomDrawer_1.BottomDrawer, { title: title, open: open, onClose: handleClose, children: (0, jsx_runtime_1.jsx)(styles_1.DrawerContent, { children: note }) })] }));
12
12
  };
13
13
  exports.HintIcon = HintIcon;
@@ -1,6 +1,6 @@
1
1
  import type { SyntheticEvent } from 'react';
2
2
  import type { HintIconProps, TooltipPlacement } from '../types';
3
- export type IconProps = Pick<HintIconProps, 'variant' | 'iconOption' | 'note' | 'renderIcon' | 'tooltipWidth'> & {
3
+ export type IconProps = Pick<HintIconProps, 'variant' | 'iconOption' | 'size' | 'note' | 'renderIcon' | 'tooltipWidth'> & {
4
4
  onClick: (e: SyntheticEvent) => void;
5
5
  tooltipPlacement: TooltipPlacement;
6
6
  };
@@ -7,8 +7,15 @@ const constants_1 = require("../constants");
7
7
  const styles_1 = require("./styles");
8
8
  const useLogic_1 = require("./useLogic");
9
9
  const Icon = (props) => {
10
- const { getIcon, iconColor } = (0, useLogic_1.useLogic)(props);
11
- const { onClick, note, tooltipPlacement, tooltipWidth } = props;
12
- return ((0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { title: note, placement: tooltipPlacement, width: tooltipWidth, children: (0, jsx_runtime_1.jsx)(styles_1.IconWrapper, { onClick: onClick, "$color": iconColor, className: constants_1.hintIconClassnames.iconWrapper, children: getIcon() }) }));
10
+ const { iconColor } = (0, useLogic_1.useLogic)(props);
11
+ const { onClick, variant, iconOption, size, note, tooltipPlacement, tooltipWidth, renderIcon, } = props;
12
+ const IconVariant = () => {
13
+ if (renderIcon) {
14
+ return renderIcon();
15
+ }
16
+ const Component = constants_1.ICONS[variant ?? 'info'][iconOption?.variant ?? 'fill'];
17
+ return (0, jsx_runtime_1.jsx)(Component, { size: size });
18
+ };
19
+ return ((0, jsx_runtime_1.jsx)(Tooltip_1.Tooltip, { title: note, placement: tooltipPlacement, width: tooltipWidth, children: (0, jsx_runtime_1.jsx)(styles_1.IconWrapper, { onClick: onClick, "$color": iconColor, className: constants_1.hintIconClassnames.iconWrapper, children: (0, jsx_runtime_1.jsx)(IconVariant, {}) }) }));
13
20
  };
14
21
  exports.Icon = Icon;
@@ -1,8 +1,6 @@
1
- import { type ReactNode } from 'react';
2
1
  import { type IconProps } from '../Icon';
3
2
  type UseLogicParams = IconProps;
4
- export declare const useLogic: ({ iconOption, variant, renderIcon, }: UseLogicParams) => {
5
- getIcon: () => ReactNode;
3
+ export declare const useLogic: ({ iconOption, renderIcon }: UseLogicParams) => {
6
4
  iconColor: string;
7
5
  };
8
6
  export {};
@@ -1,21 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.useLogic = void 0;
4
- const constants_1 = require("../../constants");
5
4
  const hooks_1 = require("./hooks");
6
- const useLogic = ({ iconOption, variant, renderIcon, }) => {
5
+ const useLogic = ({ iconOption, renderIcon }) => {
7
6
  const iconColor = (0, hooks_1.useIconColor)({ color: iconOption?.color, renderIcon });
8
- const { variant: iconOptionVariant = 'fill' } = iconOption || {};
9
- const getIcon = () => {
10
- if (renderIcon) {
11
- return renderIcon();
12
- }
13
- const icon = constants_1.ICONS[variant][iconOptionVariant];
14
- if (icon) {
15
- return icon;
16
- }
17
- return constants_1.ICONS.info.fill;
18
- };
19
- return { getIcon, iconColor };
7
+ return { iconColor };
20
8
  };
21
9
  exports.useLogic = useLogic;
@@ -1,13 +1,14 @@
1
+ /// <reference types="react" />
1
2
  export declare const hintIconClassnames: {
2
3
  iconWrapper: string;
3
4
  };
4
5
  export declare const ICONS: {
5
6
  question: {
6
- fill: import("react/jsx-runtime").JSX.Element;
7
- outline: import("react/jsx-runtime").JSX.Element;
7
+ fill: import("react").FunctionComponent<import("..").SvgIconProps>;
8
+ outline: import("react").FunctionComponent<import("..").SvgIconProps>;
8
9
  };
9
10
  info: {
10
- fill: import("react/jsx-runtime").JSX.Element;
11
- outline: import("react/jsx-runtime").JSX.Element;
11
+ fill: import("react").FunctionComponent<import("..").SvgIconProps>;
12
+ outline: import("react").FunctionComponent<import("..").SvgIconProps>;
12
13
  };
13
14
  };
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ICONS = exports.hintIconClassnames = void 0;
4
- const jsx_runtime_1 = require("react/jsx-runtime");
5
4
  const InfoFillMd_1 = require("../../icons/InfoFillMd");
6
5
  const InfoOutlineMd_1 = require("../../icons/InfoOutlineMd");
7
6
  const QuestionFillMd_1 = require("../../icons/QuestionFillMd");
@@ -12,11 +11,11 @@ exports.hintIconClassnames = {
12
11
  };
13
12
  exports.ICONS = {
14
13
  question: {
15
- fill: (0, jsx_runtime_1.jsx)(QuestionFillMd_1.QuestionFillMd, {}),
16
- outline: (0, jsx_runtime_1.jsx)(QuestionOutlineMd_1.QuestionOutlineMd, {}),
14
+ fill: QuestionFillMd_1.QuestionFillMd,
15
+ outline: QuestionOutlineMd_1.QuestionOutlineMd,
17
16
  },
18
17
  info: {
19
- fill: (0, jsx_runtime_1.jsx)(InfoFillMd_1.InfoFillMd, {}),
20
- outline: (0, jsx_runtime_1.jsx)(InfoOutlineMd_1.InfoOutlineMd, {}),
18
+ fill: InfoFillMd_1.InfoFillMd,
19
+ outline: InfoOutlineMd_1.InfoOutlineMd,
21
20
  },
22
21
  };
@@ -20,6 +20,12 @@ export type HintIconProps = {
20
20
  */
21
21
  color?: 'warning' | 'grey' | 'lightGrey';
22
22
  };
23
+ /**
24
+ * Размеры (width и height) иконки.
25
+ *
26
+ * sm = 16px, md = 24px, auto = 1em
27
+ */
28
+ size?: 'sm' | 'md' | 'auto';
23
29
  /**
24
30
  * Текст заголовка BottomDrawer
25
31
  */
@@ -16,7 +16,7 @@ export declare const Chevron: import("@emotion/styled/dist/declarations/src/type
16
16
  children?: import("react").ReactNode;
17
17
  color?: string | undefined;
18
18
  titleAccess?: string | undefined;
19
- size?: "sm" | "md" | undefined;
19
+ size?: "sm" | "md" | "auto" | undefined;
20
20
  } & import("react").SVGProps<SVGSVGElement> & {
21
21
  theme?: import("@emotion/react").Theme | undefined;
22
22
  } & {
@@ -1050,6 +1050,8 @@ export declare const GuidValue: import("@emotion/styled/dist/declarations/src/ty
1050
1050
  children?: import("react").ReactNode;
1051
1051
  } & {
1052
1052
  isHidePersonalData?: boolean | undefined;
1053
+ canCopy?: boolean | undefined;
1054
+ copyParams?: import("../../CopyTypography").CopyTypographyProps | undefined;
1053
1055
  } & {
1054
1056
  theme?: import("@emotion/react").Theme | undefined;
1055
1057
  } & {
@@ -3,7 +3,7 @@ export declare const InfoNotificationIcon: import("@emotion/styled/dist/declarat
3
3
  children?: import("react").ReactNode;
4
4
  color?: string | undefined;
5
5
  titleAccess?: string | undefined;
6
- size?: "sm" | "md" | undefined;
6
+ size?: "sm" | "md" | "auto" | undefined;
7
7
  } & import("react").SVGProps<SVGSVGElement> & {
8
8
  theme?: import("@emotion/react").Theme | undefined;
9
9
  }, {}, {}>;
@@ -11,7 +11,7 @@ export declare const SuccessNotificationIcon: import("@emotion/styled/dist/decla
11
11
  children?: import("react").ReactNode;
12
12
  color?: string | undefined;
13
13
  titleAccess?: string | undefined;
14
- size?: "sm" | "md" | undefined;
14
+ size?: "sm" | "md" | "auto" | undefined;
15
15
  } & import("react").SVGProps<SVGSVGElement> & {
16
16
  theme?: import("@emotion/react").Theme | undefined;
17
17
  }, {}, {}>;
@@ -19,7 +19,7 @@ export declare const WarningNotificationIcon: import("@emotion/styled/dist/decla
19
19
  children?: import("react").ReactNode;
20
20
  color?: string | undefined;
21
21
  titleAccess?: string | undefined;
22
- size?: "sm" | "md" | undefined;
22
+ size?: "sm" | "md" | "auto" | undefined;
23
23
  } & import("react").SVGProps<SVGSVGElement> & {
24
24
  theme?: import("@emotion/react").Theme | undefined;
25
25
  }, {}, {}>;
@@ -27,7 +27,7 @@ export declare const ErrorNotificationIcon: import("@emotion/styled/dist/declara
27
27
  children?: import("react").ReactNode;
28
28
  color?: string | undefined;
29
29
  titleAccess?: string | undefined;
30
- size?: "sm" | "md" | undefined;
30
+ size?: "sm" | "md" | "auto" | undefined;
31
31
  } & import("react").SVGProps<SVGSVGElement> & {
32
32
  theme?: import("@emotion/react").Theme | undefined;
33
33
  }, {}, {}>;
@@ -12,7 +12,7 @@ export declare const StyledSvgIcon: import("@emotion/styled/dist/declarations/sr
12
12
  children?: import("react").ReactNode;
13
13
  color?: string | undefined;
14
14
  titleAccess?: string | undefined;
15
- size?: "sm" | "md" | undefined;
15
+ size?: "sm" | "md" | "auto" | undefined;
16
16
  } & import("react").SVGProps<SVGSVGElement> & {
17
17
  theme?: import("@emotion/react").Theme | undefined;
18
18
  }, {}, {}>;
@@ -642,7 +642,7 @@ export declare const NavMenuItemButtonChevron: import("@emotion/styled/dist/decl
642
642
  children?: import("react").ReactNode;
643
643
  color?: string | undefined;
644
644
  titleAccess?: string | undefined;
645
- size?: "sm" | "md" | undefined;
645
+ size?: "sm" | "md" | "auto" | undefined;
646
646
  } & import("react").SVGProps<SVGSVGElement> & {
647
647
  theme?: import("@emotion/react").Theme | undefined;
648
648
  } & {
@@ -659,7 +659,7 @@ export declare const StyledPageDotOutlineMd: import("@emotion/styled/dist/declar
659
659
  children?: import("react").ReactNode;
660
660
  color?: string | undefined;
661
661
  titleAccess?: string | undefined;
662
- size?: "sm" | "md" | undefined;
662
+ size?: "sm" | "md" | "auto" | undefined;
663
663
  } & import("react").SVGProps<SVGSVGElement> & {
664
664
  theme?: import("@emotion/react").Theme | undefined;
665
665
  }, {}, {}>;
@@ -12,7 +12,7 @@ exports.StyledMuiPopper = (0, styled_1.styled)(Popper_1.default) `
12
12
  --arrow-base: ${constants_1.ARROW_BASE}px;
13
13
  --arrow-height: ${constants_1.ARROW_HEIGHT}px;
14
14
 
15
- z-index: ${({ theme }) => theme.zIndex.tooltip};
15
+ z-index: ${({ theme }) => theme.zIndex.modal};
16
16
  }
17
17
 
18
18
  /* Anchor ушёл за скролл/вьюпорт — прячем стрелку. */
@@ -11,7 +11,7 @@ export declare const ArrowConnector: import("@emotion/styled/dist/declarations/s
11
11
  children?: import("react").ReactNode;
12
12
  color?: string | undefined;
13
13
  titleAccess?: string | undefined;
14
- size?: "sm" | "md" | undefined;
14
+ size?: "sm" | "md" | "auto" | undefined;
15
15
  } & import("react").SVGProps<SVGSVGElement> & {
16
16
  theme?: import("@emotion/react").Theme | undefined;
17
17
  }, {}, {}>;
@@ -3,7 +3,7 @@ export declare const InfoNotificationIcon: import("@emotion/styled/dist/declarat
3
3
  children?: import("react").ReactNode;
4
4
  color?: string | undefined;
5
5
  titleAccess?: string | undefined;
6
- size?: "sm" | "md" | undefined;
6
+ size?: "sm" | "md" | "auto" | undefined;
7
7
  } & import("react").SVGProps<SVGSVGElement> & {
8
8
  theme?: import("@emotion/react").Theme | undefined;
9
9
  }, {}, {}>;
@@ -11,7 +11,7 @@ export declare const SuccessNotificationIcon: import("@emotion/styled/dist/decla
11
11
  children?: import("react").ReactNode;
12
12
  color?: string | undefined;
13
13
  titleAccess?: string | undefined;
14
- size?: "sm" | "md" | undefined;
14
+ size?: "sm" | "md" | "auto" | undefined;
15
15
  } & import("react").SVGProps<SVGSVGElement> & {
16
16
  theme?: import("@emotion/react").Theme | undefined;
17
17
  }, {}, {}>;
@@ -19,7 +19,7 @@ export declare const WarningNotificationIcon: import("@emotion/styled/dist/decla
19
19
  children?: import("react").ReactNode;
20
20
  color?: string | undefined;
21
21
  titleAccess?: string | undefined;
22
- size?: "sm" | "md" | undefined;
22
+ size?: "sm" | "md" | "auto" | undefined;
23
23
  } & import("react").SVGProps<SVGSVGElement> & {
24
24
  theme?: import("@emotion/react").Theme | undefined;
25
25
  }, {}, {}>;
@@ -27,7 +27,7 @@ export declare const ErrorNotificationIcon: import("@emotion/styled/dist/declara
27
27
  children?: import("react").ReactNode;
28
28
  color?: string | undefined;
29
29
  titleAccess?: string | undefined;
30
- size?: "sm" | "md" | undefined;
30
+ size?: "sm" | "md" | "auto" | undefined;
31
31
  } & import("react").SVGProps<SVGSVGElement> & {
32
32
  theme?: import("@emotion/react").Theme | undefined;
33
33
  }, {}, {}>;
@@ -3,7 +3,7 @@ export declare const SearchIcon: import("@emotion/styled/dist/declarations/src/t
3
3
  children?: import("react").ReactNode;
4
4
  color?: string | undefined;
5
5
  titleAccess?: string | undefined;
6
- size?: "sm" | "md" | undefined;
6
+ size?: "sm" | "md" | "auto" | undefined;
7
7
  } & import("react").SVGProps<SVGSVGElement> & {
8
8
  theme?: import("@emotion/react").Theme | undefined;
9
9
  }, {}, {}>;
@@ -3,7 +3,7 @@ export declare const ArrowConnector: import("@emotion/styled/dist/declarations/s
3
3
  children?: import("react").ReactNode;
4
4
  color?: string | undefined;
5
5
  titleAccess?: string | undefined;
6
- size?: "sm" | "md" | undefined;
6
+ size?: "sm" | "md" | "auto" | undefined;
7
7
  } & import("react").SVGProps<SVGSVGElement> & {
8
8
  theme?: import("@emotion/react").Theme | undefined;
9
9
  }, {}, {}>;
@@ -3,7 +3,7 @@ export declare const ErrorIcon: import("@emotion/styled/dist/declarations/src/ty
3
3
  children?: import("react").ReactNode;
4
4
  color?: string | undefined;
5
5
  titleAccess?: string | undefined;
6
- size?: "sm" | "md" | undefined;
6
+ size?: "sm" | "md" | "auto" | undefined;
7
7
  } & import("react").SVGProps<SVGSVGElement> & {
8
8
  theme?: import("@emotion/react").Theme | undefined;
9
9
  }, {}, {}>;
@@ -11,7 +11,7 @@ export declare const SuccessIcon: import("@emotion/styled/dist/declarations/src/
11
11
  children?: import("react").ReactNode;
12
12
  color?: string | undefined;
13
13
  titleAccess?: string | undefined;
14
- size?: "sm" | "md" | undefined;
14
+ size?: "sm" | "md" | "auto" | undefined;
15
15
  } & import("react").SVGProps<SVGSVGElement> & {
16
16
  theme?: import("@emotion/react").Theme | undefined;
17
17
  }, {}, {}>;
@@ -19,7 +19,7 @@ export declare const SelectIcon: import("@emotion/styled/dist/declarations/src/t
19
19
  children?: import("react").ReactNode;
20
20
  color?: string | undefined;
21
21
  titleAccess?: string | undefined;
22
- size?: "sm" | "md" | undefined;
22
+ size?: "sm" | "md" | "auto" | undefined;
23
23
  } & import("react").SVGProps<SVGSVGElement> & {
24
24
  theme?: import("@emotion/react").Theme | undefined;
25
25
  } & {
@@ -29,7 +29,7 @@ export declare const DefaultIcon: import("@emotion/styled/dist/declarations/src/
29
29
  children?: import("react").ReactNode;
30
30
  color?: string | undefined;
31
31
  titleAccess?: string | undefined;
32
- size?: "sm" | "md" | undefined;
32
+ size?: "sm" | "md" | "auto" | undefined;
33
33
  } & import("react").SVGProps<SVGSVGElement> & {
34
34
  theme?: import("@emotion/react").Theme | undefined;
35
35
  }, {}, {}>;
@@ -37,7 +37,7 @@ export declare const ActiveIcon: import("@emotion/styled/dist/declarations/src/t
37
37
  children?: import("react").ReactNode;
38
38
  color?: string | undefined;
39
39
  titleAccess?: string | undefined;
40
- size?: "sm" | "md" | undefined;
40
+ size?: "sm" | "md" | "auto" | undefined;
41
41
  } & import("react").SVGProps<SVGSVGElement> & {
42
42
  theme?: import("@emotion/react").Theme | undefined;
43
43
  }, {}, {}>;
@@ -3,10 +3,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SvgIcon = void 0;
4
4
  const jsx_runtime_1 = require("react/jsx-runtime");
5
5
  const classNames_1 = require("../utils/classNames");
6
+ const cva_1 = require("../utils/cva");
6
7
  const constants_1 = require("./constants");
7
8
  const styles_1 = require("./styles");
9
+ const svgCva = (0, cva_1.cva)(constants_1.svgIconClassnames.root, {
10
+ variants: {
11
+ size: {
12
+ auto: constants_1.svgIconClassnames.sizeAuto,
13
+ sm: constants_1.svgIconClassnames.sizeSm,
14
+ md: constants_1.svgIconClassnames.sizeMd,
15
+ },
16
+ },
17
+ });
8
18
  const SvgIcon = (props) => {
9
19
  const { children, color = 'inherit', titleAccess, size, width, height, viewBox = '0 0 24 24', xmlns = 'http://www.w3.org/2000/svg', className, ...restProps } = props;
10
- return ((0, jsx_runtime_1.jsxs)(styles_1.StyledSvg, { className: (0, classNames_1.classNames)(className, constants_1.svgIconClassnames.root), viewBox: viewBox, "aria-hidden": titleAccess ? undefined : true, role: titleAccess ? 'img' : undefined, xmlns: xmlns, color: color, width: constants_1.SIZES[size] || width || '1em', height: constants_1.SIZES[size] || height || '1em', ...restProps, children: [children, titleAccess ? (0, jsx_runtime_1.jsx)("title", { children: titleAccess }) : null] }));
20
+ return ((0, jsx_runtime_1.jsxs)(styles_1.StyledSvg, { className: (0, classNames_1.classNames)(className, svgCva({ size })), viewBox: viewBox, "aria-hidden": titleAccess ? undefined : true, role: titleAccess ? 'img' : undefined, xmlns: xmlns, color: color, width: constants_1.SIZES[size] || width || '1em', height: constants_1.SIZES[size] || height || '1em', ...restProps, children: [children, titleAccess ? (0, jsx_runtime_1.jsx)("title", { children: titleAccess }) : null] }));
11
21
  };
12
22
  exports.SvgIcon = SvgIcon;
@@ -1,7 +1,11 @@
1
1
  export declare const SIZES: {
2
2
  sm: string;
3
3
  md: string;
4
+ auto: string;
4
5
  };
5
6
  export declare const svgIconClassnames: {
6
7
  root: string;
8
+ sizeAuto: string;
9
+ sizeSm: string;
10
+ sizeMd: string;
7
11
  };
@@ -5,7 +5,11 @@ const createUIKitClassname_1 = require("../utils/createUIKitClassname");
5
5
  exports.SIZES = {
6
6
  sm: '16px',
7
7
  md: '24px',
8
+ auto: '1em',
8
9
  };
9
10
  exports.svgIconClassnames = {
10
11
  root: (0, createUIKitClassname_1.createUIKitClassname)('svg-icon'),
12
+ sizeAuto: (0, createUIKitClassname_1.createUIKitClassname)('svg-icon_size-auto'),
13
+ sizeSm: (0, createUIKitClassname_1.createUIKitClassname)('svg-icon_size-sm'),
14
+ sizeMd: (0, createUIKitClassname_1.createUIKitClassname)('svg-icon_size-md'),
11
15
  };
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StyledSvg = void 0;
4
4
  const styled_1 = require("../styled");
5
+ const constants_1 = require("./constants");
5
6
  const getColor = (theme, color) => {
6
7
  if (color === 'inherit') {
7
8
  return 'inherit';
@@ -32,10 +33,8 @@ exports.StyledSvg = styled_1.styled.svg `
32
33
  display: inline-block;
33
34
  flex-shrink: 0;
34
35
 
35
- font-size: ${({ theme }) => {
36
- // По умолчанию как в MUI
37
- return theme.typography.pxToRem(24);
38
- }};
36
+ font-size: ${({ theme }) => theme.typography.pxToRem(24)};
37
+
39
38
  color: ${({ theme, color }) => getColor(theme, color)};
40
39
 
41
40
  fill: currentColor;
@@ -43,4 +42,8 @@ exports.StyledSvg = styled_1.styled.svg `
43
42
  transition: ${({ theme }) => theme.transitions.create(['fill'], {
44
43
  duration: theme.transitions.duration.shorter,
45
44
  })};
45
+
46
+ &.${constants_1.svgIconClassnames.sizeAuto} {
47
+ font-size: inherit;
48
+ }
46
49
  `;
@@ -21,7 +21,7 @@ export type SvgIconProps = {
21
21
  /**
22
22
  * Размеры (width и height) иконки.
23
23
  *
24
- * sm = 16px, md = 24px
24
+ * auto = 1em, sm = 16px, md = 24px
25
25
  */
26
- size?: 'sm' | 'md';
26
+ size?: 'auto' | 'sm' | 'md';
27
27
  } & ComponentProps<'svg'>;
@@ -30,7 +30,7 @@ export declare const ChevronIcon: import("@emotion/styled/dist/declarations/src/
30
30
  children?: import("react").ReactNode;
31
31
  color?: string | undefined;
32
32
  titleAccess?: string | undefined;
33
- size?: "sm" | "md" | undefined;
33
+ size?: "sm" | "md" | "auto" | undefined;
34
34
  } & import("react").SVGProps<SVGSVGElement> & {
35
35
  theme?: import("@emotion/react").Theme | undefined;
36
36
  } & {
@@ -358,7 +358,7 @@ export declare const DotIcon: import("@emotion/styled/dist/declarations/src/type
358
358
  children?: import("react").ReactNode;
359
359
  color?: string | undefined;
360
360
  titleAccess?: string | undefined;
361
- size?: "sm" | "md" | undefined;
361
+ size?: "sm" | "md" | "auto" | undefined;
362
362
  } & import("react").SVGProps<SVGSVGElement> & {
363
363
  theme?: import("@emotion/react").Theme | undefined;
364
364
  }, {}, {}>;
@@ -17,7 +17,7 @@ export declare const StyledEditIcon: import("@emotion/styled/dist/declarations/s
17
17
  children?: import("react").ReactNode;
18
18
  color?: string | undefined;
19
19
  titleAccess?: string | undefined;
20
- size?: "sm" | "md" | undefined;
20
+ size?: "sm" | "md" | "auto" | undefined;
21
21
  } & import("react").SVGProps<SVGSVGElement> & {
22
22
  theme?: import("@emotion/react").Theme | undefined;
23
23
  } & {
@@ -13,7 +13,7 @@ export declare const StyledPreviousIcon: import("@emotion/styled/dist/declaratio
13
13
  children?: import("react").ReactNode;
14
14
  color?: string | undefined;
15
15
  titleAccess?: string | undefined;
16
- size?: "sm" | "md" | undefined;
16
+ size?: "sm" | "md" | "auto" | undefined;
17
17
  } & import("react").SVGProps<SVGSVGElement> & {
18
18
  theme?: import("@emotion/react").Theme | undefined;
19
19
  }, {}, {}>;
@@ -21,7 +21,7 @@ export declare const StyledNextIcon: import("@emotion/styled/dist/declarations/s
21
21
  children?: import("react").ReactNode;
22
22
  color?: string | undefined;
23
23
  titleAccess?: string | undefined;
24
- size?: "sm" | "md" | undefined;
24
+ size?: "sm" | "md" | "auto" | undefined;
25
25
  } & import("react").SVGProps<SVGSVGElement> & {
26
26
  theme?: import("@emotion/react").Theme | undefined;
27
27
  }, {}, {}>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@astral/ui",
3
- "version": "4.88.1",
3
+ "version": "4.90.0",
4
4
  "browser": "./index.js",
5
5
  "main": "./node/index.js",
6
6
  "dependencies": {