@foxford/ui 2.70.0 → 2.71.0-beta-d470e06-20250327

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 (48) hide show
  1. package/components/AspectRatio/AspectRatio.js +2 -0
  2. package/components/AspectRatio/AspectRatio.js.map +1 -0
  3. package/components/AspectRatio/AspectRatio.mjs +2 -0
  4. package/components/AspectRatio/AspectRatio.mjs.map +1 -0
  5. package/components/AspectRatio/style.js +2 -0
  6. package/components/AspectRatio/style.js.map +1 -0
  7. package/components/AspectRatio/style.mjs +2 -0
  8. package/components/AspectRatio/style.mjs.map +1 -0
  9. package/components/AspectRatio/utils.js +2 -0
  10. package/components/AspectRatio/utils.js.map +1 -0
  11. package/components/AspectRatio/utils.mjs +2 -0
  12. package/components/AspectRatio/utils.mjs.map +1 -0
  13. package/components/Popover/Popover.js +1 -1
  14. package/components/Popover/Popover.js.map +1 -1
  15. package/components/Popover/Popover.mjs +1 -1
  16. package/components/Popover/Popover.mjs.map +1 -1
  17. package/components/Popover/sizes.js +2 -0
  18. package/components/Popover/sizes.js.map +1 -0
  19. package/components/Popover/sizes.mjs +2 -0
  20. package/components/Popover/sizes.mjs.map +1 -0
  21. package/components/PopoverComponent/PopoverComponent.js +1 -1
  22. package/components/PopoverComponent/PopoverComponent.js.map +1 -1
  23. package/components/PopoverComponent/PopoverComponent.mjs +1 -1
  24. package/components/PopoverComponent/PopoverComponent.mjs.map +1 -1
  25. package/components/PopoverComponent/layouts.js +2 -0
  26. package/components/PopoverComponent/layouts.js.map +1 -0
  27. package/components/PopoverComponent/layouts.mjs +2 -0
  28. package/components/PopoverComponent/layouts.mjs.map +1 -0
  29. package/components/PopoverComponent/sizes.js +2 -0
  30. package/components/PopoverComponent/sizes.js.map +1 -0
  31. package/components/PopoverComponent/sizes.mjs +2 -0
  32. package/components/PopoverComponent/sizes.mjs.map +1 -0
  33. package/components/PopoverComponent/style.js +1 -1
  34. package/components/PopoverComponent/style.js.map +1 -1
  35. package/components/PopoverComponent/style.mjs +1 -1
  36. package/components/PopoverComponent/style.mjs.map +1 -1
  37. package/dts/index.d.ts +416 -236
  38. package/index.js +1 -1
  39. package/index.mjs +1 -1
  40. package/mixins/responsive-layout.js +2 -0
  41. package/mixins/responsive-layout.js.map +1 -0
  42. package/mixins/responsive-layout.mjs +2 -0
  43. package/mixins/responsive-layout.mjs.map +1 -0
  44. package/package.json +2 -1
  45. package/components/PopoverComponent/constants.js +0 -2
  46. package/components/PopoverComponent/constants.js.map +0 -1
  47. package/components/PopoverComponent/constants.mjs +0 -2
  48. package/components/PopoverComponent/constants.mjs.map +0 -1
package/dts/index.d.ts CHANGED
@@ -884,15 +884,15 @@ declare type CSSColor = RGB | RGBA | HEX | CSSGlobalValue | 'currentcolor' | 'tr
884
884
  declare type CSSBorderStyle = CSSGlobalValue | 'none' | 'hidden' | 'dotted' | 'dashed' | 'solid' | 'double' | 'groove' | 'ridge' | 'inset' | 'outset';
885
885
  declare type CSSVerticalAlign = CSSGlobalValue | 'baseline' | 'sub' | 'super' | 'text-top' | 'text-bottom' | 'middle' | 'top' | 'bottom';
886
886
  declare type CSSFontWeight = CSSGlobalValue | 'normal' | 'bold' | 'lighter' | 'bolder' | number;
887
- declare type Size = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
888
- declare type SizeValue = Size | CSSGlobalValue | number;
887
+ declare type Size$2 = 'xxxl' | 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs' | 'xxxs';
888
+ declare type SizeValue = Size$2 | CSSGlobalValue | number;
889
889
  declare type Breakpoint = 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL';
890
890
  declare type Color = keyof typeof ColorNames | CSSColor;
891
891
  declare type ColorPaletteKey = 'color' | `color${string}` | `${string}Color` | `${string}Color${string}`;
892
892
  declare type ThemePreset = 'default' | 'brand';
893
893
  declare type ThemeMode = 'light' | 'dark';
894
894
  declare type ThemeName = 'mother' | 'baby' | 'teen' | 'adult';
895
- declare type ResponsivePropKey = 'size' | keyof CSSProperties;
895
+ declare type ResponsivePropKey = 'size' | 'layout' | keyof CSSProperties;
896
896
  declare type KeysOfUnion<T> = T extends T ? keyof T : never;
