@foxford/ui 2.36.0-beta-5e1b37f-20240709 → 2.37.0-beta-3fd53b1-20240802

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 (43) hide show
  1. package/components/Chip/style.js +1 -1
  2. package/components/Chip/style.js.map +1 -1
  3. package/components/Dropdown/Dropdown.js +2 -0
  4. package/components/Dropdown/Dropdown.js.map +1 -0
  5. package/components/Dropdown/DropdownMenuNoOptions.js +2 -0
  6. package/components/Dropdown/DropdownMenuNoOptions.js.map +1 -0
  7. package/components/Dropdown/constants.js +2 -0
  8. package/components/Dropdown/constants.js.map +1 -0
  9. package/components/Dropdown/style.js +2 -0
  10. package/components/Dropdown/style.js.map +1 -0
  11. package/components/Dropdown/utils.js +2 -0
  12. package/components/Dropdown/utils.js.map +1 -0
  13. package/components/FormInputLabel/FormInputLabel.js +1 -1
  14. package/components/FormInputLabel/FormInputLabel.js.map +1 -1
  15. package/components/FormInputLabel/style.js +1 -1
  16. package/components/FormInputLabel/style.js.map +1 -1
  17. package/components/ListItem/style.js +1 -1
  18. package/components/ListItem/style.js.map +1 -1
  19. package/components/MenuComponent/MenuComponent.js +1 -1
  20. package/components/MenuComponent/MenuComponent.js.map +1 -1
  21. package/components/MenuComponent/constants.js +1 -1
  22. package/components/MenuComponent/constants.js.map +1 -1
  23. package/components/MenuComponent/style.js +1 -1
  24. package/components/MenuComponent/style.js.map +1 -1
  25. package/components/MenuContainer/style.js +1 -1
  26. package/components/MenuContainer/style.js.map +1 -1
  27. package/components/MenuList/MenuList.js +1 -1
  28. package/components/MenuList/MenuList.js.map +1 -1
  29. package/components/MenuList/style.js +1 -1
  30. package/components/MenuList/style.js.map +1 -1
  31. package/components/Text/style.js +1 -1
  32. package/components/Text/style.js.map +1 -1
  33. package/components/Tooltip/TooltipWrapper.js +1 -1
  34. package/components/Tooltip/TooltipWrapper.js.map +1 -1
  35. package/dts/index.d.ts +127 -2
  36. package/hooks/useMergedPalette.js +1 -1
  37. package/hooks/useMergedPalette.js.map +1 -1
  38. package/index.cjs.js +2 -2
  39. package/index.cjs.js.map +1 -1
  40. package/index.js +1 -1
  41. package/package.json +2 -1
  42. package/shared/constants.js +1 -1
  43. package/shared/constants.js.map +1 -1
package/dts/index.d.ts CHANGED
@@ -1061,6 +1061,8 @@ interface TextProps extends ResponsiveSizeProps, ResponsiveMarginProps, DisplayP
1061
1061
  weight?: CSSFontWeight;
1062
1062
  /** White space */
1063
1063
  whiteSpace?: string;
1064
+ /** Word break */
1065
+ wordBreak?: string;
1064
1066
  /** Font style */
1065
1067
  fontStyle?: 'normal' | 'italic';
1066
1068
  /** Text transform */
@@ -2186,6 +2188,8 @@ interface ListItemProps extends ResponsiveSizeProps, ResponsiveMarginProps, Omit
2186
2188
  /** Appearance variant */
2187
2189
  danger?: boolean;
2188
2190
  /** Appearance variant */
2191
+ success?: boolean;
2192
+ /** Appearance variant */
2189
2193
  active?: boolean;
2190
2194
  /** Appearance variant */
2191
2195
  onColored?: boolean;
@@ -2388,6 +2392,8 @@ interface ChipProps extends ResponsiveSizeProps, ResponsiveMarginProps, React.Re
2388
2392
  contrast?: boolean;
2389
2393
  /** Appearance variant */
2390
2394
  active?: boolean;
2395
+ /** @ignore Internal */
2396
+ cursor?: string;
2391
2397
  }
2392
2398
 
2393
2399
  /**
@@ -2425,7 +2431,7 @@ interface MenuComponentProps extends ResponsiveSizeProps, Omit<React.ComponentPr
2425
2431
  /** Callback to call on unmount (can be used to restore focus on trigger component) */
2426
2432
  onUnmount?: () => void;
2427
2433
  /** Render menu view (Menu.List, Menu.Container, or custom component) */
