@foxford/ui 2.119.0-beta-3939fb6-20260713 → 2.119.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 (149) hide show
  1. package/components/Alert/Alert.js +1 -1
  2. package/components/Alert/Alert.js.map +1 -1
  3. package/components/Alert/Alert.mjs +1 -1
  4. package/components/Alert/Alert.mjs.map +1 -1
  5. package/components/Alert/CountdownCircle.js +2 -0
  6. package/components/Alert/CountdownCircle.js.map +1 -0
  7. package/components/Alert/CountdownCircle.mjs +2 -0
  8. package/components/Alert/CountdownCircle.mjs.map +1 -0
  9. package/components/Alert/style.js +1 -1
  10. package/components/Alert/style.js.map +1 -1
  11. package/components/Alert/style.mjs +1 -1
  12. package/components/Alert/style.mjs.map +1 -1
  13. package/components/Alert/utils.js +2 -0
  14. package/components/Alert/utils.js.map +1 -0
  15. package/components/Alert/utils.mjs +2 -0
  16. package/components/Alert/utils.mjs.map +1 -0
  17. package/components/Button/Button.js +1 -1
  18. package/components/Button/Button.js.map +1 -1
  19. package/components/Button/Button.mjs +1 -1
  20. package/components/Button/Button.mjs.map +1 -1
  21. package/components/DialogComponent/DialogComponent.js +1 -1
  22. package/components/DialogComponent/DialogComponent.js.map +1 -1
  23. package/components/DialogComponent/DialogComponent.mjs +1 -1
  24. package/components/DialogComponent/DialogComponent.mjs.map +1 -1
  25. package/components/IconButton/IconButton.js +1 -1
  26. package/components/IconButton/IconButton.js.map +1 -1
  27. package/components/IconButton/IconButton.mjs +1 -1
  28. package/components/IconButton/IconButton.mjs.map +1 -1
  29. package/components/IconButton/style.js +1 -1
  30. package/components/IconButton/style.js.map +1 -1
  31. package/components/IconButton/style.mjs +1 -1
  32. package/components/IconButton/style.mjs.map +1 -1
  33. package/components/Media/Media.js +1 -1
  34. package/components/Media/Media.js.map +1 -1
  35. package/components/Media/Media.mjs +1 -1
  36. package/components/Media/Media.mjs.map +1 -1
  37. package/components/Media/MediaMatcher.js +2 -0
  38. package/components/Media/MediaMatcher.js.map +1 -0
  39. package/components/Media/MediaMatcher.mjs +2 -0
  40. package/components/Media/MediaMatcher.mjs.map +1 -0
  41. package/components/Media/MediaMatchers.js +1 -1
  42. package/components/Media/MediaMatchers.js.map +1 -1
  43. package/components/Media/MediaMatchers.mjs +1 -1
  44. package/components/Media/MediaMatchers.mjs.map +1 -1
  45. package/components/Media/MediaMediator.js +2 -0
  46. package/components/Media/MediaMediator.js.map +1 -0
  47. package/components/Media/MediaMediator.mjs +2 -0
  48. package/components/Media/MediaMediator.mjs.map +1 -0
  49. package/{shared/context/media.js → components/Media/context.js} +1 -1
  50. package/components/Media/context.js.map +1 -0
  51. package/{shared/context/media.mjs → components/Media/context.mjs} +1 -1
  52. package/components/Media/context.mjs.map +1 -0
  53. package/{hooks → components/Media}/useMediaConnector.js +1 -1
  54. package/components/Media/useMediaConnector.js.map +1 -0
  55. package/components/Media/useMediaConnector.mjs +2 -0
  56. package/components/Media/useMediaConnector.mjs.map +1 -0
  57. package/components/Media/useMediaMatchers.js.map +1 -0
  58. package/components/Media/useMediaMatchers.mjs.map +1 -0
  59. package/components/Media/useMediaPropsMatches.js.map +1 -1
  60. package/components/Media/useMediaPropsMatches.mjs.map +1 -1
  61. package/components/TooltipComponent/TooltipComponent.js +1 -1
  62. package/components/TooltipComponent/TooltipComponent.js.map +1 -1
  63. package/components/TooltipComponent/TooltipComponent.mjs +1 -1
  64. package/components/TooltipComponent/TooltipComponent.mjs.map +1 -1
  65. package/dts/index.d.ts +659 -911
  66. package/icon-pack/src/collection.json.js +1 -1
  67. package/icon-pack/src/collection.json.mjs +1 -1
  68. package/index.js +1 -1
  69. package/index.mjs +1 -1
  70. package/mixins/responsive-margin.js.map +1 -1
  71. package/mixins/responsive-margin.mjs.map +1 -1
  72. package/package.json +2 -2
  73. package/theme/colors-dark.js +1 -1
  74. package/theme/colors-dark.js.map +1 -1
  75. package/theme/colors-dark.mjs +1 -1
  76. package/theme/colors-dark.mjs.map +1 -1
  77. package/components/Alert/sizes.js +0 -2
  78. package/components/Alert/sizes.js.map +0 -1
  79. package/components/Alert/sizes.mjs +0 -2
  80. package/components/Alert/sizes.mjs.map +0 -1
  81. package/components/Alert/useAlertProps.js +0 -2
  82. package/components/Alert/useAlertProps.js.map +0 -1
  83. package/components/Alert/useAlertProps.mjs +0 -2
  84. package/components/Alert/useAlertProps.mjs.map +0 -1
  85. package/components/Timer/Timer.js +0 -2
  86. package/components/Timer/Timer.js.map +0 -1
  87. package/components/Timer/Timer.mjs +0 -2
  88. package/components/Timer/Timer.mjs.map +0 -1
  89. package/components/Timer/context.js +0 -2
  90. package/components/Timer/context.js.map +0 -1
  91. package/components/Timer/context.mjs +0 -2
  92. package/components/Timer/context.mjs.map +0 -1
  93. package/components/Timer/images/Circle.svg.js +0 -2
  94. package/components/Timer/images/Circle.svg.js.map +0 -1
  95. package/components/Timer/images/Circle.svg.mjs +0 -2
  96. package/components/Timer/images/Circle.svg.mjs.map +0 -1
  97. package/components/Timer/sizes.js +0 -2
  98. package/components/Timer/sizes.js.map +0 -1
  99. package/components/Timer/sizes.mjs +0 -2
  100. package/components/Timer/sizes.mjs.map +0 -1
  101. package/components/Timer/styled.js +0 -2
  102. package/components/Timer/styled.js.map +0 -1
  103. package/components/Timer/styled.mjs +0 -2
  104. package/components/Timer/styled.mjs.map +0 -1
  105. package/components/Timer/useTimer.js +0 -2
  106. package/components/Timer/useTimer.js.map +0 -1
  107. package/components/Timer/useTimer.mjs +0 -2
  108. package/components/Timer/useTimer.mjs.map +0 -1
  109. package/components/Timer/useTimerProps.js +0 -2
  110. package/components/Timer/useTimerProps.js.map +0 -1
  111. package/components/Timer/useTimerProps.mjs +0 -2
  112. package/components/Timer/useTimerProps.mjs.map +0 -1
  113. package/hooks/useMediaConnector.js.map +0 -1
  114. package/hooks/useMediaConnector.mjs +0 -2
  115. package/hooks/useMediaConnector.mjs.map +0 -1
  116. package/hooks/useMediaMatchers.js.map +0 -1
  117. package/hooks/useMediaMatchers.mjs.map +0 -1
  118. package/hooks/useResponsiveLayoutProps.js +0 -2
  119. package/hooks/useResponsiveLayoutProps.js.map +0 -1
  120. package/hooks/useResponsiveLayoutProps.mjs +0 -2
  121. package/hooks/useResponsiveLayoutProps.mjs.map +0 -1
  122. package/hooks/useResponsiveMarginProps.js +0 -2
  123. package/hooks/useResponsiveMarginProps.js.map +0 -1
  124. package/hooks/useResponsiveMarginProps.mjs +0 -2
  125. package/hooks/useResponsiveMarginProps.mjs.map +0 -1
  126. package/hooks/useResponsiveProps.js +0 -2
  127. package/hooks/useResponsiveProps.js.map +0 -1
  128. package/hooks/useResponsiveProps.mjs +0 -2
  129. package/hooks/useResponsiveProps.mjs.map +0 -1
  130. package/hooks/useResponsiveSizeProps.js +0 -2
  131. package/hooks/useResponsiveSizeProps.js.map +0 -1
  132. package/hooks/useResponsiveSizeProps.mjs +0 -2
  133. package/hooks/useResponsiveSizeProps.mjs.map +0 -1
  134. package/shared/context/media.js.map +0 -1
  135. package/shared/context/media.mjs.map +0 -1
  136. package/shared/media/MediaMatcher.js +0 -2
  137. package/shared/media/MediaMatcher.js.map +0 -1
  138. package/shared/media/MediaMatcher.mjs +0 -2
  139. package/shared/media/MediaMatcher.mjs.map +0 -1
  140. package/shared/media/MediaMediator.js +0 -2
  141. package/shared/media/MediaMediator.js.map +0 -1
  142. package/shared/media/MediaMediator.mjs +0 -2
  143. package/shared/media/MediaMediator.mjs.map +0 -1
  144. package/shared/utils/isPointerSupported.js +0 -2
  145. package/shared/utils/isPointerSupported.js.map +0 -1
  146. package/shared/utils/isPointerSupported.mjs +0 -2
  147. package/shared/utils/isPointerSupported.mjs.map +0 -1
  148. /package/{hooks → components/Media}/useMediaMatchers.js +0 -0
  149. /package/{hooks → components/Media}/useMediaMatchers.mjs +0 -0
package/dts/index.d.ts CHANGED
@@ -26,8 +26,8 @@ type CSSColor = RGB | RGBA | HEX | CSSGlobalValue | 'currentcolor' | 'transparen
26
26
  type CSSBorderStyle = CSSGlobalValue | 'none' | 'hidden' | 'dotted' | 'dashed' | 'solid' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset';
27
27
  type CSSVerticalAlign = CSSGlobalValue | 'baseline' | 'sub' | 'super' | 'text-top' | 'text-bottom' | 'middle' | 'top' | 'bottom';
28
28
  type CSSFontWeight = CSSGlobalValue | 'normal' | 'bold' | 'lighter' | 'bolder' | number;
29
- type Size$y = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
30
- type SizeValue$1 = Size$y | CSSGlobalValue | number;
29
+ type Size$w = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
30
+ type SizeValue$1 = Size$w | CSSGlobalValue | number;
31
31
  type Breakpoint$1 = 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL' | 'XXL';
32
32
  type Orientation = 'landscape' | 'portrait';
33
33
  type Color = ColorName | CSSColor;
