@itcase/ui 1.2.19 → 1.2.21

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 (182) hide show
  1. package/dist/cjs/components/Accordion.js +3 -2
  2. package/dist/cjs/components/Choice.js +1 -1
  3. package/dist/cjs/components/InputPassword.js +6 -6
  4. package/dist/cjs/components/Radio.js +85 -8
  5. package/dist/cjs/components/Switch.js +12 -8
  6. package/dist/cjs/components/Tile.js +3 -3
  7. package/dist/cjs/constants/componentProps/textColor.js +1 -1
  8. package/dist/cjs/constants/componentProps/textColorHover.js +1 -1
  9. package/dist/components/Accordion.js +3 -2
  10. package/dist/components/Choice.js +1 -1
  11. package/dist/components/InputPassword.js +6 -6
  12. package/dist/components/Radio.js +86 -5
  13. package/dist/components/Switch.js +12 -4
  14. package/dist/components/Tile.js +3 -3
  15. package/dist/constants/componentProps/textColor.js +1 -1
  16. package/dist/constants/componentProps/textColorHover.js +1 -1
  17. package/dist/css/components/Accordion/Accordion.css +1 -0
  18. package/dist/css/components/DatePicker/DatePicker.css +12 -12
  19. package/dist/css/components/Icon/Icon.css +4 -2
  20. package/dist/css/mixins/mixin_elevation.css +0 -2
  21. package/dist/css/mixins/mixin_typography.css +104 -84
  22. package/dist/css/mixins/mixin_utils.css +1 -1
  23. package/dist/css/styles/border-color/border-color.css +4 -2
  24. package/dist/css/styles/text-gradient/text-gradient.css +9 -4
  25. package/dist/css/tokens/colors.css +105 -0
  26. package/dist/css/tokens/elevation.css +10 -0
  27. package/dist/css/tokens/settings.css +31 -0
  28. package/dist/css/tokens/typography.css +127 -0
  29. package/dist/stories/Accordion.mdx +11 -0
  30. package/dist/stories/Accordion.stories.js +49 -32
  31. package/dist/stories/AccordionItem.mdx +15 -0
  32. package/dist/stories/AccordionItem.stories.js +69 -69
  33. package/dist/stories/AlignContent.mdx +85 -0
  34. package/dist/stories/AlignItems.mdx +74 -0
  35. package/dist/stories/AlignItems.stories.js +88 -0
  36. package/dist/stories/AlignSelf.mdx +85 -0
  37. package/dist/stories/AlignSelf.stories.js +101 -0
  38. package/dist/stories/Appearance.mdx +24 -9
  39. package/dist/stories/Appearance.stories.js +77 -23
  40. package/dist/stories/Avatar.mdx +23 -0
  41. package/dist/stories/Avatar.stories.js +69 -64
  42. package/dist/stories/Badge.mdx +20 -0
  43. package/dist/stories/Badge.stories.js +43 -44
  44. package/dist/stories/Button.mdx +48 -0
  45. package/dist/stories/Button.stories.js +26 -186
  46. package/dist/stories/Cell.mdx +23 -0
  47. package/dist/stories/Cell.stories.js +119 -119
  48. package/dist/stories/Checkbox.mdx +24 -0
  49. package/dist/stories/Checkbox.stories.js +42 -34
  50. package/dist/stories/Chips.mdx +31 -0
  51. package/dist/stories/Chips.stories.js +22 -67
  52. package/dist/stories/Choice.mdx +11 -0
  53. package/dist/stories/Choice.stories.js +59 -61
  54. package/dist/stories/Code.mdx +11 -0
  55. package/dist/stories/Code.stories.js +37 -40
  56. package/dist/stories/Columns.mdx +51 -0
  57. package/dist/stories/Columns.stories.js +80 -0
  58. package/dist/stories/DatePicker.mdx +31 -0
  59. package/dist/stories/DatePicker.stories.js +58 -59
  60. package/dist/stories/Dev.mdx +9 -0
  61. package/dist/stories/DevMode.mdx +8 -0
  62. package/dist/stories/Direction.mdx +84 -0
  63. package/dist/stories/Direction.stories.js +93 -0
  64. package/dist/stories/Divider.mdx +35 -0
  65. package/dist/stories/Divider.stories.js +28 -29
  66. package/dist/stories/Dot.mdx +19 -0
  67. package/dist/stories/Dot.stories.js +38 -39
  68. package/dist/stories/Drawer.mdx +11 -0
  69. package/dist/stories/Drawer.stories.js +75 -0
  70. package/dist/stories/Dropdown.mdx +12 -0
  71. package/dist/stories/Dropdown.stories.js +30 -29
  72. package/dist/stories/DropdownItem.mdx +19 -0
  73. package/dist/stories/DropdownItem.stories.js +76 -78
  74. package/dist/stories/Flex.stories.js +47 -0
  75. package/dist/stories/FlexAlignContent.stories.js +102 -0
  76. package/dist/stories/FlexAlignItems.stories.js +91 -0
  77. package/dist/stories/FlexAlignSelf.stories.js +97 -0
  78. package/dist/stories/FlexDirection.stories.js +112 -0
  79. package/dist/stories/FlexGrow.stories.js +69 -0
  80. package/dist/stories/FlexJustifyContent.stories.js +98 -0
  81. package/dist/stories/FlexOrder.stories.js +76 -0
  82. package/dist/stories/FlexWrap.stories.js +89 -0
  83. package/dist/stories/Grid.stories.js +202 -0
  84. package/dist/stories/Group.mdx +9 -0
  85. package/dist/stories/{Tab.group.stories.js → Group.stories.js} +60 -56
  86. package/dist/stories/Grow.mdx +40 -0
  87. package/dist/stories/Icon.mdx +15 -0
  88. package/dist/stories/Icon.stories.js +84 -82
  89. package/dist/stories/Image.mdx +15 -0
  90. package/dist/stories/Image.stories.js +134 -0
  91. package/dist/stories/Input.mdx +31 -0
  92. package/dist/stories/Input.stories.js +26 -26
  93. package/dist/stories/InputPassword.mdx +15 -0
  94. package/dist/stories/InputPassword.stories.js +32 -34
  95. package/dist/stories/JustifyContent.mdx +89 -0
  96. package/dist/stories/JustifyContent.stories.js +96 -0
  97. package/dist/stories/Label.mdx +31 -0
  98. package/dist/stories/Label.stories.js +63 -53
  99. package/dist/stories/Loader.mdx +31 -0
  100. package/dist/stories/Loader.stories.js +26 -28
  101. package/dist/stories/Logo.mdx +19 -0
  102. package/dist/stories/Logo.stories.js +28 -28
  103. package/dist/stories/MenuItem.mdx +15 -0
  104. package/dist/stories/MenuItem.stories.js +156 -91
  105. package/dist/stories/Message.mdx +12 -0
  106. package/dist/stories/Message.stories.js +34 -0
  107. package/dist/stories/ModalConfirm.stories.js +48 -47
  108. package/dist/stories/ModalDefault.stories.js +21 -20
  109. package/dist/stories/Notification.mdx +23 -0
  110. package/dist/stories/Notification.stories.js +24 -47
  111. package/dist/stories/Order.mdx +52 -0
  112. package/dist/stories/Overview.mdx +1 -2
  113. package/dist/stories/Pagination.mdx +11 -0
  114. package/dist/stories/Pagination.stories.js +24 -27
  115. package/dist/stories/Playground.mdx +1 -2
  116. package/dist/stories/Radio.mdx +29 -0
  117. package/dist/stories/Radio.stories.js +32 -33
  118. package/dist/stories/Response.mdx +18 -0
  119. package/dist/stories/Response.stories.js +66 -0
  120. package/dist/stories/SearchInput.mdx +19 -0
  121. package/dist/stories/{Search-input.stories.js → SearchInput.stories.js} +79 -62
  122. package/dist/stories/Segmented.mdx +11 -0
  123. package/dist/stories/Segmented.stories.js +49 -50
  124. package/dist/stories/Select.stories.js +155 -155
  125. package/dist/stories/Size.mdx +35 -0
  126. package/dist/stories/Size.stories.js +101 -0
  127. package/dist/stories/Skeleton.mdx +9 -0
  128. package/dist/stories/State.mdx +19 -0
  129. package/dist/stories/State.stories.js +70 -0
  130. package/dist/stories/Switch.mdx +23 -0
  131. package/dist/stories/Switch.stories.js +23 -23
  132. package/dist/stories/Text.mdx +35 -0
  133. package/dist/stories/Text.stories.js +172 -0
  134. package/dist/stories/Textarea.mdx +15 -0
  135. package/dist/stories/Textarea.stories.js +27 -27
  136. package/dist/stories/Tile.mdx +19 -0
  137. package/dist/stories/Tile.stories.js +111 -96
  138. package/dist/stories/Title.mdx +31 -0
  139. package/dist/stories/Title.stories.js +168 -0
  140. package/dist/stories/Tooltip.mdx +19 -0
  141. package/dist/stories/Tooltip.stories.js +164 -0
  142. package/dist/stories/WithTooltip.mdx +9 -0
  143. package/dist/stories/Wrap.mdx +52 -0
  144. package/dist/stories/Wrap.stories.js +74 -0
  145. package/dist/types/components/Accordion/Accordion.interface.d.ts +4 -0
  146. package/dist/types/components/Choice/Choice.interface.d.ts +0 -2
  147. package/dist/types/components/InputPassword/InputPassword.interface.d.ts +10 -8
  148. package/dist/types/components/Tile/Tile.d.ts +1 -1
  149. package/dist/types/components/Tile/Tile.interface.d.ts +3 -1
  150. package/dist/types/config/forms/datepicker.d.ts +18 -0
  151. package/dist/types/config/forms/index.d.ts +4 -0
  152. package/dist/types/config/forms/input.d.ts +14 -0
  153. package/dist/types/config/forms/select.d.ts +50 -0
  154. package/package.json +36 -42
  155. package/dist/Radio-BQo97TZL.js +0 -89
  156. package/dist/Radio-oMf0vN7T.js +0 -86
  157. package/dist/Switch-B5yVEqxz.js +0 -14
  158. package/dist/Switch-DEXsrPCo.js +0 -12
  159. package/dist/cjs/components/FormField.js +0 -122
  160. package/dist/components/FormField.js +0 -116
  161. package/dist/css/mixins/mixin.css +0 -78
  162. package/dist/stories/FormFieldCheckbox.stories.js +0 -77
  163. package/dist/stories/FormFieldChoice.stories.js +0 -75
  164. package/dist/stories/FormFieldDatepicker.stories.js +0 -51
  165. package/dist/stories/FormFieldFileInput.stories.js +0 -58
  166. package/dist/stories/FormFieldInput.stories.js +0 -66
  167. package/dist/stories/FormFieldInputPassword.stories.js +0 -66
  168. package/dist/stories/FormFieldMultiBadgeSelect.stories.js +0 -132
  169. package/dist/stories/FormFieldMultiSelect.stories.js +0 -127
  170. package/dist/stories/FormFieldSelect.stories.js +0 -99
  171. package/dist/stories/FormFieldSelectGroup.stories.js +0 -84
  172. package/dist/stories/NotFound.stories.js +0 -93
  173. package/dist/stories/Tab.appearance.stories.js +0 -260
  174. package/dist/stories/Tab.size.stories.js +0 -259
  175. package/dist/stories/Tab.state.stories.js +0 -227
  176. package/dist/types/components/FormField/ChoiceField.d.ts +0 -8
  177. package/dist/types/components/FormField/FormField.d.ts +0 -9
  178. package/dist/types/components/FormField/FormFiled.interface.d.ts +0 -77
  179. package/dist/types/components/FormField/PasswordField.d.ts +0 -9
  180. package/dist/types/components/FormField/SelectField.d.ts +0 -9
  181. package/dist/types/components/FormField/SwitchField.d.ts +0 -8
  182. package/dist/types/components/FormField/index.d.ts +0 -6