2428
- children: React.ReactElement | ((props: Pick<MenuComponentProps, 'size' | 'sizeXXS' | 'sizeXS' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXL' | 'showCloseButton' | 'closeButtonProps'> & {
2434
+ children?: React.ReactElement | ((props: Pick<MenuComponentProps, 'size' | 'sizeXXS' | 'sizeXS' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXL' | 'showCloseButton' | 'closeButtonProps'> & {
2429
2435
  closeFn: () => void;
2430
2436
  }) => React.ReactElement);
2431
2437
  /** Show button to close menu (forward to children) */
@@ -4206,4 +4212,123 @@ interface FormLabelProps extends ResponsiveSizeProps, ResponsiveMarginProps, Rea
4206
4212
  */
4207
4213
  declare const FormLabel: React.ForwardRefExoticComponent<FormLabelProps>;
4208
4214
 
4209
- export { ActionBtn, Alert, Amount, Anchor, Arrow, ArrowBadge, Avatar, Badge, BaseProps, Breakpoint, Button, COUNTRY_DATA, CSSBorderStyle, CSSColor, CSSFontWeight, CSSGlobalValue, CSSUnit, CSSVerticalAlign, CURRENCY_MAP, Checkbox, Chip, Color, ColorNames, ColorPaletteKey, Container, ContextMenu, CurrencyCodes, DEFAULT_MASK, FormLabel, HEX, INITIAL_MASK, Icon, IconButton, Indicator, Input, ListItem, Menu, Modal, Nullable, Paper, Popover, Progress, RGB, RGBA, Radio, withThemeScrollable as Scrollable, Section, Select, Separator, Size, Sizes, Skeleton, Spacer, Spinner, Switcher, Tab, Tabs, Tag, Text, Textarea, Theme, ThemeMode, ThemeName, ThemePreset, ThemeProvider, Tooltip, adultDarkTheme, adultLightTheme, babyDarkTheme, babyLightTheme, baseInputStyle, buildMediaQuery, color, defaultIcons, 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, vAlign };
4215
+ declare const FuseSearchKeys: {
4216
+ readonly text: "text";
4217
+ readonly tags: "tags";
4218
+ };
4219
+
4220
+ declare type DropdownStatus = 'success' | 'error';
4221
+ declare type DropdownOption = {
4222
+ /** Уникальный идентификатор (при сабмите используется в паре с name) */
4223
+ value: string;
4224
+ /** Цветовая схема для валидации */
4225
+ status?: DropdownStatus;
4226
+ /** Отображаемый текст (учитывается в текстовом поиске) */
4227
+ [FuseSearchKeys.text]: string;
4228
+ /** Ассоциативные теги (учитывается в текстовом поиске) */
4229
+ [FuseSearchKeys.tags]?: string[];
4230
+ };
4231
+ interface DropdownProps extends ResponsiveSizeProps, ResponsiveMarginProps, Omit<React.ComponentPropsWithRef<'div'>, 'children'> {
4232
+ /** Закрывать выпадающее меню при скролле */
4233
+ closeMenuOnScroll?: boolean;
4234
+ /** Адаптировать цветовую схему для контрастного фона */
4235
+ contrast?: boolean;
4236
+ /** Выбранная по умолчанию опция или опции */
4237
+ defaultSelectedOption?: DropdownOption | DropdownOption[];
4238
+ /** Интерактивность отключена */
4239
+ disabled?: boolean;
4240
+ /** Иконка для отображения с левого края */
4241
+ icon?: JSX.Element | IconName;
4242
+ /** Пропсы для иконки с левого края */
4243
+ iconProps?: IconProps;
4244
+ /** Отбражать компонент на одной линии с другими */
4245
+ inline?: boolean;
4246
+ /** Тип браузерной виртуальной клавиатуры */
4247
+ inputMode?: 'none' | 'text' | 'decimal' | 'numeric' | 'tel' | 'search' | 'email' | 'url';
4248
+ /** Текст для лейбла текстового инпута */
4249
+ label?: React.ReactNode;
4250
+ /** Положение текста лейбла текстового инпута (по умолчанию dynamic) */
4251
+ labelPosition?: 'dynamic' | 'top' | 'center';
4252
+ /** Использовать состояние загрузки выпадающего меню */
4253
+ loading?: boolean;
4254
+ /** Текст для состояния загрузки выпадающего меню */
4255
+ loadingMessage?: JSX.Element | string;
4256
+ /** Иконка для состояния загрузки выпадающего меню (по умолчанию анимированный спиннер) */
4257
+ loadingIcon?: JSX.Element | IconName;
4258
+ /** Пропсы для иконки состояния загрузки выпадающего меню */
4259
+ loadingIconProps?: IconProps;
4260
+ /** Максимальная длина строки текстового ввода */
4261
+ maxLength?: number;
4262
+ /** Пропсы выпадающего меню для конфигурации размеров */
4263
+ menuProps?: Pick<MenuComponentProps, 'size' | 'sizeXXS' | 'sizeXS' | 'sizeS' | 'sizeM' | 'sizeL' | 'sizeXL' | 'maxHeight'>;
4264
+ /** Включить мод множественного выбора (по умолчанию false) */
4265
+ multiple?: boolean;
4266
+ /** Значение для атрибута name инпутов, которые хранят value выбранных опций */
4267
+ name?: string;
4268
+ /** Колбек, который будет вызван при закрытии выпадающего меню */
4269
+ onCloseMenu?: () => void;
4270
+ /** Колбек, который будет вызван при открытии выпадающего меню */
4271
+ onOpenMenu?: () => void;
4272
+ /** Колбек, который будет вызван при выборе опции.
4273
+ * Получает аргументом текущую выбранную опцию, опции или null */
4274
+ onSelectOption?: (selectedOptions: DropdownOption | null | DropdownOption[]) => void;
4275
+ /** Доступные для выбора опции */
4276
+ options: DropdownOption[];
4277
+ /** Отображать специальный контрол для массового выбора опций, если включен мод множественного выбора (по умолчанию true) */
4278
+ optionsMultiToggle?: boolean;
4279
+ /** Текст рядом с специальным контролом для массового выбора опций */
4280
+ optionsMultiToggleCaption?: JSX.Element | string;
4281
+ /** Текстовый статус для состояния выпадающего меню, при котором нет подходящих опций */
4282
+ optionsEmptyMessage?: JSX.Element | string;
4283
+ /** Иконка для пустого состояния выпадающего меню (по умолчанию redo) */
4284
+ optionsEmptyIcon?: JSX.Element | IconName;
4285
+ /** Пропсы для иконки пустого состояния выпадающего меню */
4286
+ optionsEmptyIconProps?: IconProps;
4287
+ /** Пользовательские цвета */
4288
+ palette?: {
4289
+ color?: Color;
4290
+ colorDisabled?: Color;
4291
+ placeholderColor?: Color;
4292
+ placeholderColorDisabled?: Color;
4293
+ labelColor?: Color;
4294
+ labelColorHover?: Color;
4295
+ labelColorDisabled?: Color;
4296
+ backgroundColor?: Color;
4297
+ backgroundColorHover?: Color;
4298
+ backgroundColorDisabled?: Color;
4299
+ menuBackgroundColor?: Color;
4300
+ borderColor?: Color;
4301
+ borderColorDisabled?: Color;
4302
+ menuBorderColor?: Color;
4303
+ };
4304
+ /** Подсказка в инпуте текстового ввода */
4305
+ placeholder?: string;
4306
+ /** Вариант цветовой схемы */
4307
+ primary?: boolean;
4308
+ /** Нельзя изменить текущее состояние, но можно взаимодействовать */
4309
+ readOnly?: boolean;
4310
+ /** Сделать выбор опции обязательным */
4311
+ required?: boolean;
4312
+ /** Вариант цветовой схемы */
4313
+ secondary?: boolean;
4314
+ /** Цветовая схема для валидации */
4315
+ status?: DropdownStatus;
4316
+ /** Идентификатор ассоциированной формы */
4317
+ form?: string;
4318
+ /** z-index для рутового элемента */
4319
+ zIndex?: number;
4320
+ }
4321
+
4322
+ /**
4323
+ *
4324
+ * Компонент поддерживает все атрибуты \<div\> элемента.
4325
+ *
4326
+ * Можно передать "ref", который будет ассоциирован с рутовым элементом.
4327
+ *
4328
+ * Поддерживаются пропсы определения размеров и внешних отступов в зависимости от ширины вьюпорта.
4329
+ *
4330
+ * Полный интерфейс можно посмотреть [тут](https://github.com/foxford/ui/blob/master/src/components/Dropdown/types.ts).
4331
+ */
4332
+ declare const Dropdown: React.ForwardRefExoticComponent<DropdownProps>;
4333
+
4334
+ export { ActionBtn, Alert, Amount, Anchor, Arrow, ArrowBadge, Avatar, Badge, BaseProps, Breakpoint, Button, COUNTRY_DATA, CSSBorderStyle, CSSColor, CSSFontWeight, CSSGlobalValue, CSSUnit, CSSVerticalAlign, CURRENCY_MAP, Checkbox, Chip, Color, ColorNames, ColorPaletteKey, Container, ContextMenu, CurrencyCodes, DEFAULT_MASK, Dropdown, FormLabel, HEX, INITIAL_MASK, Icon, IconButton, Indicator, Input, ListItem, Menu, Modal, Nullable, Paper, Popover, Progress, RGB, RGBA, Radio, withThemeScrollable as Scrollable, Section, Select, Separator, Size, Sizes, Skeleton, Spacer, Spinner, Switcher, Tab, Tabs, Tag, Text, Textarea, Theme, ThemeMode, ThemeName, ThemePreset, ThemeProvider, Tooltip, adultDarkTheme, adultLightTheme, babyDarkTheme, babyLightTheme, baseInputStyle, buildMediaQuery, color, defaultIcons, 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, vAlign };
@@ -1,2 +1,2 @@
1
- import{useTheme as e}from'styled-components';function r(r){var t;var o=e();var a=null!==(t=r.palette)&&void 0!==t?t:{};return Object.keys(a).reduce(((e,r)=>{var t;return e[r]=null!==(t=o.colors[a[r]])&&void 0!==t?t:a[r],e}),{})}export{r as useMergedPalette};
1
+ import{useTheme as e}from'styled-components';function r(r){var t;var o=e();var a=null!==(t=r.palette)&&void 0!==t?t:{};return Object.keys(a).reduce(((e,r)=>{var t;var l=null!==(t=o.colors[a[r]])&&void 0!==t?t:a[r];return l&&(e[r]=l),e}),{})}export{r as useMergedPalette};
2
2
  //# sourceMappingURL=useMergedPalette.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useMergedPalette.js","sources":["../../../src/hooks/useMergedPalette.ts"],"sourcesContent":["import { useTheme } from 'styled-components'\nimport type { ColorPaletteKey, Color, CSSColor } from 'shared/types'\n\nexport function useMergedPalette<\n T extends {\n palette?: Partial<Record<ColorPaletteKey, Color>>\n }\n>(componentProps: T): Record<ColorPaletteKey, CSSColor> {\n const theme = useTheme()\n\n const palette = componentProps.palette ?? {}\n\n return Object.keys(palette).reduce((injected, key) => {\n injected[key] = theme.colors[palette[key]] ?? palette[key]\n return injected\n }, {} as Record<ColorPaletteKey, CSSColor>)\n}\n"],"names":["useMergedPalette","componentProps","_componentProps$palet","theme","useTheme","palette","Object","keys","reduce","injected","key","_theme$colors$palette","colors"],"mappings":"6CAGO,SAASA,EAIdC,GAAsD,IAAAC,EACtD,IAAMC,EAAQC,IAEd,IAAMC,UAAUJ,EAAAA,EAAeI,uBAAW,GAE1C,OAAOC,OAAOC,KAAKF,GAASG,QAAO,CAACC,EAAUC,KAAQ,IAAAC,EAEpD,OADAF,EAASC,WAAOP,EAAAA,EAAMS,OAAOP,EAAQK,mBAASL,EAAQK,GAC/CD,IACN"}
1
+ {"version":3,"file":"useMergedPalette.js","sources":["../../../src/hooks/useMergedPalette.ts"],"sourcesContent":["import { useTheme } from 'styled-components'\nimport type { ColorPaletteKey, Color, CSSColor } from 'shared/types'\n\nexport function useMergedPalette<\n T extends {\n palette?: Partial<Record<ColorPaletteKey, Color>>\n }\n>(componentProps: T): Record<ColorPaletteKey, CSSColor> {\n const theme = useTheme()\n\n const palette = componentProps.palette ?? {}\n\n return Object.keys(palette).reduce((injected, key) => {\n const cssColor = theme.colors[palette[key]] ?? palette[key]\n\n if (cssColor) {\n injected[key] = cssColor\n }\n\n return injected\n }, {} as Record<ColorPaletteKey, CSSColor>)\n}\n"],"names":["useMergedPalette","componentProps","_componentProps$palet","theme","useTheme","palette","Object","keys","reduce","injected","key","_theme$colors$palette","cssColor","colors"],"mappings":"6CAGO,SAASA,EAIdC,GAAsD,IAAAC,EACtD,IAAMC,EAAQC,IAEd,IAAMC,UAAUJ,EAAAA,EAAeI,uBAAW,GAE1C,OAAOC,OAAOC,KAAKF,GAASG,QAAAA,CAAQC,EAAUC,KAAQ,IAAAC,EACpD,IAAMC,EAAQ,QAAAD,EAAGR,EAAMU,OAAOR,EAAQK,WAAAA,IAAxBC,EAAAA,EAAiCN,EAAQK,GAMvD,OAJIE,IACFH,EAASC,GAAOE,GAGXH,IACN"}