@@ -43,9 +43,6 @@ type WithThemePreset<T> = T & {
43
43
  type DomTarget<T extends HTMLElement = HTMLElement> = Nullable<T> | React.MutableRefObject<Nullable<T>>;
44
44
  type PolymorphicRef<C extends React.ElementType> = React.ComponentPropsWithRef<C>['ref'];
45
45
  type ComponentElementType = React.ElementType;
46
- type MarginValue = CSSGlobalValue | (string & {}) | number;
47
- type MediaBreakpoint = `${'min' | 'max'}${Breakpoint$1}`;
48
- type MediaMatcherId = MediaBreakpoint | Orientation;
49
46
 
50
47
  interface BaseProps {
51
48
  preset?: ThemePreset;
@@ -74,7 +71,6 @@ type ResponsiveSizeProps<S extends string, V = S> = ResponsiveProps<'size', V> &
74
71
  type ResponsivePositionProps<T extends string> = ResponsiveProps<'position', T> & {
75
72
  positions?: Partial<Record<T, CSSProperties>>;
76
73
  };
77
- type ResponsiveMarginProps$1 = ResponsiveProps<'margin', MarginValue>;
78
74
  type ResponsiveLayoutProps<T extends string> = ResponsiveProps<'layout', T>;
79
75
  type ResponsiveLayoutInterpolationProps<T extends string = string> = ResponsiveLayoutProps<T> & {
80
76
  layouts: Record<T, CSSProperties>;
@@ -93,7 +89,7 @@ interface ToolbarControl<T = Record<string, unknown>> {
93
89
  type PlaygroundToolbar<T = Record<string, unknown>> = Record<string, ToolbarControl<T>[] | ToolbarControl<T>[][]>;
94
90
  type WrappedComponentProps = {
95
91
  preset?: ThemePreset;
96
- sizes?: Partial<Record<Size$y, React.CSSProperties>>;
92
+ sizes?: Partial<Record<Size$w, React.CSSProperties>>;
97
93
  palette?: Partial<Record<ColorPaletteKey, Color>>;
98
94
  };
99
95
  type WithMergedPropsOptions<T extends WrappedComponentProps> = {
@@ -116,47 +112,51 @@ declare const hexToRgbA: (hex: string, alpha?: number) => RGB | RGBA;
116
112
 
117
113
  declare const isHex: (hex: string) => boolean;
118
114
 
119
- type Observer<T> = (payload: T) => unknown;
120
- type UnsubscribeObserverCallback = () => void;
121
- declare class Observable<T> {
122
- private observers;
123
- protected notify: (payload: T) => void;
124
- subscribe(observer: Observer<T>): UnsubscribeObserverCallback;
125
- unsubscribe: (observer: Observer<T>) => void;
126
- }
127
-
128
- type MediaMatchPayload = {
129
- matches: boolean;
130
- };
131
- declare class MediaMatcher<T = string> extends Observable<MediaMatchPayload> {
132
- id: T;
133
- private mediaQueryList?;
134
- constructor(id: T, mediaQueryString: string);
135
- subscribe: (observer: Observer<MediaMatchPayload>) => UnsubscribeObserverCallback;
136
- }
137
-
138
- declare class MediaMediator {
139
- breakpoint: Record<MediaBreakpoint, MediaMatcher<MediaMatcherId>>;
140
- orientation: Record<Orientation, MediaMatcher<MediaMatcherId>>;
141
- constructor(bps: Record<Lowercase<Breakpoint$1>, number>);
142
- get matchers(): MediaMatcher<MediaMatcherId>[];
143
- static query: {
144
- up: (...bps: number[]) => string;
145
- below: (...bps: number[]) => string;
146
- };
147
- static create(bps?: Partial<Record<Lowercase<Breakpoint$1>, number>>): MediaMediator;
148
- }
149
-
150
- declare const MediaProvider: (props: React.PropsWithChildren<{
151
- value: MediaMediator;
152
- }>) => JSX.Element;
153
-
154
115
  interface ThemeProviderProps {
155
116
  theme: Partial<DefaultTheme> | ((topLevelTheme: DefaultTheme) => DefaultTheme);
156
117
  children?: React.ReactNode;
157
118
  }
158
119
  declare function ThemeProvider(props: ThemeProviderProps): JSX.Element;
159
120
 
121
+ /**
122
+ * Value for breakpoint
123
+ */
124
+ type PossibleValues = number | Size$w | 'auto' | 'initial' | 'inherit' | boolean;
125
+ type PropsProperties = 'size' | 'fontSize' | 'height' | 'width' | 'top' | 'right' | 'bottom' | 'left' | 'padding' | 'paddingTop' | 'paddingRight' | 'paddingBottom' | 'paddingLeft' | 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft' | 'fluid';
126
+ type CalcProperty = (_size: number | 'auto' | 'initial' | 'inherit' | boolean, _sizing?: null | string) => FlattenSimpleInterpolation | null;
127
+ type CssProperty = string | CalcProperty;
128
+ type ResponsiveKeys = '' | 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL';
129
+ type ResponsiveNamedProperty<T extends PropsProperties, V extends PossibleValues = PossibleValues> = Partial<Record<`${T}${ResponsiveKeys}`, V>>;
130
+ type ResponsiveProperty<V = number | Size$w> = V | [desktop: V, tablet: V, mobile: V] | [xl: V, l: V, m: V, s: V, xs: V, xxs: V];
131
+ declare const property: (value: PossibleValues, cssProperty?: CssProperty, sizing?: null | string, sizes?: Record<Size$w, number>) => () => () => FlattenSimpleInterpolation | null;
132
+ interface ResponsiveNamedPropertyPayload<T extends PropsProperties> {
133
+ sizes: ResponsiveNamedProperty<T>;
134
+ cssProperty: CssProperty;
135
+ sizing?: null | string;
136
+ customSizeHandler?: (_value: PossibleValues) => PossibleValues;
137
+ sort?: (_a: string, _b: string) => number;
138
+ predefinedSizes?: Record<Size$w, number>;
139
+ }
140
+ /**
141
+ * Миксин для генерации media запросов
142
+ *
143
+ * @param obj.sizes Объект, в качестве ключей брэйкпоинт, в качестве значений - величина
144
+ * @param obj.cssProperty CSS свойство, может быть функцией, возвращающей css`` из styled-components
145
+ * @param obj.sizing значение величины, по умолчанию `px`
146
+ * @param obj.customSizeHandler функция для вычисления кастомных значений величин
147
+ * @returns строки медиазапросов
148
+ */
149
+ declare const responsiveNamedProperty: <T extends PropsProperties>({ sizes, predefinedSizes, cssProperty, sizing, customSizeHandler, sort, }: ResponsiveNamedPropertyPayload<T>) => () => () => styled_components.FlattenInterpolation<styled_components.ThemeProps<styled_components.DefaultTheme>>[];
150
+ /**
151
+ * Миксин для генерации media запросов
152
+ *
153
+ * @param propName имя пропсы
154
+ * @param cssProperty имя css свойства
155
+ * @param sizing значение величины, по умолчанию `px`
156
+ * @returns строки медиазапросов
157
+ */
158
+ declare const responsiveProperty: (propName: string, cssProperty?: string | null, sizing?: null | string) => () => (props: any) => styled_components.FlattenInterpolation<styled_components.ThemeProps<styled_components.DefaultTheme>> | null;
159
+
160
160
  type H = 'h1' | 'h2' | 'h3' | 'h4';
161
161
  interface TextHeadingProps extends Omit<TextProps, 'content' | 'as'> {
162
162
  /** Default set of size, lineHeight and weight props */
@@ -197,13 +197,14 @@ declare class TextEllipse extends Component<TextEllipseProps, TextEllipseState>
197
197
  static displayName: string;
198
198
  constructor(props: TextEllipseProps);
199
199
  componentDidUpdate({ content }: TextEllipseProps): void;
200
- getContent: (props: Omit<TextEllipseProps, "className" | "moreText" | "lessText" | "showToggler" | "content">) => JSX.Element | "";
200
+ getContent: (props: Omit<TextEllipseProps, "className" | "moreText" | "lessText" | "showToggler" | "content">) => "" | JSX.Element;
201
201
  getQuted: (content: string) => string;
202
202
  toggle: () => void;
203
203
  render(): JSX.Element;
204
204
  }
205
205
 
206
206
  type MarginProperty = 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft';
207
+ type MarginValue = CSSGlobalValue | (string & {}) | number;
207
208
  type ResponsiveMarginProps = ResponsiveProps<MarginProperty, MarginValue>;
208
209
 
209
210
  type ColorPropertyVariants = 'color' | 'fontColor' | `${string}Color` | `color${string}`;
@@ -235,7 +236,7 @@ interface ExpandButtonProps extends React.ComponentPropsWithoutRef<'button'> {
235
236
  /** Кастомные цвета */
236
237
  palette?: Partial<Record<keyof ExpandButtonPalette, Color>>;
237
238
  }
238
- interface TextProps extends ResponsiveSizeProps<Size$y, SizeValue$1>, ResponsiveMarginProps,
239
+ interface TextProps extends ResponsiveSizeProps<Size$w, SizeValue$1>, ResponsiveMarginProps,
239
240
  /** @deprecated */
240
241
  DisplayProperty, ColorProperty, Omit<React.HTMLAttributes<HTMLElement>, 'color'>, Omit<React.BlockquoteHTMLAttributes<HTMLElement>, 'color'>, Omit<React.LabelHTMLAttributes<HTMLElement>, 'color'> {
241
242
  /** Применение присета стилей и размеров */
@@ -309,56 +310,6 @@ declare const Text: React.ForwardRefExoticComponent<TextProps> & {
309
310
  Ellipse: typeof TextEllipse;
310
311
  };
311
312
 
312
- type Size$x = 's' | 'm';
313
- interface TimerBaseProps extends ResponsiveSizeProps<Size$x> {
314
- /**
315
- * Время работы таймера (секунды).
316
- */
317
- limit: number;
318
- /**
319
- * Поставить таймер на паузу.
320
- *
321
- * @default false */
322
- paused?: boolean;
323
- /**
324
- * Кастомизация вывода контента.
325
- *
326
- * @default false */
327
- content?: (props: {
328
- textProps: TextProps;
329
- seconds: number;
330
- }) => React.ReactNode;
331
- /**
332
- * Кастомный цвет индикатора.
333
- *
334
- * @default undefined */
335
- color?: Color;
336
- /**
337
- * Обработчик будет вызван при старте.
338
- *
339
- * @default undefined */
340
- onStart?: () => void;
341
- /**
342
- * Обработчик будет вызван при завершении.
343
- *
344
- * @default undefined */
345
- onFinish?: () => void;
346
- /**
347
- * Обработчик будет вызван при паузе.
348
- *
349
- * @default undefined */
350
- onPause?: () => void;
351
- }
352
- type TimerProps = TimerBaseProps & Omit<React.ComponentPropsWithRef<'div'>, keyof TimerBaseProps>;
353
-
354
- /**
355
- *
356
- * Таймер обратного отсчета.
357
- *
358
- * Поддерживается "ref" и все нативные атрибуты \<div\> элемента.
359
- */
360
- declare const Timer: react.ForwardRefExoticComponent<Pick<TimerProps, "hidden" | "translate" | "slot" | "style" | "title" | "className" | "id" | "lang" | "role" | "tabIndex" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "key" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "placeholder" | "spellCheck" | "radioGroup" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | keyof TimerBaseProps> & react.RefAttributes<HTMLDivElement>>;
361
-
362
313
  type IconName$1 =
363
314
  | 'yemen'
364
315
  | 'wales'
@@ -924,6 +875,7 @@ type IconName$1 =
924
875
  | 'calendarEdit'
925
876
  | 'calendarTick'
926
877
  | 'calendarAdd'
878
+ | 'calendarWarning'
927
879
  | 'foxCoins'
928
880
  | 'diamond'
929
881
  | 'giftCard'
@@ -1367,11 +1319,11 @@ type IconISOCode =
1367
1319
  | 'af'
1368
1320
 
1369
1321
  type SizeIcon = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
1370
- type Size$w = SizeIcon | number | 'inherit';
1371
- type Margin$l = number | string;
1322
+ type Size$v = SizeIcon | number | 'inherit';
1323
+ type Margin$k = number | string;
1372
1324
  type IconNameDefault = 'book' | 'blackBoard' | 'burger' | 'eye' | 'email' | 'sort' | 'unsort' | 'person' | 'diamond' | 'diamondFilled' | 'infoInverse' | 'list' | 'login' | 'logout' | 'fire' | 'camps' | 'cart' | 'clock' | 'clockFilled' | 'courses' | 'discount' | 'externat' | 'headphones' | 'page' | 'priceTag' | 'phone' | 'prof' | 'star' | 'settings' | 'student' | 'target' | 'textbook' | 'trophy' | 'message' | 'wallet' | 'edit' | 'copy' | 'print' | 'objective' | 'present' | 'coins' | 'calendar' | 'calendar_simple' | 'chevronDown' | 'chevronUp' | 'chevronRight' | 'chevronLeft' | 'cross' | 'dialog' | 'dropDownArrow' | 'externalLink' | 'file' | 'fileBordered' | 'lessons' | 'pencil' | 'phoneNoFill' | 'radioChecked' | 'radioNotChecked' | 'search' | 'tasks' | 'tinyCross' | 'sharpCross' | 'plus' | 'plusThin' | 'play' | 'reload' | 'checkCircle' | 'info' | 'check' | 'home' | 'questionFilled' | 'document' | 'cancel' | 'playPause' | 'video';
1373
1325
  type IconName = IconName$1 | IconNameDefault | IconISOCode;
1374
- interface IconBaseProps extends ResponsiveSizeProps<SizeIcon, Size$w>, ResponsiveMarginProps {
1326
+ interface IconBaseProps extends ResponsiveSizeProps<SizeIcon, Size$v>, ResponsiveMarginProps {
1375
1327
  /**
1376
1328
  * Версия компонента: v3 ("brand") или v2 ("default").
1377
1329
  *
@@ -1426,37 +1378,37 @@ interface IconBaseProps extends ResponsiveSizeProps<SizeIcon, Size$w>, Responsiv
1426
1378
  *
1427
1379
  * @general
1428
1380
  * @default 'inherit' */
1429
- size?: Size$w | [DESKTOP: Size$w, TABLET: Size$w, MOBILE: Size$w] | [XL: Size$w, L: Size$w, M: Size$w, S: Size$w, XS: Size$w, XXS: Size$w];
1381
+ size?: Size$v | [DESKTOP: Size$v, TABLET: Size$v, MOBILE: Size$v] | [XL: Size$v, L: Size$v, M: Size$v, S: Size$v, XS: Size$v, XXS: Size$v];
1430
1382
  /**
1431
1383
  * Размер для XXS брейкпоинта.
1432
1384
  *
1433
1385
  * @default undefined */
1434
- sizeXXS?: Size$w;
1386
+ sizeXXS?: Size$v;
1435
1387
  /**
1436
1388
  * Размер для XS брейкпоинта.
1437
1389
  *
1438
1390
  * @default undefined */
1439
- sizeXS?: Size$w;
1391
+ sizeXS?: Size$v;
1440
1392
  /**
1441
1393
  * Размер для S брейкпоинта.
1442
1394
  *
1443
1395
  * @default undefined */
1444
- sizeS?: Size$w;
1396
+ sizeS?: Size$v;
1445
1397
  /**
1446
1398
  * Размер для M брейкпоинта.
1447
1399
  *
1448
1400
  * @default undefined */
1449
- sizeM?: Size$w;
1401
+ sizeM?: Size$v;
1450
1402
  /**
1451
1403
  * Размер для L брейкпоинта.
1452
1404
  *
1453
1405
  * @default undefined */
1454
- sizeL?: Size$w;
1406
+ sizeL?: Size$v;
1455
1407
  /**
1456
1408
  * Размер для XL брейкпоинта.
1457
1409
  *
1458
1410
  * @default undefined */
1459
- sizeXL?: Size$w;
1411
+ sizeXL?: Size$v;
1460
1412
  /**
1461
1413
  * Модификация размеров.
1462
1414
  *
@@ -1470,37 +1422,37 @@ interface IconBaseProps extends ResponsiveSizeProps<SizeIcon, Size$w>, Responsiv
1470
1422
  *
1471
1423
  * @general
1472
1424
  * @default undefined */
1473
- margin?: Margin$l | [DESKTOP: Margin$l, TABLET: Margin$l, MOBILE: Margin$l] | [XL: Margin$l, L: Margin$l, M: Margin$l, S: Margin$l, XS: Margin$l, XXS: Margin$l];
1425
+ margin?: Margin$k | [DESKTOP: Margin$k, TABLET: Margin$k, MOBILE: Margin$k] | [XL: Margin$k, L: Margin$k, M: Margin$k, S: Margin$k, XS: Margin$k, XXS: Margin$k];
1474
1426
  /**
1475
1427
  * Отступ для XXS брейкпоинта.
1476
1428
  *
1477
1429
  * @default undefined */
1478
- marginXXS?: Margin$l;
1430
+ marginXXS?: Margin$k;
1479
1431
  /**
1480
1432
  * Отступ для XS брейкпоинта.
1481
1433
  *
1482
1434
  * @default undefined */
1483
- marginXS?: Margin$l;
1435
+ marginXS?: Margin$k;
1484
1436
  /**
1485
1437
  * Отступ для S брейкпоинта.
1486
1438
  *
1487
1439
  * @default undefined */
1488
- marginS?: Margin$l;
1440
+ marginS?: Margin$k;
1489
1441
  /**
1490
1442
  * Отступ для M брейкпоинта.
1491
1443
  *
1492
1444
  * @default undefined */
1493
- marginM?: Margin$l;
1445
+ marginM?: Margin$k;
1494
1446
  /**
1495
1447
  * Отступ для L брейкпоинта.
1496
1448
  *
1497
1449
  * @default undefined */
1498
- marginL?: Margin$l;
1450
+ marginL?: Margin$k;
1499
1451
  /**
1500
1452
  * Отступ для XL брейкпоинта.
1501
1453
  *
1502
1454
  * @default undefined */
1503
- marginXL?: Margin$l;
1455
+ marginXL?: Margin$k;
1504
1456
  /** @ignore @deprecated */
1505
1457
  as?: React.ElementType;
1506
1458
  }
@@ -1514,115 +1466,212 @@ type IconProps = IconBaseProps & Omit<React.ComponentPropsWithRef<'span'>, keyof
1514
1466
  */
1515
1467
  declare const Icon: React.ForwardRefExoticComponent<IconProps>;
1516
1468
 
1517
- type Size$v = 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs';
1518
- type Margin$k = number | string;
1519
- interface IconButtonBaseProps extends ResponsiveSizeProps<Size$v>, ResponsiveMarginProps {
1469
+ /**
1470
+ * A URL pathname, beginning with a /.
1471
+ *
1472
+ * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.pathname
1473
+ */
1474
+ declare type Pathname = string;
1475
+ /**
1476
+ * A URL search string, beginning with a ?.
1477
+ *
1478
+ * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.search
1479
+ */
1480
+ declare type Search = string;
1481
+ /**
1482
+ * A URL fragment identifier, beginning with a #.
1483
+ *
1484
+ * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.hash
1485
+ */
1486
+ declare type Hash = string;
1487
+ /**
1488
+ * A unique string associated with a location. May be used to safely store
1489
+ * and retrieve data in some other storage API, like `localStorage`.
1490
+ *
1491
+ * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.key
1492
+ */
1493
+ declare type Key = string;
1494
+ /**
1495
+ * The pathname, search, and hash values of a URL.
1496
+ */
1497
+ interface Path {
1498
+ /**
1499
+ * A URL pathname, beginning with a /.
1500
+ *
1501
+ * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.pathname
1502
+ */
1503
+ pathname: Pathname;
1504
+ /**
1505
+ * A URL search string, beginning with a ?.
1506
+ *
1507
+ * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.search
1508
+ */
1509
+ search: Search;
1510
+ /**
1511
+ * A URL fragment identifier, beginning with a #.
1512
+ *
1513
+ * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.hash
1514
+ */
1515
+ hash: Hash;
1516
+ }
1517
+ /**
1518
+ * An entry in a history stack. A location contains information about the
1519
+ * URL path, as well as possibly some arbitrary state and a key.
1520
+ *
1521
+ * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location
1522
+ */
1523
+ interface Location extends Path {
1524
+ /**
1525
+ * A value of arbitrary data associated with this location.
1526
+ *
1527
+ * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.state
1528
+ */
1529
+ state: unknown;
1530
+ /**
1531
+ * A unique string associated with this location. May be used to safely store
1532
+ * and retrieve data in some other storage API, like `localStorage`.
1533
+ *
1534
+ * Note: This value is always "default" on the initial location.
1535
+ *
1536
+ * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.key
1537
+ */
1538
+ key: Key;
1539
+ }
1540
+
1541
+ type Size$u = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
1542
+ type SizeValue = Size$u | 'initial' | 'inherit' | 'unset' | 'revert' | 'revert-layer' | number;
1543
+ type Margin$j = number | string;
1544
+ interface AnchorProps extends ResponsiveSizeProps<Size$u, SizeValue>, ResponsiveMarginProps,
1545
+ /** @deprecated Use palette */
1546
+ ColorProperty<'color'>,
1547
+ /** @deprecated Use children as function */
1548
+ DisplayProperty {
1549
+ /**
1550
+ * Версия компонента: v3 ("brand") или v2 ("default").
1551
+ *
1552
+ * @general
1553
+ * @default 'default' */
1554
+ preset?: 'default' | 'brand';
1555
+ /**
1556
+ * Основной контент.
1557
+ *
1558
+ * @general
1559
+ * @default undefined */
1560
+ children?: React.ReactNode | ((props: {
1561
+ baseTextProps: Partial<TextProps>;
1562
+ textProps: TextProps;
1563
+ iconBaseProps: Partial<IconProps>;
1564
+ iconProps: AnchorProps['iconProps'];
1565
+ icon: AnchorProps['icon'];
1566
+ }) => React.ReactNode);
1567
+ /**
1568
+ * Класс (или классы) для рута.
1569
+ *
1570
+ * @default undefined */
1571
+ className?: string;
1520
1572
  /**
1521
1573
  * Кастомные цвета.
1522
1574
  *
1523
1575
  * @general
1524
- * @default {} */
1576
+ * @default undefined */
1525
1577
  palette?: {
1526
1578
  color?: Color;
1527
- backgroundColor?: Color;
1528
1579
  colorHover?: Color;
1529
- backgroundColorHover?: Color;
1530
- colorActive?: Color;
1531
- backgroundColorActive?: Color;
1532
1580
  colorDisabled?: Color;
1533
- backgroundColorDisabled?: Color;
1534
1581
  };
1535
1582
  /**
1536
- * Иконка для рендера.
1537
- *
1538
- * @general */
1539
- icon: JSX.Element | IconName;
1540
- /**
1541
- * Пропсы для компонента иконки.
1583
+ * Пропсы типографики для основного текста.
1542
1584
  *
1543
1585
  * @general
1544
1586
  * @default {} */
1545
- iconProps?: IconProps;
1587
+ textProps?: TextProps;
1546
1588
  /**
1547
- * Квадратная форма рутового элемента.
1589
+ * Вариант нижнего подчёркивания.
1548
1590
  *
1549
1591
  * @general
1550
1592
  * @default false */
1551
- square?: boolean;
1593
+ underline?: boolean | 'solid' | 'dashed';
1552
1594
  /**
1553
- * Вариант цветовой схемы.
1595
+ * Иконки для отображения с левого и правого края.
1554
1596
  *
1555
1597
  * @general
1556
- * @default true */
1557
- primary?: boolean;
1598
+ * @default undefined */
1599
+ icon?: JSX.Element | IconName | [Nullable<JSX.Element | IconName>, Nullable<JSX.Element | IconName>];
1558
1600
  /**
1559
- * Вариант цветовой схемы.
1601
+ * Пропсы для компонентов иконок.
1560
1602
  *
1561
1603
  * @general
1562
- * @default false */
1563
- secondary?: boolean;
1604
+ * @default {} */
1605
+ iconProps?: IconProps;
1606
+ /** Build rel attribute with relBuilder from context */
1607
+ autoRel?: boolean;
1564
1608
  /**
1565
- * Вариант цветовой схемы.
1609
+ * Интерактивность отключена.
1566
1610
  *
1567
1611
  * @general
1568
1612
  * @default false */
1569
- contrast?: boolean;
1613
+ disabled?: boolean;
1570
1614
  /**
1571
1615
  * Вариант цветовой схемы.
1572
1616
  *
1573
1617
  * @general
1574
1618
  * @default false */
1575
- filled?: boolean;
1619
+ onColored?: boolean;
1576
1620
  /**
1577
- * Можно использовать для рендера иконки.
1621
+ * Вариант выравнивания по вертикали.
1578
1622
  *
1579
- * @slot
1580
1623
  * @default undefined */
1581
- children?: React.ReactElement | ((iconProps: IconProps) => React.ReactNode);
1624
+ verticalAlign?: CSSVerticalAlign | boolean;
1625
+ /**
1626
+ * Компонент рутового элемента.
1627
+ *
1628
+ * @general
1629
+ * @default 'a' */
1630
+ component?: ComponentElementType;
1582
1631
  /**
1583
1632
  * Размер.
1584
1633
  *
1585
1634
  * Использование кортежей включает применение размеров в зависимости от ширины вьюпорта.
1586
1635
  *
1587
1636
  * @general
1588
- * @default 'm' */
1589
- size?: Size$v | [DESKTOP: Size$v, TABLET: Size$v, MOBILE: Size$v] | [XL: Size$v, L: Size$v, M: Size$v, S: Size$v, XS: Size$v, XXS: Size$v];
1637
+ * @default 'inherit' */
1638
+ size?: SizeValue | [DESKTOP: SizeValue, TABLET: SizeValue, MOBILE: SizeValue] | [XL: SizeValue, L: SizeValue, M: SizeValue, S: SizeValue, XS: SizeValue, XXS: SizeValue];
1590
1639
  /**
1591
1640
  * Размер для XXS брейкпоинта.
1592
1641
  *
1593
1642
  * @default undefined */
1594
- sizeXXS?: Size$v;
1643
+ sizeXXS?: SizeValue;
1595
1644
  /**
1596
1645
  * Размер для XS брейкпоинта.
1597
1646
  *
1598
1647
  * @default undefined */
1599
- sizeXS?: Size$v;
1648
+ sizeXS?: SizeValue;
1600
1649
  /**
1601
1650
  * Размер для S брейкпоинта.
1602
1651
  *
1603
1652
  * @default undefined */
1604
- sizeS?: Size$v;
1653
+ sizeS?: SizeValue;
1605
1654
  /**
1606
1655
  * Размер для M брейкпоинта.
1607
1656
  *
1608
1657
  * @default undefined */
1609
- sizeM?: Size$v;
1658
+ sizeM?: SizeValue;
1610
1659
  /**
1611
1660
  * Размер для L брейкпоинта.
1612
1661
  *
1613
1662
  * @default undefined */
1614
- sizeL?: Size$v;
1663
+ sizeL?: SizeValue;
1615
1664
  /**
1616
1665
  * Размер для XL брейкпоинта.
1617
1666
  *
1618
1667
  * @default undefined */
1619
- sizeXL?: Size$v;
1668
+ sizeXL?: SizeValue;
1620
1669
  /**
1621
1670
  * Модификация размеров.
1622
1671
  *
1623
1672
  * @general
1624
1673
  * @default undefined */
1625
- sizes?: Partial<Record<Size$v, React.CSSProperties>>;
1674
+ sizes?: Partial<Record<Size$u, React.CSSProperties>>;
1626
1675
  /**
1627
1676
  * Внешние отступы.
1628
1677
  *
@@ -1630,164 +1679,68 @@ interface IconButtonBaseProps extends ResponsiveSizeProps<Size$v>, ResponsiveMar
1630
1679
  *
1631
1680
  * @general
1632
1681
  * @default undefined */
1633
- margin?: Margin$k | [DESKTOP: Margin$k, TABLET: Margin$k, MOBILE: Margin$k] | [XL: Margin$k, L: Margin$k, M: Margin$k, S: Margin$k, XS: Margin$k, XXS: Margin$k];
1682
+ margin?: Margin$j | [DESKTOP: Margin$j, TABLET: Margin$j, MOBILE: Margin$j] | [XL: Margin$j, L: Margin$j, M: Margin$j, S: Margin$j, XS: Margin$j, XXS: Margin$j];
1634
1683
  /**
1635
1684
  * Отступ для XXS брейкпоинта.
1636
1685
  *
1637
1686
  * @default undefined */
1638
- marginXXS?: Margin$k;
1687
+ marginXXS?: Margin$j;
1639
1688
  /**
1640
1689
  * Отступ для XS брейкпоинта.
1641
1690
  *
1642
1691
  * @default undefined */
1643
- marginXS?: Margin$k;
1692
+ marginXS?: Margin$j;
1644
1693
  /**
1645
1694
  * Отступ для S брейкпоинта.
1646
1695
  *
1647
1696
  * @default undefined */
1648
- marginS?: Margin$k;
1697
+ marginS?: Margin$j;
1649
1698
  /**
1650
1699
  * Отступ для M брейкпоинта.
1651
1700
  *
1652
1701
  * @default undefined */
1653
- marginM?: Margin$k;
1702
+ marginM?: Margin$j;
1654
1703
  /**
1655
1704
  * Отступ для L брейкпоинта.
1656
1705
  *
1657
1706
  * @default undefined */
1658
- marginL?: Margin$k;
1707
+ marginL?: Margin$j;
1659
1708
  /**
1660
1709
  * Отступ для XL брейкпоинта.
1661
1710
  *
1662
1711
  * @default undefined */
1663
- marginXL?: Margin$k;
1712
+ marginXL?: Margin$j;
1713
+ /** @ignore */
1714
+ leftIconProps?: IconProps;
1715
+ /** @ignore */
1716
+ rightIconProps?: IconProps;
1717
+ /** @ignore @deprecated */
1718
+ replace?: boolean;
1719
+ /** @ignore */
1720
+ to?: string | Partial<Location> | ((location: Location) => string | Partial<Location>);
1721
+ /** @ignore @deprecated Use component */
1722
+ as?: React.ElementType<any>;
1723
+ /** @ignore @deprecated Use children */
1724
+ content?: string;
1725
+ /** @ignore @deprecated Use underline */
1726
+ pseudo?: boolean;
1727
+ /** @ignore @deprecated */
1728
+ wrapper?: boolean;
1664
1729
  }
1665
- type IconButtonProps = IconButtonBaseProps & Omit<React.ComponentPropsWithRef<'button'>, keyof IconButtonBaseProps>;
1666
1730
 
1667
1731
  /**
1668
- *
1669
- * *v1.0.0*
1670
1732
  *
1671
1733
  * Контрол многоцелевого назначения.
1672
1734
  *
1673
- * Поддерживается "ref" и все нативные атрибуты \<button\> элемента.
1674
- */
1675
- declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps>;
1676
-
1677
- /**
1678
- * A URL pathname, beginning with a /.
1679
- *
1680
- * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.pathname
1681
- */
1682
- declare type Pathname = string;
1683
- /**
1684
- * A URL search string, beginning with a ?.
1685
- *
1686
- * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.search
1687
- */
1688
- declare type Search = string;
1689
- /**
1690
- * A URL fragment identifier, beginning with a #.
1691
- *
1692
- * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.hash
1693
- */
1694
- declare type Hash = string;
1695
- /**
1696
- * A unique string associated with a location. May be used to safely store
1697
- * and retrieve data in some other storage API, like `localStorage`.
1698
- *
1699
- * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.key
1700
- */
1701
- declare type Key = string;
1702
- /**
1703
- * The pathname, search, and hash values of a URL.
1704
- */
1705
- interface Path {
1706
- /**
1707
- * A URL pathname, beginning with a /.
1708
- *
1709
- * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.pathname
1710
- */
1711
- pathname: Pathname;
1712
- /**
1713
- * A URL search string, beginning with a ?.
1714
- *
1715
- * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.search
1716
- */
1717
- search: Search;
1718
- /**
1719
- * A URL fragment identifier, beginning with a #.
1720
- *
1721
- * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.hash
1722
- */
1723
- hash: Hash;
1724
- }
1725
- /**
1726
- * An entry in a history stack. A location contains information about the
1727
- * URL path, as well as possibly some arbitrary state and a key.
1728
- *
1729
- * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location
1730
- */
1731
- interface Location extends Path {
1732
- /**
1733
- * A value of arbitrary data associated with this location.
1734
- *
1735
- * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.state
1736
- */
1737
- state: unknown;
1738
- /**
1739
- * A unique string associated with this location. May be used to safely store
1740
- * and retrieve data in some other storage API, like `localStorage`.
1741
- *
1742
- * Note: This value is always "default" on the initial location.
1743
- *
1744
- * @see https://github.com/remix-run/history/tree/main/docs/api-reference.md#location.key
1745
- */
1746
- key: Key;
1747
- }
1748
-
1749
- /**
1750
- * Value for breakpoint
1751
- */
1752
- type PossibleValues = number | Size$y | 'auto' | 'initial' | 'inherit' | boolean;
1753
- type PropsProperties = 'size' | 'fontSize' | 'height' | 'width' | 'top' | 'right' | 'bottom' | 'left' | 'padding' | 'paddingTop' | 'paddingRight' | 'paddingBottom' | 'paddingLeft' | 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft' | 'fluid';
1754
- type CalcProperty = (_size: number | 'auto' | 'initial' | 'inherit' | boolean, _sizing?: null | string) => FlattenSimpleInterpolation | null;
1755
- type CssProperty = string | CalcProperty;
1756
- type ResponsiveKeys = '' | 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL';
1757
- type ResponsiveNamedProperty<T extends PropsProperties, V extends PossibleValues = PossibleValues> = Partial<Record<`${T}${ResponsiveKeys}`, V>>;
1758
- type ResponsiveProperty<V = number | Size$y> = V | [desktop: V, tablet: V, mobile: V] | [xl: V, l: V, m: V, s: V, xs: V, xxs: V];
1759
- declare const property: (value: PossibleValues, cssProperty?: CssProperty, sizing?: null | string, sizes?: Record<Size$y, number>) => () => () => FlattenSimpleInterpolation | null;
1760
- interface ResponsiveNamedPropertyPayload<T extends PropsProperties> {
1761
- sizes: ResponsiveNamedProperty<T>;
1762
- cssProperty: CssProperty;
1763
- sizing?: null | string;
1764
- customSizeHandler?: (_value: PossibleValues) => PossibleValues;
1765
- sort?: (_a: string, _b: string) => number;
1766
- predefinedSizes?: Record<Size$y, number>;
1767
- }
1768
- /**
1769
- * Миксин для генерации media запросов
1770
- *
1771
- * @param obj.sizes Объект, в качестве ключей брэйкпоинт, в качестве значений - величина
1772
- * @param obj.cssProperty CSS свойство, может быть функцией, возвращающей css`` из styled-components
1773
- * @param obj.sizing значение величины, по умолчанию `px`
1774
- * @param obj.customSizeHandler функция для вычисления кастомных значений величин
1775
- * @returns строки медиазапросов
1776
- */
1777
- declare const responsiveNamedProperty: <T extends PropsProperties>({ sizes, predefinedSizes, cssProperty, sizing, customSizeHandler, sort, }: ResponsiveNamedPropertyPayload<T>) => () => () => styled_components.FlattenInterpolation<styled_components.ThemeProps<styled_components.DefaultTheme>>[];
1778
- /**
1779
- * Миксин для генерации media запросов
1735
+ * Полиморфный компонент.
1780
1736
  *
1781
- * @param propName имя пропсы
1782
- * @param cssProperty имя css свойства
1783
- * @param sizing значение величины, по умолчанию `px`
1784
- * @returns строки медиазапросов
1737
+ * Можно передать "ref" и атрибуты выбранного HTML-элемента (по умолчанию \<a\>).
1785
1738
  */
1786
- declare const responsiveProperty: (propName: string, cssProperty?: string | null, sizing?: null | string) => () => (props: any) => styled_components.FlattenInterpolation<styled_components.ThemeProps<styled_components.DefaultTheme>> | null;
1739
+ declare const Anchor: <C extends React.ElementType = "a">(props: PolymorphicPropsWithRef<C, AnchorProps>) => React.ReactElement | null;
1787
1740
 
1788
- type Size$u = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
1789
- type Margin$j = number | string;
1790
- interface ButtonBaseProps extends ResponsiveSizeProps<Size$u>, ResponsiveMarginProps, ResponsiveNamedProperty<'fluid', boolean>, ResponsiveNamedProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>,
1741
+ type Size$t = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
1742
+ type Margin$i = number | string;
1743
+ interface ButtonBaseProps extends ResponsiveSizeProps<Size$t>, ResponsiveMarginProps, ResponsiveNamedProperty<'fluid', boolean>, ResponsiveNamedProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>,
1791
1744
  /** @deprecated */
1792
1745
  ColorProperty,
1793
1746
  /** @deprecated */
@@ -1863,600 +1816,138 @@ ResponsiveNamedProperty<'height', 'l' | 'm' | 's' | 'xs' | number> {
1863
1816
  /**
1864
1817
  * Пропсы для компонентов иконок.
1865
1818
  *
1866
- * @general
1867
- * @default {} */
1868
- iconProps?: IconProps;
1869
- /**
1870
- * Круглая форма рутового элемента.
1871
- *
1872
- * @general
1873
- * @default false */
1874
- round?: boolean;
1875
- /**
1876
- * Индикация успешного завершения операции.
1877
- *
1878
- * @general
1879
- * @default false */
1880
- success?: boolean;
1881
- /**
1882
- * Индикация выполнения операции.
1883
- *
1884
- * @general
1885
- * @default false */
1886
- loading?: boolean;
1887
- /**
1888
- * Вариант цветовой схемы.
1889
- *
1890
- * @general
1891
- * @default false */
1892
- black?: boolean;
1893
- /**
1894
- * Вариант цветовой схемы.
1895
- *
1896
- * @general
1897
- * @default false */
1898
- danger?: boolean;
1899
- /**
1900
- * Вариант цветовой схемы.
1901
- *
1902
- * @general
1903
- * @default false */
1904
- contrast?: boolean;
1905
- /**
1906
- * Вариант внешнего вида.
1907
- *
1908
- * @general
1909
- * @default false */
1910
- clear?: boolean;
1911
- /**
1912
- * Вариант внешнего вида.
1913
- *
1914
- * @general
1915
- * @default false */
1916
- base?: boolean;
1917
- /**
1918
- * Вариант внешнего вида.
1919
- *
1920
- * @general
1921
- * @default false */
1922
- outline?: boolean;
1923
- /**
1924
- * Использовать компонент ссылки из контекста вместо кнопки (`theme.link`).
1925
- *
1926
- * @default undefined */
1927
- to?: string | Partial<Location> | ((location: Location) => string | Partial<Location>);
1928
- /**
1929
- * Использовать элемент ссылки вместо кнопки (`<a>`).
1930
- *
1931
- * @default undefined */
1932
- href?: string;
1933
- /**
1934
- * Атрибут `target` для ссылки.
1935
- *
1936
- * @default undefined */
1937
- target?: string;
1938
- /**
1939
- * Атрибут `rel` для ссылки.
1940
- *
1941
- * @default undefined */
1942
- rel?: string;
1943
- /**
1944
- * Использовать `theme.utils.relBuilder` из контекста для создания `rel` атрибута для ссылки.
1945
- *
1946
- * @default false */
1947
- autoRel?: boolean;
1948
- /**
1949
- * Отображать основной контент при наличии статуса (`success`, `loading`).
1950
- *
1951
- * @general
1952
- * @default false */
1953
- showContentOnStatus?: boolean;
1954
- /**
1955
- * Размер.
1956
- *
1957
- * Использование кортежей включает применение размеров в зависимости от ширины вьюпорта.
1958
- *
1959
- * @general
1960
- * @default 'm' */
1961
- size?: Size$u | [DESKTOP: Size$u, TABLET: Size$u, MOBILE: Size$u] | [XL: Size$u, L: Size$u, M: Size$u, S: Size$u, XS: Size$u, XXS: Size$u];
1962
- /**
1963
- * Размер для XXS брейкпоинта.
1964
- *
1965
- * @default undefined */
1966
- sizeXXS?: Size$u;
1967
- /**
1968
- * Размер для XS брейкпоинта.
1969
- *
1970
- * @default undefined */
1971
- sizeXS?: Size$u;
1972
- /**
1973
- * Размер для S брейкпоинта.
1974
- *
1975
- * @default undefined */
1976
- sizeS?: Size$u;
1977
- /**
1978
- * Размер для M брейкпоинта.
1979
- *
1980
- * @default undefined */
1981
- sizeM?: Size$u;
1982
- /**
1983
- * Размер для L брейкпоинта.
1984
- *
1985
- * @default undefined */
1986
- sizeL?: Size$u;
1987
- /**
1988
- * Размер для XL брейкпоинта.
1989
- *
1990
- * @default undefined */
1991
- sizeXL?: Size$u;
1992
- /**
1993
- * Модификация размеров.
1994
- *
1995
- * @general
1996
- * @default undefined */
1997
- sizes?: Partial<Record<Size$u, React.CSSProperties>>;
1998
- /**
1999
- * Модификация размеров текста.
2000
- *
2001
- * @default undefined */
2002
- textSizes?: Partial<Record<Size$u, React.CSSProperties>>;
2003
- /**
2004
- * Модификация размеров иконок.
2005
- *
2006
- * @default undefined */
2007
- iconSizes?: Partial<Record<Size$u, React.CSSProperties>>;
2008
- /**
2009
- * Внешние отступы.
2010
- *
2011
- * Использование кортежей включает применение отступов в зависимости от ширины вьюпорта.
2012
- *
2013
- * @general
2014
- * @default undefined */
2015
- margin?: Margin$j | [DESKTOP: Margin$j, TABLET: Margin$j, MOBILE: Margin$j] | [XL: Margin$j, L: Margin$j, M: Margin$j, S: Margin$j, XS: Margin$j, XXS: Margin$j];
2016
- /**
2017
- * Отступ для XXS брейкпоинта.
2018
- *
2019
- * @default undefined */
2020
- marginXXS?: Margin$j;
2021
- /**
2022
- * Отступ для XS брейкпоинта.
2023
- *
2024
- * @default undefined */
2025
- marginXS?: Margin$j;
2026
- /**
2027
- * Отступ для S брейкпоинта.
2028
- *
2029
- * @default undefined */
2030
- marginS?: Margin$j;
2031
- /**
2032
- * Отступ для M брейкпоинта.
2033
- *
2034
- * @default undefined */
2035
- marginM?: Margin$j;
2036
- /**
2037
- * Отступ для L брейкпоинта.
2038
- *
2039
- * @default undefined */
2040
- marginL?: Margin$j;
2041
- /**
2042
- * Отступ для XL брейкпоинта.
2043
- *
2044
- * @default undefined */
2045
- marginXL?: Margin$j;
2046
- /** @ignore */
2047
- primary?: boolean;
2048
- /** @ignore */
2049
- secondary?: boolean;
2050
- /** @ignore */
2051
- inverted?: boolean;
2052
- /** @ignore */
2053
- leftIconProps?: IconProps;
2054
- /** @ignore */
2055
- rightIconProps?: IconProps;
2056
- /** @ignore @deprecated */
2057
- onColored?: boolean;
2058
- /** @ignore @deprecated */
2059
- noSpacing?: boolean;
2060
- /** @ignore @deprecated */
2061
- as?: React.ElementType<any>;
2062
- /** @ignore @deprecated */
2063
- fontWeight?: TextProps['weight'];
2064
- /** @ignore @deprecated */
2065
- rounded?: boolean;
2066
- /** @ignore @deprecated */
2067
- basic?: boolean;
2068
- /** @ignore @deprecated */
2069
- content?: React.ReactNode;
2070
- /** @ignore @deprecated */
2071
- innerRef?: any;
2072
- }
2073
- type ButtonProps = ButtonBaseProps & Omit<React.ComponentPropsWithRef<'button'>, keyof ButtonBaseProps>;
2074
-
2075
- /**
2076
- *
2077
- * Контрол многоцелевого назначения.
2078
- *
2079
- * Поддерживается "ref" и все нативные атрибуты \<button\> элемента.
2080
- */
2081
- declare const Button: React.ForwardRefExoticComponent<ButtonProps>;
2082
-
2083
- type Size$t = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
2084
- type SizeValue = Size$t | 'initial' | 'inherit' | 'unset' | 'revert' | 'revert-layer' | number;
2085
- type Margin$i = number | string;
2086
- interface AnchorProps extends ResponsiveSizeProps<Size$t, SizeValue>, ResponsiveMarginProps,
2087
- /** @deprecated Use palette */
2088
- ColorProperty<'color'>,
2089
- /** @deprecated Use children as function */
2090
- DisplayProperty {
2091
- /**
2092
- * Версия компонента: v3 ("brand") или v2 ("default").
2093
- *
2094
- * @general
2095
- * @default 'default' */
2096
- preset?: 'default' | 'brand';
2097
- /**
2098
- * Основной контент.
2099
- *
2100
- * @general
2101
- * @default undefined */
2102
- children?: React.ReactNode | ((props: {
2103
- baseTextProps: Partial<TextProps>;
2104
- textProps: TextProps;
2105
- iconBaseProps: Partial<IconProps>;
2106
- iconProps: AnchorProps['iconProps'];
2107
- icon: AnchorProps['icon'];
2108
- }) => React.ReactNode);
2109
- /**
2110
- * Класс (или классы) для рута.
2111
- *
2112
- * @default undefined */
2113
- className?: string;
2114
- /**
2115
- * Кастомные цвета.
2116
- *
2117
- * @general
2118
- * @default undefined */
2119
- palette?: {
2120
- color?: Color;
2121
- colorHover?: Color;
2122
- colorDisabled?: Color;
2123
- };
2124
- /**
2125
- * Пропсы типографики для основного текста.
2126
- *
2127
- * @general
2128
- * @default {} */
2129
- textProps?: TextProps;
2130
- /**
2131
- * Вариант нижнего подчёркивания.
2132
- *
2133
- * @general
2134
- * @default false */
2135
- underline?: boolean | 'solid' | 'dashed';
2136
- /**
2137
- * Иконки для отображения с левого и правого края.
2138
- *
2139
- * @general
2140
- * @default undefined */
2141
- icon?: JSX.Element | IconName | [Nullable<JSX.Element | IconName>, Nullable<JSX.Element | IconName>];
2142
- /**
2143
- * Пропсы для компонентов иконок.
2144
- *
2145
- * @general
2146
- * @default {} */
2147
- iconProps?: IconProps;
2148
- /** Build rel attribute with relBuilder from context */
2149
- autoRel?: boolean;
2150
- /**
2151
- * Интерактивность отключена.
2152
- *
2153
- * @general
2154
- * @default false */
2155
- disabled?: boolean;
2156
- /**
2157
- * Вариант цветовой схемы.
2158
- *
2159
- * @general
2160
- * @default false */
2161
- onColored?: boolean;
2162
- /**
2163
- * Вариант выравнивания по вертикали.
2164
- *
2165
- * @default undefined */
2166
- verticalAlign?: CSSVerticalAlign | boolean;
2167
- /**
2168
- * Компонент рутового элемента.
2169
- *
2170
- * @general
2171
- * @default 'a' */
2172
- component?: ComponentElementType;
2173
- /**
2174
- * Размер.
2175
- *
2176
- * Использование кортежей включает применение размеров в зависимости от ширины вьюпорта.
2177
- *
2178
- * @general
2179
- * @default 'inherit' */
2180
- size?: SizeValue | [DESKTOP: SizeValue, TABLET: SizeValue, MOBILE: SizeValue] | [XL: SizeValue, L: SizeValue, M: SizeValue, S: SizeValue, XS: SizeValue, XXS: SizeValue];
2181
- /**
2182
- * Размер для XXS брейкпоинта.
2183
- *
2184
- * @default undefined */
2185
- sizeXXS?: SizeValue;
2186
- /**
2187
- * Размер для XS брейкпоинта.
2188
- *
2189
- * @default undefined */
2190
- sizeXS?: SizeValue;
2191
- /**
2192
- * Размер для S брейкпоинта.
2193
- *
2194
- * @default undefined */
2195
- sizeS?: SizeValue;
2196
- /**
2197
- * Размер для M брейкпоинта.
2198
- *
2199
- * @default undefined */
2200
- sizeM?: SizeValue;
2201
- /**
2202
- * Размер для L брейкпоинта.
2203
- *
2204
- * @default undefined */
2205
- sizeL?: SizeValue;
2206
- /**
2207
- * Размер для XL брейкпоинта.
2208
- *
2209
- * @default undefined */
2210
- sizeXL?: SizeValue;
2211
- /**
2212
- * Модификация размеров.
2213
- *
2214
- * @general
2215
- * @default undefined */
2216
- sizes?: Partial<Record<Size$t, React.CSSProperties>>;
2217
- /**
2218
- * Внешние отступы.
2219
- *
2220
- * Использование кортежей включает применение отступов в зависимости от ширины вьюпорта.
2221
- *
2222
- * @general
2223
- * @default undefined */
2224
- margin?: Margin$i | [DESKTOP: Margin$i, TABLET: Margin$i, MOBILE: Margin$i] | [XL: Margin$i, L: Margin$i, M: Margin$i, S: Margin$i, XS: Margin$i, XXS: Margin$i];
2225
- /**
2226
- * Отступ для XXS брейкпоинта.
2227
- *
2228
- * @default undefined */
2229
- marginXXS?: Margin$i;
2230
- /**
2231
- * Отступ для XS брейкпоинта.
2232
- *
2233
- * @default undefined */
2234
- marginXS?: Margin$i;
2235
- /**
2236
- * Отступ для S брейкпоинта.
2237
- *
2238
- * @default undefined */
2239
- marginS?: Margin$i;
2240
- /**
2241
- * Отступ для M брейкпоинта.
2242
- *
2243
- * @default undefined */
2244
- marginM?: Margin$i;
2245
- /**
2246
- * Отступ для L брейкпоинта.
2247
- *
2248
- * @default undefined */
2249
- marginL?: Margin$i;
2250
- /**
2251
- * Отступ для XL брейкпоинта.
2252
- *
2253
- * @default undefined */
2254
- marginXL?: Margin$i;
2255
- /** @ignore */
2256
- leftIconProps?: IconProps;
2257
- /** @ignore */
2258
- rightIconProps?: IconProps;
2259
- /** @ignore @deprecated */
2260
- replace?: boolean;
2261
- /** @ignore */
2262
- to?: string | Partial<Location> | ((location: Location) => string | Partial<Location>);
2263
- /** @ignore @deprecated Use component */
2264
- as?: React.ElementType<any>;
2265
- /** @ignore @deprecated Use children */
2266
- content?: string;
2267
- /** @ignore @deprecated Use underline */
2268
- pseudo?: boolean;
2269
- /** @ignore @deprecated */
2270
- wrapper?: boolean;
2271
- }
2272
-
2273
- /**
2274
- *
2275
- * Контрол многоцелевого назначения.
2276
- *
2277
- * Полиморфный компонент.
2278
- *
2279
- * Можно передать "ref" и атрибуты выбранного HTML-элемента (по умолчанию \<a\>).
2280
- */
2281
- declare const Anchor: <C extends React.ElementType = "a">(props: PolymorphicPropsWithRef<C, AnchorProps>) => React.ReactElement | null;
2282
-
2283
- type Margin$h = number | string;
2284
- type Size$s = 'm' | 's';
2285
- type AlertType = 'info' | 'success' | 'warning' | 'error';
2286
- type Layout$6 = 'vertical' | 'horizontal';
2287
- interface AlertBaseProps {
1819
+ * @general
1820
+ * @default {} */
1821
+ iconProps?: IconProps;
2288
1822
  /**
2289
- * Тип алерта, в зависимости от которого меняется цветовая схема и иконка.
1823
+ * Круглая форма рутового элемента.
2290
1824
  *
2291
1825
  * @general
2292
- * @default 'info' */
2293
- type?: AlertType;
1826
+ * @default false */
1827
+ round?: boolean;
2294
1828
  /**
2295
- * Использовать цветовые схемы с белым бекграундом.
1829
+ * Индикация успешного завершения операции.
2296
1830
  *
2297
1831
  * @general
2298
- * @default undefined */
2299
- clear?: boolean;
1832
+ * @default false */
1833
+ success?: boolean;
2300
1834
  /**
2301
- * Заголовок.
1835
+ * Индикация выполнения операции.
2302
1836
  *
2303
- * Если передана строка или число используется встроенная типографика.
1837
+ * @general
1838
+ * @default false */
1839
+ loading?: boolean;
1840
+ /**
1841
+ * Вариант цветовой схемы.
2304
1842
  *
2305
- * @slot
2306
- * @default undefined */
2307
- title?: React.ReactNode | ((titleProps: TextProps) => React.ReactNode);
1843
+ * @general
1844
+ * @default false */
1845
+ black?: boolean;
2308
1846
  /**
2309
- * Основной текст.
1847
+ * Вариант цветовой схемы.
2310
1848
  *
2311
- * Если передана строка или число используется встроенная типографика.
1849
+ * @general
1850
+ * @default false */
1851
+ danger?: boolean;
1852
+ /**
1853
+ * Вариант цветовой схемы.
2312
1854
  *
2313
- * @slot
2314
- * @default undefined */
2315
- text?: React.ReactNode | ((textProps: TextProps) => React.ReactNode);
1855
+ * @general
1856
+ * @default false */
1857
+ contrast?: boolean;
2316
1858
  /**
2317
- * Дополнительные элементы слева.
1859
+ * Вариант внешнего вида.
2318
1860
  *
2319
- * @slot
2320
- * @default undefined */
2321
- addon?: React.ReactElement | ((addonLeftProps: {
2322
- iconProps: IconProps;
2323
- timerProps: Partial<TimerProps>;
2324
- }) => React.ReactNode);
1861
+ * @general
1862
+ * @default false */
1863
+ clear?: boolean;
2325
1864
  /**
2326
- * Контролы.
1865
+ * Вариант внешнего вида.
1866
+ *
1867
+ * @general
1868
+ * @default false */
1869
+ base?: boolean;
1870
+ /**
1871
+ * Вариант внешнего вида.
1872
+ *
1873
+ * @general
1874
+ * @default false */
1875
+ outline?: boolean;
1876
+ /**
1877
+ * Использовать компонент ссылки из контекста вместо кнопки (`theme.link`).
2327
1878
  *
2328
- * @slot
2329
1879
  * @default undefined */
2330
- controls?: React.ReactElement | ((controlsProps: {
2331
- buttonProps: ButtonProps;
2332
- anchorProps: AnchorProps;
2333
- }) => React.ReactNode);
1880
+ to?: string | Partial<Location> | ((location: Location) => string | Partial<Location>);
2334
1881
  /**
2335
- * Кнопка закрытия.
1882
+ * Использовать элемент ссылки вместо кнопки (`<a>`).
2336
1883
  *
2337
- * @slot
2338
1884
  * @default undefined */
2339
- discardButton?: React.ReactElement | ((discardButtonProps: IconButtonProps) => React.ReactNode);
1885
+ href?: string;
2340
1886
  /**
2341
- * Кастомный рутовый блок.
1887
+ * Атрибут `target` для ссылки.
2342
1888
  *
2343
- * @slot
2344
1889
  * @default undefined */
2345
- root?: React.ReactElement | ((rootProps: {
2346
- titleProps: TextProps;
2347
- textProps: TextProps;
2348
- iconProps: IconProps;
2349
- timerProps: Partial<TimerProps>;
2350
- buttonProps: ButtonProps;
2351
- anchorProps: AnchorProps;
2352
- discardButtonProps: IconButtonProps;
2353
- }) => React.ReactNode);
1890
+ target?: string;
2354
1891
  /**
2355
- * Кастомный блок с основным контентом.
1892
+ * Атрибут `rel` для ссылки.
2356
1893
  *
2357
- * @slot
2358
1894
  * @default undefined */
2359
- content?: React.ReactElement | ((contentProps: {
2360
- titleProps: TextProps;
2361
- textProps: TextProps;
2362
- }) => React.ReactNode);
1895
+ rel?: string;
2363
1896
  /**
2364
- * Отображение иконки слева.
1897
+ * Использовать `theme.utils.relBuilder` из контекста для создания `rel` атрибута для ссылки.
2365
1898
  *
2366
- * @general
2367
1899
  * @default false */
2368
- withIcon?: boolean;
1900
+ autoRel?: boolean;
2369
1901
  /**
2370
- * Кастомные цвета.
1902
+ * Отображать основной контент при наличии статуса (`success`, `loading`).
2371
1903
  *
2372
1904
  * @general
2373
- * @default {} */
2374
- palette?: {
2375
- color?: Color;
2376
- backgroundColor?: Color;
2377
- };
1905
+ * @default false */
1906
+ showContentOnStatus?: boolean;
2378
1907
  /**
2379
1908
  * Размер.
2380
1909
  *
2381
1910
  * Использование кортежей включает применение размеров в зависимости от ширины вьюпорта.
2382
1911
  *
2383
1912
  * @general
2384
- * @default 's' */
2385
- size?: Size$s | [DESKTOP: Size$s, TABLET: Size$s, MOBILE: Size$s] | [XL: Size$s, L: Size$s, M: Size$s, S: Size$s, XS: Size$s, XXS: Size$s];
1913
+ * @default 'm' */
1914
+ size?: Size$t | [DESKTOP: Size$t, TABLET: Size$t, MOBILE: Size$t] | [XL: Size$t, L: Size$t, M: Size$t, S: Size$t, XS: Size$t, XXS: Size$t];
2386
1915
  /**
2387
1916
  * Размер для XXS брейкпоинта.
2388
1917
  *
2389
1918
  * @default undefined */
2390
- sizeXXS?: Size$s;
1919
+ sizeXXS?: Size$t;
2391
1920
  /**
2392
1921
  * Размер для XS брейкпоинта.
2393
1922
  *
2394
1923
  * @default undefined */
2395
- sizeXS?: Size$s;
1924
+ sizeXS?: Size$t;
2396
1925
  /**
2397
1926
  * Размер для S брейкпоинта.
2398
1927
  *
2399
1928
  * @default undefined */
2400
- sizeS?: Size$s;
1929
+ sizeS?: Size$t;
2401
1930
  /**
2402
1931
  * Размер для M брейкпоинта.
2403
1932
  *
2404
1933
  * @default undefined */
2405
- sizeM?: Size$s;
1934
+ sizeM?: Size$t;
2406
1935
  /**
2407
1936
  * Размер для L брейкпоинта.
2408
1937
  *
2409
1938
  * @default undefined */
2410
- sizeL?: Size$s;
1939
+ sizeL?: Size$t;
2411
1940
  /**
2412
1941
  * Размер для XL брейкпоинта.
2413
1942
  *
2414
1943
  * @default undefined */
2415
- sizeXL?: Size$s;
1944
+ sizeXL?: Size$t;
2416
1945
  /**
2417
1946
  * Модификация размеров.
2418
1947
  *
2419
1948
  * @general
2420
1949
  * @default undefined */
2421
- sizes?: Partial<Record<Size$s, React.CSSProperties>>;
2422
- /**
2423
- * Вариант шаблона лейаута.
2424
- *
2425
- * Использование кортежей включает применение шаблонов в зависимости от ширины вьюпорта.
2426
- *
2427
- * @general
2428
- * @default 'horizontal' */
2429
- layout?: Layout$6 | [DESKTOP: Layout$6, TABLET: Layout$6, MOBILE: Layout$6] | [XL: Layout$6, L: Layout$6, M: Layout$6, S: Layout$6, XS: Layout$6, XXS: Layout$6];
2430
- /**
2431
- * Лейаут для XXS брейкпоинта.
2432
- *
2433
- * @default undefined */
2434
- layoutXXS?: Layout$6;
2435
- /**
2436
- * Лейаут для XS брейкпоинта.
2437
- *
2438
- * @default undefined */
2439
- layoutXS?: Layout$6;
2440
- /**
2441
- * Лейаут для S брейкпоинта.
2442
- *
2443
- * @default undefined */
2444
- layoutS?: Layout$6;
2445
- /**
2446
- * Лейаут для M брейкпоинта.
2447
- *
2448
- * @default undefined */
2449
- layoutM?: Layout$6;
2450
- /**
2451
- * Лейаут для L брейкпоинта.
2452
- *
2453
- * @default undefined */
2454
- layoutL?: Layout$6;
2455
- /**
2456
- * Лейаут для XL брейкпоинта.
2457
- *
2458
- * @default undefined */
2459
- layoutXL?: Layout$6;
1950
+ sizes?: Partial<Record<Size$t, React.CSSProperties>>;
2460
1951
  /**
2461
1952
  * Внешние отступы.
2462
1953
  *
@@ -2464,60 +1955,134 @@ interface AlertBaseProps {
2464
1955
  *
2465
1956
  * @general
2466
1957
  * @default undefined */
2467
- margin?: Margin$h | [DESKTOP: Margin$h, TABLET: Margin$h, MOBILE: Margin$h] | [XL: Margin$h, L: Margin$h, M: Margin$h, S: Margin$h, XS: Margin$h, XXS: Margin$h];
1958
+ margin?: Margin$i | [DESKTOP: Margin$i, TABLET: Margin$i, MOBILE: Margin$i] | [XL: Margin$i, L: Margin$i, M: Margin$i, S: Margin$i, XS: Margin$i, XXS: Margin$i];
2468
1959
  /**
2469
1960
  * Отступ для XXS брейкпоинта.
2470
1961
  *
2471
1962
  * @default undefined */
2472
- marginXXS?: Margin$h;
1963
+ marginXXS?: Margin$i;
2473
1964
  /**
2474
1965
  * Отступ для XS брейкпоинта.
2475
1966
  *
2476
1967
  * @default undefined */
2477
- marginXS?: Margin$h;
1968
+ marginXS?: Margin$i;
2478
1969
  /**
2479
1970
  * Отступ для S брейкпоинта.
2480
1971
  *
2481
1972
  * @default undefined */
2482
- marginS?: Margin$h;
1973
+ marginS?: Margin$i;
2483
1974
  /**
2484
1975
  * Отступ для M брейкпоинта.
2485
1976
  *
2486
1977
  * @default undefined */
2487
- marginM?: Margin$h;
1978
+ marginM?: Margin$i;
2488
1979
  /**
2489
1980
  * Отступ для L брейкпоинта.
2490
1981
  *
2491
1982
  * @default undefined */
2492
- marginL?: Margin$h;
1983
+ marginL?: Margin$i;
2493
1984
  /**
2494
1985
  * Отступ для XL брейкпоинта.
2495
1986
  *
2496
1987
  * @default undefined */
2497
- marginXL?: Margin$h;
2498
- /**
2499
- * @ignore
2500
- */
2501
- preset?: ThemePreset;
1988
+ marginXL?: Margin$i;
1989
+ /** @ignore */
1990
+ primary?: boolean;
1991
+ /** @ignore */
1992
+ secondary?: boolean;
1993
+ /** @ignore */
1994
+ inverted?: boolean;
1995
+ /** @ignore */
1996
+ leftIconProps?: IconProps;
1997
+ /** @ignore */
1998
+ rightIconProps?: IconProps;
1999
+ /** @ignore @deprecated */
2000
+ onColored?: boolean;
2001
+ /** @ignore @deprecated */
2002
+ noSpacing?: boolean;
2003
+ /** @ignore @deprecated */
2004
+ as?: React.ElementType<any>;
2005
+ /** @ignore @deprecated */
2006
+ fontWeight?: TextProps['weight'];
2007
+ /** @ignore @deprecated */
2008
+ rounded?: boolean;
2009
+ /** @ignore @deprecated */
2010
+ basic?: boolean;
2011
+ /** @ignore @deprecated */
2012
+ content?: React.ReactNode;
2013
+ /** @ignore @deprecated */
2014
+ innerRef?: any;
2502
2015
  }
2503
- type AlertProps = AlertBaseProps & Omit<React.ComponentPropsWithRef<'div'>, keyof AlertBaseProps>;
2016
+ type ButtonProps = ButtonBaseProps & Omit<React.ComponentPropsWithRef<'button'>, keyof ButtonBaseProps>;
2504
2017
 
2505
2018
  /**
2506
2019
  *
2507
- * *v1.0.0*
2508
- *
2509
- * Компонент для отображения информационных сообщений.
2510
- *
2511
- * Поддерживается "ref" и все нативные атрибуты \<div\> элемента.
2020
+ * Контрол многоцелевого назначения.
2512
2021
  *
2022
+ * Поддерживается "ref" и все нативные атрибуты \<button\> элемента.
2513
2023
  */
2514
- declare const Alert: React.ForwardRefExoticComponent<AlertProps> & {
2515
- Timer: typeof Timer;
2516
- };
2024
+ declare const Button: React.ForwardRefExoticComponent<ButtonProps>;
2517
2025
 
2518
- type Size$r = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
2519
- type Margin$g = number | string;
2520
- interface ArrowProps extends ResponsiveSizeProps<Size$r, SizeValue$1>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'button'>, 'children'> {
2026
+ type AlertType = 'warning' | 'error' | 'info' | 'success';
2027
+ type AlertSize = 'l' | 's';
2028
+ interface AlertProps extends BaseProps {
2029
+ /** Text of the timer cancellation button */
2030
+ cancelTimerText?: React.ReactNode;
2031
+ /** Children react node */
2032
+ children?: React.ReactNode;
2033
+ /** Use a colorless background */
2034
+ clear?: boolean;
2035
+ /** This method is taken from react-toastify library */
2036
+ closeToast?(): void;
2037
+ /** Icon name (for inner Icon component) */
2038
+ customIcon?: IconName;
2039
+ /** Any custom image (e.g.: img, svg, icon from @foxford/icon-pack) */
2040
+ image?: React.ReactNode;
2041
+ /** Use for tablet and mobile view */
2042
+ isCompact?: boolean;
2043
+ /** Display a hyperlink */
2044
+ link?: {
2045
+ content: React.ReactNode;
2046
+ onClick(): void;
2047
+ };
2048
+ linkProps?: PolymorphicPropsWithRef<'a', AnchorProps>;
2049
+ /** Use alert without icon */
2050
+ noIcon?: boolean;
2051
+ /** You can cancel the action if the timer has not expired yet */
2052
+ onClickCancelTimer?(): void;
2053
+ /** Call when timer has expired */
2054
+ onTimerFinish?(): void;
2055
+ /** Display the action button */
2056
+ primaryAction?: {
2057
+ content: React.ReactNode;
2058
+ onClick(): void;
2059
+ };
2060
+ primaryActionProps?: ButtonProps;
2061
+ /** Display the second action button */
2062
+ secondaryAction?: {
2063
+ content: React.ReactNode;
2064
+ onClick(): void;
2065
+ };
2066
+ secondaryActionProps?: ButtonProps;
2067
+ /** Use this to change the appearance of the alert */
2068
+ size?: AlertSize;
2069
+ /** Use it when you need to move text to another line in alerts without a title */
2070
+ textProps?: TextProps;
2071
+ textWrap?: boolean;
2072
+ /** It is used in alerts with a timer. Pass the value in seconds */
2073
+ timer?: number;
2074
+ /** Display a title */
2075
+ title?: React.ReactNode;
2076
+ titleProps?: TextProps;
2077
+ type?: AlertType;
2078
+ width?: ResponsiveProperty<string | number>;
2079
+ }
2080
+
2081
+ declare const Alert: react.ForwardRefExoticComponent<AlertProps & react.RefAttributes<HTMLDivElement>>;
2082
+
2083
+ type Size$s = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
2084
+ type Margin$h = number | string;
2085
+ interface ArrowProps extends ResponsiveSizeProps<Size$s, SizeValue$1>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'button'>, 'children'> {
2521
2086
  /**
2522
2087
  * Версия компонента: v3 ("brand") или v2 ("default").
2523
2088
  *
@@ -2599,43 +2164,43 @@ interface ArrowProps extends ResponsiveSizeProps<Size$r, SizeValue$1>, Responsiv
2599
2164
  *
2600
2165
  * @general
2601
2166
  * @default 'l' */
2602
- size?: Size$r | [DESKTOP: Size$r, TABLET: Size$r, MOBILE: Size$r] | [XL: Size$r, L: Size$r, M: Size$r, S: Size$r, XS: Size$r, XXS: Size$r];
2167
+ size?: Size$s | [DESKTOP: Size$s, TABLET: Size$s, MOBILE: Size$s] | [XL: Size$s, L: Size$s, M: Size$s, S: Size$s, XS: Size$s, XXS: Size$s];
2603
2168
  /**
2604
2169
  * Размер для XXS брейкпоинта.
2605
2170
  *
2606
2171
  * @default undefined */
2607
- sizeXXS?: Size$r;
2172
+ sizeXXS?: Size$s;
2608
2173
  /**
2609
2174
  * Размер для XS брейкпоинта.
2610
2175
  *
2611
2176
  * @default undefined */
2612
- sizeXS?: Size$r;
2177
+ sizeXS?: Size$s;
2613
2178
  /**
2614
2179
  * Размер для S брейкпоинта.
2615
2180
  *
2616
2181
  * @default undefined */
2617
- sizeS?: Size$r;
2182
+ sizeS?: Size$s;
2618
2183
  /**
2619
2184
  * Размер для M брейкпоинта.
2620
2185
  *
2621
2186
  * @default undefined */
2622
- sizeM?: Size$r;
2187
+ sizeM?: Size$s;
2623
2188
  /**
2624
2189
  * Размер для L брейкпоинта.
2625
2190
  *
2626
2191
  * @default undefined */
2627
- sizeL?: Size$r;
2192
+ sizeL?: Size$s;
2628
2193
  /**
2629
2194
  * Размер для XL брейкпоинта.
2630
2195
  *
2631
2196
  * @default undefined */
2632
- sizeXL?: Size$r;
2197
+ sizeXL?: Size$s;
2633
2198
  /**
2634
2199
  * Модификация размеров.
2635
2200
  *
2636
2201
  * @general
2637
2202
  * @default undefined */
2638
- sizes?: Partial<Record<Size$r, React.CSSProperties>>;
2203
+ sizes?: Partial<Record<Size$s, React.CSSProperties>>;
2639
2204
  /**
2640
2205
  * Внешние отступы.
2641
2206
  *
@@ -2643,37 +2208,37 @@ interface ArrowProps extends ResponsiveSizeProps<Size$r, SizeValue$1>, Responsiv
2643
2208
  *
2644
2209
  * @general
2645
2210
  * @default undefined */
2646
- margin?: Margin$g | [DESKTOP: Margin$g, TABLET: Margin$g, MOBILE: Margin$g] | [XL: Margin$g, L: Margin$g, M: Margin$g, S: Margin$g, XS: Margin$g, XXS: Margin$g];
2211
+ margin?: Margin$h | [DESKTOP: Margin$h, TABLET: Margin$h, MOBILE: Margin$h] | [XL: Margin$h, L: Margin$h, M: Margin$h, S: Margin$h, XS: Margin$h, XXS: Margin$h];
2647
2212
  /**
2648
2213
  * Отступ для XXS брейкпоинта.
2649
2214
  *
2650
2215
  * @default undefined */
2651
- marginXXS?: Margin$g;
2216
+ marginXXS?: Margin$h;
2652
2217
  /**
2653
2218
  * Отступ для XS брейкпоинта.
2654
2219
  *
2655
2220
  * @default undefined */
2656
- marginXS?: Margin$g;
2221
+ marginXS?: Margin$h;
2657
2222
  /**
2658
2223
  * Отступ для S брейкпоинта.
2659
2224
  *
2660
2225
  * @default undefined */
2661
- marginS?: Margin$g;
2226
+ marginS?: Margin$h;
2662
2227
  /**
2663
2228
  * Отступ для M брейкпоинта.
2664
2229
  *
2665
2230
  * @default undefined */
2666
- marginM?: Margin$g;
2231
+ marginM?: Margin$h;
2667
2232
  /**
2668
2233
  * Отступ для L брейкпоинта.
2669
2234
  *
2670
2235
  * @default undefined */
2671
- marginL?: Margin$g;
2236
+ marginL?: Margin$h;
2672
2237
  /**
2673
2238
  * Отступ для XL брейкпоинта.
2674
2239
  *
2675
2240
  * @default undefined */
2676
- marginXL?: Margin$g;
2241
+ marginXL?: Margin$h;
2677
2242
  /** @ignore */
2678
2243
  inverse?: boolean;
2679
2244
  /** @ignore @deprecated */
@@ -2690,8 +2255,8 @@ interface ArrowProps extends ResponsiveSizeProps<Size$r, SizeValue$1>, Responsiv
2690
2255
  */
2691
2256
  declare const Arrow: React.ForwardRefExoticComponent<ArrowProps>;
2692
2257
 
2693
- type Size$q = 'xl' | 'l' | 'm' | 's' | 'xs';
2694
- interface InputCheckboxProps extends ResponsiveSizeProps<Size$q>, Omit<React.ComponentPropsWithRef<'input'>, 'size' | 'children'> {
2258
+ type Size$r = 'xl' | 'l' | 'm' | 's' | 'xs';
2259
+ interface InputCheckboxProps extends ResponsiveSizeProps<Size$r>, Omit<React.ComponentPropsWithRef<'input'>, 'size' | 'children'> {
2695
2260
  /**
2696
2261
  * Текущее состояние контрола (использование включает контролируемый режим).
2697
2262
  *
@@ -2768,43 +2333,43 @@ interface InputCheckboxProps extends ResponsiveSizeProps<Size$q>, Omit<React.Com
2768
2333
  *
2769
2334
  * @general
2770
2335
  * @default 'm' */
2771
- size?: Size$q | [DESKTOP: Size$q, TABLET: Size$q, MOBILE: Size$q] | [XL: Size$q, L: Size$q, M: Size$q, S: Size$q, XS: Size$q, XXS: Size$q];
2336
+ size?: Size$r | [DESKTOP: Size$r, TABLET: Size$r, MOBILE: Size$r] | [XL: Size$r, L: Size$r, M: Size$r, S: Size$r, XS: Size$r, XXS: Size$r];
2772
2337
  /**
2773
2338
  * Размер для XXS брейкпоинта.
2774
2339
  *
2775
2340
  * @default undefined */
2776
- sizeXXS?: Size$q;
2341
+ sizeXXS?: Size$r;
2777
2342
  /**
2778
2343
  * Размер для XS брейкпоинта.
2779
2344
  *
2780
2345
  * @default undefined */
2781
- sizeXS?: Size$q;
2346
+ sizeXS?: Size$r;
2782
2347
  /**
2783
2348
  * Размер для S брейкпоинта.
2784
2349
  *
2785
2350
  * @default undefined */
2786
- sizeS?: Size$q;
2351
+ sizeS?: Size$r;
2787
2352
  /**
2788
2353
  * Размер для M брейкпоинта.
2789
2354
  *
2790
2355
  * @default undefined */
2791
- sizeM?: Size$q;
2356
+ sizeM?: Size$r;
2792
2357
  /**
2793
2358
  * Размер для L брейкпоинта.
2794
2359
  *
2795
2360
  * @default undefined */
2796
- sizeL?: Size$q;
2361
+ sizeL?: Size$r;
2797
2362
  /**
2798
2363
  * Размер для XL брейкпоинта.
2799
2364
  *
2800
2365
  * @default undefined */
2801
- sizeXL?: Size$q;
2366
+ sizeXL?: Size$r;
2802
2367
  /**
2803
2368
  * Модификация размеров.
2804
2369
  *
2805
2370
  * @general
2806
2371
  * @default undefined */
2807
- sizes?: Partial<Record<Size$q, React.CSSProperties>>;
2372
+ sizes?: Partial<Record<Size$r, React.CSSProperties>>;
2808
2373
  /** @ignore @deprecated */
2809
2374
  onColored?: boolean;
2810
2375
  }
@@ -2853,8 +2418,8 @@ declare enum SizeInput {
2853
2418
  xs = 140
2854
2419
  }
2855
2420
 
2856
- type Size$p = 'l' | 'm' | 's' | 'xs';
2857
- interface TextareaBaseProps extends ResponsiveSizeProps<Size$p>, ResponsiveMarginProps, ColorProperty, ColorProperty<'placeholderColor'>, ResponsiveNamedProperty<'width', 'auto' | keyof typeof SizeInput | number> {
2421
+ type Size$q = 'l' | 'm' | 's' | 'xs';
2422
+ interface TextareaBaseProps extends ResponsiveSizeProps<Size$q>, ResponsiveMarginProps, ColorProperty, ColorProperty<'placeholderColor'>, ResponsiveNamedProperty<'width', 'auto' | keyof typeof SizeInput | number> {
2858
2423
  /**
2859
2424
  * Автоматически адаптировать число строк под контент.
2860
2425
  *
@@ -3005,9 +2570,9 @@ interface SwitcherProps extends ColorProperty<'color'>, ColorProperty<'inactiveC
3005
2570
 
3006
2571
  declare const Switcher: react.ForwardRefExoticComponent<SwitcherProps & react.RefAttributes<HTMLDivElement>>;
3007
2572
 
3008
- type Margin$f = number | string;
3009
- type Size$o = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
3010
- interface ArrowBadgeProps extends ResponsiveSizeProps<Size$o, SizeValue$1>, ResponsiveMarginProps,
2573
+ type Margin$g = number | string;
2574
+ type Size$p = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
2575
+ interface ArrowBadgeProps extends ResponsiveSizeProps<Size$p, SizeValue$1>, ResponsiveMarginProps,
3011
2576
  /** @deprecated Используйте palette */
3012
2577
  ColorProperty<'color'>,
3013
2578
  /** @deprecated Используйте palette */
@@ -3088,43 +2653,43 @@ ColorProperty<'backgroundColor'> {
3088
2653
  *
3089
2654
  * @general
3090
2655
  * @default 'm' */
3091
- size?: Size$o | [DESKTOP: Size$o, TABLET: Size$o, MOBILE: Size$o] | [XL: Size$o, L: Size$o, M: Size$o, S: Size$o, XS: Size$o, XXS: Size$o];
2656
+ size?: Size$p | [DESKTOP: Size$p, TABLET: Size$p, MOBILE: Size$p] | [XL: Size$p, L: Size$p, M: Size$p, S: Size$p, XS: Size$p, XXS: Size$p];
3092
2657
  /**
3093
2658
  * Размер для XXS брейкпоинта.
3094
2659
  *
3095
2660
  * @default undefined */
3096
- sizeXXS?: Size$o;
2661
+ sizeXXS?: Size$p;
3097
2662
  /**
3098
2663
  * Размер для XS брейкпоинта.
3099
2664
  *
3100
2665
  * @default undefined */
3101
- sizeXS?: Size$o;
2666
+ sizeXS?: Size$p;
3102
2667
  /**
3103
2668
  * Размер для S брейкпоинта.
3104
2669
  *
3105
2670
  * @default undefined */
3106
- sizeS?: Size$o;
2671
+ sizeS?: Size$p;
3107
2672
  /**
3108
2673
  * Размер для M брейкпоинта.
3109
2674
  *
3110
2675
  * @default undefined */
3111
- sizeM?: Size$o;
2676
+ sizeM?: Size$p;
3112
2677
  /**
3113
2678
  * Размер для L брейкпоинта.
3114
2679
  *
3115
2680
  * @default undefined */
3116
- sizeL?: Size$o;
2681
+ sizeL?: Size$p;
3117
2682
  /**
3118
2683
  * Размер для XL брейкпоинта.
3119
2684
  *
3120
2685
  * @default undefined */
3121
- sizeXL?: Size$o;
2686
+ sizeXL?: Size$p;
3122
2687
  /**
3123
2688
  * Модификация размеров.
3124
2689
  *
3125
2690
  * @general
3126
2691
  * @default undefined */
3127
- sizes?: Partial<Record<Size$o, React.CSSProperties>>;
2692
+ sizes?: Partial<Record<Size$p, React.CSSProperties>>;
3128
2693
  /**
3129
2694
  * Внешние отступы.
3130
2695
  *
@@ -3132,37 +2697,37 @@ ColorProperty<'backgroundColor'> {
3132
2697
  *
3133
2698
  * @general
3134
2699
  * @default undefined */
3135
- margin?: Margin$f | [DESKTOP: Margin$f, TABLET: Margin$f, MOBILE: Margin$f] | [XL: Margin$f, L: Margin$f, M: Margin$f, S: Margin$f, XS: Margin$f, XXS: Margin$f];
2700
+ margin?: Margin$g | [DESKTOP: Margin$g, TABLET: Margin$g, MOBILE: Margin$g] | [XL: Margin$g, L: Margin$g, M: Margin$g, S: Margin$g, XS: Margin$g, XXS: Margin$g];
3136
2701
  /**
3137
2702
  * Отступ для XXS брейкпоинта.
3138
2703
  *
3139
2704
  * @default undefined */
3140
- marginXXS?: Margin$f;
2705
+ marginXXS?: Margin$g;
3141
2706
  /**
3142
2707
  * Отступ для XS брейкпоинта.
3143
2708
  *
3144
2709
  * @default undefined */
3145
- marginXS?: Margin$f;
2710
+ marginXS?: Margin$g;
3146
2711
  /**
3147
2712
  * Отступ для S брейкпоинта.
3148
2713
  *
3149
2714
  * @default undefined */
3150
- marginS?: Margin$f;
2715
+ marginS?: Margin$g;
3151
2716
  /**
3152
2717
  * Отступ для M брейкпоинта.
3153
2718
  *
3154
2719
  * @default undefined */
3155
- marginM?: Margin$f;
2720
+ marginM?: Margin$g;
3156
2721
  /**
3157
2722
  * Отступ для L брейкпоинта.
3158
2723
  *
3159
2724
  * @default undefined */
3160
- marginL?: Margin$f;
2725
+ marginL?: Margin$g;
3161
2726
  /**
3162
2727
  * Отступ для XL брейкпоинта.
3163
2728
  *
3164
2729
  * @default undefined */
3165
- marginXL?: Margin$f;
2730
+ marginXL?: Margin$g;
3166
2731
  /** @ignore @deprecated Используйте content */
3167
2732
  textProps?: TextProps;
3168
2733
  }
@@ -3179,9 +2744,9 @@ ColorProperty<'backgroundColor'> {
3179
2744
  */
3180
2745
  declare const ArrowBadge: <C extends React.ElementType = "div">(props: PolymorphicPropsWithRef<C, ArrowBadgeProps>) => React.ReactElement | null;
3181
2746
 
3182
- type Size$n = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
3183
- type Margin$e = number | string;
3184
- interface TabProps extends ResponsiveSizeProps<Size$n, SizeValue$1>, ResponsiveMarginProps,
2747
+ type Size$o = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
2748
+ type Margin$f = number | string;
2749
+ interface TabProps extends ResponsiveSizeProps<Size$o, SizeValue$1>, ResponsiveMarginProps,
3185
2750
  /** @deprecated Use palette */
3186
2751
  ColorProperty<'color'>,
3187
2752
  /** @deprecated Use palette */
@@ -3272,43 +2837,43 @@ ColorProperty<'borderColor'>, Omit<React.ComponentPropsWithRef<'button'>, 'color
3272
2837
  *
3273
2838
  * @general
3274
2839
  * @default 'm' */
3275
- size?: Size$n | [DESKTOP: Size$n, TABLET: Size$n, MOBILE: Size$n] | [XL: Size$n, L: Size$n, M: Size$n, S: Size$n, XS: Size$n, XXS: Size$n];
2840
+ size?: Size$o | [DESKTOP: Size$o, TABLET: Size$o, MOBILE: Size$o] | [XL: Size$o, L: Size$o, M: Size$o, S: Size$o, XS: Size$o, XXS: Size$o];
3276
2841
  /**
3277
2842
  * Размер для XXS брейкпоинта.
3278
2843
  *
3279
2844
  * @default undefined */
3280
- sizeXXS?: Size$n;
2845
+ sizeXXS?: Size$o;
3281
2846
  /**
3282
2847
  * Размер для XS брейкпоинта.
3283
2848
  *
3284
2849
  * @default undefined */
3285
- sizeXS?: Size$n;
2850
+ sizeXS?: Size$o;
3286
2851
  /**
3287
2852
  * Размер для S брейкпоинта.
3288
2853
  *
3289
2854
  * @default undefined */
3290
- sizeS?: Size$n;
2855
+ sizeS?: Size$o;
3291
2856
  /**
3292
2857
  * Размер для M брейкпоинта.
3293
2858
  *
3294
2859
  * @default undefined */
3295
- sizeM?: Size$n;
2860
+ sizeM?: Size$o;
3296
2861
  /**
3297
2862
  * Размер для L брейкпоинта.
3298
2863
  *
3299
2864
  * @default undefined */
3300
- sizeL?: Size$n;
2865
+ sizeL?: Size$o;
3301
2866
  /**
3302
2867
  * Размер для XL брейкпоинта.
3303
2868
  *
3304
2869
  * @default undefined */
3305
- sizeXL?: Size$n;
2870
+ sizeXL?: Size$o;
3306
2871
  /**
3307
2872
  * Модификация размеров.
3308
2873
  *
3309
2874
  * @general
3310
2875
  * @default undefined */
3311
- sizes?: Partial<Record<Size$n, React.CSSProperties>>;
2876
+ sizes?: Partial<Record<Size$o, React.CSSProperties>>;
3312
2877
  /**
3313
2878
  * Внешние отступы.
3314
2879
  *
@@ -3316,37 +2881,37 @@ ColorProperty<'borderColor'>, Omit<React.ComponentPropsWithRef<'button'>, 'color
3316
2881
  *
3317
2882
  * @general
3318
2883
  * @default undefined */
3319
- margin?: Margin$e | [DESKTOP: Margin$e, TABLET: Margin$e, MOBILE: Margin$e] | [XL: Margin$e, L: Margin$e, M: Margin$e, S: Margin$e, XS: Margin$e, XXS: Margin$e];
2884
+ margin?: Margin$f | [DESKTOP: Margin$f, TABLET: Margin$f, MOBILE: Margin$f] | [XL: Margin$f, L: Margin$f, M: Margin$f, S: Margin$f, XS: Margin$f, XXS: Margin$f];
3320
2885
  /**
3321
2886
  * Отступ для XXS брейкпоинта.
3322
2887
  *
3323
2888
  * @default undefined */
3324
- marginXXS?: Margin$e;
2889
+ marginXXS?: Margin$f;
3325
2890
  /**
3326
2891
  * Отступ для XS брейкпоинта.
3327
2892
  *
3328
2893
  * @default undefined */
3329
- marginXS?: Margin$e;
2894
+ marginXS?: Margin$f;
3330
2895
  /**
3331
2896
  * Отступ для S брейкпоинта.
3332
2897
  *
3333
2898
  * @default undefined */
3334
- marginS?: Margin$e;
2899
+ marginS?: Margin$f;
3335
2900
  /**
3336
2901
  * Отступ для M брейкпоинта.
3337
2902
  *
3338
2903
  * @default undefined */
3339
- marginM?: Margin$e;
2904
+ marginM?: Margin$f;
3340
2905
  /**
3341
2906
  * Отступ для L брейкпоинта.
3342
2907
  *
3343
2908
  * @default undefined */
3344
- marginL?: Margin$e;
2909
+ marginL?: Margin$f;
3345
2910
  /**
3346
2911
  * Отступ для XL брейкпоинта.
3347
2912
  *
3348
2913
  * @default undefined */
3349
- marginXL?: Margin$e;
2914
+ marginXL?: Margin$f;
3350
2915
  /** @ignore */
3351
2916
  compact?: boolean;
3352
2917
  /** @ignore */
@@ -3367,10 +2932,10 @@ ColorProperty<'borderColor'>, Omit<React.ComponentPropsWithRef<'button'>, 'color
3367
2932
  */
3368
2933
  declare const Tab: React.ForwardRefExoticComponent<TabProps>;
3369
2934
 
3370
- type Margin$d = number | string;
3371
- type Size$m = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
3372
- type BadgeSize = Size$m | number;
3373
- interface BadgeProps extends ResponsiveSizeProps<Size$m, BadgeSize>, ResponsiveMarginProps,
2935
+ type Margin$e = number | string;
2936
+ type Size$n = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
2937
+ type BadgeSize = Size$n | number;
2938
+ interface BadgeProps extends ResponsiveSizeProps<Size$n, BadgeSize>, ResponsiveMarginProps,
3374
2939
  /** @deprecated Use palette */
3375
2940
  ColorProperty,
3376
2941
  /** @deprecated Use children as function */
@@ -3494,7 +3059,7 @@ DisplayProperty {
3494
3059
  *
3495
3060
  * @general
3496
3061
  * @default undefined */
3497
- sizes?: Partial<Record<Size$m, React.CSSProperties>>;
3062
+ sizes?: Partial<Record<Size$n, React.CSSProperties>>;
3498
3063
  /**
3499
3064
  * Внешние отступы.
3500
3065
  *
@@ -3502,37 +3067,37 @@ DisplayProperty {
3502
3067
  *
3503
3068
  * @general
3504
3069
  * @default undefined */
3505
- margin?: Margin$d | [DESKTOP: Margin$d, TABLET: Margin$d, MOBILE: Margin$d] | [XL: Margin$d, L: Margin$d, M: Margin$d, S: Margin$d, XS: Margin$d, XXS: Margin$d];
3070
+ margin?: Margin$e | [DESKTOP: Margin$e, TABLET: Margin$e, MOBILE: Margin$e] | [XL: Margin$e, L: Margin$e, M: Margin$e, S: Margin$e, XS: Margin$e, XXS: Margin$e];
3506
3071
  /**
3507
3072
  * Отступ для XXS брейкпоинта.
3508
3073
  *
3509
3074
  * @default undefined */
3510
- marginXXS?: Margin$d;
3075
+ marginXXS?: Margin$e;
3511
3076
  /**
3512
3077
  * Отступ для XS брейкпоинта.
3513
3078
  *
3514
3079
  * @default undefined */
3515
- marginXS?: Margin$d;
3080
+ marginXS?: Margin$e;
3516
3081
  /**
3517
3082
  * Отступ для S брейкпоинта.
3518
3083
  *
3519
3084
  * @default undefined */
3520
- marginS?: Margin$d;
3085
+ marginS?: Margin$e;
3521
3086
  /**
3522
3087
  * Отступ для M брейкпоинта.
3523
3088
  *
3524
3089
  * @default undefined */
3525
- marginM?: Margin$d;
3090
+ marginM?: Margin$e;
3526
3091
  /**
3527
3092
  * Отступ для L брейкпоинта.
3528
3093
  *
3529
3094
  * @default undefined */
3530
- marginL?: Margin$d;
3095
+ marginL?: Margin$e;
3531
3096
  /**
3532
3097
  * Отступ для XL брейкпоинта.
3533
3098
  *
3534
3099
  * @default undefined */
3535
- marginXL?: Margin$d;
3100
+ marginXL?: Margin$e;
3536
3101
  /** @ignore Internal */
3537
3102
  cursor?: string;
3538
3103
  /** @ignore @deprecated */
@@ -3565,6 +3130,152 @@ DisplayProperty {
3565
3130
  */
3566
3131
  declare const Badge: <C extends React.ElementType = "div">(props: PolymorphicPropsWithRef<C, BadgeProps>) => React.ReactElement | null;
3567
3132
 
3133
+ type Size$m = 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs';
3134
+ type Margin$d = number | string;
3135
+ interface IconButtonBaseProps extends ResponsiveSizeProps<Size$m>, ResponsiveMarginProps {
3136
+ /**
3137
+ * Кастомные цвета.
3138
+ *
3139
+ * @general
3140
+ * @default {} */
3141
+ palette?: {
3142
+ color?: Color;
3143
+ backgroundColor?: Color;
3144
+ colorHover?: Color;
3145
+ backgroundColorHover?: Color;
3146
+ colorActive?: Color;
3147
+ backgroundColorActive?: Color;
3148
+ colorDisabled?: Color;
3149
+ backgroundColorDisabled?: Color;
3150
+ };
3151
+ /**
3152
+ * Иконка для рендера.
3153
+ *
3154
+ * @general */
3155
+ icon: JSX.Element | IconName;
3156
+ /**
3157
+ * Пропсы для компонента иконки.
3158
+ *
3159
+ * @general
3160
+ * @default {} */
3161
+ iconProps?: IconProps;
3162
+ /**
3163
+ * Квадратная форма рутового элемента.
3164
+ *
3165
+ * @general
3166
+ * @default false */
3167
+ square?: boolean;
3168
+ /**
3169
+ * Вариант цветовой схемы.
3170
+ *
3171
+ * @general
3172
+ * @default true */
3173
+ primary?: boolean;
3174
+ /**
3175
+ * Вариант цветовой схемы.
3176
+ *
3177
+ * @general
3178
+ * @default false */
3179
+ secondary?: boolean;
3180
+ /**
3181
+ * Вариант цветовой схемы.
3182
+ *
3183
+ * @general
3184
+ * @default false */
3185
+ contrast?: boolean;
3186
+ /**
3187
+ * Размер.
3188
+ *
3189
+ * Использование кортежей включает применение размеров в зависимости от ширины вьюпорта.
3190
+ *
3191
+ * @general
3192
+ * @default 'm' */
3193
+ size?: Size$m | [DESKTOP: Size$m, TABLET: Size$m, MOBILE: Size$m] | [XL: Size$m, L: Size$m, M: Size$m, S: Size$m, XS: Size$m, XXS: Size$m];
3194
+ /**
3195
+ * Размер для XXS брейкпоинта.
3196
+ *
3197
+ * @default undefined */
3198
+ sizeXXS?: Size$m;
3199
+ /**
3200
+ * Размер для XS брейкпоинта.
3201
+ *
3202
+ * @default undefined */
3203
+ sizeXS?: Size$m;
3204
+ /**
3205
+ * Размер для S брейкпоинта.
3206
+ *
3207
+ * @default undefined */
3208
+ sizeS?: Size$m;
3209
+ /**
3210
+ * Размер для M брейкпоинта.
3211
+ *
3212
+ * @default undefined */
3213
+ sizeM?: Size$m;
3214
+ /**
3215
+ * Размер для L брейкпоинта.
3216
+ *
3217
+ * @default undefined */
3218
+ sizeL?: Size$m;
3219
+ /**
3220
+ * Размер для XL брейкпоинта.
3221
+ *
3222
+ * @default undefined */
3223
+ sizeXL?: Size$m;
3224
+ /**
3225
+ * Модификация размеров.
3226
+ *
3227
+ * @general
3228
+ * @default undefined */
3229
+ sizes?: Partial<Record<Size$m, React.CSSProperties>>;
3230
+ /**
3231
+ * Внешние отступы.
3232
+ *
3233
+ * Использование кортежей включает применение отступов в зависимости от ширины вьюпорта.
3234
+ *
3235
+ * @general
3236
+ * @default undefined */
3237
+ margin?: Margin$d | [DESKTOP: Margin$d, TABLET: Margin$d, MOBILE: Margin$d] | [XL: Margin$d, L: Margin$d, M: Margin$d, S: Margin$d, XS: Margin$d, XXS: Margin$d];
3238
+ /**
3239
+ * Отступ для XXS брейкпоинта.
3240
+ *
3241
+ * @default undefined */
3242
+ marginXXS?: Margin$d;
3243
+ /**
3244
+ * Отступ для XS брейкпоинта.
3245
+ *
3246
+ * @default undefined */
3247
+ marginXS?: Margin$d;
3248
+ /**
3249
+ * Отступ для S брейкпоинта.
3250
+ *
3251
+ * @default undefined */
3252
+ marginS?: Margin$d;
3253
+ /**
3254
+ * Отступ для M брейкпоинта.
3255
+ *
3256
+ * @default undefined */
3257
+ marginM?: Margin$d;
3258
+ /**
3259
+ * Отступ для L брейкпоинта.
3260
+ *
3261
+ * @default undefined */
3262
+ marginL?: Margin$d;
3263
+ /**
3264
+ * Отступ для XL брейкпоинта.
3265
+ *
3266
+ * @default undefined */
3267
+ marginXL?: Margin$d;
3268
+ }
3269
+ type IconButtonProps = IconButtonBaseProps & Omit<React.ComponentPropsWithRef<'button'>, keyof IconButtonBaseProps>;
3270
+
3271
+ /**
3272
+ *
3273
+ * Контрол многоцелевого назначения.
3274
+ *
3275
+ * Поддерживается "ref" и все нативные атрибуты \<button\> элемента.
3276
+ */
3277
+ declare const IconButton: React.ForwardRefExoticComponent<IconButtonProps>;
3278
+
3568
3279
  type Size$l = 'l' | 'm' | 's';
3569
3280
  interface TooltipComponentBaseProps extends ResponsiveSizeProps<Size$l> {
3570
3281
  /**
@@ -7619,17 +7330,9 @@ type ScrollLockParams = {
7619
7330
  };
7620
7331
  declare function useScrollLock(params: ScrollLockParams): void;
7621
7332
 
7622
- /**
7623
- *
7624
- * Хук для чтения статуса медиа матчеров.
7625
- *
7626
- * Булевые значения говорят о том совпадают ли характеристики вьюпорта с медиа кверями матчеров.
7627
- */
7628
- declare const useMediaMatchers: () => Partial<Record<MediaMatcherId, boolean>>;
7629
-
7630
7333
  declare const vAlign: (align: "top" | "middle" | "bottom" | "text-top" | "text-bottom" | "baseline") => styled_components.FlattenSimpleInterpolation;
7631
7334
 
7632
- declare function buildMediaQuery(value: number | Size$y | 'auto' | 'initial' | 'inherit' | boolean, property: string | ((_size: number | 'auto' | 'initial' | 'inherit' | boolean, _sizing?: null | string) => FlattenSimpleInterpolation | null), screenQueryFunction: typeof screenXs, sizing: null | string, sizes?: Record<Size$y, number>): ReturnType<typeof css>;
7335
+ declare function buildMediaQuery(value: number | Size$w | 'auto' | 'initial' | 'inherit' | boolean, property: string | ((_size: number | 'auto' | 'initial' | 'inherit' | boolean, _sizing?: null | string) => FlattenSimpleInterpolation | null), screenQueryFunction: typeof screenXs, sizing: null | string, sizes?: Record<Size$w, number>): ReturnType<typeof css>;
7633
7336
  declare const desktopFirst: (a: string, b: string) => number;
7634
7337
  declare const mobileFirst: (a: string, b: string) => number;
7635
7338
 
@@ -9059,7 +8762,7 @@ ResponsiveNamedProperty<'width', 'auto' | keyof typeof SizeInput | number> {
9059
8762
  additional?: {
9060
8763
  icon: JSX.Element | IconName;
9061
8764
  iconProps?: IconProps;
9062
- buttonProps?: Omit<React.ComponentPropsWithoutRef<'button'>, 'children'>;
8765
+ buttonProps?: React.ComponentPropsWithoutRef<'button'>;
9063
8766
  };
9064
8767
  number?: {
9065
8768
  icon?: [JSX.Element | IconName, JSX.Element | IconName];
@@ -10437,6 +10140,11 @@ interface MediaMatchersProps {
10437
10140
  */
10438
10141
  children: (matchers: Partial<Record<MediaMatcherId, boolean>>) => React.ReactElement | null;
10439
10142
  }
10143
+ type MediaMatchPayload = {
10144
+ matches: boolean;
10145
+ };
10146
+ type MediaBreakpoint = `${'min' | 'max'}${Breakpoint}`;
10147
+ type MediaMatcherId = MediaBreakpoint | Orientation;
10440
10148
 
10441
10149
  /**
10442
10150
  *
@@ -10446,4 +10154,44 @@ declare const Media: React.FC<MediaProps> & {
10446
10154
  Matchers: React.FC<MediaMatchersProps>;
10447
10155
  };
10448
10156
 
10449
- export { Accordion, type AccordionItemProps, type AccordionProps, ActionBtn, type ActionBtnProps, AddElement, type AddElementProps, Alert, type AlertProps, Amount, type AmountProps, Anchor, type AnchorProps, Arrow, ArrowBadge, type ArrowBadgeProps, type ArrowProps, AspectRatio, type AspectRatioProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BaseProps, type Breakpoint$1 as Breakpoint, Button, type ButtonProps, COUNTRY_DATA, type CSSBorderStyle, type CSSColor, type CSSFontWeight, type CSSGlobalValue, type CSSUnit, type CSSVerticalAlign, CURRENCY_MAP, Checkbox, type CheckboxProps, Chip, type ChipProps, type Color, type ColorName, type ColorPaletteKey, type ComponentElementType, Container, type ContainerProps, ContextMenu, type ContextMenuMultiLevelProps, type ContextMenuProps, CurrencyCodes, DEFAULT_MASK, Dialog, type DialogComponentProps, type DialogProps, type DividerProps, type DomTarget, Dropdown, type DropdownProps, FormLabel, type FormLabelProps, type HEX, INITIAL_MASK, Icon, IconButton, type IconButtonProps, type IconISOCode, type IconName, type IconProps, Indicator, type IndicatorProps, Input, type InputCheckboxProps, type InputMaskOptions, type InputMaskState, type InputPhoneProps, type InputProps, type InputRadioProps, type KeysOfUnion, ListItem, type ListItemProps, type MarginValue, Media, type MediaBreakpoint, type MediaMatcherId, MediaMediator, type MediaProps, MediaProvider, Menu, type MenuComponentProps, type MenuContainerProps, type MenuDividerProps, type MenuListProps, type MenuProps, Modal, type ModalProps, Notification, type NotificationProps, type Nullable, type Orientation, Paper, type PaperProps, type PlaygroundToolbar, type PolymorphicProps, type PolymorphicPropsWithRef, type PolymorphicRef, Popover, type PopoverComponentProps, type PopoverProps, Progress, ProgressCircle$1 as ProgressCircle, type ProgressCircleProps$1 as ProgressCircleProps, ProgressLine, type ProgressLineProps, type ProgressProps, type ProgressSegmentedProps, type RGB, type RGBA, Radio, type RadioProps, type ResponsiveLayoutInterpolationProps, type ResponsiveLayoutProps, type ResponsiveMarginProps$1 as ResponsiveMarginProps, type ResponsivePositionProps, type ResponsivePropKey, type ResponsiveProps, type ResponsiveSizeInterpolationProps, type ResponsiveSizeProps, withThemeScrollable as Scrollable, type ScrollableProps, Section, type SectionProps, Select, type SelectProps, type SemanticTheme, Separator, type SeparatorProps, type Size$y as Size, type SizeValue$1 as SizeValue, Skeleton, type SkeletonProps, Spacer, type SpacerProps, Spinner, type SpinnerProps, Switch, type SwitchProps, Switcher, type SwitcherProps, Tab, TabList, type TabListPanelProps, type TabListProps, type TabListTabProps, type TabProps, Tabs, type TabsProps, Tag, type TagProps, Text, type TextEllipseProps, type TextHeadingProps, type TextProps, Textarea, type TextareaProps, type Theme, type ThemeMode, type ThemeName, type ThemePreset, ThemeProvider, type ToolbarControl, Tooltip, type TooltipComponentProps, type TooltipProps, type WithMergedPropsOptions, type WithThemePreset, type WrappedComponentProps, adultDarkTheme, adultLightTheme, algoritmikaDayTheme, algoritmikaNightTheme, babyDarkTheme, babyLightTheme, baseInputStyle, buildMediaQuery, color, desktopFirst, examDayTheme, examNightTheme, foxfordDayTheme, foxfordNightTheme, getDarkHoverColor, getDarkStrongHoverColor, getLightHoverColor, getLightStrongHoverColor, hexToRgbA, isHex, mobileFirst, motherDarkTheme, motherLightTheme, property, responsiveNamedProperty, responsiveProperty, screenL, screenM, screenMaxL, screenMaxM, screenMaxS, screenMaxXl, screenMaxXs, screenMaxXxs, screenMinL, screenMinM, screenMinS, screenMinXl, screenMinXs, screenRetina, screenS, screenXl, screenXs, teenDarkTheme, teenLightTheme, defaultTheme as theme, useClickOutside, useMediaMatchers, useScrollLock, useScrollMonitor, vAlign };
10157
+ type Observer<T> = (payload: T) => unknown;
10158
+ type UnsubscribeObserverCallback = () => void;
10159
+ declare class Observable<T> {
10160
+ private observers;
10161
+ protected notify: (payload: T) => void;
10162
+ subscribe(observer: Observer<T>): UnsubscribeObserverCallback;
10163
+ unsubscribe: (observer: Observer<T>) => void;
10164
+ }
10165
+
10166
+ declare class MediaMatcher<T = string> extends Observable<MediaMatchPayload> {
10167
+ id: T;
10168
+ private mediaQueryList?;
10169
+ constructor(id: T, mediaQueryString: string);
10170
+ subscribe: (observer: Observer<MediaMatchPayload>) => UnsubscribeObserverCallback;
10171
+ }
10172
+
10173
+ declare class MediaMediator {
10174
+ breakpoint: Record<MediaBreakpoint, MediaMatcher<MediaMatcherId>>;
10175
+ orientation: Record<Orientation, MediaMatcher<MediaMatcherId>>;
10176
+ constructor(bps: Record<Lowercase<Breakpoint$1>, number>);
10177
+ get matchers(): MediaMatcher<MediaMatcherId>[];
10178
+ static query: {
10179
+ up: (...bps: number[]) => string;
10180
+ below: (...bps: number[]) => string;
10181
+ };
10182
+ static create(bps?: Partial<Record<Lowercase<Breakpoint$1>, number>>): MediaMediator;
10183
+ }
10184
+
10185
+ declare const MediaProvider: (props: React.PropsWithChildren<{
10186
+ value: MediaMediator;
10187
+ }>) => JSX.Element;
10188
+
10189
+ /**
10190
+ *
10191
+ * Хук для чтения статуса медиа матчеров.
10192
+ *
10193
+ * Булевые значения говорят о том совпадают ли характеристики вьюпорта с медиа кверями матчеров.
10194
+ */
10195
+ declare const useMediaMatchers: () => Partial<Record<MediaMatcherId, boolean>>;
10196
+
10197
+ export { Accordion, type AccordionItemProps, type AccordionProps, ActionBtn, type ActionBtnProps, AddElement, type AddElementProps, Alert, type AlertProps, Amount, type AmountProps, Anchor, type AnchorProps, Arrow, ArrowBadge, type ArrowBadgeProps, type ArrowProps, AspectRatio, type AspectRatioProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BaseProps, type Breakpoint$1 as Breakpoint, Button, type ButtonProps, COUNTRY_DATA, type CSSBorderStyle, type CSSColor, type CSSFontWeight, type CSSGlobalValue, type CSSUnit, type CSSVerticalAlign, CURRENCY_MAP, Checkbox, type CheckboxProps, Chip, type ChipProps, type Color, type ColorName, type ColorPaletteKey, type ComponentElementType, Container, type ContainerProps, ContextMenu, type ContextMenuMultiLevelProps, type ContextMenuProps, CurrencyCodes, DEFAULT_MASK, Dialog, type DialogComponentProps, type DialogProps, type DividerProps, type DomTarget, Dropdown, type DropdownProps, FormLabel, type FormLabelProps, type HEX, INITIAL_MASK, Icon, IconButton, type IconButtonProps, type IconISOCode, type IconName, type IconProps, Indicator, type IndicatorProps, Input, type InputCheckboxProps, type InputMaskOptions, type InputMaskState, type InputPhoneProps, type InputProps, type InputRadioProps, type KeysOfUnion, ListItem, type ListItemProps, Media, MediaMediator, type MediaProps, MediaProvider, Menu, type MenuComponentProps, type MenuContainerProps, type MenuDividerProps, type MenuListProps, type MenuProps, Modal, type ModalProps, Notification, type NotificationProps, type Nullable, type Orientation, Paper, type PaperProps, type PlaygroundToolbar, type PolymorphicProps, type PolymorphicPropsWithRef, type PolymorphicRef, Popover, type PopoverComponentProps, type PopoverProps, Progress, ProgressCircle$1 as ProgressCircle, type ProgressCircleProps$1 as ProgressCircleProps, ProgressLine, type ProgressLineProps, type ProgressProps, type ProgressSegmentedProps, type RGB, type RGBA, Radio, type RadioProps, type ResponsiveLayoutInterpolationProps, type ResponsiveLayoutProps, type ResponsivePositionProps, type ResponsivePropKey, type ResponsiveProps, type ResponsiveSizeInterpolationProps, type ResponsiveSizeProps, withThemeScrollable as Scrollable, type ScrollableProps, Section, type SectionProps, Select, type SelectProps, type SemanticTheme, Separator, type SeparatorProps, type Size$w as Size, type SizeValue$1 as SizeValue, Skeleton, type SkeletonProps, Spacer, type SpacerProps, Spinner, type SpinnerProps, Switch, type SwitchProps, Switcher, type SwitcherProps, Tab, TabList, type TabListPanelProps, type TabListProps, type TabListTabProps, type TabProps, Tabs, type TabsProps, Tag, type TagProps, Text, type TextEllipseProps, type TextHeadingProps, type TextProps, Textarea, type TextareaProps, type Theme, type ThemeMode, type ThemeName, type ThemePreset, ThemeProvider, type ToolbarControl, Tooltip, type TooltipComponentProps, type TooltipProps, type WithMergedPropsOptions, type WithThemePreset, type WrappedComponentProps, adultDarkTheme, adultLightTheme, algoritmikaDayTheme, algoritmikaNightTheme, babyDarkTheme, babyLightTheme, baseInputStyle, buildMediaQuery, color, desktopFirst, examDayTheme, examNightTheme, foxfordDayTheme, foxfordNightTheme, getDarkHoverColor, getDarkStrongHoverColor, getLightHoverColor, getLightStrongHoverColor, hexToRgbA, isHex, mobileFirst, motherDarkTheme, motherLightTheme, property, responsiveNamedProperty, responsiveProperty, screenL, screenM, screenMaxL, screenMaxM, screenMaxS, screenMaxXl, screenMaxXs, screenMaxXxs, screenMinL, screenMinM, screenMinS, screenMinXl, screenMinXs, screenRetina, screenS, screenXl, screenXs, teenDarkTheme, teenLightTheme, defaultTheme as theme, useClickOutside, useMediaMatchers, useScrollLock, useScrollMonitor, vAlign };