@@ -1,10 +1,33 @@
1
1
  import React from 'react'
2
2
 
3
- import { Accordion, AccordionItem } from '@itcase/ui/components/Accordion'
4
- import { borderColorProps, directionProps, fillProps, shapeProps } from '@itcase/ui/constants'
3
+ import { borderColorProps, directionProps, fillProps, shapeProps } from '../../../constants'
4
+ import { Icon } from '../../Icon'
5
+ import { Accordion } from '../Accordion'
6
+ import { AccordionItem } from '../AccordionItem'
5
7
 
6
8
  export default {
7
- title: 'Atoms / Accordion / Default',
9
+ argTypes: {
10
+ borderColor: {
11
+ control: 'select',
12
+ options: borderColorProps,
13
+ },
14
+ direction: {
15
+ control: 'inline-radio',
16
+ options: directionProps,
17
+ },
18
+ advancedProps: { control: 'boolean' },
19
+ className: {
20
+ if: { arg: 'advancedProps' },
21
+ },
22
+ fill: {
23
+ control: 'select',
24
+ options: fillProps,
25
+ },
26
+ shape: {
27
+ control: 'inline-radio',
28
+ options: shapeProps,
29
+ },
30
+ },
8
31
  component: Accordion,
9
32
  parameters: {
10
33
  controls: {
@@ -21,68 +44,62 @@ export default {
21
44
  ],
22
45
  },
23
46
  },
24
- argTypes: {
25
- advancedProps: { control: 'boolean' },
26
- className: {
27
- if: { arg: 'advancedProps' },
28
- },
29
- borderColor: {
30
- options: borderColorProps,
31
- control: 'select',
32
- },
33
- fill: {
34
- options: fillProps,
35
- control: 'select',
36
- },
37
- direction: {
38
- options: directionProps,
39
- control: 'inline-radio',
40
- },
41
- shape: {
42
- options: shapeProps,
43
- control: 'inline-radio',
44
- },
45
- },
47
+ title: 'Molecules / Accordion / Default',
46
48
  }
