@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.
Files changed (90) hide show
  1. package/cjs/components/Steps/Steps.css +9 -9
  2. package/cjs/components/Steps/Steps.js +9 -3
  3. package/cjs/components/Steps/Steps.js.map +1 -1
  4. package/cjs/components/Steps/Steps.tokens.js +3 -1
  5. package/cjs/components/Steps/Steps.tokens.js.map +1 -1
  6. package/cjs/components/Steps/ui/StepItem/StepItem.css +9 -9
  7. package/cjs/components/Steps/ui/StepItem/StepItem.styles.js +1 -1
  8. package/cjs/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
  9. package/cjs/components/Steps/ui/StepItem/{StepItem.styles_c6jhr1.css → StepItem.styles_vom1a1.css} +3 -3
  10. package/cjs/components/Steps/variations/_itemView/base.js +9 -0
  11. package/cjs/components/Steps/variations/_itemView/base.js.map +1 -0
  12. package/cjs/components/Steps/variations/_itemView/base_x642ct.css +1 -0
  13. package/cjs/engines/linaria.js.map +1 -1
  14. package/cjs/engines/utils.js.map +1 -1
  15. package/cjs/index.css +9 -9
  16. package/emotion/cjs/components/Steps/Steps.js +9 -3
  17. package/emotion/cjs/components/Steps/Steps.template-doc.mdx +67 -5
  18. package/emotion/cjs/components/Steps/Steps.tokens.js +3 -1
  19. package/emotion/cjs/components/Steps/ui/StepItem/StepItem.styles.js +10 -10
  20. package/emotion/cjs/components/Steps/variations/_itemView/base.js +8 -0
  21. package/emotion/cjs/components/Steps/variations/_itemView/tokens.json +1 -0
  22. package/emotion/cjs/engines/emotion.js +1 -1
  23. package/emotion/cjs/examples/plasma_b2c/components/Steps/Steps.config.js +34 -7
  24. package/emotion/cjs/examples/plasma_b2c/components/Steps/Steps.stories.tsx +21 -5
  25. package/emotion/cjs/examples/plasma_web/components/Steps/Steps.config.js +34 -7
  26. package/emotion/cjs/examples/plasma_web/components/Steps/Steps.stories.tsx +21 -5
  27. package/emotion/es/components/Steps/Steps.js +9 -3
  28. package/emotion/es/components/Steps/Steps.template-doc.mdx +67 -5
  29. package/emotion/es/components/Steps/Steps.tokens.js +3 -1
  30. package/emotion/es/components/Steps/ui/StepItem/StepItem.styles.js +10 -10
  31. package/emotion/es/components/Steps/variations/_itemView/base.js +2 -0
  32. package/emotion/es/components/Steps/variations/_itemView/tokens.json +1 -0
  33. package/emotion/es/engines/emotion.js +1 -1
  34. package/emotion/es/examples/plasma_b2c/components/Steps/Steps.config.js +34 -7
  35. package/emotion/es/examples/plasma_b2c/components/Steps/Steps.stories.tsx +21 -5
  36. package/emotion/es/examples/plasma_web/components/Steps/Steps.config.js +34 -7
  37. package/emotion/es/examples/plasma_web/components/Steps/Steps.stories.tsx +21 -5
  38. package/es/components/Steps/Steps.css +9 -9
  39. package/es/components/Steps/Steps.js +9 -3
  40. package/es/components/Steps/Steps.js.map +1 -1
  41. package/es/components/Steps/Steps.tokens.js +3 -1
  42. package/es/components/Steps/Steps.tokens.js.map +1 -1
  43. package/es/components/Steps/ui/StepItem/StepItem.css +9 -9
  44. package/es/components/Steps/ui/StepItem/StepItem.styles.js +1 -1
  45. package/es/components/Steps/ui/StepItem/StepItem.styles.js.map +1 -1
  46. package/es/components/Steps/ui/StepItem/{StepItem.styles_c6jhr1.css → StepItem.styles_vom1a1.css} +3 -3
  47. package/es/components/Steps/variations/_itemView/base.js +5 -0
  48. package/es/components/Steps/variations/_itemView/base.js.map +1 -0
  49. package/es/components/Steps/variations/_itemView/base_x642ct.css +1 -0
  50. package/es/engines/linaria.js.map +1 -1
  51. package/es/engines/utils.js.map +1 -1
  52. package/es/index.css +9 -9
  53. package/package.json +4 -4
  54. package/styled-components/cjs/components/Steps/Steps.js +9 -3
  55. package/styled-components/cjs/components/Steps/Steps.template-doc.mdx +67 -5
  56. package/styled-components/cjs/components/Steps/Steps.tokens.js +3 -1
  57. package/styled-components/cjs/components/Steps/ui/StepItem/StepItem.styles.js +3 -3
  58. package/styled-components/cjs/components/Steps/variations/_itemView/base.js +8 -0
  59. package/styled-components/cjs/components/Steps/variations/_itemView/tokens.json +1 -0
  60. package/styled-components/cjs/examples/plasma_b2c/components/Steps/Steps.config.js +30 -3
  61. package/styled-components/cjs/examples/plasma_b2c/components/Steps/Steps.stories.tsx +21 -5
  62. package/styled-components/cjs/examples/plasma_web/components/Steps/Steps.config.js +30 -3
  63. package/styled-components/cjs/examples/plasma_web/components/Steps/Steps.stories.tsx +21 -5
  64. package/styled-components/es/components/Steps/Steps.js +9 -3
  65. package/styled-components/es/components/Steps/Steps.template-doc.mdx +67 -5
  66. package/styled-components/es/components/Steps/Steps.tokens.js +3 -1
  67. package/styled-components/es/components/Steps/ui/StepItem/StepItem.styles.js +3 -3
  68. package/styled-components/es/components/Steps/variations/_itemView/base.js +2 -0
  69. package/styled-components/es/components/Steps/variations/_itemView/tokens.json +1 -0
  70. package/styled-components/es/examples/plasma_b2c/components/Steps/Steps.config.js +30 -3
  71. package/styled-components/es/examples/plasma_b2c/components/Steps/Steps.stories.tsx +21 -5
  72. package/styled-components/es/examples/plasma_web/components/Steps/Steps.config.js +30 -3
  73. package/styled-components/es/examples/plasma_web/components/Steps/Steps.stories.tsx +21 -5
  74. package/types/components/Steps/Steps.d.ts +2 -0
  75. package/types/components/Steps/Steps.d.ts.map +1 -1
  76. package/types/components/Steps/Steps.tokens.d.ts +2 -0
  77. package/types/components/Steps/Steps.tokens.d.ts.map +1 -1
  78. package/types/components/Steps/Steps.types.d.ts +5 -1
  79. package/types/components/Steps/Steps.types.d.ts.map +1 -1
  80. package/types/components/Steps/ui/StepItem/StepItem.styles.d.ts.map +1 -1
  81. package/types/components/Steps/variations/_itemView/base.d.ts +2 -0
  82. package/types/components/Steps/variations/_itemView/base.d.ts.map +1 -0
  83. package/types/engines/emotion.d.ts +1 -1
  84. package/types/engines/emotion.d.ts.map +1 -1
  85. package/types/engines/linaria.d.ts +1 -1
  86. package/types/engines/linaria.d.ts.map +1 -1
  87. package/types/engines/types.d.ts +1 -1
  88. package/types/engines/types.d.ts.map +1 -1
  89. package/types/engines/utils.d.ts +2 -2
  90. 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 { disableProps } from '@salutejs/plasma-sb-utils';
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: ['xs', 's', 'm', 'l'],
174
+ options: sizes,
158
175
  control: {
159
- type: 'inline-radio',
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
- ## Вариант более гибкого использования через onChange и status в items
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
  };