@@ -11,6 +11,7 @@ import { RootComponent } from '../RootComponent/RootComponent';
1111import type { RootComponentProps } from '../RootComponent/RootComponent' ;
1212import { FlexItem , type FlexItemProps } from './FlexItem/FlexItem' ;
1313import styles from './Flex.module.css' ;
14+ import flexItemStyles from './FlexItem/FlexItem.module.css' ;
1415
1516export type { FlexItemProps } ;
1617
@@ -31,6 +32,14 @@ const alignClassNames = {
3132 baseline : styles . alignBaseline ,
3233} ;
3334
35+ const alignSelfClassNames = {
36+ start : flexItemStyles . alignSelfStart ,
37+ end : flexItemStyles . alignSelfEnd ,
38+ center : flexItemStyles . alignSelfCenter ,
39+ baseline : flexItemStyles . alignSelfBaseline ,
40+ stretch : flexItemStyles . alignSelfStretch ,
41+ } ;
42+
3443type FlexContentProps =
3544 | 'start'
3645 | 'end'
@@ -70,12 +79,20 @@ export interface FlexProps extends Omit<RootComponentProps<HTMLElement>, 'baseCl
7079 * Для инвертирования направления, эквивалентно `row-reverse` `column-reverse`.
7180 */
7281 reverse ?: boolean ;
82+ /**
83+ * Для задания выравнивания, отличного от установленного на родителе, эквивалентно `align-self`.
84+ */
85+ alignSelf ?: 'start' | 'end' | 'center' | 'baseline' | 'stretch' ;
7386}
7487
7588/**
7689 * @see https://vkui.io/components/flex
7790 */
7891export const Flex : React . FC < FlexProps > & {
92+ /**
93+ * @deprecated Since 8.0.0. Будет удалено в **VKUI v9**.
94+ * Используйте компонент `Flex`.
95+ */
7996 Item : typeof FlexItem ;
8097} = ( {
8198 gap = 0 ,
@@ -86,6 +103,7 @@ export const Flex: React.FC<FlexProps> & {
86103 direction = 'row' ,
87104 reverse = false ,
88105 children,
106+ alignSelf,
89107 ...props
90108} : FlexProps ) => {
91109 const [ rowGap , columnGap ] = calculateGap ( gap ) ;
@@ -100,6 +118,7 @@ export const Flex: React.FC<FlexProps> & {
100118 direction !== 'row' && styles . directionColumn ,
101119 margin !== 'none' && styles . marginAuto ,
102120 align && alignClassNames [ align ] ,
121+ alignSelf && alignSelfClassNames [ alignSelf ] ,
103122 justify && justifyClassNames [ justify ] ,
104123 getGapsPresets ( rowGap , columnGap ) ,
105124 ) }
0 commit comments