@foxford/ui 2.53.0 → 2.54.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.
package/dts/index.d.ts CHANGED
@@ -4647,7 +4647,7 @@ interface IconProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarg
4647
4647
  /** Icon color */
4648
4648
  color?: Color;
4649
4649
  /** Built-in icon name */
4650
- name?: IconName;
4650
+ name?: IconName | 'unknown';
4651
4651
  /** Custom icon element */
4652
4652
  icon?: JSX.Element;
4653
4653
  /** Value for vertical-align */
@@ -4837,11 +4837,17 @@ ResponsiveNamedProperty<'paddingLeft'>,
4837
4837
  ResponsiveNamedProperty<'fontSize'>,
4838
4838
  /** @deprecated Use size props */
4839
4839
  ResponsiveNamedProperty<'height', 'l' | 'm' | 's' | 'xs' | number> {
4840
- /** UI: brand (v3), or default (v2) */
4840
+ /**
4841
+ * UI: v3 (brand), or v2 (default)
4842
+ * @default "default" */
4841
4843
  preset?: ThemePreset;
4842
- /** Custom colors */
4844
+ /**
4845
+ * Custom colors
4846
+ * @default undefined */
4843
4847
  palette?: Partial<Record<keyof ButtonPalette, Color>>;
4844
- /** React children */
4848
+ /**
4849
+ * React children
4850
+ * @default undefined */
4845
4851
  children?: React.ReactNode | ((props: {
4846
4852
  baseTextProps: Partial<TextProps>;
4847
4853
  textProps: TextProps;
@@ -4849,42 +4855,78 @@ ResponsiveNamedProperty<'height', 'l' | 'm' | 's' | 'xs' | number> {
4849
4855
  iconProps: ButtonProps['iconProps'];
4850
4856
  icon: ButtonProps['icon'];
4851
4857
  }) => React.ReactNode);
4852
- /** Props for text component */
4858
+ /**
4859
+ * Props for text component
4860
+ * @default {} */
4853
4861
  textProps?: TextProps;
4854
- /** Display inline */
4862
+ /**
4863
+ * Display inline
4864
+ * @default true */
4855
4865
  inline?: boolean;
4856
- /** Icons before and after content */
4866
+ /**
4867
+ * Icons before and after content
4868
+ * @default undefined */
4857
4869
  icon?: JSX.Element | IconName | [Nullable<JSX.Element | IconName>, Nullable<JSX.Element | IconName>];
4858
- /** Props for icon components */
4870
+ /**
4871
+ * Props for icon components
4872
+ * @default {} */
4859
4873
  iconProps?: IconProps;
4860
- /** Border radius 50% */
4874
+ /**
4875
+ * Border radius 50%
4876
+ * @default false */
4861
4877
  round?: boolean;
4862
- /** Appearance variant */
4878
+ /**
4879
+ * Appearance variant
4880
+ * @default false */
4863
4881
  success?: boolean;
4864
- /** Appearance variant */
4882
+ /**
4883
+ * Appearance variant
4884
+ * @default false */
4865
4885
  loading?: boolean;
4866
- /** Appearance variant */
4886
+ /**
4887
+ * Appearance variant
4888
+ * @default false */
4867
4889
  black?: boolean;
4868
- /** Appearance variant */
4890
+ /**
4891
+ * Appearance variant
4892
+ * @default false */
4869
4893
  danger?: boolean;
4870
- /** Appearance variant */
4871
- onColored?: boolean;
4872
- /** Appearance variant */
4894
+ /**
4895
+ * Appearance variant
4896
+ * @default false */
4897
+ contrast?: boolean;
4898
+ /**
4899
+ * Appearance variant
4900
+ * @default false */
4873
4901
  clear?: boolean;
4874
- /** Appearance variant */
4902
+ /**
4903
+ * Appearance variant
4904
+ * @default false */
4875
4905
  base?: boolean;
4876
- /** Appearance variant */
4906
+ /**
4907
+ * Appearance variant
4908
+ * @default false */
4877
4909
  outline?: boolean;
4878
- /** Link from react-router-dom will be used.
4879
- * Look up [docs](https://v5.reactrouter.com/web/api/Link) */
4910
+ /**
4911
+ * Link from react-router-dom will be used.
4912
+ * Look up [docs](https://v5.reactrouter.com/web/api/Link)
4913
+ * @default undefined */
4880
4914
  to?: string | Partial<Location$1> | ((location: Location$1) => string | Partial<Location$1>);
4881
- /** Anchor element will be used */
4915
+ /**
4916
+ * Anchor element will be used
4917
+ * @default undefined */
4882
4918
  href?: string;
4883
- /** Anchor attribute */
4919
+ /**
4920
+ * Anchor attribute
4921
+ * @default undefined */
4884
4922
  target?: string;
4885
- /** Anchor attribute */
4923
+ /**
4924
+ * Anchor attribute
4925
+ * @default undefined */
4886
4926
  rel?: string;
4887
- /** Build rel attribute with relBuilder from context */
4927
+ /**
4928
+ * Build rel attribute with relBuilder from context
4929
+ * @default false */
4888
4930
  autoRel?: boolean;
4889
4931
  /** @ignore Appearance variant */
4890
4932
  primary?: boolean;
@@ -4893,6 +4935,8 @@ ResponsiveNamedProperty<'height', 'l' | 'm' | 's' | 'xs' | number> {
4893
4935
  /** @ignore Appearance variant */
4894
4936
  inverted?: boolean;
4895
4937
  /** @ignore @deprecated */
4938
+ onColored?: boolean;
4939
+ /** @ignore @deprecated */
4896
4940
  noSpacing?: boolean;
4897
4941
  /** @ignore @deprecated Use href or to props */
4898
4942
  as?: React.ElementType<any>;
@@ -4991,28 +5035,50 @@ declare type ArrowPalette = {
4991
5035
  shadowColor: CSSColor;
4992
5036
  };
4993
5037
  interface ArrowProps extends ResponsiveSizeProps<Size, SizeValue>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'button'>, 'children'> {
4994
- /** UI: brand (v3), or default (v2) */
5038
+ /**
5039
+ * UI: v3 (brand), or v2 (default)
5040
+ * @default "default" */
4995
5041
  preset?: ThemePreset;
4996
- /** Custom colors */
5042
+ /**
5043
+ * Custom colors
5044
+ * @default undefined */
4997
5045
  palette?: Partial<Record<keyof ArrowPalette, Color>>;
4998
- /** Props for icon component */
5046
+ /**
5047
+ * Props for icon component
5048
+ * @default {} */
4999
5049
  iconProps?: IconProps;
5000
- /** Shape variant */
5050
+ /**
5051
+ * Shape variant
5052
+ * @default false */
5001
5053
  square?: boolean;
5002
- /** Arrow direction */
5054
+ /**
5055
+ * Arrow direction
5056
+ * @default true */
5003
5057
  top?: boolean;
5004
- /** Arrow direction */
5058
+ /**
5059
+ * Arrow direction
5060
+ * @default false */
5005
5061
  right?: boolean;
5006
- /** Arrow direction */
5062
+ /**
5063
+ * Arrow direction
5064
+ * @default false */
5007
5065
  bottom?: boolean;
5008
- /** Arrow direction */
5066
+ /**
5067
+ * Arrow direction
5068
+ * @default false */
5009
5069
  left?: boolean;
5010
- /** Appearance variant */
5011
- onColored?: boolean;
5012
- /** Appearance variant */
5070
+ /**
5071
+ * Appearance variant
5072
+ * @default false */
5073
+ contrast?: boolean;
5074
+ /**
5075
+ * Appearance variant
5076
+ * @default false */
5013
5077
  outline?: boolean;
5014
5078
  /** @ignore */
5015
5079
  inverse?: boolean;
5080
+ /** @ignore @deprecated */
5081
+ onColored?: boolean;
5016
5082
  }
5017
5083
 
5018
5084
  /**
@@ -5046,23 +5112,41 @@ declare type InputCheckboxPalette = {
5046
5112
  borderColorDisabledChecked: CSSColor;
5047
5113
  };
5048
5114
  interface InputCheckboxProps extends ResponsiveSizeProps<CheckboxSize$1>, Omit<React.ComponentPropsWithRef<'input'>, 'size' | 'children'> {
5049
- /** Текущее состояние контрола (использование включает контролируемый режим) */
5115
+ /**
5116
+ * Текущее состояние контрола (использование включает контролируемый режим)
5117
+ * @default undefined */
5050
5118
  checked?: boolean;
5051
- /** Начальное состояние контрола */
5119
+ /**
5120
+ * Начальное состояние контрола
5121
+ * @default false */
5052
5122
  defaultChecked?: boolean;
5053
- /** Колбек, который будет вызван при изменении состояния контрола */
5123
+ /**
5124
+ * Колбек, который будет вызван при изменении состояния контрола
5125
+ * @default undefined */
5054
5126
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
5055
- /** Кастомные цвета */
5127
+ /**
5128
+ * Кастомные цвета
5129
+ * @default undefined */
5056
5130
  palette?: Partial<Record<keyof InputCheckboxPalette, Color>>;
5057
- /** Рендер рутового элемента инлайн */
5131
+ /**
5132
+ * Рендер рутового элемента инлайн
5133
+ * @default false */
5058
5134
  inline?: boolean;
5059
- /** Визуальное состояние `indeterminate` (не влияет на стейт `checked`) */
5135
+ /**
5136
+ * Визуальное состояние `indeterminate` (не влияет на стейт `checked`)
5137
+ * @default false */
5060
5138
  indeterminate?: boolean;
5061
- /** Вариант цветовой схемы */
5139
+ /**
5140
+ * Вариант цветовой схемы
5141
+ * @default false */
5062
5142
  error?: boolean;
5063
- /** Вариант цветовой схемы */
5143
+ /**
5144
+ * Вариант цветовой схемы
5145
+ * @default false */
5064
5146
  success?: boolean;
5065
- /** Адаптировать цветовую схему для контрастного фона */
5147
+ /**
5148
+ * Адаптировать цветовую схему для контрастного фона
5149
+ * @default false */
5066
5150
  contrast?: boolean;
5067
5151
  /** @ignore @deprecated */
5068
5152
  onColored?: boolean;
@@ -5953,19 +6037,31 @@ declare type IconButtonPalette = {
5953
6037
  backgroundColorDisabled: CSSColor;
5954
6038
  };
5955
6039
  interface IconButtonProps extends ResponsiveSizeProps<IconButtonSize, IconButtonSize | number>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'button'>, 'children'> {
5956
- /** Custom colors */
6040
+ /**
6041
+ * Custom colors
6042
+ * @default undefined */
5957
6043
  palette?: Partial<Record<keyof IconButtonPalette, Color>>;
5958
6044
  /** Icon to display */
5959
- icon?: JSX.Element | IconName;
5960
- /** Props for icon component */
6045
+ icon: JSX.Element | IconName | 'unknown';
6046
+ /**
6047
+ * Props for icon component
6048
+ * @default {} */
5961
6049
  iconProps?: IconProps;
5962
- /** Shape variant */
6050
+ /**
6051
+ * Shape variant
6052
+ * @default false */
5963
6053
  square?: boolean;
5964
- /** Appearance variant */
6054
+ /**
6055
+ * Appearance variant
6056
+ * @default true */
5965
6057
  primary?: boolean;
5966
- /** Appearance variant */
6058
+ /**
6059
+ * Appearance variant
6060
+ * @default false */
5967
6061
  secondary?: boolean;
5968
- /** Appearance variant */
6062
+ /**
6063
+ * Appearance variant
6064
+ * @default false */
5969
6065
  contrast?: boolean;
5970
6066
  }
5971
6067
 
@@ -6019,7 +6115,7 @@ interface ChipProps extends ResponsiveSizeProps<ChipSize, ChipSize | number>, Re
6019
6115
  /** Props for indicator component */
6020
6116
  indicatorProps?: IndicatorProps;
6021
6117
  /** Props for button with 'close' icon */
6022
- discardButtonProps?: IconButtonProps;
6118
+ discardButtonProps?: Partial<IconButtonProps>;
6023
6119
  /** Appearance variant */
6024
6120
  primary?: boolean;
6025
6121
  /** Appearance variant */
@@ -6074,7 +6170,7 @@ interface MenuComponentProps extends ResponsiveSizeProps<MenuComponentSize>, Omi
6074
6170
  /** Show button to close menu (forward to children) */
6075
6171
  showCloseButton?: boolean;
6076
6172
  /** Props for close button (forward to children) */
6077
- closeButtonProps?: IconButtonProps;
6173
+ closeButtonProps?: Partial<IconButtonProps>;
6078
6174
  /** @ignore Internal callback */
6079
6175
  closeFn?: () => void;
6080
6176
  }
@@ -6114,7 +6210,7 @@ interface MenuContainerProps extends React.ComponentPropsWithRef<'div'> {
6114
6210
  /** Show button with 'close' icon */
6115
6211
  showCloseButton?: boolean;
6116
6212
  /** Props for close button */
6117
- closeButtonProps?: IconButtonProps;
6213
+ closeButtonProps?: Partial<IconButtonProps>;
6118
6214
  /** @ignore Internal callback */
6119
6215
  closeFn?: () => void;
6120
6216
  }
@@ -6194,7 +6290,7 @@ interface MenuProps extends ResponsiveSizeProps<MenuComponentSize>, React.RefAtt
6194
6290
  /** Show button to close menu (applicable for Menu.Container, or custom component) */
6195
6291
  showCloseButton?: boolean;
6196
6292
  /** Props for close button */
6197
- closeButtonProps?: IconButtonProps;
6293
+ closeButtonProps?: Partial<IconButtonProps>;
6198
6294
  }
6199
6295
 
6200
6296
  /**
@@ -6233,7 +6329,7 @@ interface DialogComponentProps extends ResponsiveSizeProps<DialogComponentSize>,
6233
6329
  * Пропсы для кнопки действия в правом верхнем углу диалога (дефолт иконка close).
6234
6330
  * Для рендера кнопки нужно передать iconButtonProps.onClick
6235
6331
  */
6236
- iconButtonProps?: IconButtonProps;
6332
+ iconButtonProps?: Partial<IconButtonProps>;
6237
6333
  /** Функция для рендера контролов диалога (аргументом получает текущие пропсы размеров) */
6238
6334
  controls?: (props: Partial<Record<keyof Pick<DialogComponentProps, 'size' | 'sizeXXS' | 'sizeXS' | 'sizeS' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXL'>, Size>>) => React.ReactNode;
6239
6335
  /** Рендер области для захвата окна для перетаскивания */
@@ -6340,7 +6436,7 @@ interface DialogProps extends ResponsiveSizeProps<DialogComponentSize>, Responsi
6340
6436
  * Пропсы для кнопки действия в правом верхнем углу диалога (дефолт иконка close).
6341
6437
  * Для рендера кнопки нужно передать iconButtonProps.onClick
6342
6438
  */
6343
- iconButtonProps?: IconButtonProps;
6439
+ iconButtonProps?: Partial<IconButtonProps>;
6344
6440
  /** Функция для рендера контролов диалога (аргументом получает текущие пропсы размеров) */
6345
6441
  controls?: (props: Partial<Record<keyof Pick<DialogProps, 'size' | 'sizeXXS' | 'sizeXS' | 'sizeS' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXL'>, Size>>) => React.ReactNode;
6346
6442
  /**
@@ -6432,7 +6528,7 @@ interface NotificationProps extends ResponsiveSizeProps<NotificationSize>, Respo
6432
6528
  * Пропсы для кнопки с иконкой "close".
6433
6529
  * Для рендера нужно передать "onClick"
6434
6530
  */
6435
- discardButtonProps?: IconButtonProps;
6531
+ discardButtonProps?: Partial<IconButtonProps>;
6436
6532
  /** Пропсы для иконки слева */
6437
6533
  iconProps?: IconProps;
6438
6534
  /** Не показывать иконку слева */
@@ -6538,17 +6634,29 @@ declare type SwitchPalette = {
6538
6634
  interface KnobProps extends ResponsiveSizeProps<SwitchSize>, React.ComponentPropsWithoutRef<'span'> {
6539
6635
  }
6540
6636
  interface SwitchProps extends ResponsiveSizeProps<SwitchSize>, Omit<React.ComponentPropsWithRef<'input'>, 'size' | 'children'> {
6541
- /** Текущее состояние контрола (использование включает контролируемый режим) */
6637
+ /**
6638
+ * Текущее состояние контрола (использование включает контролируемый режим)
6639
+ * @default undefined */
6542
6640
  checked?: boolean;
6543
- /** Начальное состояние контрола */
6641
+ /**
6642
+ * Начальное состояние контрола
6643
+ * @default false */
6544
6644
  defaultChecked?: boolean;
6545
- /** Колбек, который будет вызван при изменении состояния контрола */
6645
+ /**
6646
+ * Колбек, который будет вызван при изменении состояния контрола
6647
+ * @default undefined */
6546
6648
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
6547
- /** Кастомные цвета */
6649
+ /**
6650
+ * Кастомные цвета
6651
+ * @default undefined */
6548
6652
  palette?: Partial<Record<keyof SwitchPalette, Color>>;
6549
- /** Пропсы для ручки переключателя */
6653
+ /**
6654
+ * Пропсы для ручки переключателя
6655
+ * @default {} */
6550
6656
  knobProps?: KnobProps;
6551
- /** Рендер рутового элемента инлайн */
6657
+ /**
6658
+ * Рендер рутового элемента инлайн
6659
+ * @default false */
6552
6660
  inline?: boolean;
6553
6661
  }
6554
6662
 
@@ -7928,56 +8036,108 @@ interface InputProps extends ResponsiveSizeProps<InputSize>, ResponsiveMarginPro
7928
8036
  ColorProperty,
7929
8037
  /** @deprecated */
7930
8038
  ColorProperty<'placeholderColor'>, ResponsiveNamedProperty<'width', 'auto' | keyof typeof SizeInput | number> {
7931
- /** Пропсы для дополнительной кнопки с правого края.
7932
- * Для рендера контрола нужно передать addonButtonProps.onClick */
7933
- addonButtonProps?: IconButtonProps;
7934
- /** Отображение маски при пустом инпуте, который не имеет фокуса */
8039
+ /**
8040
+ * Пропсы для дополнительной кнопки с правого края.
8041
+ * Для рендера контрола нужно передать addonButtonProps.icon и addonButtonProps.onClick
8042
+ * @default {} */
8043
+ addonButtonProps?: Partial<IconButtonProps>;
8044
+ /**
8045
+ * Отображение маски при пустом инпуте, который не имеет фокуса
8046
+ * @default false */
7935
8047
  alwaysShowMask?: boolean;
7936
- /** Колбек, который будет вызван до передачи значения маски в инпут. Подробнее в доках [react-input-mask](https://www.npmjs.com/package/react-input-mask/v/2.0.4?activeTab=readme) */
8048
+ /**
8049
+ * Колбек, который будет вызван до передачи значения маски в инпут.
8050
+ * Подробнее в доках [react-input-mask](https://www.npmjs.com/package/react-input-mask/v/2.0.4?activeTab=readme)
8051
+ * @default undefined */
7937
8052
  beforeMaskedValueChange?: (newState: InputState, oldState: InputState, userInput: string, maskOptions: MaskOptions) => InputState;
7938
- /** Адаптировать цветовую схему для контрастного фона */
8053
+ /**
8054
+ * Адаптировать цветовую схему для контрастного фона
8055
+ * @default false */
7939
8056
  contrast?: boolean;
7940
- /** Дефолтное значение инпута */
8057
+ /**
8058
+ * Дефолтное значение инпута
8059
+ * @default undefined */
7941
8060
  defaultValue?: string;
7942
- /** Вариант цветовой схемы */
8061
+ /**
8062
+ * Вариант цветовой схемы
8063
+ * @default false */
7943
8064
  error?: boolean;
7944
- /** Конфиг валидации текстового ввода с учетом используемой маски. Подробнее в доках [react-input-mask](https://www.npmjs.com/package/react-input-mask/v/2.0.4?activeTab=readme) */
8065
+ /**
8066
+ * Конфиг валидации текстового ввода с учетом используемой маски.
8067
+ * Подробнее в доках [react-input-mask](https://www.npmjs.com/package/react-input-mask/v/2.0.4?activeTab=readme)
8068
+ * @default undefined */
7945
8069
  formatChars?: Record<string, string>;
7946
- /** Иконки для отображения с левого и правого края */
8070
+ /**
8071
+ * Иконки для отображения с левого и правого края
8072
+ * @default undefined */
7947
8073
  icon?: JSX.Element | IconName | [Nullable<JSX.Element | IconName>, Nullable<JSX.Element | IconName>];
7948
- /** Пропсы для компонентов иконок */
8074
+ /**
8075
+ * Пропсы для компонентов иконок
8076
+ * @default {} */
7949
8077
  iconProps?: IconProps;
7950
- /** Отображать компонент на одной линии с другими */
8078
+ /**
8079
+ * Отображать компонент на одной линии с другими
8080
+ * @default false */
7951
8081
  inline?: boolean;
7952
- /** Тип браузерной виртуальной клавиатуры */
8082
+ /**
8083
+ * Тип браузерной виртуальной клавиатуры
8084
+ * @default undefined */
7953
8085
  inputMode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
7954
- /** Текст лейбла */
8086
+ /**
8087
+ * Текст лейбла
8088
+ * @default undefined */
7955
8089
  label?: React.ReactNode;
7956
- /** Положение текста лейбла (дефолт `dynamic`) */
8090
+ /**
8091
+ * Положение текста лейбла
8092
+ * @default "dynamic" */
7957
8093
  labelPosition?: 'dynamic' | 'top' | 'center';
7958
- /** Маска инпута. Подробнее в доках [react-input-mask](https://www.npmjs.com/package/react-input-mask/v/2.0.4?activeTab=readme) */
8094
+ /**
8095
+ * Маска инпута.
8096
+ * Подробнее в доках [react-input-mask](https://www.npmjs.com/package/react-input-mask/v/2.0.4?activeTab=readme)
8097
+ * @default undefined */
7959
8098
  mask?: string;
7960
- /** Символ-плейсхолдер для незаполненных сегментов маски. Подробнее в доках [react-input-mask](https://www.npmjs.com/package/react-input-mask/v/2.0.4?activeTab=readme) */
8099
+ /**
8100
+ * Символ-плейсхолдер для незаполненных сегментов маски.
8101
+ * Подробнее в доках [react-input-mask](https://www.npmjs.com/package/react-input-mask/v/2.0.4?activeTab=readme)
8102
+ * @default undefined */
7961
8103
  maskChar?: string | null;
7962
- /** Колбек, который будет вызван после изменения значения инпута.
7963
- * Передача обязательна, если компонент используется в контролируемом режиме */
8104
+ /**
8105
+ * Колбек, который будет вызван после изменения значения инпута.
8106
+ * Передача обязательна, если компонент используется в контролируемом режиме
8107
+ * @default undefined */
7964
8108
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
7965
- /** Кастомные цвета */
8109
+ /**
8110
+ * Кастомные цвета
8111
+ * @default undefined */
7966
8112
  palette?: Partial<Record<keyof InputPalette, Color>>;
7967
- /** Версия компонента: brand (v3) или default (v2) */
8113
+ /**
8114
+ * Версия компонента: brand (v3) или default (v2)
8115
+ * @default "default" */
7968
8116
  preset?: ThemePreset;
7969
- /** Вариант цветовой схемы */
8117
+ /**
8118
+ * Вариант цветовой схемы
8119
+ * @default true */
7970
8120
  primary?: boolean;
7971
- /** Вариант цветовой схемы */
8121
+ /**
8122
+ * Вариант цветовой схемы
8123
+ * @default false */
7972
8124
  secondary?: boolean;
7973
- /** Вариант цветовой схемы */
8125
+ /**
8126
+ * Вариант цветовой схемы
8127
+ * @default false */
7974
8128
  success?: boolean;
7975
- /** Дополнительный текст с правого края */
8129
+ /**
8130
+ * Дополнительный текст с правого края
8131
+ * @default undefined */
7976
8132
  text?: React.ReactNode;
7977
- /** Тип инпута (дефолт `text`) */
8133
+ /**
8134
+ * Тип инпута
8135
+ * @default "text" */
7978
8136
  type?: 'email' | 'number' | 'password' | 'tel' | 'text' | 'url';
7979
- /** Текущее значение инпута.
7980
- * Значение отличное от undefined включает контролируемый режим */
8137
+ /**
8138
+ * Текущее значение инпута.
8139
+ * Значение отличное от undefined включает контролируемый режим
8140
+ * @default undefined */
7981
8141
  value?: string;
7982
8142
  /** @ignore */
7983
8143
  fluid?: boolean;
@@ -8042,21 +8202,37 @@ declare type InputRadioPalette = {
8042
8202
  borderColorDisabledChecked: CSSColor;
8043
8203
  };
8044
8204
  interface InputRadioProps extends ResponsiveSizeProps<RadioSize>, Omit<React.ComponentPropsWithRef<'input'>, 'size' | 'children'> {
8045
- /** Текущее состояние контрола (использование включает контролируемый режим) */
8205
+ /**
8206
+ * Текущее состояние контрола (использование включает контролируемый режим)
8207
+ * @default undefined */
8046
8208
  checked?: boolean;
8047
- /** Начальное состояние контрола */
8209
+ /**
8210
+ * Начальное состояние контрола
8211
+ * @default false */
8048
8212
  defaultChecked?: boolean;
8049
- /** Колбек, который будет вызван при изменении состояния контрола */
8213
+ /**
8214
+ * Колбек, который будет вызван при изменении состояния контрола
8215
+ * @default undefined */
8050
8216
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
8051
- /** Кастомные цвета */
8217
+ /**
8218
+ * Кастомные цвета
8219
+ * @default undefined */
8052
8220
  palette?: Partial<Record<keyof InputRadioPalette, Color>>;
8053
- /** Рендер рутового элемента инлайн */
8221
+ /**
8222
+ * Рендер рутового элемента инлайн
8223
+ * @default false */
8054
8224
  inline?: boolean;
8055
- /** Вариант цветовой схемы */
8225
+ /**
8226
+ * Вариант цветовой схемы
8227
+ * @default false */
8056
8228
  error?: boolean;
8057
- /** Вариант цветовой схемы */
8229
+ /**
8230
+ * Вариант цветовой схемы
8231
+ * @default false */
8058
8232
  success?: boolean;
8059
- /** Адаптировать цветовую схему для контрастного фона */
8233
+ /**
8234
+ * Адаптировать цветовую схему для контрастного фона
8235
+ * @default false */
8060
8236
  contrast?: boolean;
8061
8237
  /** @ignore @deprecated */
8062
8238
  onColored?: boolean;
@@ -8209,7 +8385,7 @@ interface FormLabelProps extends ResponsiveSizeProps<FormLabelSize>, ResponsiveM
8209
8385
  hint?: {
8210
8386
  text?: React.ReactNode;
8211
8387
  textProps?: TextProps;
8212
- buttonProps?: IconButtonProps;
8388
+ buttonProps?: Partial<IconButtonProps>;
8213
8389
  tooltipProps?: TooltipProps;
8214
8390
  };
8215
8391
  /** @ignore @deprecated */
@@ -8252,69 +8428,133 @@ interface DropdownMenuProps extends MenuComponentProps {
8252
8428
  expanseDirectionLeft?: boolean;
8253
8429
  }
8254
8430
  interface DropdownProps extends ResponsiveSizeProps<DropdownSize>, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'div'>, 'children'> {
8255
- /** Атрибут autofocus для текстового инпута */
8431
+ /**
8432
+ * Атрибут autofocus для текстового инпута
8433
+ * @default false */
8256
8434
  autoFocus?: boolean;
8257
- /** Закрывать выпадающее меню при скролле */
8435
+ /**
8436
+ * Закрывать выпадающее меню при скролле
8437
+ * @default false */
8258
8438
  closeMenuOnScroll?: boolean;
8259
- /** Адаптировать цветовую схему для контрастного фона */
8439
+ /**
8440
+ * Адаптировать цветовую схему для контрастного фона
8441
+ * @default false */
8260
8442
  contrast?: boolean;
8261
- /** Выбранная текущая опция или опции.
8262
- * Значение отличное от undefined включает контролируемый режим выбора опций */
8443
+ /**
8444
+ * Выбранная текущая опция или опции.
8445
+ * Значение отличное от undefined включает контролируемый режим выбора опций
8446
+ * @default undefined */
8263
8447
  selectedOption?: DropdownOption | null | DropdownOption[];
8264
- /** Выбранная по умолчанию опция или опции */
8448
+ /**
8449
+ * Выбранная по умолчанию опция или опции
8450
+ * @default undefined */
8265
8451
  defaultSelectedOption?: DropdownOption | DropdownOption[];
8266
- /** Интерактивность отключена */
8452
+ /**
8453
+ * Отключение автоскролла до выбранной опции при открытии меню, если включен мод одиночного выбора
8454
+ * @default false */
8455
+ disableAutoScrollToSelectedOption?: boolean;
8456
+ /**
8457
+ * Интерактивность отключена
8458
+ * @default false */
8267
8459
  disabled?: boolean;
8268
- /** Иконка для отображения с левого края */
8460
+ /**
8461
+ * Иконка для отображения с левого края
8462
+ * @default undefined */
8269
8463
  icon?: JSX.Element | IconName;
8270
- /** Пропсы для иконки с левого края */
8464
+ /**
8465
+ * Пропсы для иконки с левого края
8466
+ * @default {} */
8271
8467
  iconProps?: IconProps;
8272
- /** Отбражать компонент на одной линии с другими */
8468
+ /**
8469
+ * Отбражать компонент на одной линии с другими
8470
+ * @default false */
8273
8471
  inline?: boolean;
8274
- /** Тип браузерной виртуальной клавиатуры */
8472
+ /**
8473
+ * Тип браузерной виртуальной клавиатуры
8474
+ * @default undefined */
8275
8475
  inputMode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
8276
- /** Текст для лейбла текстового инпута */
8476
+ /**
8477
+ * Текст для лейбла текстового инпута
8478
+ * @default undefined */
8277
8479
  label?: React.ReactNode;
8278
- /** Положение текста лейбла текстового инпута (по умолчанию dynamic) */
8480
+ /**
8481
+ * Положение текста лейбла текстового инпута
8482
+ * @default "dynamic" */
8279
8483
  labelPosition?: 'dynamic' | 'top' | 'center';
8280
- /** Использовать состояние загрузки выпадающего меню */
8484
+ /**
8485
+ * Использовать состояние загрузки выпадающего меню
8486
+ * @default false */
8281
8487
  loading?: boolean;
8282
- /** Текст для состояния загрузки выпадающего меню */
8488
+ /**
8489
+ * Текст для состояния загрузки выпадающего меню
8490
+ * @default undefined */
8283
8491
  loadingMessage?: JSX.Element | string;
8284
- /** Иконка для состояния загрузки выпадающего меню (по умолчанию анимированный спиннер) */
8492
+ /**
8493
+ * Иконка для состояния загрузки выпадающего меню
8494
+ * @default "loaderFill" */
8285
8495
  loadingIcon?: JSX.Element | IconName;
8286
- /** Пропсы для иконки состояния загрузки выпадающего меню */
8496
+ /**
8497
+ * Пропсы для иконки состояния загрузки выпадающего меню
8498
+ * @default {} */
8287
8499
  loadingIconProps?: IconProps;
8288
- /** Максимальная длина строки текстового ввода */
8500
+ /**
8501
+ * Максимальная длина строки текстового ввода
8502
+ * @default undefined */
8289
8503
  maxLength?: number;
8290
- /** Пропсы выпадающего меню для конфигурации размеров */
8504
+ /**
8505
+ * Пропсы выпадающего меню для конфигурации размеров
8506
+ * @default {} */
8291
8507
  menuProps?: Pick<DropdownMenuProps, 'size' | 'sizeXL' | 'sizeL' | 'sizeM' | 'sizeS' | 'sizeXS' | 'sizeXXS' | 'sizes' | 'expanseDirectionLeft'>;
8292
- /** Включить мод множественного выбора (по умолчанию false) */
8508
+ /**
8509
+ * Включить мод множественного выбора
8510
+ * @default false */
8293
8511
  multiple?: boolean;
8294
- /** Значение для атрибута name инпутов, которые хранят value выбранных опций */
8512
+ /**
8513
+ * Значение для атрибута name инпутов, которые хранят value выбранных опций
8514
+ * @default "fox-dropdown" */
8295
8515
  name?: string;
8296
- /** Колбек, который будет вызван при закрытии выпадающего меню */
8516
+ /**
8517
+ * Колбек, который будет вызван при закрытии выпадающего меню
8518
+ * @default undefined */
8297
8519
  onCloseMenu?: () => void;
8298
- /** Колбек, который будет вызван при открытии выпадающего меню */
8520
+ /**
8521
+ * Колбек, который будет вызван при открытии выпадающего меню
8522
+ * @default undefined */
8299
8523
  onOpenMenu?: () => void;
8300
- /** Колбек, который будет вызван при выборе опции.
8301
- * Получает аргументом текущую выбранную опцию, опции или null */
8524
+ /**
8525
+ * Колбек, который будет вызван при выборе опции.
8526
+ * Получает аргументом текущую выбранную опцию, опции или null
8527
+ * @default undefined */
8302
8528
  onSelectOption?: (selectedOption: DropdownOption | null | DropdownOption[]) => void;
8303
8529
  /** Доступные для выбора опции */
8304
8530
  options: DropdownOption[];
8305
- /** Группировать выбранные опции в выпадающем меню, если включен мод множественного выбора (по умолчанию false) */
8531
+ /**
8532
+ * Группировать выбранные опции в выпадающем меню, если включен мод множественного выбора
8533
+ * @default false */
8306
8534
  groupSelectedOptions?: boolean;
8307
- /** Отображать специальный контрол для массового выбора опций, если включен мод множественного выбора (по умолчанию true) */
8535
+ /**
8536
+ * Отображать специальный контрол для массового выбора опций, если включен мод множественного выбора
8537
+ * @default true */
8308
8538
  optionsMultiToggle?: boolean;
8309
- /** Текст рядом с специальным контролом для массового выбора опций */
8539
+ /**
8540
+ * Текст рядом со специальным контролом для массового выбора опций
8541
+ * @default undefined */
8310
8542
  optionsMultiToggleCaption?: JSX.Element | string;
8311
- /** Текстовый статус для состояния выпадающего меню, при котором нет подходящих опций */
8543
+ /**
8544
+ * Текстовый статус для состояния выпадающего меню, при котором нет подходящих опций
8545
+ * @default undefined */
8312
8546
  optionsEmptyMessage?: JSX.Element | string;
8313
- /** Иконка для пустого состояния выпадающего меню (по умолчанию redo) */
8547
+ /**
8548
+ * Иконка для пустого состояния выпадающего меню
8549
+ * @default "redo" */
8314
8550
  optionsEmptyIcon?: JSX.Element | IconName;
8315
- /** Пропсы для иконки пустого состояния выпадающего меню */
8551
+ /**
8552
+ * Пропсы для иконки пустого состояния выпадающего меню
8553
+ * @default {} */
8316
8554
  optionsEmptyIconProps?: IconProps;
8317
- /** Пользовательские цвета */
8555
+ /**
8556
+ * Пользовательские цвета
8557
+ * @default undefined */
8318
8558
  palette?: {
8319
8559
  color?: Color;
8320
8560
  colorDisabled?: Color;
@@ -8330,23 +8570,41 @@ interface DropdownProps extends ResponsiveSizeProps<DropdownSize>, ResponsiveMar
8330
8570
  borderColorDisabled?: Color;
8331
8571
  menuBorderColor?: Color;
8332
8572
  };
8333
- /** Подсказка в инпуте текстового ввода */
8573
+ /**
8574
+ * Подсказка в инпуте текстового ввода
8575
+ * @default undefined */
8334
8576
  placeholder?: string;
8335
- /** Вариант цветовой схемы */
8577
+ /**
8578
+ * Вариант цветовой схемы
8579
+ * @default true */
8336
8580
  primary?: boolean;
8337
- /** Нельзя изменить текущее состояние, но можно взаимодействовать */
8581
+ /**
8582
+ * Нельзя изменить текущее состояние, но можно взаимодействовать
8583
+ * @default false */
8338
8584
  readOnly?: boolean;
8339
- /** Сделать выбор опции обязательным */
8585
+ /**
8586
+ * Сделать выбор опции обязательным
8587
+ * @default false */
8340
8588
  required?: boolean;
8341
- /** Возможность текстового ввода для поиска опций (по умолчанию true) */
8589
+ /**
8590
+ * Возможность текстового ввода для поиска опций
8591
+ * @default true */
8342
8592
  searchable?: boolean;
8343
- /** Вариант цветовой схемы */
8593
+ /**
8594
+ * Вариант цветовой схемы
8595
+ * @default false */
8344
8596
  secondary?: boolean;
8345
- /** Цветовая схема для валидации */
8597
+ /**
8598
+ * Цветовая схема для валидации
8599
+ * @default undefined */
8346
8600
  status?: DropdownStatus;
8347
- /** Идентификатор ассоциированной формы */
8601
+ /**
8602
+ * Идентификатор ассоциированной формы
8603
+ * @default undefined */
8348
8604
  form?: string;
8349
- /** z-index для рутового элемента */
8605
+ /**
8606
+ * z-index для рутового элемента
8607
+ * @default undefined */
8350
8608
  zIndex?: number;
8351
8609
  }
8352
8610