47
49
 
48
50
  export const Default = {
49
51
  args: {
50
- borderColor: 'accentBorderPrimary',
51
- fill: 'surfaceSecondary',
52
- shape: 'rounded',
53
52
  children: (
54
53
  <React.Fragment>
55
54
  <AccordionItem
55
+ fillHover="accentTertiary"
56
56
  content="content 1"
57
57
  contentFill="primaryPrimary"
58
58
  contentTextColor="surfaceTextPrimary"
59
59
  contentTextSize="m"
60
- fillHover="accentTertiary"
61
- isExpanded={true}
62
60
  size="xs"
63
61
  title="Title 1"
64
62
  titleFill="secondaryPrimary"
65
63
  titleFillHover="secondaryPrimaryHover"
66
64
  titleTextColor="surfaceTextPrimary"
67
65
  titleTextSize="m"
66
+ icon=<Icon
67
+ iconFill="surfaceItemSecondary"
68
+ imageSrc="assets/16/ChevronDown.svg"
69
+ size="16"
70
+ />
71
+ isExpanded={true}
68
72
  />
69
73
  <AccordionItem
70
- content="content 2"
71
74
  fillHover="accentTertiary"
75
+ content="content 2"
72
76
  size="xs"
73
77
  title="Title 2"
74
78
  titleTextColor="surfaceTextPrimary"
75
79
  titleTextSize="m"
80
+ icon=<Icon
81
+ iconFill="surfaceItemSecondary"
82
+ imageSrc="assets/16/ChevronDown.svg"
83
+ size="16"
84
+ />
76
85
  />
77
86
  <AccordionItem
78
- content="content 3"
79
87
  fillHover="accentTertiary"
88
+ content="content 3"
80
89
  size="xs"
81
90
  title="Title 3"
82
91
  titleTextColor="surfaceTextPrimary"
83
92
  titleTextSize="m"
93
+ icon=<Icon
94
+ iconFill="surfaceItemSecondary"
95
+ imageSrc="assets/16/ChevronDown.svg"
96
+ size="16"
97
+ />
84
98
  />
85
99
  </React.Fragment>
86
100
  ),
101
+ borderColor: 'accentBorderPrimary',
102
+ fill: 'surfaceSecondary',
103
+ shape: 'rounded',
87
104
  },
88
105
  }
