@salutejs/plasma-new-hope 0.320.1-canary.1893.14259826529.0 → 0.321.0-canary.1872.14258030126.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/cjs/components/Steps/Steps.css +9 -9
- package/cjs/components/Steps/Steps.js +9 -3
- package/cjs/components/Steps/Steps.js.map +1 -1
- package/cjs/components/Steps/Steps.tokens.js +3 -1
- package/cjs/components/Steps/Steps.tokens.js.map +1 -1
- package/cjs/components/Steps/ui/StepItem/StepItem.css +9 -9
- package/cjs/components/Steps/ui/StepItem/StepItem.styles.js +1 -1
- package/cjs/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
- package/cjs/components/Steps/ui/StepItem/{StepItem.styles_c6jhr1.css → StepItem.styles_vom1a1.css} +3 -3
- package/cjs/components/Steps/variations/_itemView/base.js +9 -0
- package/cjs/components/Steps/variations/_itemView/base.js.map +1 -0
- package/cjs/components/Steps/variations/_itemView/base_x642ct.css +1 -0
- package/cjs/engines/linaria.js.map +1 -1
- package/cjs/engines/utils.js.map +1 -1
- package/cjs/index.css +9 -9
- package/emotion/cjs/components/Steps/Steps.js +9 -3
- package/emotion/cjs/components/Steps/Steps.template-doc.mdx +67 -5
- package/emotion/cjs/components/Steps/Steps.tokens.js +3 -1
- package/emotion/cjs/components/Steps/ui/StepItem/StepItem.styles.js +10 -10
- package/emotion/cjs/components/Steps/variations/_itemView/base.js +8 -0
- package/emotion/cjs/components/Steps/variations/_itemView/tokens.json +1 -0
- package/emotion/cjs/engines/emotion.js +1 -1
- package/emotion/cjs/examples/plasma_b2c/components/Steps/Steps.config.js +34 -7
- package/emotion/cjs/examples/plasma_b2c/components/Steps/Steps.stories.tsx +21 -5
- package/emotion/cjs/examples/plasma_web/components/Steps/Steps.config.js +34 -7
- package/emotion/cjs/examples/plasma_web/components/Steps/Steps.stories.tsx +21 -5
- package/emotion/es/components/Steps/Steps.js +9 -3
- package/emotion/es/components/Steps/Steps.template-doc.mdx +67 -5
- package/emotion/es/components/Steps/Steps.tokens.js +3 -1
- package/emotion/es/components/Steps/ui/StepItem/StepItem.styles.js +10 -10
- package/emotion/es/components/Steps/variations/_itemView/base.js +2 -0
- package/emotion/es/components/Steps/variations/_itemView/tokens.json +1 -0
- package/emotion/es/engines/emotion.js +1 -1
- package/emotion/es/examples/plasma_b2c/components/Steps/Steps.config.js +34 -7
- package/emotion/es/examples/plasma_b2c/components/Steps/Steps.stories.tsx +21 -5
- package/emotion/es/examples/plasma_web/components/Steps/Steps.config.js +34 -7
- package/emotion/es/examples/plasma_web/components/Steps/Steps.stories.tsx +21 -5
- package/es/components/Steps/Steps.css +9 -9
- package/es/components/Steps/Steps.js +9 -3
- package/es/components/Steps/Steps.js.map +1 -1
- package/es/components/Steps/Steps.tokens.js +3 -1
- package/es/components/Steps/Steps.tokens.js.map +1 -1
- package/es/components/Steps/ui/StepItem/StepItem.css +9 -9
- package/es/components/Steps/ui/StepItem/StepItem.styles.js +1 -1
- package/es/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
- package/es/components/Steps/ui/StepItem/{StepItem.styles_c6jhr1.css → StepItem.styles_vom1a1.css} +3 -3
- package/es/components/Steps/variations/_itemView/base.js +5 -0
- package/es/components/Steps/variations/_itemView/base.js.map +1 -0
- package/es/components/Steps/variations/_itemView/base_x642ct.css +1 -0
- package/es/engines/linaria.js.map +1 -1
- package/es/engines/utils.js.map +1 -1
- package/es/index.css +9 -9
- package/package.json +4 -4
- package/styled-components/cjs/components/Steps/Steps.js +9 -3
- package/styled-components/cjs/components/Steps/Steps.template-doc.mdx +67 -5
- package/styled-components/cjs/components/Steps/Steps.tokens.js +3 -1
- package/styled-components/cjs/components/Steps/ui/StepItem/StepItem.styles.js +3 -3
- package/styled-components/cjs/components/Steps/variations/_itemView/base.js +8 -0
- package/styled-components/cjs/components/Steps/variations/_itemView/tokens.json +1 -0
- package/styled-components/cjs/examples/plasma_b2c/components/Steps/Steps.config.js +30 -3
- package/styled-components/cjs/examples/plasma_b2c/components/Steps/Steps.stories.tsx +21 -5
- package/styled-components/cjs/examples/plasma_web/components/Steps/Steps.config.js +30 -3
- package/styled-components/cjs/examples/plasma_web/components/Steps/Steps.stories.tsx +21 -5
- package/styled-components/es/components/Steps/Steps.js +9 -3
- package/styled-components/es/components/Steps/Steps.template-doc.mdx +67 -5
- package/styled-components/es/components/Steps/Steps.tokens.js +3 -1
- package/styled-components/es/components/Steps/ui/StepItem/StepItem.styles.js +3 -3
- package/styled-components/es/components/Steps/variations/_itemView/base.js +2 -0
- package/styled-components/es/components/Steps/variations/_itemView/tokens.json +1 -0
- package/styled-components/es/examples/plasma_b2c/components/Steps/Steps.config.js +30 -3
- package/styled-components/es/examples/plasma_b2c/components/Steps/Steps.stories.tsx +21 -5
- package/styled-components/es/examples/plasma_web/components/Steps/Steps.config.js +30 -3
- package/styled-components/es/examples/plasma_web/components/Steps/Steps.stories.tsx +21 -5
- package/types/components/Steps/Steps.d.ts +2 -0
- package/types/components/Steps/Steps.d.ts.map +1 -1
- package/types/components/Steps/Steps.tokens.d.ts +2 -0
- package/types/components/Steps/Steps.tokens.d.ts.map +1 -1
- package/types/components/Steps/Steps.types.d.ts +5 -1
- package/types/components/Steps/Steps.types.d.ts.map +1 -1
- package/types/components/Steps/ui/StepItem/StepItem.styles.d.ts.map +1 -1
- package/types/components/Steps/variations/_itemView/base.d.ts +2 -0
- package/types/components/Steps/variations/_itemView/base.d.ts.map +1 -0
- package/types/engines/emotion.d.ts +1 -1
- package/types/engines/emotion.d.ts.map +1 -1
- package/types/engines/linaria.d.ts +1 -1
- package/types/engines/linaria.d.ts.map +1 -1
- package/types/engines/types.d.ts +1 -1
- package/types/engines/types.d.ts.map +1 -1
- package/types/engines/utils.d.ts +2 -2
- package/types/engines/utils.d.ts.map +1 -1
@@ -1,14 +1,17 @@
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
2
2
|
import type { ComponentProps } from 'react';
|
3
3
|
import type { StoryObj, Meta } from '@storybook/react';
|
4
|
-
import {
|
4
|
+
import { getConfigVariations } from '@salutejs/plasma-sb-utils';
|
5
5
|
|
6
6
|
import { IconMic } from '../../../../components/_Icon';
|
7
7
|
import { argTypesFromConfig, WithTheme } from '../../../_helpers';
|
8
8
|
import { StepItemProps } from '../../../../components/Steps/ui';
|
9
9
|
|
10
|
+
import { config } from './Steps.config';
|
10
11
|
import { Steps, mergedConfig } from './Steps';
|
11
12
|
|
13
|
+
const { views, sizes } = getConfigVariations(config);
|
14
|
+
|
12
15
|
const meta: Meta<typeof Steps> = {
|
13
16
|
title: 'web/Navigation/Steps',
|
14
17
|
decorators: [WithTheme],
|
@@ -133,9 +136,11 @@ const DefaultStory = (args) => {
|
|
133
136
|
|
134
137
|
export const Default: Story = {
|
135
138
|
args: {
|
139
|
+
view: 'default',
|
140
|
+
itemView: 'default',
|
141
|
+
size: 'm',
|
136
142
|
maxWidth: '100%',
|
137
143
|
quantity: 6,
|
138
|
-
size: 'm',
|
139
144
|
title: 'Title',
|
140
145
|
content: 'Content',
|
141
146
|
contentAlign: 'left',
|
@@ -153,10 +158,22 @@ export const Default: Story = {
|
|
153
158
|
type: 'text',
|
154
159
|
},
|
155
160
|
},
|
161
|
+
view: {
|
162
|
+
options: views,
|
163
|
+
control: {
|
164
|
+
type: 'select',
|
165
|
+
},
|
166
|
+
},
|
167
|
+
itemView: {
|
168
|
+
options: ['default', 'negative', 'warning', 'positive'],
|
169
|
+
control: {
|
170
|
+
type: 'select',
|
171
|
+
},
|
172
|
+
},
|
156
173
|
size: {
|
157
|
-
options:
|
174
|
+
options: sizes,
|
158
175
|
control: {
|
159
|
-
type: '
|
176
|
+
type: 'select',
|
160
177
|
},
|
161
178
|
},
|
162
179
|
orientation: {
|
@@ -189,7 +206,6 @@ export const Default: Story = {
|
|
189
206
|
type: 'boolean',
|
190
207
|
},
|
191
208
|
},
|
192
|
-
...disableProps(['view']),
|
193
209
|
},
|
194
210
|
render: (args) => <DefaultStory {...args} />,
|
195
211
|
};
|
@@ -1,5 +1,5 @@
|
|
1
1
|
function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
|
2
|
-
var _excluded = ["view", "size", "orientation", "contentAlign", "hasLine", "hasContent", "hasLoader", "items", "onChange", "current", "status"];
|
2
|
+
var _excluded = ["view", "itemView", "size", "orientation", "contentAlign", "hasLine", "hasContent", "hasLoader", "items", "onChange", "current", "status"];
|
3
3
|
function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
4
4
|
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
5
5
|
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
@@ -21,11 +21,14 @@ import { StepItem } from './ui';
|
|
21
21
|
import { base } from './Steps.styles';
|
22
22
|
import { base as sizeCSS } from './variations/_size/base';
|
23
23
|
import { base as viewCSS } from './variations/_view/base';
|
24
|
+
import { base as itemViewCSS } from './variations/_itemView/base';
|
24
25
|
import { getItemStatus } from './utils/getItemStatus';
|
25
26
|
export var stepsRoot = function stepsRoot(Root) {
|
26
27
|
return /*#__PURE__*/forwardRef(function (props, outerRef) {
|
27
28
|
var _props$view = props.view,
|
28
29
|
view = _props$view === void 0 ? 'default' : _props$view,
|
30
|
+
_props$itemView = props.itemView,
|
31
|
+
itemView = _props$itemView === void 0 ? 'default' : _props$itemView,
|
29
32
|
size = props.size,
|
30
33
|
_props$orientation = props.orientation,
|
31
34
|
orientation = _props$orientation === void 0 ? 'horizontal' : _props$orientation,
|
@@ -86,6 +89,7 @@ export var stepsRoot = function stepsRoot(Root) {
|
|
86
89
|
return /*#__PURE__*/React.createElement(Root, _extends({
|
87
90
|
size: size,
|
88
91
|
view: view,
|
92
|
+
itemView: itemView,
|
89
93
|
ref: outerRef,
|
90
94
|
className: cls(_defineProperty(_defineProperty(_defineProperty({}, classes.verticalOrientation, orientation === 'vertical'), classes.simple, isSimple), classes.hasIndicator, hasIndicator))
|
91
95
|
}, rest), innerItems.map(function (item, index) {
|
@@ -120,10 +124,12 @@ export var stepsConfig = {
|
|
120
124
|
base: base,
|
121
125
|
variations: {
|
122
126
|
size: sizeCSS,
|
123
|
-
view: viewCSS
|
127
|
+
view: viewCSS,
|
128
|
+
itemView: itemViewCSS
|
124
129
|
},
|
125
130
|
defaults: {
|
126
131
|
view: 'default',
|
127
|
-
size: 'm'
|
132
|
+
size: 'm',
|
133
|
+
itemView: 'default'
|
128
134
|
}
|
129
135
|
};
|
@@ -10,7 +10,29 @@ import { PropsTable, Description } from '@site/src/components';
|
|
10
10
|
<Description name="Steps" />
|
11
11
|
<PropsTable name="Steps" />
|
12
12
|
|
13
|
-
##
|
13
|
+
## Внешнее вид
|
14
|
+
|
15
|
+
:::info
|
16
|
+
Важно! Значения `ItemView` применяются к шагу только когда его статус — inProgress.
|
17
|
+
:::
|
18
|
+
|
19
|
+
Внешний вид компонента регулируется 2 свойствами:
|
20
|
+
|
21
|
+
#### View
|
22
|
+
|
23
|
+
Свойство применяется ко всему компоненту и принимает следующие значения:
|
24
|
+
- `default`
|
25
|
+
- `accent`
|
26
|
+
|
27
|
+
#### ItemView
|
28
|
+
|
29
|
+
Свойство применяется к индикатору шага и заголовку, и принимает следующие значения:
|
30
|
+
- `default`
|
31
|
+
- `negative`
|
32
|
+
- `warning`
|
33
|
+
- `positive`
|
34
|
+
|
35
|
+
## Внешнее управление
|
14
36
|
|
15
37
|
```tsx live
|
16
38
|
import React, { useState } from 'react';
|
@@ -30,9 +52,7 @@ export function App() {
|
|
30
52
|
|
31
53
|
return (
|
32
54
|
<section>
|
33
|
-
<Steps items={items}
|
34
|
-
current={current}
|
35
|
-
/>
|
55
|
+
<Steps items={items} current={current} />
|
36
56
|
<br />
|
37
57
|
<Button view="secondary" onClick={onClick}>
|
38
58
|
Next
|
@@ -42,7 +62,7 @@ export function App() {
|
|
42
62
|
}
|
43
63
|
```
|
44
64
|
|
45
|
-
##
|
65
|
+
## Управление через onChange и статус шага
|
46
66
|
|
47
67
|
```tsx live
|
48
68
|
import React, { useState } from 'react';
|
@@ -82,3 +102,45 @@ export function App() {
|
|
82
102
|
);
|
83
103
|
}
|
84
104
|
```
|
105
|
+
|
106
|
+
|
107
|
+
## Использование свойства ItemView
|
108
|
+
|
109
|
+
```tsx live
|
110
|
+
import React, { useState } from 'react';
|
111
|
+
import { Steps, StepItemProps } from '@salutejs/{{ package }}';
|
112
|
+
|
113
|
+
export function App() {
|
114
|
+
const initialItems = [{
|
115
|
+
indicator: 1,
|
116
|
+
title: 'Title',
|
117
|
+
content: 'Content',
|
118
|
+
}, {
|
119
|
+
indicator: 2,
|
120
|
+
title: 'Title',
|
121
|
+
content: 'Content',
|
122
|
+
}, {
|
123
|
+
indicator: 3,
|
124
|
+
title: 'Title',
|
125
|
+
content: 'Content',
|
126
|
+
}];
|
127
|
+
|
128
|
+
const [items, setItems] = useState(initialItems);
|
129
|
+
|
130
|
+
const onChange = (item: StepItemProps, index: number, prevIndex: number) => {
|
131
|
+
if (prevIndex !== undefined) {
|
132
|
+
items[prevIndex].status = 'completed';
|
133
|
+
}
|
134
|
+
|
135
|
+
items[index].status = 'active';
|
136
|
+
|
137
|
+
setItems([...items]);
|
138
|
+
};
|
139
|
+
|
140
|
+
return (
|
141
|
+
<section>
|
142
|
+
<Steps items={items} itemView="positive" onChange={onChange} />
|
143
|
+
</section>
|
144
|
+
);
|
145
|
+
}
|
146
|
+
```
|
@@ -63,6 +63,7 @@ export var tokens = {
|
|
63
63
|
activeIndicatorColorHover: '--plasma-step-item-active-indicator-color-hover',
|
64
64
|
activeIndicatorBackground: '--plasma-step-item-active-indicator-background',
|
65
65
|
completedTitleColor: '--plasma-step-item-completed-title-color',
|
66
|
+
completedTitleColorHover: '--plasma-step-item-completed-title-color-hover',
|
66
67
|
completedIndicatorColor: '--plasma-step-item-completed-indicator-color',
|
67
68
|
completedIndicatorColorHover: '--plasma-step-item-completed-indicator-color-hover',
|
68
69
|
completedIndicatorBackground: '--plasma-step-item-completed-indicator-background',
|
@@ -72,5 +73,6 @@ export var tokens = {
|
|
72
73
|
inactiveIndicatorBackground: '--plasma-step-item-inactive-indicator-background',
|
73
74
|
inactiveIndicatorBackgroundHover: '--plasma-step-item-inactive-indicator-background-hover',
|
74
75
|
disabledOpacity: '--plasma-step-item-disabled-opacity',
|
75
|
-
dividerThickness: '--plasma-step-item-divider-thickness'
|
76
|
+
dividerThickness: '--plasma-step-item-divider-thickness',
|
77
|
+
dividerColor: '--plasma-step-item-divider-color'
|
76
78
|
};
|