897
897
  declare type WithThemePreset<T> = T & {
898
898
  preset: ThemePreset;
@@ -929,6 +929,10 @@ declare type ResponsiveSizeProps<S extends string, V = S> = ResponsiveProps<'siz
929
929
  declare type ResponsivePositionProps<T extends string> = ResponsiveProps<'position', T> & {
930
930
  positions?: Partial<Record<T, CSSProperties>>;
931
931
  };
932
+ declare type ResponsiveLayoutProps<T extends string> = ResponsiveProps<'layout', T>;
933
+ declare type ResponsiveLayoutInterpolationProps<T extends string = string> = ResponsiveLayoutProps<T> & {
934
+ layouts: Record<T, CSSProperties>;
935
+ };
932
936
  declare type ResponsiveSizeInterpolationProps<S extends string, V, P extends ResponsiveSizeProps<S, V>> = Omit<P, 'size' | 'sizes'> & {
933
937
  size: NonNullable<P['size']>;
934
938
  sizes: Record<KeysOfUnion<P['sizes']>, CSSProperties>;
@@ -981,7 +985,7 @@ declare const adultDarkTheme: DefaultTheme;
981
985
  /**
982
986
  * Value for breakpoint
983
987
  */
984
- declare type PossibleValues = number | Size | 'auto' | 'initial' | 'inherit' | boolean;
988
+ declare type PossibleValues = number | Size$2 | 'auto' | 'initial' | 'inherit' | boolean;
985
989
  declare type PropsProperties = 'size' | 'fontSize' | 'height' | 'width' | 'top' | 'right' | 'bottom' | 'left' | 'padding' | 'paddingTop' | 'paddingRight' | 'paddingBottom' | 'paddingLeft' | 'margin' | 'marginTop' | 'marginRight' | 'marginBottom' | 'marginLeft' | 'fluid';
986
990
  declare type CalcProperty = (_size: number | 'auto' | 'initial' | 'inherit' | boolean, _sizing?: null | string) => FlattenSimpleInterpolation | null;
987
991
  declare type CssProperty = string | CalcProperty;
@@ -989,15 +993,15 @@ declare type ResponsiveKeys = '' | 'XXS' | 'XS' | 'S' | 'M' | 'L' | 'XL';
989
993
  declare type ResponsiveNamedProperty<T extends PropsProperties, V extends PossibleValues = PossibleValues> = {
990
994
  [key in `${T}${ResponsiveKeys}`]?: V;
991
995
  };
992
- declare type ResponsiveProperty<V = number | Size> = V | [desktop: V, tablet: V, mobile: V] | [xl: V, l: V, m: V, s: V, xs: V, xxs: V];
993
- declare const property: (value: PossibleValues, cssProperty?: CssProperty, sizing?: null | string, sizes?: Record<Size, number>) => () => () => FlattenSimpleInterpolation | null;
996
+ declare type ResponsiveProperty<V = number | Size$2> = V | [desktop: V, tablet: V, mobile: V] | [xl: V, l: V, m: V, s: V, xs: V, xxs: V];
997
+ declare const property: (value: PossibleValues, cssProperty?: CssProperty, sizing?: null | string, sizes?: Record<Size$2, number>) => () => () => FlattenSimpleInterpolation | null;
994
998
  interface ResponsiveNamedPropertyPayload<T extends PropsProperties> {
995
999
  sizes: ResponsiveNamedProperty<T>;
996
1000
  cssProperty: CssProperty;
997
1001
  sizing?: null | string;
998
1002
  customSizeHandler?: (_value: PossibleValues) => PossibleValues;
999
1003
  sort?: (_a: string, _b: string) => number;
1000
- predefinedSizes?: Record<Size, number>;
1004
+ predefinedSizes?: Record<Size$2, number>;
1001
1005
  }
1002
1006
  /**
1003
1007
  * Миксин для генерации media запросов
@@ -1107,7 +1111,7 @@ interface ExpandButtonProps extends React.ComponentPropsWithoutRef<'button'> {
1107
1111
  /** Кастомные цвета */
1108
1112
  palette?: Partial<Record<keyof ExpandButtonPalette, Color>>;
1109
1113
  }
1110
- interface TextProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarginProps,
1114
+ interface TextProps extends ResponsiveSizeProps<Size$2, SizeValue>, ResponsiveMarginProps,
1111
1115
  /** @deprecated */
1112
1116
  DisplayProperty, ColorProperty, Omit<React.HTMLAttributes<HTMLElement>, 'color'>, Omit<React.BlockquoteHTMLAttributes<HTMLElement>, 'color'>, Omit<React.LabelHTMLAttributes<HTMLElement>, 'color'> {
1113
1117
  /** Применение присета стилей и размеров */
@@ -1184,7 +1188,7 @@ declare const Text: React.ForwardRefExoticComponent<TextProps> & {
1184
1188
  declare type IconPackIconName = Uncapitalize<keyof typeof IconPack>;
1185
1189
  declare type IconNameDefault = 'book' | 'blackBoard' | 'burger' | 'eye' | 'email' | 'sort' | 'unsort' | 'person' | 'diamond' | 'diamondFilled' | 'diamondSolid' | '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';
1186
1190
  declare type IconName = IconPackIconName | IconNameDefault;
1187
- interface IconProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'span'>, 'children'> {
1191
+ interface IconProps extends ResponsiveSizeProps<Size$2, SizeValue>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'span'>, 'children'> {
1188
1192
  /** UI: brand (v3), or default (v2) */
1189
1193
  preset?: ThemePreset;
1190
1194
  /** Icon color */
@@ -1288,7 +1292,7 @@ declare type AnchorPalette = {
1288
1292
  colorHover: CSSColor;
1289
1293
  colorDisabled: CSSColor;
1290
1294
  };
1291
- interface AnchorProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'a'>, 'color' | 'children'>,
1295
+ interface AnchorProps extends ResponsiveSizeProps<Size$2, SizeValue>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'a'>, 'color' | 'children'>,
1292
1296
  /** @deprecated Use palette */
1293
1297
  ColorProperty<'color'>,
1294
1298
  /** @deprecated Use children as function */
@@ -1362,7 +1366,7 @@ declare type ButtonPalette = {
1362
1366
  borderColorDisabled: CSSColor;
1363
1367
  shadowColor: CSSColor;
1364
1368
  };
1365
- interface ButtonProps extends ResponsiveSizeProps<Size, SizeValue>, ColorProperty, ColorProperty<'fontColor'>, ResponsiveNamedProperty<'margin'>, ResponsiveNamedProperty<'marginTop'>, ResponsiveNamedProperty<'marginRight'>, ResponsiveNamedProperty<'marginBottom'>, ResponsiveNamedProperty<'marginLeft'>, ResponsiveNamedProperty<'fluid', boolean>, ResponsiveNamedProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>, Omit<React.ComponentPropsWithRef<'button'>, 'color' | 'children'>,
1369
+ interface ButtonProps extends ResponsiveSizeProps<Size$2, SizeValue>, ColorProperty, ColorProperty<'fontColor'>, ResponsiveNamedProperty<'margin'>, ResponsiveNamedProperty<'marginTop'>, ResponsiveNamedProperty<'marginRight'>, ResponsiveNamedProperty<'marginBottom'>, ResponsiveNamedProperty<'marginLeft'>, ResponsiveNamedProperty<'fluid', boolean>, ResponsiveNamedProperty<'width', 'auto' | 'l' | 'm' | 's' | 'xs' | number>, Omit<React.ComponentPropsWithRef<'button'>, 'color' | 'children'>,
1366
1370
  /** @deprecated Use children as function or inline prop */
1367
1371
  DisplayProperty,
1368
1372
  /** @deprecated */
@@ -1577,7 +1581,7 @@ declare type ArrowPalette = {
1577
1581
  borderColorDisabled: CSSColor;
1578
1582
  shadowColor: CSSColor;
1579
1583
  };
1580
- interface ArrowProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'button'>, 'children'> {
1584
+ interface ArrowProps extends ResponsiveSizeProps<Size$2, SizeValue>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'button'>, 'children'> {
1581
1585
  /**
1582
1586
  * UI: v3 (brand), or v2 (default)
1583
1587
  * @default "default" */
@@ -1867,7 +1871,7 @@ declare type ArrowBadgePalette = {
1867
1871
  color: CSSColor;
1868
1872
  backgroundColor: CSSColor;
1869
1873
  };
1870
- interface ArrowBadgeProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarginProps,
1874
+ interface ArrowBadgeProps extends ResponsiveSizeProps<Size$2, SizeValue>, ResponsiveMarginProps,
1871
1875
  /** @deprecated Use palette */
1872
1876
  ColorProperty<'color'>,
1873
1877
  /** @deprecated Use palette */
@@ -1920,7 +1924,7 @@ declare type TabPalette = {
1920
1924
  backgroundColorDisabled: CSSColor;
1921
1925
  borderColorDisabled: CSSColor;
1922
1926
  };
1923
- interface TabProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarginProps,
1927
+ interface TabProps extends ResponsiveSizeProps<Size$2, SizeValue>, ResponsiveMarginProps,
1924
1928
  /** @deprecated Use palette */
1925
1929
  ColorProperty<'color'>,
1926
1930
  /** @deprecated Use palette */
@@ -1978,7 +1982,7 @@ declare type BadgePalette = {
1978
1982
  color: CSSColor;
1979
1983
  backgroundColor: CSSColor;
1980
1984
  };
1981
- interface BadgeProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarginProps,
1985
+ interface BadgeProps extends ResponsiveSizeProps<Size$2, SizeValue>, ResponsiveMarginProps,
1982
1986
  /** @deprecated Use palette */
1983
1987
  ColorProperty,
1984
1988
  /** @deprecated Use children as function */
@@ -2031,52 +2035,6 @@ DisplayProperty, Omit<React.ComponentPropsWithRef<'div'>, 'color' | 'children'>
2031
2035
  */
2032
2036
  declare const Badge: React.ForwardRefExoticComponent<BadgeProps>;
2033
2037
 
2034
- declare type SkeletonPalette = {
2035
- color: CSSColor;
2036
- gradientColor: CSSColor;
2037
- gradientHighlightColor: CSSColor;
2038
- };
2039
- interface SkeletonProps extends ResponsiveMarginProps, React.ComponentPropsWithRef<'div'> {
2040
- /** Element to infer sizing */
2041
- children?: React.ReactNode;
2042
- /** Custom colors */
2043
- palette?: Partial<Record<keyof SkeletonPalette, Color>>;
2044
- /** Display 'inline-block' */
2045
- inline?: boolean;
2046
- /** Root border-radius: 50% */
2047
- round?: boolean;
2048
- /** Root border-radius */
2049
- borderRadius?: string | number;
2050
- /** Root width */
2051
- width?: string | number;
2052
- /** Root height */
2053
- height?: string | number;
2054
- /** Value (ms) to control animation speed */
2055
- animationDuration?: number;
2056
- /** Delay to animation start (ms) to avoid flicker at fast connection */
2057
- animationDelay?: number;
2058
- /** Appearance variant */
2059
- primary?: boolean;
2060
- /** Appearance variant */
2061
- secondary?: boolean;
2062
- /** Appearance variant */
2063
- onColored?: boolean;
2064
- /** Root node type */
2065
- as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span';
2066
- }
2067
-
2068
- /**
2069
- *
2070
- * Component accepts all \<div\> attributes.
2071
- *
2072
- * Responsive "margin" props are supported.
2073
- *
2074
- * Exposed "ref" attached to root node.
2075
- *
2076
- * See full [SkeletonProps](https://github.com/foxford/ui/blob/master/src/components/Skeleton/types.ts)
2077
- */
2078
- declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps>;
2079
-
2080
2038
  declare type IconButtonSize = 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs' | 'xxs';
2081
2039
  declare type IconButtonPalette = {
2082
2040
  color: CSSColor;
@@ -2360,289 +2318,431 @@ declare const Tooltip: React.ForwardRefExoticComponent<TooltipProps> & {
2360
2318
  Component: typeof TooltipComponent;
2361
2319
  };
2362
2320
 
2363
- declare type PopoverComponentSize = 'xl' | 'l' | 'm' | 's' | 'xs';
2321
+ declare type Size$1 = 'xl' | 'l' | 'm' | 's' | 'xs';
2322
+ declare type Layout$1 = 'vertical' | 'horizontal';
2364
2323
  declare type PopoverComponentPalette = {
2365
2324
  color: CSSColor;
2366
2325
  backgroundColor: CSSColor;
2367
- mediaPlaceholderColor: CSSColor;
2368
2326
  shadowColor: CSSColor;
2369
2327
  };
2370
- interface PopoverComponentProps extends ResponsiveSizeProps<PopoverComponentSize>, Omit<React.ComponentPropsWithRef<'div'>, 'children' | 'title'> {
2328
+ interface PopoverComponentBaseProps extends ResponsiveSizeProps<Size$1>, ResponsiveLayoutProps<Layout$1> {
2371
2329
  /**
2372
2330
  * Кастомные цвета.
2331
+ *
2373
2332
  * @default undefined */
2374
2333
  palette?: Partial<Record<keyof PopoverComponentPalette, Color>>;
2375
- /**
2376
- * Ориентация контента.
2377
- * @default 'portrait' */
2378
- orientation?: 'portrait' | 'landscape';
2379
2334
  /**
2380
2335
  * Использование скелетонов вместо реального контента.
2336
+ *
2381
2337
  * @default false */
2382
2338
  loading?: boolean;
2383
2339
  /**
2384
- * Пропсы для бейджа в верхнем сегменте.
2385
- * @default {} */
2386
- badge?: {
2387
- text?: React.ReactNode;
2388
- badgeProps?: Partial<BadgeProps>;
2389
- };
2390
- /**
2391
- * Tекст над заголовком.
2340
+ * Бейдж в хедере.
2341
+ *
2342
+ * Если передана строка или число используется встроенный бейдж.
2343
+ *
2392
2344
  * @default undefined */
2393
- caption?: React.ReactNode;
2345
+ badge?: React.ReactNode | ((badgeProps: Partial<BadgeProps>) => React.ReactNode);
2394
2346
  /**
2395
- * Пропсы типографики для текста над заголовком.
2396
- * @default {} */
2397
- captionProps?: Partial<TextProps>;
2347
+ * Tекст в хедере.
2348
+ *
2349
+ * Если передана строка или число используется встроенная типографика.
2350
+ *
2351
+ * @default undefined */
2352
+ caption?: React.ReactNode | ((captionProps: Partial<TextProps>) => React.ReactNode);
2398
2353
  /**
2399
- * Tекст заголовка.
2354
+ * Кастомный хедер.
2355
+ *
2400
2356
  * @default undefined */
2401
- title?: React.ReactNode;
2357
+ header?: React.ReactNode;
2402
2358
  /**
2403
- * Пропсы типографики для текста заголовка.
2404
- * @default {} */
2405
- titleProps?: Partial<TextProps>;
2359
+ * Заголовок.
2360
+ *
2361
+ * Если передана строка или число используется встроенная типографика.
2362
+ * @default undefined */
2363
+ title?: React.ReactNode | ((titleProps: Partial<TextProps>) => React.ReactNode);
2406
2364
  /**
2407
2365
  * Основной текст.
2366
+ *
2367
+ * Если передана строка или число используется встроенная типографика.
2368
+ *
2408
2369
  * @default undefined */
2409
- content?: React.ReactNode;
2370
+ content?: React.ReactNode | ((contentProps: Partial<TextProps>) => React.ReactNode);
2410
2371
  /**
2411
- * Пропсы типографики для основного текста.
2412
- * @default {} */
2413
- contentProps?: Partial<TextProps>;
2372
+ * Кастомный блок с основным контентом.
2373
+ *
2374
+ * @default undefined */
2375
+ body?: React.ReactNode;
2414
2376
  /**
2415
- * Рендер кнопки закрытия.
2416
- * @default false */
2417
- showCloseButton?: boolean;
2377
+ * Кастомный футер.
2378
+ *
2379
+ * @default undefined */
2380
+ footer?: React.ReactNode;
2418
2381
  /**
2419
- * Пропсы для кнопки закрытия.
2420
- * @default {} */
2421
- closeButtonProps?: Partial<IconButtonProps>;
2382
+ * Кнопка закрытия.
2383
+ *
2384
+ * @default undefined */
2385
+ closeButton?: React.ReactNode | ((iconButtonProps: Partial<IconButtonProps>) => React.ReactNode);
2422
2386
  /**
2423
- * Пропсы для медиа элементов.
2424
- * @default {} */
2425
- media?: {
2426
- imgProps?: React.ComponentPropsWithoutRef<'img'>;
2427
- videoProps?: React.ComponentPropsWithoutRef<'video'>;
2428
- };
2387
+ * Кастомный блок с медиа.
2388
+ *
2389
+ * @default undefined */
2390
+ media?: React.ReactNode;
2429
2391
  /**
2430
- * Функция для рендера нижнего сегмента поповера, аргументом получает пропсы размеров.
2392
+ * Картинка для вертикального шаблона лейаута.
2393
+ *
2394
+ * Ожидаемое соотношение сторон 16:9.
2395
+ *
2431
2396
  * @default undefined */
2432
- footer?: (sizeProps: Pick<PopoverComponentProps, 'size' | 'sizeXXS' | 'sizeXS' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXL'>) => React.ReactNode;
2397
+ imgSrcVertical?: string;
2433
2398
  /**
2434
- * Внешний вид с тенью.
2399
+ * Картинка для горизонтального шаблона лейаута.
2400
+ *
2401
+ * Ожидаемое соотношение сторон 1:1.
2402
+ *
2403
+ * @default undefined */
2404
+ imgSrcHorizontal?: string;
2405
+ /**
2406
+ * Использовать тень для рутового элемента.
2407
+ *
2435
2408
  * @default false */
2436
2409
  elevated?: boolean;
2437
- /** @ignore */
2410
+ /**
2411
+ * Кастомный рутовый блок.
2412
+ *
2413
+ * Использование компонента только как контейнера.
2414
+ *
2415
+ * @default undefined */
2416
+ root?: React.ReactNode | ((rootProps: {
2417
+ badgeProps: Partial<BadgeProps>;
2418
+ captionProps: Partial<TextProps>;
2419
+ titleProps: Partial<TextProps>;
2420
+ contentProps: Partial<TextProps>;
2421
+ closeButtonProps: Partial<IconButtonProps>;
2422
+ }) => React.ReactNode);
2423
+ /**
2424
+ * Внутренний колбек react-floater.
2425
+ *
2426
+ * @ignore */
2438
2427
  closeFn?: () => void;
2439
- /** @ignore @deprecated */
2440
- controlsDirection?: 'row' | 'column';
2441
- /** @ignore @deprecated */
2442
- controls?: {
2443
- secondary?: {
2444
- text?: React.ReactNode;
2445
- buttonProps?: Partial<ButtonProps>;
2446
- };
2447
- primary?: {
2448
- text?: React.ReactNode;
2449
- buttonProps?: Partial<ButtonProps>;
2450
- };
2451
- };
2452
2428
  }
2429
+ declare type PopoverComponentProps = PopoverComponentBaseProps & Omit<React.ComponentPropsWithRef<'div'>, keyof PopoverComponentBaseProps>;
2453
2430
 
2454
- /**
2455
- *
2456
- * Компонент поддерживает все атрибуты \<div\> элемента.
2457
- *
2458
- * Можно передать "ref", который будет ассоциирован с рутовым элементом.
2459
- *
2460
- * Поддерживаются пропсы определения размеров в зависимости от ширины вьюпорта.
2461
- *
2462
- * Полный интерфейс `PopoverComponent` можно посмотреть [тут](https://github.com/foxford/ui/blob/master/src/components/PopoverComponent/types.ts).
2463
- */
2464
2431
  declare const PopoverComponent: React.ForwardRefExoticComponent<PopoverComponentProps>;
2465
2432
 
2466
- interface PopoverProps extends ResponsiveSizeProps<PopoverComponentSize>, React.RefAttributes<HTMLDivElement> {
2433
+ declare type Size = 's' | 'xl' | 'l' | 'm' | 'xs';
2434
+ declare type Layout = 'vertical' | 'horizontal';
2435
+ interface PopoverBaseProps extends ResponsiveSizeProps<Size>, ResponsiveLayoutProps<Layout> {
2467
2436
  /**
2468
2437
  * Кастомные цвета.
2438
+ *
2439
+ * @general
2469
2440
  * @default undefined */
2470
- palette?: Partial<Record<keyof PopoverComponentPalette, Color>>;
2441
+ palette?: {
2442
+ color?: Color;
2443
+ backgroundColor?: Color;
2444
+ shadowColor?: Color;
2445
+ };
2471
2446
  /**
2472
2447
  * Открывать автоматически.
2448
+ *
2449
+ * @floating
2473
2450
  * @default false */
2474
- autoOpen?: boolean;
2451
+ autoOpen?: Props['autoOpen'];
2475
2452
  /**
2476
2453
  * Колбек, который будет вызван при открытии или закрытии.
2454
+ *
2455
+ * @floating
2477
2456
  * @default undefined */
2478
- callback?: (action: 'open' | 'close', props: Props) => void;
2457
+ callback?: Props['callback'];
2479
2458
  /**
2480
2459
  * Закрывать поповер при клике за пределами рутового элемента.
2481
2460
  *
2482
- * Работает только если не используется проп `open`.
2461
+ * Работает только если не используется open.
2462
+ *
2463
+ * @floating
2483
2464
  * @default false */
2484
2465
  closeOnClickOutside?: boolean;
2485
2466
  /**
2486
- * Закрывать поповер при скролле `document`.
2467
+ * Закрывать поповер при скролле document.
2487
2468
  *
2488
- * Работает только если не используется проп `open`.
2469
+ * Работает только если не используется open.
2470
+ *
2471
+ * @floating
2489
2472
  * @default false */
2490
2473
  closeOnScroll?: boolean;
2491
2474
  /**
2492
- * Триггер открытия, а также якорь поповера (если не используется проп `target`).
2475
+ * Триггер открытия, а также якорь поповера (если не используется target).
2476
+ *
2477
+ * @floating
2493
2478
  * @default undefined */
2494
- children?: React.ReactNode;
2479
+ trigger?: Props['children'];
2495
2480
  /**
2496
2481
  * Отключить авто изменение положения поповера при скролле или ресайзе.
2482
+ *
2483
+ * @floating
2497
2484
  * @default false */
2498
- disableFlip?: boolean;
2485
+ disableFlip?: Props['disableFlip'];
2499
2486
  /**
2500
- * Отключить использование `event='click'` вместо `event='hover'` для мобильных браузеров.
2487
+ * Отключить использование event='click' вместо event='hover' для мобильных браузеров.
2501
2488
  *
2502
- * Работает только если не используется проп `open`.
2489
+ * Работает только если не используется проп open.
2490
+ *
2491
+ * @floating
2503
2492
  * @default false */
2504
- disableHoverToClick?: boolean;
2493
+ disableHoverToClick?: Props['disableHoverToClick'];
2505
2494
  /**
2506
2495
  * Событие для открытия поповера.
2507
2496
  *
2508
- * Работает только если не используется проп `open`.
2497
+ * Работает только если не используется проп open.
2498
+ *
2499
+ * @floating
2509
2500
  * @default 'click' */
2510
- event?: 'click' | 'hover';
2501
+ event?: Props['event'];
2511
2502
  /**
2512
- * Отложенное закрытие если используется `event='hover'` (сек).
2503
+ * Отложенное закрытие если используется event='hover' (сек).
2513
2504
  *
2514
- * Работает только если не используется проп `open`.
2505
+ * Работает только если не используется проп open.
2506
+ *
2507
+ * @floating
2515
2508
  * @default 0.4 */
2516
- eventDelay?: number;
2509
+ eventDelay?: Props['eventDelay'];
2517
2510
  /**
2518
2511
  * Не использовать стрелку.
2512
+ *
2513
+ * @floating
2519
2514
  * @default false */
2520
- hideArrow?: boolean;
2515
+ hideArrow?: Props['hideArrow'];
2521
2516
  /**
2522
2517
  * Отступ между поповером и якорем (px).
2518
+ *
2519
+ * @floating
2523
2520
  * @default 8 */
2524
- offset?: number;
2521
+ offset?: Props['offset'];
2525
2522
  /**
2526
2523
  * Поповер открыт или закрыт.
2527
2524
  *
2528
- * Использование включает controlled режим.
2525
+ * Использование включает контролируемый режим, в котором отдельные пропсы не имеют эффекта.
2526
+ *
2527
+ * @floating
2529
2528
  * @default undefined */
2530
- open?: boolean;
2529
+ open?: Props['open'];
2531
2530
  /**
2532
- * Положение поповера.
2531
+ * Позиция поповера.
2532
+ *
2533
+ * @floating
2533
2534
  * @default 'bottom' */
2534
- placement?: Placement;
2535
+ position?: Props['placement'];
2535
2536
  /**
2536
- * Элемент или CSS селектор элемента для использования в качестве портала.
2537
+ * Элемент или CSS селектор элемента для портала.
2538
+ *
2539
+ * @floating
2537
2540
  * @default undefined */
2538
2541
  portalElement?: Props['portalElement'];
2539
2542
  /**
2540
- * Рендер кнопки закрытия.
2541
- * @default false */
2542
- showCloseButton?: boolean;
2543
- /**
2544
- * Пропсы для кнопки закрытия.
2545
- * @default {} */
2546
- closeButtonProps?: Partial<IconButtonProps>;
2547
- /**
2548
- * Элемент или CSS селектор элемента для использования в качестве якоря.
2543
+ * Элемент или CSS селектор элемента для якоря.
2544
+ *
2545
+ * @floating
2549
2546
  * @default undefined */
2550
2547
  target?: Props['target'];
2551
- /**
2552
- * Ориентация контента.
2553
- * @default 'portrait' */
2554
- orientation?: 'portrait' | 'landscape';
2555
2548
  /**
2556
2549
  * Использование скелетонов вместо реального контента.
2550
+ *
2551
+ * @general
2557
2552
  * @default false */
2558
2553
  loading?: boolean;
2559
2554
  /**
2560
- * Пропсы для бейджа в верхнем сегменте.
2561
- * @default {} */
2562
- badge?: {
2563
- text?: React.ReactNode;
2564
- badgeProps?: Partial<BadgeProps>;
2565
- };
2566
- /**
2567
- * Tекст над заголовком.
2555
+ * Бейдж в хедере.
2556
+ *
2557
+ * Если передана строка или число используется встроенный бейдж.
2558
+ *
2559
+ * @slot
2568
2560
  * @default undefined */
2569
- caption?: React.ReactNode;
2561
+ badge?: React.ReactNode | ((badgeProps: Partial<BadgeProps>) => React.ReactNode);
2570
2562
  /**
2571
- * Пропсы типографики для текста над заголовком.
2572
- * @default {} */
2573
- captionProps?: Partial<TextProps>;
2563
+ * Tекст в хедере.
2564
+ *
2565
+ * Если передана строка или число используется встроенная типографика.
2566
+ *
2567
+ * @slot
2568
+ * @default undefined */
2569
+ caption?: React.ReactNode | ((captionProps: Partial<TextProps>) => React.ReactNode);
2574
2570
  /**
2575
- * Tекст заголовка.
2571
+ * Кастомный хедер.
2572
+ *
2573
+ * @slot
2576
2574
  * @default undefined */
2577
- title?: React.ReactNode;
2575
+ header?: React.ReactNode;
2578
2576
  /**
2579
- * Пропсы типографики для текста заголовка.
2580
- * @default {} */
2581
- titleProps?: Partial<TextProps>;
2577
+ * Заголовок.
2578
+ *
2579
+ * Если передана строка или число используется встроенная типографика.
2580
+ *
2581
+ * @slot
2582
+ * @default undefined */
2583
+ title?: React.ReactNode | ((titleProps: Partial<TextProps>) => React.ReactNode);
2582
2584
  /**
2583
2585
  * Основной текст.
2586
+ *
2587
+ * Если передана строка или число используется встроенная типографика.
2588
+ *
2589
+ * @slot
2584
2590
  * @default undefined */
2585
- content?: React.ReactNode;
2591
+ content?: React.ReactNode | ((contentProps: Partial<TextProps>) => React.ReactNode);
2586
2592
  /**
2587
- * Пропсы типографики для основного текста.
2588
- * @default {} */
2589
- contentProps?: Partial<TextProps>;
2593
+ * Кастомный блок с основным контентом.
2594
+ *
2595
+ * @slot
2596
+ * @default undefined */
2597
+ body?: React.ReactNode;
2590
2598
  /**
2591
- * Пропсы для медиа элементов.
2592
- * @default {} */
2593
- media?: {
2594
- imgProps?: React.ComponentPropsWithoutRef<'img'>;
2595
- videoProps?: React.ComponentPropsWithoutRef<'video'>;
2596
- };
2599
+ * Кастомный футер.
2600
+ *
2601
+ * @slot
2602
+ * @default undefined */
2603
+ footer?: React.ReactNode;
2604
+ /**
2605
+ * Кнопка закрытия.
2606
+ *
2607
+ * @slot
2608
+ * @default undefined */
2609
+ closeButton?: React.ReactNode | ((iconButtonProps: Partial<IconButtonProps>) => React.ReactNode);
2610
+ /**
2611
+ * Кастомный блок с медиа.
2612
+ *
2613
+ * @slot
2614
+ * @default undefined */
2615
+ media?: React.ReactNode;
2597
2616
  /**
2598
- * Функция для рендера нижнего сегмента поповера, аргументом получает пропсы размеров.
2617
+ * Картинка для вертикального шаблона лейаута.
2618
+ *
2619
+ * Ожидаемое соотношение сторон 16:9.
2620
+ *
2621
+ * @general
2599
2622
  * @default undefined */
2600
- footer?: (sizeProps: Pick<PopoverProps, 'size' | 'sizeXXS' | 'sizeXS' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXL'>) => React.ReactNode;
2623
+ imgSrcVertical?: string;
2624
+ /**
2625
+ * Картинка для горизонтального шаблона лейаута.
2626
+ *
2627
+ * Ожидаемое соотношение сторон 1:1.
2628
+ *
2629
+ * @general
2630
+ * @default undefined */
2631
+ imgSrcHorizontal?: string;
2601
2632
  /**
2602
2633
  * z-index поповера.
2634
+ *
2635
+ * @floating
2603
2636
  * @default 100 */
2604
2637
  zIndex?: number;
2605
- /** @ignore */
2606
- debug?: boolean;
2607
- /** @ignore */
2608
- getPopper?: (popper: PopperInstance, origin: 'floater' | 'wrapper') => void;
2609
- /** @ignore */
2610
- wrapperOptions?: {
2611
- offset?: number;
2612
- placement?: Omit<Placement, 'center'>;
2613
- position?: boolean;
2614
- };
2615
- /** @ignore */
2638
+ /**
2639
+ * Размер.
2640
+ *
2641
+ * Использование кортежей включает применение размеров в зависимости от ширины вьюпорта.
2642
+ *
2643
+ * @general
2644
+ * @default 's' */
2645
+ size?: Size | [DESKTOP: Size, TABLET: Size, MOBILE: Size] | [XL: Size, L: Size, M: Size, S: Size, XS: Size, XXS: Size];
2646
+ /**
2647
+ * Размер для XXS брейкпоинта.
2648
+ *
2649
+ * @default undefined */
2650
+ sizeXXS?: Size;
2651
+ /**
2652
+ * Размер для XS брейкпоинта.
2653
+ *
2654
+ * @default undefined */
2655
+ sizeXS?: Size;
2656
+ /**
2657
+ * Размер для S брейкпоинта.
2658
+ *
2659
+ * @default undefined */
2660
+ sizeS?: Size;
2661
+ /**
2662
+ * Размер для M брейкпоинта.
2663
+ *
2664
+ * @default undefined */
2665
+ sizeM?: Size;
2666
+ /**
2667
+ * Размер для L брейкпоинта.
2668
+ *
2669
+ * @default undefined */
2670
+ sizeL?: Size;
2671
+ /**
2672
+ * Размер для XL брейкпоинта.
2673
+ *
2674
+ * @default undefined */
2675
+ sizeXL?: Size;
2676
+ /**
2677
+ * Модификация размеров.
2678
+ *
2679
+ * @general
2680
+ * @default undefined */
2681
+ sizes?: Partial<Record<Size, React.CSSProperties>>;
2682
+ /**
2683
+ * Вариант шаблона лейаута.
2684
+ *
2685
+ * Использование кортежей включает применение шаблонов в зависимости от ширины вьюпорта.
2686
+ *
2687
+ * @general
2688
+ * @default 'vertical' */
2689
+ layout?: Layout | [DESKTOP: Layout, TABLET: Layout, MOBILE: Layout] | [XL: Layout, L: Layout, M: Layout, S: Layout, XS: Layout, XXS: Layout];
2690
+ /**
2691
+ * Лейаут для XXS брейкпоинта.
2692
+ *
2693
+ * @default undefined */
2694
+ layoutXXS?: Layout;
2695
+ /**
2696
+ * Лейаут для XS брейкпоинта.
2697
+ *
2698
+ * @default undefined */
2699
+ layoutXS?: Layout;
2700
+ /**
2701
+ * Лейаут для S брейкпоинта.
2702
+ *
2703
+ * @default undefined */
2704
+ layoutS?: Layout;
2705
+ /**
2706
+ * Лейаут для M брейкпоинта.
2707
+ *
2708
+ * @default undefined */
2709
+ layoutM?: Layout;
2710
+ /**
2711
+ * Лейаут для L брейкпоинта.
2712
+ *
2713
+ * @default undefined */
2714
+ layoutL?: Layout;
2715
+ /**
2716
+ * Лейаут для XL брейкпоинта.
2717
+ *
2718
+ * @default undefined */
2719
+ layoutXL?: Layout;
2720
+ /**
2721
+ * Кастомный рутовый блок.
2722
+ *
2723
+ * Использование компонента только как контейнера.
2724
+ *
2725
+ * @slot
2726
+ * @default undefined */
2727
+ root?: React.ReactNode | ((rootProps: {
2728
+ badgeProps: Partial<BadgeProps>;
2729
+ captionProps: Partial<TextProps>;
2730
+ titleProps: Partial<TextProps>;
2731
+ contentProps: Partial<TextProps>;
2732
+ closeButtonProps: Partial<IconButtonProps>;
2733
+ }) => React.ReactNode);
2734
+ /**
2735
+ *
2736
+ * @ignore */
2616
2737
  styles?: Partial<Styles>;
2617
- /** @ignore @deprecated */
2618
- controlsDirection?: 'row' | 'column';
2619
- /** @ignore @deprecated */
2620
- controls?: {
2621
- secondary?: {
2622
- text?: React.ReactNode;
2623
- buttonProps?: Partial<ButtonProps>;
2624
- };
2625
- primary?: {
2626
- text?: React.ReactNode;
2627
- buttonProps?: Partial<ButtonProps>;
2628
- };
2629
- };
2630
2738
  }
2739
+ declare type PopoverProps = PopoverBaseProps & Omit<React.ComponentPropsWithRef<'div'>, keyof PopoverBaseProps>;
2631
2740
 
2632
2741
  /**
2633
2742
  *
2634
- * Компонент поддерживает все атрибуты \<div\> элемента.
2635
- *
2636
- * Можно передать "ref", который будет ассоциирован с рутовым элементом.
2637
- *
2638
- * Поддерживаются пропсы определения размеров в зависимости от ширины вьюпорта.
2639
- *
2640
- * Компонент основан на ["react-floater"](https://www.npmjs.com/package/react-floater).
2641
- *
2642
- * Получить доступ к компоненту, не подключенному к библиотеке, можно через `Popover.Component`.
2643
- *
2644
- * Полный интерфейс `Popover` можно посмотреть [тут](https://github.com/foxford/ui/blob/master/src/components/Popover/types.ts), интерфейс `Popover.Component` [тут](https://github.com/foxford/ui/blob/master/src/components/PopoverComponent/types.ts).
2743
+ * Компонент для отображения контента поверх основного интерфейса.
2645
2744
  *
2745
+ * Поддерживается "ref" и все нативные атрибуты \<div\> элемента.
2646
2746
  */
2647
2747
  declare const Popover: React.ForwardRefExoticComponent<PopoverProps> & {
2648
2748
  Component: typeof PopoverComponent;
@@ -2704,7 +2804,7 @@ declare type ListItemPalette = {
2704
2804
  backgroundColorHover: CSSColor;
2705
2805
  mediaPlaceholderColor: CSSColor;
2706
2806
  };
2707
- interface ListItemProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarginProps, Omit<React.HTMLAttributes<HTMLElement>, 'children' | 'title'>, Omit<React.ButtonHTMLAttributes<HTMLElement>, 'children' | 'title' | 'type'>, Omit<React.AnchorHTMLAttributes<HTMLElement>, 'children' | 'title' | 'type' | 'media'> {
2807
+ interface ListItemProps extends ResponsiveSizeProps<Size$2, SizeValue>, ResponsiveMarginProps, Omit<React.HTMLAttributes<HTMLElement>, 'children' | 'title'>, Omit<React.ButtonHTMLAttributes<HTMLElement>, 'children' | 'title' | 'type'>, Omit<React.AnchorHTMLAttributes<HTMLElement>, 'children' | 'title' | 'type' | 'media'> {
2708
2808
  /** Root node type */
2709
2809
  as?: React.ElementType;
2710
2810
  /** Main text content or render function */
@@ -2782,7 +2882,7 @@ declare type IndicatorPalette = {
2782
2882
  backgroundColor: CSSColor;
2783
2883
  shadowColor: CSSColor;
2784
2884
  };
2785
- interface IndicatorProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarginProps, React.ComponentPropsWithRef<'span'> {
2885
+ interface IndicatorProps extends ResponsiveSizeProps<Size$2, SizeValue>, ResponsiveMarginProps, React.ComponentPropsWithRef<'span'> {
2786
2886
  /** Custom colors */
2787
2887
  palette?: Partial<Record<keyof IndicatorPalette, Color>>;
2788
2888
  /** Text content */
@@ -2827,7 +2927,7 @@ declare type AvatarPalette = {
2827
2927
  shadowColor: CSSColor;
2828
2928
  };
2829
2929
  declare type AvatarSize = SizeValue | 'sm';
2830
- interface AvatarProps extends ResponsiveSizeProps<Size, AvatarSize>, ResponsiveMarginProps,
2930
+ interface AvatarProps extends ResponsiveSizeProps<Size$2, AvatarSize>, ResponsiveMarginProps,
2831
2931
  /** @deprecated Use palette */
2832
2932
  ColorProperty<'color'>, Omit<React.ComponentPropsWithRef<'span'>, 'color'> {
2833
2933
  /** UI: brand (v3), or default (v2) */
@@ -3138,6 +3238,52 @@ declare const Menu: React.ForwardRefExoticComponent<MenuProps> & {
3138
3238
  Divider: typeof MenuDivider;
3139
3239
  };
3140
3240
 
3241
+ declare type SkeletonPalette = {
3242
+ color: CSSColor;
3243
+ gradientColor: CSSColor;
3244
+ gradientHighlightColor: CSSColor;
3245
+ };
3246
+ interface SkeletonProps extends ResponsiveMarginProps, React.ComponentPropsWithRef<'div'> {
3247
+ /** Element to infer sizing */
3248
+ children?: React.ReactNode;
3249
+ /** Custom colors */
3250
+ palette?: Partial<Record<keyof SkeletonPalette, Color>>;
3251
+ /** Display 'inline-block' */
3252
+ inline?: boolean;
3253
+ /** Root border-radius: 50% */
3254
+ round?: boolean;
3255
+ /** Root border-radius */
3256
+ borderRadius?: string | number;
3257
+ /** Root width */
3258
+ width?: string | number;
3259
+ /** Root height */
3260
+ height?: string | number;
3261
+ /** Value (ms) to control animation speed */
3262
+ animationDuration?: number;
3263
+ /** Delay to animation start (ms) to avoid flicker at fast connection */
3264
+ animationDelay?: number;
3265
+ /** Appearance variant */
3266
+ primary?: boolean;
3267
+ /** Appearance variant */
3268
+ secondary?: boolean;
3269
+ /** Appearance variant */
3270
+ onColored?: boolean;
3271
+ /** Root node type */
3272
+ as?: 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6' | 'p' | 'span';
3273
+ }
3274
+
3275
+ /**
3276
+ *
3277
+ * Component accepts all \<div\> attributes.
3278
+ *
3279
+ * Responsive "margin" props are supported.
3280
+ *
3281
+ * Exposed "ref" attached to root node.
3282
+ *
3283
+ * See full [SkeletonProps](https://github.com/foxford/ui/blob/master/src/components/Skeleton/types.ts)
3284
+ */
3285
+ declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps>;
3286
+
3141
3287
  declare type DialogComponentCommonSize = 'xxl' | 'xl' | 'l' | 'm' | 's' | 'xs';
3142
3288
  declare type DialogComponentSize = DialogComponentCommonSize | 'xxl-landscape' | 'xl-landscape' | 'l-landscape';
3143
3289
  declare type DialogComponentPalette = {
@@ -3671,7 +3817,6 @@ interface Theme {
3671
3817
  Popover?: Partial<PopoverProps>;
3672
3818
  PopoverComponent?: Partial<PopoverComponentProps>;
3673
3819
  ProgressLine?: Partial<ProgressLineProps>;
3674
- Skeleton?: Partial<SkeletonProps>;
3675
3820
  Switcher?: Partial<SwitcherProps>;
3676
3821
  Tab?: Partial<TabProps>;
3677
3822
  Text?: Partial<TextProps>;
@@ -3776,7 +3921,7 @@ declare const useScrollMonitor: ({ target, scrollThrottleMS, scrollEndDebounceMS
3776
3921
 
3777
3922
  declare const vAlign: (vAlign: 'top' | 'middle' | 'bottom' | 'text-top' | 'text-bottom' | 'baseline') => styled_components.FlattenSimpleInterpolation;
3778
3923
 
3779
- declare function buildMediaQuery(value: number | Size | '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, number>): ReturnType<typeof css>;
3924
+ declare function buildMediaQuery(value: number | Size$2 | '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$2, number>): ReturnType<typeof css>;
3780
3925
  declare const desktopFirst: (a: string, b: string) => number;
3781
3926
  declare const mobileFirst: (a: string, b: string) => number;
3782
3927
 
@@ -5864,4 +6009,39 @@ interface ProgressCircleProps extends ResponsiveSizeProps<ProgressCircleSize>, R
5864
6009
  */
5865
6010
  declare const ProgressCircle: React.ForwardRefExoticComponent<ProgressCircleProps>;
5866
6011
 
5867
- export { Accordion, type AccordionProps, ActionBtn, type ActionBtnProps, Alert, type AlertProps, Amount, type AmountProps, Anchor, Arrow, ArrowBadge, type ArrowBadgeProps, type ArrowProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BaseProps, type 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, ColorNames, type ColorPaletteKey, Container, type ContainerProps, ContextMenu, type ContextMenuMultiLevelProps, type ContextMenuProps, CurrencyCodes, DEFAULT_MASK, Dialog, type DialogComponentProps, type DialogProps, Dropdown, type DropdownProps, FormLabel, type FormLabelProps, type HEX, INITIAL_MASK, Icon, IconButton, type IconButtonProps, 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, Menu, type MenuComponentProps, type MenuContainerProps, type MenuDividerProps, type MenuListProps, type MenuProps, Modal, type ModalProps, Notification, type NotificationProps, type Nullable, Paper, type PaperProps, type PlaygroundPropControl, type PlaygroundToolbar, Popover, type PopoverComponentProps, type PopoverProps, Progress, ProgressCircle, type ProgressCircleProps, ProgressLine, type ProgressLineProps, type ProgressProps, type ProgressSegmentedProps, type RGB, type RGBA, Radio, type RadioProps, type ResponsivePositionProps, type ResponsivePropKey, type ResponsiveProps, type ResponsiveSizeInterpolationProps, type ResponsiveSizeProps, withThemeScrollable as Scrollable, type ScrollableProps, Section, type SectionProps, Select, type SelectProps, Separator, type SeparatorProps, type Size, type SizeValue, Skeleton, type SkeletonProps, Spacer, type SpacerProps, Spinner, type SpinnerProps, Switch, type SwitchProps, Switcher, type SwitcherProps, Tab, 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, Tooltip, type TooltipComponentProps, type TooltipProps, type WithThemePreset, adultDarkTheme, adultLightTheme, babyDarkTheme, babyLightTheme, baseInputStyle, buildMediaQuery, color, desktopFirst, 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, useScrollMonitor, vAlign };
6012
+ interface AspectRatioBaseProps {
6013
+ /**
6014
+ * Целевой элемент.
6015
+ */
6016
+ children: React.ReactNode;
6017
+ /**
6018
+ * Соотношение сторон.
6019
+ *
6020
+ * @default 1:1 */
6021
+ ratio?: `${number}:${number}`;
6022
+ /**
6023
+ * Ширина контейнера (высота будет рассчитана согласно ratio).
6024
+ *
6025
+ * Для корретной работы нужно передать ширину или высоту.
6026
+ *
6027
+ * @default min-content */
6028
+ width?: React.CSSProperties['width'];
6029
+ /**
6030
+ * Высота контейнера (ширина будет рассчитана согласно ratio).
6031
+ *
6032
+ * Для корретной работы нужно передать ширину или высоту.
6033
+ *
6034
+ * @default min-content */
6035
+ height?: React.CSSProperties['height'];
6036
+ }
6037
+ declare type AspectRatioProps = AspectRatioBaseProps & Omit<React.ComponentPropsWithRef<'div'>, keyof AspectRatioBaseProps>;
6038
+
6039
+ /**
6040
+ *
6041
+ * Компонент для создания плейсхолдеров с определенным соотношением сторон.
6042
+ *
6043
+ * Поддерживается "ref" и все нативные атрибуты \<div\> элемента.
6044
+ */
6045
+ declare const AspectRatio: React.ForwardRefExoticComponent<AspectRatioProps>;
6046
+
6047
+ export { Accordion, type AccordionProps, ActionBtn, type ActionBtnProps, Alert, type AlertProps, Amount, type AmountProps, Anchor, Arrow, ArrowBadge, type ArrowBadgeProps, type ArrowProps, AspectRatio, type AspectRatioProps, Avatar, type AvatarProps, Badge, type BadgeProps, type BaseProps, type 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, ColorNames, type ColorPaletteKey, Container, type ContainerProps, ContextMenu, type ContextMenuMultiLevelProps, type ContextMenuProps, CurrencyCodes, DEFAULT_MASK, Dialog, type DialogComponentProps, type DialogProps, Dropdown, type DropdownProps, FormLabel, type FormLabelProps, type HEX, INITIAL_MASK, Icon, IconButton, type IconButtonProps, 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, Menu, type MenuComponentProps, type MenuContainerProps, type MenuDividerProps, type MenuListProps, type MenuProps, Modal, type ModalProps, Notification, type NotificationProps, type Nullable, Paper, type PaperProps, type PlaygroundPropControl, type PlaygroundToolbar, Popover, type PopoverComponentProps, type PopoverProps, Progress, ProgressCircle, type 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, Separator, type SeparatorProps, type Size$2 as Size, type SizeValue, Skeleton, type SkeletonProps, Spacer, type SpacerProps, Spinner, type SpinnerProps, Switch, type SwitchProps, Switcher, type SwitcherProps, Tab, 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, Tooltip, type TooltipComponentProps, type TooltipProps, type WithThemePreset, adultDarkTheme, adultLightTheme, babyDarkTheme, babyLightTheme, baseInputStyle, buildMediaQuery, color, desktopFirst, 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, useScrollMonitor, vAlign };