@@ -0,0 +1,15 @@
1
+ import { Canvas, Meta } from '@storybook/blocks'
2
+
3
+ import * as AccordionItemStories from './AccordionItem.stories.js'
4
+
5
+ <Meta of={AccordionItemStories} />
6
+
7
+ # AccordionItem
8
+
9
+ ## Closed
10
+
11
+ <Canvas of={AccordionItemStories.Closed} />
12
+
13
+ ## Opened
14
+
15
+ <Canvas of={AccordionItemStories.Opened} />
@@ -1,135 +1,135 @@
1
- import { AccordionItem } from '@itcase/ui/components/Accordion'
2
-
3
1
  import {
4
2
  borderColorProps,
5
- fillProps,
6
3
  fillHoverProps,
4
+ fillProps,
7
5
  shapeProps,
8
- sizeProps,
9
- textSizeProps,
10
6
  textColorProps,
7
+ textSizeProps,
11
8
  textWeightProps,
12
- } from '@itcase/ui/constants'
9
+ } from '../../../constants'
10
+ import { Icon } from '../../Icon'
11
+ import { AccordionItem } from '../AccordionItem'
13
12
 
14
13
  export default {
15
- title: 'Atoms / Accordion / Item',
16
- component: AccordionItem,
17
- parameters: {
18
- controls: {
19
- exclude: [
20
- 'shapeDesktop',
21
- 'shapeMobile',
22
- 'shapeTablet',
23
- 'fillDesktop',
24
- 'fillMobile',
25
- 'fillTablet',
26
- 'iconFillDesktop',
27
- 'iconFillMobile',
28
- 'iconFillTablet',
29
- ],
30
- },
31
- },
32
14
  argTypes: {
33
- advancedProps: { control: 'boolean' },
34
- afterContent: {
35
- if: { arg: 'advancedProps' },
36
- },
37
- beforeContent: {
15
+ id: {
38
16
  if: { arg: 'advancedProps' },
39
17
  },
40
18
  children: {
41
19
  if: { arg: 'advancedProps' },
42
20
  },
43
- className: {
44
- if: { arg: 'advancedProps' },
45
- },
46
- id: {
47
- if: { arg: 'advancedProps' },
21
+ borderColor: {
22
+ control: 'select',
23
+ options: borderColorProps,
48
24
  },
49
25
  isExpanded: {
50
26
  control: 'boolean',
51
27
  },
52
- onClick: {
28
+ advancedProps: { control: 'boolean' },
29
+ afterContent: {
53
30
  if: { arg: 'advancedProps' },
54
31
  },
55
- iconFill: {
56
- options: fillProps,
57
- control: 'select',
32
+ beforeContent: {
33
+ if: { arg: 'advancedProps' },
58
34
  },
59
- borderColor: {
60
- options: borderColorProps,
61
- control: 'select',
35
+ className: {
36
+ if: { arg: 'advancedProps' },
62
37
  },
63
38
  contentBorderColor: {
39
+ control: 'select',
64
40
  options: borderColorProps,
41
+ },
42
+ contentFill: {
65
43
  control: 'select',
44
+ options: fillProps,
66
45
  },
67
- titleBorderColor: {
68
- options: borderColorProps,
46
+ contentTextColor: {
69
47
  control: 'select',
48
+ options: textColorProps,
49
+ },
50
+ contentTextSize: {
51
+ control: 'inline-radio',
52
+ options: textSizeProps,
70
53
  },
71
54
 
72
- fill: {
73
- options: fillProps,
55
+ contentTextWeight: {
74
56
  control: 'select',
57
+ options: textWeightProps,
75
58
  },
76
- fillHover: {
77
- options: fillHoverProps,
59
+ fill: {
78
60
  control: 'select',
79
- },
80
- contentFill: {
81
61
  options: fillProps,
82
- control: 'select',
83
62
  },
84
- titleFill: {
85
- options: fillProps,
63
+ fillHover: {
86
64
  control: 'select',
87
- },
88
- titleFillHover: {
89
65
  options: fillHoverProps,
66
+ },
67
+ iconFill: {
90
68
  control: 'select',
69
+ options: fillProps,
91
70
  },
92
71
  shape: {
72
+ control: 'inline-radio',
93
73
  options: shapeProps,
74
+ },
75
+ size: {
94
76
  control: 'inline-radio',
77
+ options: ['xs', 'l'],
95
78
  },
96
- contentTextColor: {
97
- options: textColorProps,
79
+ titleBorderColor: {
98
80
  control: 'select',
81
+ options: borderColorProps,
99
82
  },
100
- contentTextSize: {
101
- options: textSizeProps,
102
- control: 'inline-radio',
103
- },
104
- contentTextWeight: {
105
- options: textWeightProps,
83
+ titleFill: {
106
84
  control: 'select',
85
+ options: fillProps,
107
86
  },
108
- size: {
109
- options: ['xs', 'l'],
110
- control: 'inline-radio',
87
+ titleFillHover: {
88
+ control: 'select',
89
+ options: fillHoverProps,
111
90
  },
112
91
  titleTextColor: {
113
- options: textColorProps,
114
92
  control: 'select',
93
+ options: textColorProps,
115
94
  },
116
95
  titleTextSize: {
117
- options: textSizeProps,
118
96
  control: 'inline-radio',
97
+ options: textSizeProps,
119
98
  },
120
99
  titleTextWeight: {
121
- options: textWeightProps,
122
100
  control: 'select',
101
+ options: textWeightProps,
102
+ },
103
+ onClick: {
104
+ if: { arg: 'advancedProps' },
123
105
  },
124
106
  },
107
+ component: AccordionItem,
108
+ parameters: {
109
+ controls: {
110
+ exclude: [
111
+ 'shapeDesktop',
112
+ 'shapeMobile',
113
+ 'shapeTablet',
114
+ 'fillDesktop',
115
+ 'fillMobile',
116
+ 'fillTablet',
117
+ 'iconFillDesktop',
118
+ 'iconFillMobile',
119
+ 'iconFillTablet',
120
+ ],
121
+ },
122
+ },
123
+ title: 'Molecules / Accordion / Item',
125
124
  }
126
125
 
127
- export const Default = {
126
+ const Default = {
128
127
  args: {
129
128
  content: 'content 1',
130
- title: 'Title 1',
131
129
  contentTextColor: 'surfaceTextPrimary',
132
130
  contentTextSize: 'm',
131
+ icon: <Icon iconFill="surfaceItemSecondary" imageSrc="assets/16/ChevronDown.svg" size="16" />,
132
+ title: 'Title 1',
133
133
  titleTextColor: 'surfaceTextPrimary',
134
134
  titleTextSize: 'm',
135
135
  },
@@ -0,0 +1,85 @@
1
+ import { Canvas, Meta } from '@storybook/blocks'
2
+
3
+ import * as AlignContentStories from './FlexAlignContent.stories.js'
4
+
5
+ <Meta title="Layout / Flex / AlignContent" />
6
+
7
+ # AlignContent
8
+
9
+ Свойство `alignContent` распределяет пространство между и вокруг элементов вдоль поперечной оси контейнера.
10
+
11
+ ```js
12
+ <Flex alignContent="...">...</Flex>
13
+ ```
14
+
15
+ ## Значения
16
+
17
+ - `flexStart` — Элементы будут расположены вплотную друг к другу, в начале поперечной оси
18
+ - `flexEnd` — Элементы будут расположены вплотную друг к другу, начиная с конца поперечной оси
19
+ - `center` — Элементы будут расположены по центру контейнера
20
+ - `spaceBetween` — Элементы будут равномерно распределяться в контейнере и расстояние между ними одинаково
21
+ - `spaceAround` — Элементы будут расположены таким образом, чтобы пространство между двумя соседними элементами было одинаковым. Пустое пространство перед первым элементом и после последнего равно половине пространства между двумя соседними элементами
22
+ - `stretch` — Элементы равномерно растягиваются, заполняя свободное пространство
23
+
24
+ # Примеры использования
25
+
26
+ ### flexStart
27
+
28
+ Элементы будут расположены вплотную друг к другу, в начале поперечной оси
29
+
30
+ ```js
31
+ <Flex alignContent="flexStart">...</Flex>
32
+ ```
33
+
34
+ <Canvas of={AlignContentStories.FlexStart} />
35
+
36
+ ### flexEnd
37
+
38
+ Элементы будут расположены вплотную друг к другу, начиная с конца поперечной оси
39
+
40
+ ```js
41
+ <Flex alignContent="flexEnd">...</Flex>
42
+ ```
43
+
44
+ <Canvas of={AlignContentStories.FlexEnd} />
45
+
46
+ ### center
47
+
48
+ Элементы будут расположены по центру контейнера
49
+
50
+ ```js
51
+ <Flex alignContent="center">...</Flex>
52
+ ```
53
+
54
+ <Canvas of={AlignContentStories.Center} />
55
+
56
+ ### spaceBetween
57
+
58
+ Элементы будут равномерно распределяться в контейнере и расстояние между ними одинаково
59
+
60
+ ```js
61
+ <Flex alignContent="spaceBetween">...</Flex>
62
+ ```
63
+
64
+ <Canvas of={AlignContentStories.SpaceBetween} />
65
+
66
+ ### spaceAround
67
+
68
+ Элементы будут расположены таким образом, чтобы пространство между двумя соседними элементами было одинаковым.
69
+ Пустое пространство перед первым элементом и после последнего равно половине пространства между двумя соседними элементами
70
+
71
+ ```js
72
+ <Flex alignContent="spaceAround">...</Flex>
73
+ ```
74
+
75
+ <Canvas of={AlignContentStories.SpaceAround} />
76
+
77
+ ### stretch
78
+
79
+ Элементы равномерно растягиваются, заполняя свободное пространство
80
+
81
+ ```js
82
+ <Flex alignContent="stretch">...</Flex>
83
+ ```
84
+
85
+ <Canvas of={AlignContentStories.Stretch} />
@@ -0,0 +1,74 @@
1
+ import { Canvas, Meta } from '@storybook/blocks'
2
+
3
+ import * as AlignItemsStories from './AlignItems.stories.js'
4
+
5
+ <Meta title="Layout / Group / AlignItems" />
6
+
7
+ # AlignItems
8
+
9
+ Свойство `alignItems` выравнивает элементы внутри контейнера в перпендикулярном направлении.
10
+ То есть, если `direction="row"` выравнивает по горизонтали, если `direction="column"` выравнивает по вертикали.
11
+
12
+ ```js
13
+ <Group alignItems="...">...</Group>
14
+ ```
15
+
16
+ ## Значения
17
+
18
+ - `flexStart` — Элементы будут располагаться в начале поперечной оси контейнера
19
+ - `flexEnd` — Элементы будут располагаться в конце поперечной оси контейнера
20
+ - `center` — Элементы будут располагаться по центру поперечной оси контейнера
21
+ - `baseline` — Элементы будут располагаться по базовой линии поперечной оси контейнера
22
+ - `stretch` — Элементы растянутся таким образом, чтобы занять всё доступное пространство контейнера
23
+
24
+ # Примеры использования
25
+
26
+ ### flexStart
27
+
28
+ Элементы будут располагаться в начале поперечной оси контейнера
29
+
30
+ ```js
31
+ <Group alignItems="flexStart">...</Group>
32
+ ```
33
+
34
+ <Canvas of={AlignItemsStories.FlexStart} />
35
+
36
+ ### flexEnd
37
+
38
+ Элементы будут располагаться в конце поперечной оси контейнера
39
+
40
+ ```js
41
+ <Group alignItems="flexEnd">...</Group>
42
+ ```
43
+
44
+ <Canvas of={AlignItemsStories.FlexEnd} />
45
+
46
+ ### center
47
+
48
+ Элементы будут располагаться по центру поперечной оси контейнера
49
+
50
+ ```js
51
+ <Group alignItems="center">...</Group>
52
+ ```
53
+
54
+ <Canvas of={AlignItemsStories.Center} />
55
+
56
+ ### baseline
57
+
58
+ Элементы будут располагаться по базовой линии поперечной оси контейнера
59
+
60
+ ```js
61
+ <Group alignItems="baseline">...</Group>
62
+ ```
63
+
64
+ <Canvas of={AlignItemsStories.Baseline} />
65
+
66
+ ### stretch
67
+
68
+ Элементы растянутся таким образом, чтобы занять всё доступное пространство контейнера
69
+
70
+ ```js
71
+ <Group alignItems="stretch">...</Group>
72
+ ```
73
+
74
+ <Canvas of={AlignItemsStories.Stretch} />
@@ -0,0 +1,88 @@
1
+ import { Group } from '../../Group'
2
+ import { Text } from '../../Text'
3
+ import { argTypes } from './args'
4
+
5
+ export default {
6
+ argTypes: {
7
+ ...argTypes,
8
+ },
9
+ component: Group,
10
+ render: ({ ...args }) => (
11
+ <Group
12
+ width={args.width}
13
+ height={args.height}
14
+ fill={args.fill}
15
+ padding={args.padding}
16
+ borderColor={args.borderColor}
17
+ alignItems={args.alignItems}
18
+ direction={args.direction}
19
+ >
20
+ <Group height="60" minWidth="25%" fill="accentPrimary" padding="20" textAlign="center">
21
+ <Text size="xl" textColor="accentTextPrimary">
22
+ 1
23
+ </Text>
24
+ </Group>
25
+ <Group height="60" minWidth="25%" fill="primaryPrimary" padding="20" textAlign="center">
26
+ <Text size="xl" textColor="accentTextPrimary">
27
+ 2
28
+ </Text>
29
+ </Group>
30
+ <Group height="60" minWidth="25%" fill="secondaryPrimary" padding="20" textAlign="center">
31
+ <Text size="xl" textColor="accentTextPrimary">
32
+ 3
33
+ </Text>
34
+ </Group>
35
+ <Group height="60" minWidth="25%" fill="infoPrimary" padding="20" textAlign="center">
36
+ <Text size="xl" textColor="accentTextPrimary">
37
+ 4
38
+ </Text>
39
+ </Group>
40
+ </Group>
41
+ ),
42
+ title: 'Layout / Group / Variants / AlignItems',
43
+ }
44
+
45
+ const Default = {
46
+ args: {
47
+ width: '500',
48
+ padding: '20',
49
+ borderColor: 'surfaceBorderPrimary',
50
+ direction: 'vertical',
51
+ fill: 'surfacePrimary',
52
+ },
53
+ }
54
+
55
+ export const Stretch = {
56
+ args: {
57
+ ...Default.args,
58
+ alignItems: 'stretch',
59
+ },
60
+ }
61
+
62
+ export const FlexStart = {
63
+ args: {
64
+ ...Default.args,
65
+ alignItems: 'flex-start',
66
+ },
67
+ }
68
+
69
+ export const FlexEnd = {
70
+ args: {
71
+ ...Default.args,
72
+ alignItems: 'flex-end',
73
+ },
74
+ }
75
+
76
+ export const Center = {
77
+ args: {
78
+ ...Default.args,
79
+ alignItems: 'center',
80
+ },
81
+ }
82
+
83
+ export const Baseline = {
84
+ args: {
85
+ ...Default.args,
86
+ alignItems: 'baseline',
87
+ },
88
+ }
@@ -0,0 +1,85 @@
1
+ import { Canvas, Meta } from '@storybook/blocks'
2
+
3
+ import * as AlignSelfStories from './AlignSelf.stories.js'
4
+
5
+ <Meta title="Layout / Group / AlignSelf" />
6
+
7
+ # AlignSelf
8
+
9
+ Свойство `alignSelf` выравнивает элементы по текущей линии, переопределяя значение свойства `alignItems`.
10
+ Если у какого-либо элемента margin в поперечной оси выставлен в auto, то `alignSelf` игнорируется.
11
+
12
+ ```js
13
+ <Group alignSelf="...">...</Group>
14
+ ```
15
+
16
+ ## Значения
17
+
18
+ - `stretch` — Элемент растянется таким образом, чтобы занять всё доступное пространство контейнера
19
+ - `flexStart` — Элемент будет располагаться в начале поперечной оси контейнера
20
+ - `flexEnd` — Элемент будет располагаться в конце поперечной оси контейнера
21
+ - `center` — Элемент будет располагаться по центральной линии на поперечной оси
22
+ - `baseline` — Элемент выравнивается по базовой линии контейнера
23
+ - `auto` — Значение по умолчанию, элемент будет находиться в начале поперечной оси контейнера
24
+
25
+ # Примеры использования
26
+
27
+ ### stretch
28
+
29
+ Элемент растянется таким образом, чтобы занять всё доступное пространство контейнера
30
+
31
+ ```js
32
+ <Group alignSelf="stretch">...</Group>
33
+ ```
34
+
35
+ <Canvas of={AlignSelfStories.Stretch} />
36
+
37
+ ### flexStart
38
+
39
+ Элемент будет располагаться в начале поперечной оси контейнера
40
+
41
+ ```js
42
+ <Group alignSelf="flexStart">...</Group>
43
+ ```
44
+
45
+ <Canvas of={AlignSelfStories.FlexStart} />
46
+
47
+ ### flexEnd
48
+
49
+ Элемент будет располагаться в конце поперечной оси контейнера
50
+
51
+ ```js
52
+ <Group alignSelf="flexEnd">...</Group>
53
+ ```
54
+
55
+ <Canvas of={AlignSelfStories.FlexEnd} />
56
+
57
+ ### center
58
+
59
+ Элемент будет располагаться по центральной линии на поперечной оси
60
+
61
+ ```js
62
+ <Group alignSelf="center">...</Group>
63
+ ```
64
+
65
+ <Canvas of={AlignSelfStories.Center} />
66
+
67
+ ### baseline
68
+
69
+ Элемент выравнивается по базовой линии контейнера
70
+
71
+ ```js
72
+ <Group alignSelf="baseline">...</Group>
73
+ ```
74
+
75
+ <Canvas of={AlignSelfStories.Baseline} />
76
+
77
+ ### auto
78
+
79
+ Значение по умолчанию, элемент будет находиться в начале поперечной оси контейнера
80
+
81
+ ```js
82
+ <Group alignSelf="auto">...</Group>
83
+ ```
84
+
85
+ <Canvas of={AlignSelfStories.Auto} />