@alfalab/core-components-steps 3.0.2 → 3.0.3

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 (61) hide show
  1. package/Component.d.ts +1 -1
  2. package/Component.js.map +1 -1
  3. package/components/step/Component.d.ts +1 -1
  4. package/components/step/Component.js.map +1 -1
  5. package/components/step/index.css +31 -31
  6. package/components/step/index.module.css.js +1 -1
  7. package/components/step/index.module.css.js.map +1 -1
  8. package/components/step-indicator/Component.d.ts +1 -1
  9. package/components/step-indicator/index.css +1 -1
  10. package/components/step-indicator/index.module.css.js +1 -1
  11. package/components/step-indicator/index.module.css.js.map +1 -1
  12. package/cssm/Component.d.ts +1 -1
  13. package/cssm/Component.js.map +1 -1
  14. package/cssm/components/step/Component.d.ts +1 -1
  15. package/cssm/components/step/Component.js.map +1 -1
  16. package/cssm/components/step-indicator/Component.d.ts +1 -1
  17. package/cssm/types/common-props.d.ts +1 -1
  18. package/esm/Component.d.ts +1 -1
  19. package/esm/Component.js.map +1 -1
  20. package/esm/components/step/Component.d.ts +1 -1
  21. package/esm/components/step/Component.js.map +1 -1
  22. package/esm/components/step/index.css +31 -31
  23. package/esm/components/step/index.module.css.js +1 -1
  24. package/esm/components/step/index.module.css.js.map +1 -1
  25. package/esm/components/step-indicator/Component.d.ts +1 -1
  26. package/esm/components/step-indicator/index.css +1 -1
  27. package/esm/components/step-indicator/index.module.css.js +1 -1
  28. package/esm/components/step-indicator/index.module.css.js.map +1 -1
  29. package/esm/index.css +2 -2
  30. package/esm/index.module.css.js +1 -1
  31. package/esm/index.module.css.js.map +1 -1
  32. package/esm/types/common-props.d.ts +1 -1
  33. package/index.css +2 -2
  34. package/index.module.css.js +1 -1
  35. package/index.module.css.js.map +1 -1
  36. package/modern/Component.d.ts +1 -1
  37. package/modern/Component.js.map +1 -1
  38. package/modern/components/step/Component.d.ts +1 -1
  39. package/modern/components/step/Component.js.map +1 -1
  40. package/modern/components/step/index.css +31 -31
  41. package/modern/components/step/index.module.css.js +1 -1
  42. package/modern/components/step/index.module.css.js.map +1 -1
  43. package/modern/components/step-indicator/Component.d.ts +1 -1
  44. package/modern/components/step-indicator/index.css +1 -1
  45. package/modern/components/step-indicator/index.module.css.js +1 -1
  46. package/modern/components/step-indicator/index.module.css.js.map +1 -1
  47. package/modern/index.css +2 -2
  48. package/modern/index.module.css.js +1 -1
  49. package/modern/index.module.css.js.map +1 -1
  50. package/modern/types/common-props.d.ts +1 -1
  51. package/moderncssm/Component.d.ts +1 -1
  52. package/moderncssm/Component.js.map +1 -1
  53. package/moderncssm/components/step/Component.d.ts +1 -1
  54. package/moderncssm/components/step/Component.js.map +1 -1
  55. package/moderncssm/components/step-indicator/Component.d.ts +1 -1
  56. package/moderncssm/types/common-props.d.ts +1 -1
  57. package/package.json +5 -5
  58. package/src/components/step/index.module.css +1 -1
  59. package/src/components/step-indicator/index.module.css +1 -1
  60. package/src/index.module.css +1 -1
  61. package/types/common-props.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/step/Component.tsx"],"sourcesContent":["import React, { type FC, useRef } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { useFocus } from '@alfalab/hooks';\nimport { CheckmarkCircleMIcon } from '@alfalab/icons-glyph/CheckmarkCircleMIcon';\nimport { ClockMIcon } from '@alfalab/icons-glyph/ClockMIcon';\nimport { CrossCompactMIcon } from '@alfalab/icons-glyph/CrossCompactMIcon';\nimport { ExclamationCircleMIcon } from '@alfalab/icons-glyph/ExclamationCircleMIcon';\n\nimport { type CommonProps } from '../../types/common-props';\nimport { StepIndicator, type StepIndicatorProps } from '../step-indicator';\n\nimport styles from './index.module.css';\n\ntype StepProps = {\n /**\n * Номер шага\n */\n stepNumber: number;\n\n /**\n * Маркер того, что текущий шаг выбран\n */\n isSelected: boolean;\n\n /**\n * Маркер того, что текущий шаг доступен для клика\n */\n disabled: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Positive\"\n */\n isPositive: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Error\"\n */\n isError: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"isCriticalError\"\n */\n isCriticalError: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Warning\"\n */\n isWarning: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Waiting\"\n */\n isWaiting: boolean;\n\n /**\n * Маркер того, что текущий шаг нужно пометить как завершенный\n */\n isStepCompleted: boolean;\n\n /**\n * Свойства кастомного индикатора текущего шага\n */\n customStepIndicator?: StepIndicatorProps | null;\n\n /**\n * Указывает, является ли текущий шаг последним в списке\n */\n isNotLastStep?: boolean;\n\n /**\n * Обработчик нажатия на текущей шаг\n * @param stepNumber - номер шага\n */\n onClick: (stepNumber: number) => void;\n} & CommonProps;\n\nexport const Step: FC<StepProps> = ({\n children,\n stepNumber,\n isSelected,\n disabled,\n ordered,\n isPositive,\n isError,\n isCriticalError,\n isWarning,\n isWaiting,\n customStepIndicator,\n isStepCompleted,\n onClick,\n interactive,\n isVerticalAlign,\n isNotLastStep,\n fullWidth,\n minSpaceBetweenSteps = 24,\n completedDashColor,\n dataTestId,\n}) => {\n const stepRef = useRef<HTMLDivElement>(null);\n\n const [focused] = useFocus(stepRef, 'keyboard');\n\n const handleButtonClick = () => {\n if (!disabled && interactive && onClick) {\n onClick(stepNumber);\n }\n };\n\n const handleTextClick = (e: React.MouseEvent<HTMLElement>) => {\n if (!interactive) {\n e.stopPropagation();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter') {\n handleButtonClick();\n }\n };\n\n const getStepIndicator = () => {\n if (customStepIndicator) {\n return <StepIndicator {...customStepIndicator} />;\n }\n if (isCriticalError) {\n return <StepIndicator iconColor='negative' content={<CrossCompactMIcon />} />;\n }\n if (isError) {\n return <StepIndicator iconColor='negative' content={<ExclamationCircleMIcon />} />;\n }\n if (isWarning) {\n return <StepIndicator iconColor='attention' content={<ExclamationCircleMIcon />} />;\n }\n if (isWaiting) {\n return <StepIndicator iconColor='secondary' content={<ClockMIcon />} />;\n }\n if (isPositive) {\n return <StepIndicator iconColor='positive' content={<CheckmarkCircleMIcon />} />;\n }\n if (isStepCompleted) {\n return (\n <StepIndicator\n iconColor='positive'\n content={<CheckmarkCircleMIcon />}\n className={styles.completedIndicator}\n />\n );\n }\n if (!ordered) {\n return (\n <div className={styles.checkbox}>\n <span className={styles.dot} />\n </div>\n );\n }\n\n return stepNumber;\n };\n\n const getCustomDashColor = () => {\n if (isStepCompleted && completedDashColor) {\n return {\n borderColor: completedDashColor,\n };\n }\n\n return {};\n };\n\n const renderDash = () => (\n <div\n className={cn(styles.dash, {\n [styles.vertical]: isVerticalAlign,\n [styles.completed]: isStepCompleted,\n })}\n style={{\n ...getCustomDashColor(),\n }}\n />\n );\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'step')}\n role='button'\n tabIndex={0}\n ref={stepRef}\n className={cn(styles.step, {\n [styles.completed]: isStepCompleted,\n [styles.error]: isError,\n [styles.selected]: isSelected,\n [styles.disabled]: disabled,\n [styles.focused]: focused,\n [styles.vertical]: isVerticalAlign,\n [styles.interactive]: interactive,\n [styles.fullWidth]: fullWidth && isVerticalAlign,\n [styles.horizontal]: !isVerticalAlign,\n })}\n onClick={handleButtonClick}\n onKeyDown={handleKeyDown}\n >\n <div\n className={cn(styles.indicator, {\n [styles.vertical]: isVerticalAlign,\n [styles.interactive]: interactive,\n })}\n >\n <div\n className={cn(styles.option, {\n [styles.unordered]: !ordered,\n [styles.vertical]: isVerticalAlign,\n [styles.error]: isError,\n })}\n >\n {getStepIndicator()}\n </div>\n {isNotLastStep && isVerticalAlign && renderDash()}\n </div>\n <div\n className={cn(styles.textWrapper, styles[`gap-${minSpaceBetweenSteps}`], {\n [styles.vertical]: isVerticalAlign,\n })}\n >\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={cn(styles.text, {\n [styles.interactive]: interactive,\n [styles.fullWidth]: fullWidth && isVerticalAlign,\n })}\n onClick={handleTextClick}\n >\n {children}\n </div>\n </div>\n {isNotLastStep && !isVerticalAlign && renderDash()}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/step/Component.tsx"],"sourcesContent":["import React, { type FC, useRef } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { useFocus } from '@alfalab/hooks';\nimport { CheckmarkCircleMIcon } from '@alfalab/icons-glyph/CheckmarkCircleMIcon';\nimport { ClockMIcon } from '@alfalab/icons-glyph/ClockMIcon';\nimport { CrossCompactMIcon } from '@alfalab/icons-glyph/CrossCompactMIcon';\nimport { ExclamationCircleMIcon } from '@alfalab/icons-glyph/ExclamationCircleMIcon';\n\nimport { type CommonProps } from '../../types/common-props';\nimport { StepIndicator, type StepIndicatorProps } from '../step-indicator';\n\nimport styles from './index.module.css';\n\ntype StepProps = {\n /**\n * Номер шага\n */\n stepNumber: number;\n\n /**\n * Маркер того, что текущий шаг выбран\n */\n isSelected: boolean;\n\n /**\n * Маркер того, что текущий шаг доступен для клика\n */\n disabled: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Positive\"\n */\n isPositive: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Error\"\n */\n isError: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"isCriticalError\"\n */\n isCriticalError: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Warning\"\n */\n isWarning: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Waiting\"\n */\n isWaiting: boolean;\n\n /**\n * Маркер того, что текущий шаг нужно пометить как завершенный\n */\n isStepCompleted: boolean;\n\n /**\n * Свойства кастомного индикатора текущего шага\n */\n customStepIndicator?: StepIndicatorProps | null;\n\n /**\n * Указывает, является ли текущий шаг последним в списке\n */\n isNotLastStep?: boolean;\n\n /**\n * Обработчик нажатия на текущей шаг\n * @param stepNumber - номер шага\n */\n onClick: (stepNumber: number) => void;\n} & CommonProps;\n\nexport const Step: FC<StepProps> = ({\n children,\n stepNumber,\n isSelected,\n disabled,\n ordered,\n isPositive,\n isError,\n isCriticalError,\n isWarning,\n isWaiting,\n customStepIndicator,\n isStepCompleted,\n onClick,\n interactive,\n isVerticalAlign,\n isNotLastStep,\n fullWidth,\n minSpaceBetweenSteps = 24,\n completedDashColor,\n dataTestId,\n}) => {\n const stepRef = useRef<HTMLDivElement>(null);\n\n const [focused] = useFocus(stepRef, 'keyboard');\n\n const handleButtonClick = () => {\n if (!disabled && interactive && onClick) {\n onClick(stepNumber);\n }\n };\n\n const handleTextClick = (e: React.MouseEvent<HTMLElement>) => {\n if (!interactive) {\n e.stopPropagation();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter') {\n handleButtonClick();\n }\n };\n\n const getStepIndicator = () => {\n if (customStepIndicator) {\n return <StepIndicator {...customStepIndicator} />;\n }\n if (isCriticalError) {\n return <StepIndicator iconColor='negative' content={<CrossCompactMIcon />} />;\n }\n if (isError) {\n return <StepIndicator iconColor='negative' content={<ExclamationCircleMIcon />} />;\n }\n if (isWarning) {\n return <StepIndicator iconColor='attention' content={<ExclamationCircleMIcon />} />;\n }\n if (isWaiting) {\n return <StepIndicator iconColor='secondary' content={<ClockMIcon />} />;\n }\n if (isPositive) {\n return <StepIndicator iconColor='positive' content={<CheckmarkCircleMIcon />} />;\n }\n if (isStepCompleted) {\n return (\n <StepIndicator\n iconColor='positive'\n content={<CheckmarkCircleMIcon />}\n className={styles.completedIndicator}\n />\n );\n }\n if (!ordered) {\n return (\n <div className={styles.checkbox}>\n <span className={styles.dot} />\n </div>\n );\n }\n\n return stepNumber;\n };\n\n const getCustomDashColor = () => {\n if (isStepCompleted && completedDashColor) {\n return {\n borderColor: completedDashColor,\n };\n }\n\n return {};\n };\n\n const renderDash = () => (\n <div\n className={cn(styles.dash, {\n [styles.vertical]: isVerticalAlign,\n [styles.completed]: isStepCompleted,\n })}\n style={{\n ...getCustomDashColor(),\n }}\n />\n );\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'step')}\n role='button'\n tabIndex={0}\n ref={stepRef}\n className={cn(styles.step, {\n [styles.completed]: isStepCompleted,\n [styles.error]: isError,\n [styles.selected]: isSelected,\n [styles.disabled]: disabled,\n [styles.focused]: focused,\n [styles.vertical]: isVerticalAlign,\n [styles.interactive]: interactive,\n [styles.fullWidth]: fullWidth && isVerticalAlign,\n [styles.horizontal]: !isVerticalAlign,\n })}\n onClick={handleButtonClick}\n onKeyDown={handleKeyDown}\n >\n <div\n className={cn(styles.indicator, {\n [styles.vertical]: isVerticalAlign,\n [styles.interactive]: interactive,\n })}\n >\n <div\n className={cn(styles.option, {\n [styles.unordered]: !ordered,\n [styles.vertical]: isVerticalAlign,\n [styles.error]: isError,\n })}\n >\n {getStepIndicator()}\n </div>\n {isNotLastStep && isVerticalAlign && renderDash()}\n </div>\n <div\n className={cn(styles.textWrapper, styles[`gap-${minSpaceBetweenSteps}`], {\n [styles.vertical]: isVerticalAlign,\n })}\n >\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={cn(styles.text, {\n [styles.interactive]: interactive,\n [styles.fullWidth]: fullWidth && isVerticalAlign,\n })}\n onClick={handleTextClick}\n >\n {children}\n </div>\n </div>\n {isNotLastStep && !isVerticalAlign && renderDash()}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -33,40 +33,40 @@
33
33
  --steps-option-svg-color: var(--color-light-status-positive);
34
34
  --steps-dash-border: 2px solid var(--color-light-status-positive);
35
35
  }
36
- .steps__step_13cd7 {
36
+ .steps__step_ywsii {
37
37
  display: flex;
38
38
  outline: none;
39
39
  }
40
- .steps__step_13cd7.steps__horizontal_13cd7 {
40
+ .steps__step_ywsii.steps__horizontal_ywsii {
41
41
  flex-grow: 1;
42
42
  }
43
- .steps__step_13cd7:not(.steps__vertical_13cd7) {
43
+ .steps__step_ywsii:not(.steps__vertical_ywsii) {
44
44
  align-items: center;
45
45
  }
46
- .steps__step_13cd7:last-of-type .steps__textWrapper_13cd7.steps__vertical_13cd7 {
46
+ .steps__step_ywsii:last-of-type .steps__textWrapper_ywsii.steps__vertical_ywsii {
47
47
  margin-bottom: var(--gap-0);
48
48
  }
49
- .steps__step_13cd7.steps__interactive_13cd7:not(.steps__disabled_13cd7):hover {
49
+ .steps__step_ywsii.steps__interactive_ywsii:not(.steps__disabled_ywsii):hover {
50
50
  cursor: pointer;
51
51
  }
52
- .steps__step_13cd7.steps__disabled_13cd7:hover .steps__text_13cd7 {
52
+ .steps__step_ywsii.steps__disabled_ywsii:hover .steps__text_ywsii {
53
53
  background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
54
54
  background: initial;
55
55
  }
56
- .steps__step_13cd7.steps__disabled_13cd7 .steps__indicator_13cd7 {
56
+ .steps__step_ywsii.steps__disabled_ywsii .steps__indicator_ywsii {
57
57
  cursor: inherit;
58
58
  }
59
- .steps__indicator_13cd7 {
59
+ .steps__indicator_ywsii {
60
60
  cursor: pointer;
61
61
  display: flex;
62
62
  align-items: center;
63
63
  margin-right: var(--gap-4);
64
64
  }
65
- .steps__indicator_13cd7.steps__vertical_13cd7 {
65
+ .steps__indicator_ywsii.steps__vertical_ywsii {
66
66
  flex-direction: column;
67
67
  margin-right: var(--gap-8);
68
68
  }
69
- .steps__option_13cd7 {
69
+ .steps__option_ywsii {
70
70
  font-size: 14px;
71
71
  line-height: 20px;
72
72
  font-weight: 700;
@@ -81,19 +81,19 @@
81
81
  height: 24px;
82
82
  border-radius: var(--border-radius-circle);
83
83
  }
84
- .steps__option_13cd7.steps__vertical_13cd7 {
84
+ .steps__option_ywsii.steps__vertical_ywsii {
85
85
  margin-top: var(--gap-8);
86
86
  }
87
- .steps__dash_13cd7 {
87
+ .steps__dash_ywsii {
88
88
  flex: 1 1 auto;
89
89
  min-width: 24px;
90
90
  border-top: 2px solid var(--color-light-neutral-translucent-300);
91
91
  margin-right: var(--gap-8);
92
92
  }
93
- .steps__dash_13cd7.steps__completed_13cd7 {
93
+ .steps__dash_ywsii.steps__completed_ywsii {
94
94
  border-top: var(--steps-dash-border);
95
95
  }
96
- .steps__dash_13cd7.steps__vertical_13cd7 {
96
+ .steps__dash_ywsii.steps__vertical_ywsii {
97
97
  min-width: 0;
98
98
  min-width: initial;
99
99
  min-height: 8px;
@@ -102,19 +102,19 @@
102
102
  border-left: 2px solid var(--color-light-neutral-translucent-300);
103
103
  border-top: none;
104
104
  }
105
- .steps__dash_13cd7.steps__completed_13cd7.steps__vertical_13cd7 {
105
+ .steps__dash_ywsii.steps__completed_ywsii.steps__vertical_ywsii {
106
106
  border-left: var(--steps-dash-border);
107
107
  }
108
- .steps__textWrapper_13cd7.steps__vertical_13cd7 {
108
+ .steps__textWrapper_ywsii.steps__vertical_ywsii {
109
109
  min-height: 48px;
110
110
  }
111
- .steps__textWrapper_13cd7.steps__vertical_13cd7.steps__gap-24_13cd7 {
111
+ .steps__textWrapper_ywsii.steps__vertical_ywsii.steps__gap-24_ywsii {
112
112
  margin-bottom: var(--gap-8);
113
113
  }
114
- .steps__textWrapper_13cd7.steps__vertical_13cd7.steps__gap-32_13cd7 {
114
+ .steps__textWrapper_ywsii.steps__vertical_ywsii.steps__gap-32_ywsii {
115
115
  margin-bottom: var(--gap-16);
116
116
  }
117
- .steps__text_13cd7 {
117
+ .steps__text_ywsii {
118
118
  font-size: 16px;
119
119
  line-height: 24px;
120
120
  font-weight: 400;
@@ -127,24 +127,24 @@
127
127
  height: -moz-min-content;
128
128
  height: min-content;
129
129
  }
130
- .steps__text_13cd7.steps__interactive_13cd7:not(.steps__disabled_13cd7):hover {
130
+ .steps__text_ywsii.steps__interactive_ywsii:not(.steps__disabled_ywsii):hover {
131
131
  background: var(--color-light-transparent-default-hover);
132
132
  }
133
- .steps__text_13cd7.steps__interactive_13cd7:not(.steps__disabled_13cd7):active {
133
+ .steps__text_ywsii.steps__interactive_ywsii:not(.steps__disabled_ywsii):active {
134
134
  background: var(--color-light-transparent-default-press);
135
135
  }
136
- .steps__focused_13cd7 {
136
+ .steps__focused_ywsii {
137
137
  outline: var(--gap-2) solid var(--focus-color);
138
138
  outline-offset: var(--gap-2);
139
139
  }
140
- .steps__selected_13cd7 .steps__text_13cd7 {
140
+ .steps__selected_ywsii .steps__text_ywsii {
141
141
  color: var(--color-light-text-primary);
142
142
  }
143
- .steps__selected_13cd7 .steps__option_13cd7 {
143
+ .steps__selected_ywsii .steps__option_ywsii {
144
144
  color: var(--color-light-text-primary-inverted);
145
145
  background: var(--color-light-neutral-translucent-1300);
146
146
  }
147
- .steps__checkbox_13cd7 {
147
+ .steps__checkbox_ywsii {
148
148
  display: flex;
149
149
  justify-content: center;
150
150
  align-items: center;
@@ -153,26 +153,26 @@
153
153
  height: 20px;
154
154
  border: 2px solid var(--color-light-neutral-translucent-300);
155
155
  }
156
- .steps__dot_13cd7 {
156
+ .steps__dot_ywsii {
157
157
  width: 10px;
158
158
  height: 10px;
159
159
  border-radius: var(--border-radius-circle);
160
160
  background: var(--color-light-neutral-translucent-300);
161
161
  }
162
- .steps__selected_13cd7 .steps__checkbox_13cd7 {
162
+ .steps__selected_ywsii .steps__checkbox_ywsii {
163
163
  border: 2px solid var(--color-light-neutral-translucent-1300);
164
164
  }
165
- .steps__selected_13cd7 .steps__checkbox_13cd7 .steps__dot_13cd7 {
165
+ .steps__selected_ywsii .steps__checkbox_ywsii .steps__dot_ywsii {
166
166
  background: var(--color-light-neutral-translucent-1300);
167
167
  }
168
- .steps__option_13cd7:not(.steps__error_13cd7).steps__unordered_13cd7 {
168
+ .steps__option_ywsii:not(.steps__error_ywsii).steps__unordered_ywsii {
169
169
  background: transparent none repeat 0 0 / auto auto padding-box border-box scroll;
170
170
  background: initial;
171
171
  }
172
- .steps__completedIndicator_13cd7 > [class*='positive'] {
172
+ .steps__completedIndicator_ywsii > [class*='positive'] {
173
173
  color: var(--steps-option-svg-color);
174
174
  background-color: var(--steps-option-svg-color);
175
175
  }
176
- .steps__fullWidth_13cd7 {
176
+ .steps__fullWidth_ywsii {
177
177
  width: 100%;
178
178
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- var styles = {"step":"steps__step_13cd7","horizontal":"steps__horizontal_13cd7","vertical":"steps__vertical_13cd7","textWrapper":"steps__textWrapper_13cd7","interactive":"steps__interactive_13cd7","disabled":"steps__disabled_13cd7","text":"steps__text_13cd7","indicator":"steps__indicator_13cd7","option":"steps__option_13cd7","dash":"steps__dash_13cd7","completed":"steps__completed_13cd7","gap-24":"steps__gap-24_13cd7","gap-32":"steps__gap-32_13cd7","focused":"steps__focused_13cd7","selected":"steps__selected_13cd7","checkbox":"steps__checkbox_13cd7","dot":"steps__dot_13cd7","error":"steps__error_13cd7","unordered":"steps__unordered_13cd7","completedIndicator":"steps__completedIndicator_13cd7","fullWidth":"steps__fullWidth_13cd7"};
3
+ var styles = {"step":"steps__step_ywsii","horizontal":"steps__horizontal_ywsii","vertical":"steps__vertical_ywsii","textWrapper":"steps__textWrapper_ywsii","interactive":"steps__interactive_ywsii","disabled":"steps__disabled_ywsii","text":"steps__text_ywsii","indicator":"steps__indicator_ywsii","option":"steps__option_ywsii","dash":"steps__dash_ywsii","completed":"steps__completed_ywsii","gap-24":"steps__gap-24_ywsii","gap-32":"steps__gap-32_ywsii","focused":"steps__focused_ywsii","selected":"steps__selected_ywsii","checkbox":"steps__checkbox_ywsii","dot":"steps__dot_ywsii","error":"steps__error_ywsii","unordered":"steps__unordered_ywsii","completedIndicator":"steps__completedIndicator_ywsii","fullWidth":"steps__fullWidth_ywsii"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/step/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n:root {\n --steps-option-svg-color: var(--color-light-status-positive);\n --steps-dash-border: 2px solid var(--color-light-status-positive);\n}\n\n.step {\n display: flex;\n outline: none;\n\n &.horizontal {\n flex-grow: 1;\n }\n\n &:not(.vertical) {\n align-items: center;\n }\n\n &:last-of-type .textWrapper.vertical {\n margin-bottom: var(--gap-0);\n }\n}\n\n.step.interactive:not(.disabled):hover {\n cursor: pointer;\n}\n\n.step.disabled:hover {\n & .text {\n background: unset;\n }\n}\n\n.step.disabled {\n & .indicator {\n cursor: unset;\n }\n}\n\n.indicator {\n cursor: pointer;\n display: flex;\n align-items: center;\n margin-right: var(--gap-4);\n\n &.vertical {\n flex-direction: column;\n margin-right: var(--gap-8);\n }\n}\n\n.option {\n @mixin accent_primary_small;\n\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-light-text-primary);\n background: var(--color-light-neutral-translucent-300);\n min-width: 24px;\n height: 24px;\n border-radius: var(--border-radius-circle);\n\n &.vertical {\n margin-top: var(--gap-8);\n }\n}\n\n.dash {\n flex: 1 1 auto;\n min-width: 24px;\n border-top: 2px solid var(--color-light-neutral-translucent-300);\n margin-right: var(--gap-8);\n\n &.completed {\n border-top: var(--steps-dash-border);\n }\n\n &.vertical {\n min-width: unset;\n min-height: 8px;\n margin-right: var(--gap-0);\n margin-top: var(--gap-8);\n border-left: 2px solid var(--color-light-neutral-translucent-300);\n border-top: none;\n }\n\n &.completed.vertical {\n border-left: var(--steps-dash-border);\n }\n}\n\n.textWrapper {\n &.vertical {\n min-height: 48px;\n\n &.gap-24 {\n margin-bottom: var(--gap-8);\n }\n\n &.gap-32 {\n margin-bottom: var(--gap-16);\n }\n }\n}\n\n.text {\n @mixin paragraph_primary_medium;\n\n transition: background 0.2s;\n padding: var(--gap-8);\n color: var(--color-light-text-primary);\n border-radius: var(--gap-8);\n height: min-content;\n\n &.interactive:not(.disabled) {\n &:hover {\n background: var(--color-light-transparent-default-hover);\n }\n\n &:active {\n background: var(--color-light-transparent-default-press);\n }\n }\n}\n\n.focused {\n outline: var(--gap-2) solid var(--focus-color);\n outline-offset: var(--gap-2);\n}\n\n.selected {\n & .text {\n color: var(--color-light-text-primary);\n }\n\n & .option {\n color: var(--color-light-text-primary-inverted);\n background: var(--color-light-neutral-translucent-1300);\n }\n}\n\n.checkbox {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--border-radius-circle);\n width: 20px;\n height: 20px;\n border: 2px solid var(--color-light-neutral-translucent-300);\n}\n\n.dot {\n width: 10px;\n height: 10px;\n border-radius: var(--border-radius-circle);\n background: var(--color-light-neutral-translucent-300);\n}\n\n.selected .checkbox {\n border: 2px solid var(--color-light-neutral-translucent-1300);\n\n & .dot {\n background: var(--color-light-neutral-translucent-1300);\n }\n}\n\n.option:not(.error).unordered {\n background: unset;\n}\n\n.completedIndicator > [class*='positive'] {\n color: var(--steps-option-svg-color);\n background-color: var(--steps-option-svg-color);\n}\n\n.fullWidth {\n width: 100%;\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,yBAAyB,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,0BAA0B,CAAC,aAAa,CAAC,0BAA0B,CAAC,UAAU,CAAC,uBAAuB,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,wBAAwB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,wBAAwB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,iCAAiC,CAAC,WAAW,CAAC,wBAAwB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/step/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n:root {\n --steps-option-svg-color: var(--color-light-status-positive);\n --steps-dash-border: 2px solid var(--color-light-status-positive);\n}\n\n.step {\n display: flex;\n outline: none;\n\n &.horizontal {\n flex-grow: 1;\n }\n\n &:not(.vertical) {\n align-items: center;\n }\n\n &:last-of-type .textWrapper.vertical {\n margin-bottom: var(--gap-0);\n }\n}\n\n.step.interactive:not(.disabled):hover {\n cursor: pointer;\n}\n\n.step.disabled:hover {\n & .text {\n background: unset;\n }\n}\n\n.step.disabled {\n & .indicator {\n cursor: unset;\n }\n}\n\n.indicator {\n cursor: pointer;\n display: flex;\n align-items: center;\n margin-right: var(--gap-4);\n\n &.vertical {\n flex-direction: column;\n margin-right: var(--gap-8);\n }\n}\n\n.option {\n @mixin accent_primary_small;\n\n display: flex;\n align-items: center;\n justify-content: center;\n color: var(--color-light-text-primary);\n background: var(--color-light-neutral-translucent-300);\n min-width: 24px;\n height: 24px;\n border-radius: var(--border-radius-circle);\n\n &.vertical {\n margin-top: var(--gap-8);\n }\n}\n\n.dash {\n flex: 1 1 auto;\n min-width: 24px;\n border-top: 2px solid var(--color-light-neutral-translucent-300);\n margin-right: var(--gap-8);\n\n &.completed {\n border-top: var(--steps-dash-border);\n }\n\n &.vertical {\n min-width: unset;\n min-height: 8px;\n margin-right: var(--gap-0);\n margin-top: var(--gap-8);\n border-left: 2px solid var(--color-light-neutral-translucent-300);\n border-top: none;\n }\n\n &.completed.vertical {\n border-left: var(--steps-dash-border);\n }\n}\n\n.textWrapper {\n &.vertical {\n min-height: 48px;\n\n &.gap-24 {\n margin-bottom: var(--gap-8);\n }\n\n &.gap-32 {\n margin-bottom: var(--gap-16);\n }\n }\n}\n\n.text {\n @mixin paragraph_primary_medium;\n\n transition: background 0.2s;\n padding: var(--gap-8);\n color: var(--color-light-text-primary);\n border-radius: var(--gap-8);\n height: min-content;\n\n &.interactive:not(.disabled) {\n &:hover {\n background: var(--color-light-transparent-default-hover);\n }\n\n &:active {\n background: var(--color-light-transparent-default-press);\n }\n }\n}\n\n.focused {\n outline: var(--gap-2) solid var(--focus-color);\n outline-offset: var(--gap-2);\n}\n\n.selected {\n & .text {\n color: var(--color-light-text-primary);\n }\n\n & .option {\n color: var(--color-light-text-primary-inverted);\n background: var(--color-light-neutral-translucent-1300);\n }\n}\n\n.checkbox {\n display: flex;\n justify-content: center;\n align-items: center;\n border-radius: var(--border-radius-circle);\n width: 20px;\n height: 20px;\n border: 2px solid var(--color-light-neutral-translucent-300);\n}\n\n.dot {\n width: 10px;\n height: 10px;\n border-radius: var(--border-radius-circle);\n background: var(--color-light-neutral-translucent-300);\n}\n\n.selected .checkbox {\n border: 2px solid var(--color-light-neutral-translucent-1300);\n\n & .dot {\n background: var(--color-light-neutral-translucent-1300);\n }\n}\n\n.option:not(.error).unordered {\n background: unset;\n}\n\n.completedIndicator > [class*='positive'] {\n color: var(--steps-option-svg-color);\n background-color: var(--steps-option-svg-color);\n}\n\n.fullWidth {\n width: 100%;\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,yBAAyB,CAAC,UAAU,CAAC,uBAAuB,CAAC,aAAa,CAAC,0BAA0B,CAAC,aAAa,CAAC,0BAA0B,CAAC,UAAU,CAAC,uBAAuB,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,wBAAwB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,MAAM,CAAC,mBAAmB,CAAC,WAAW,CAAC,wBAAwB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,QAAQ,CAAC,qBAAqB,CAAC,SAAS,CAAC,sBAAsB,CAAC,UAAU,CAAC,uBAAuB,CAAC,UAAU,CAAC,uBAAuB,CAAC,KAAK,CAAC,kBAAkB,CAAC,OAAO,CAAC,oBAAoB,CAAC,WAAW,CAAC,wBAAwB,CAAC,oBAAoB,CAAC,iCAAiC,CAAC,WAAW,CAAC,wBAAwB,CAAC;;;;"}
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
2
  import { type BadgeProps } from '@alfalab/core-components-badge/esm';
3
- export declare type StepIndicatorProps = Pick<BadgeProps, 'content' | 'iconColor' | 'className'>;
3
+ export type StepIndicatorProps = Pick<BadgeProps, 'content' | 'iconColor' | 'className'>;
4
4
  export declare const StepIndicator: React.FC<StepIndicatorProps>;
@@ -1,6 +1,6 @@
1
1
  :root {
2
2
  --gap-0: 0px;
3
3
  }
4
- .steps__component_1fkvt.steps__component_1fkvt {
4
+ .steps__component_1b5b5.steps__component_1b5b5 {
5
5
  padding: var(--gap-0);
6
6
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- var styles = {"component":"steps__component_1fkvt"};
3
+ var styles = {"component":"steps__component_1b5b5"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["../../src/components/step-indicator/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.component.component {\n padding: var(--gap-0);\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,WAAW,CAAC,wBAAwB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["../../src/components/step-indicator/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component.component {\n padding: var(--gap-0);\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,WAAW,CAAC,wBAAwB,CAAC;;;;"}
package/esm/index.css CHANGED
@@ -1,9 +1,9 @@
1
- .steps__component_1e4vf {
1
+ .steps__component_fsruq {
2
2
  display: flex;
3
3
  align-items: center;
4
4
  flex-direction: row;
5
5
  }
6
- .steps__component_1e4vf.steps__vertical_1e4vf {
6
+ .steps__component_fsruq.steps__vertical_fsruq {
7
7
  flex-direction: column;
8
8
  align-items: flex-start;
9
9
  }
@@ -1,6 +1,6 @@
1
1
  import './index.css';
2
2
 
3
- var styles = {"component":"steps__component_1e4vf","vertical":"steps__vertical_1e4vf"};
3
+ var styles = {"component":"steps__component_fsruq","vertical":"steps__vertical_fsruq"};
4
4
 
5
5
  export { styles as default };
6
6
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.component {\n display: flex;\n align-items: center;\n flex-direction: row;\n\n &.vertical {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,WAAW,CAAC,wBAAwB,CAAC,UAAU,CAAC,uBAAuB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n display: flex;\n align-items: center;\n flex-direction: row;\n\n &.vertical {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n"],"names":[],"mappings":";;AAEgB,aAAe,CAAC,WAAW,CAAC,wBAAwB,CAAC,UAAU,CAAC,uBAAuB,CAAC;;;;"}
@@ -1,6 +1,6 @@
1
1
  import { type ReactNode } from 'react';
2
2
  /** Обобщенный набор типов который подходит для Steps, но также прокинут в дочерний Step */
3
- export declare type CommonProps = {
3
+ export type CommonProps = {
4
4
  /**
5
5
  * Идентификатор для систем автоматизированного тестирования
6
6
  */
package/index.css CHANGED
@@ -1,9 +1,9 @@
1
- .steps__component_1e4vf {
1
+ .steps__component_fsruq {
2
2
  display: flex;
3
3
  align-items: center;
4
4
  flex-direction: row;
5
5
  }
6
- .steps__component_1e4vf.steps__vertical_1e4vf {
6
+ .steps__component_fsruq.steps__vertical_fsruq {
7
7
  flex-direction: column;
8
8
  align-items: flex-start;
9
9
  }
@@ -2,7 +2,7 @@
2
2
 
3
3
  require('./index.css');
4
4
 
5
- var styles = {"component":"steps__component_1e4vf","vertical":"steps__vertical_1e4vf"};
5
+ var styles = {"component":"steps__component_fsruq","vertical":"steps__vertical_fsruq"};
6
6
 
7
7
  module.exports = styles;
8
8
  //# sourceMappingURL=index.module.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/no-typography-index.css';\n\n.component {\n display: flex;\n align-items: center;\n flex-direction: row;\n\n &.vertical {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,wBAAwB,CAAC,UAAU,CAAC,uBAAuB,CAAC;;;;"}
1
+ {"version":3,"file":"index.module.css.js","sources":["src/index.module.css"],"sourcesContent":["@import '@alfalab/core-components-vars/src/index.css';\n\n.component {\n display: flex;\n align-items: center;\n flex-direction: row;\n\n &.vertical {\n flex-direction: column;\n align-items: flex-start;\n }\n}\n"],"names":[],"mappings":";;;;AAEgB,aAAe,CAAC,WAAW,CAAC,wBAAwB,CAAC,UAAU,CAAC,uBAAuB,CAAC;;;;"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { type StepIndicatorProps } from './components/step-indicator';
3
3
  import { type CommonProps } from './types/common-props';
4
- export declare type StepsProps = {
4
+ export type StepsProps = {
5
5
  /**
6
6
  * Дополнительный класс
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../src/Component.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport cn from 'classnames';\n\nimport { Step } from './components/step';\nimport { type StepIndicatorProps } from './components/step-indicator';\nimport { type CommonProps } from './types/common-props';\n\nimport styles from './index.module.css';\n\nexport type StepsProps = {\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Активный шаг, указанный по умолчанию\n * @default 1\n */\n defaultActiveStep?: number;\n\n /**\n * Активный шаг\n */\n activeStep?: number;\n\n /**\n * Управление возможностью отключения пометки пройденного шага\n * @default true\n */\n isMarkCompletedSteps?: boolean;\n\n /**\n * Кастомный метод для управления состоянием disabled шага и\n * возможностью перехода на этот шаг\n * @param stepNumber - номер шага\n * @return Флаг состояния disabled\n */\n checkIsStepDisabled?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для управления состоянием шага error\n * @param stepNumber - номер шага\n * @return Флаг состояния error\n */\n checkIsStepError?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для управления состоянием шага criticalError\n * @param stepNumber - номер шага\n * @return Флаг состояния error\n */\n checkIsStepCriticalError?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для управления состоянием шага warning\n * @param stepNumber - номер шага\n * @return Флаг состояния warning\n */\n checkIsStepWarning?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для управления состоянием шага waiting\n * @param stepNumber - номер шага\n * @return Флаг состояния waiting\n */\n checkIsStepWaiting?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для управления состоянием шага positive\n * @param stepNumber - номер шага\n * @return Флаг состояния positive\n */\n checkIsStepPositive?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для установки кастомного индикатора шага\n * @param stepNumber - номер шага\n * @return Объект StepIndicatorProps { className, content, iconColor } или null\n */\n checkIsStepCustom?: (stepNumber: number) => StepIndicatorProps | null;\n\n /**\n * Обработчик клика на шаг\n * @param stepNumber - номер активного шага\n */\n onChange?: (stepNumber: number) => void;\n} & CommonProps;\n\nexport const Steps: React.FC<StepsProps> = ({\n className,\n children,\n defaultActiveStep = 1,\n activeStep: activeStepProp,\n isMarkCompletedSteps = true,\n isVerticalAlign = false,\n ordered = true,\n interactive = true,\n fullWidth = false,\n minSpaceBetweenSteps = 24,\n checkIsStepDisabled,\n checkIsStepError,\n checkIsStepCriticalError,\n checkIsStepWarning,\n checkIsStepWaiting,\n checkIsStepPositive,\n checkIsStepCustom,\n onChange,\n dataTestId,\n completedDashColor,\n}) => {\n const uncontrolled = activeStepProp === undefined;\n const [activeStep, setActiveStep] = useState(defaultActiveStep);\n\n const stepsLength = React.Children.count(children);\n\n const handleStepClick = (stepNumber: number) => {\n if (uncontrolled) {\n setActiveStep(stepNumber);\n }\n\n if (onChange) {\n onChange(stepNumber);\n }\n };\n\n if (!stepsLength) return null;\n\n const visibleActiveStep = uncontrolled ? activeStep : activeStepProp;\n\n return (\n <div\n className={cn(className, styles.component, {\n [styles.vertical]: isVerticalAlign,\n })}\n data-test-id={dataTestId}\n >\n {React.Children.map(children, (step, index) => {\n const stepNumber = index + 1;\n const isSelected = stepNumber === visibleActiveStep;\n const isStepCompleted = isMarkCompletedSteps && stepNumber < visibleActiveStep;\n const disabled = checkIsStepDisabled ? checkIsStepDisabled(stepNumber) : false;\n const isPositive = checkIsStepPositive ? checkIsStepPositive(stepNumber) : false;\n const isError = checkIsStepError ? checkIsStepError(stepNumber) : false;\n const isCriticalError = checkIsStepCriticalError\n ? checkIsStepCriticalError(stepNumber)\n : false;\n const isWarning = checkIsStepWarning ? checkIsStepWarning(stepNumber) : false;\n const isWaiting = checkIsStepWaiting ? checkIsStepWaiting(stepNumber) : false;\n const customStepIndicator = checkIsStepCustom?.(stepNumber);\n const isNotLastStep = stepsLength !== stepNumber;\n const isInteractive = !disabled && interactive;\n\n return (\n <Step\n stepNumber={stepNumber}\n isSelected={isSelected}\n isStepCompleted={isStepCompleted}\n disabled={disabled}\n isPositive={isPositive}\n isError={isError}\n isCriticalError={isCriticalError}\n isWarning={isWarning}\n isWaiting={isWaiting}\n customStepIndicator={customStepIndicator}\n onClick={handleStepClick}\n ordered={ordered}\n interactive={isInteractive}\n isVerticalAlign={isVerticalAlign}\n isNotLastStep={isNotLastStep}\n key={stepNumber}\n fullWidth={fullWidth}\n minSpaceBetweenSteps={minSpaceBetweenSteps}\n completedDashColor={completedDashColor}\n dataTestId={dataTestId}\n >\n {step}\n </Step>\n );\n })}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../src/Component.tsx"],"sourcesContent":["import React, { useState } from 'react';\nimport cn from 'classnames';\n\nimport { Step } from './components/step';\nimport { type StepIndicatorProps } from './components/step-indicator';\nimport { type CommonProps } from './types/common-props';\n\nimport styles from './index.module.css';\n\nexport type StepsProps = {\n /**\n * Дополнительный класс\n */\n className?: string;\n\n /**\n * Активный шаг, указанный по умолчанию\n * @default 1\n */\n defaultActiveStep?: number;\n\n /**\n * Активный шаг\n */\n activeStep?: number;\n\n /**\n * Управление возможностью отключения пометки пройденного шага\n * @default true\n */\n isMarkCompletedSteps?: boolean;\n\n /**\n * Кастомный метод для управления состоянием disabled шага и\n * возможностью перехода на этот шаг\n * @param stepNumber - номер шага\n * @return Флаг состояния disabled\n */\n checkIsStepDisabled?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для управления состоянием шага error\n * @param stepNumber - номер шага\n * @return Флаг состояния error\n */\n checkIsStepError?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для управления состоянием шага criticalError\n * @param stepNumber - номер шага\n * @return Флаг состояния error\n */\n checkIsStepCriticalError?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для управления состоянием шага warning\n * @param stepNumber - номер шага\n * @return Флаг состояния warning\n */\n checkIsStepWarning?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для управления состоянием шага waiting\n * @param stepNumber - номер шага\n * @return Флаг состояния waiting\n */\n checkIsStepWaiting?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для управления состоянием шага positive\n * @param stepNumber - номер шага\n * @return Флаг состояния positive\n */\n checkIsStepPositive?: (stepNumber: number) => boolean;\n\n /**\n * Кастомный метод для установки кастомного индикатора шага\n * @param stepNumber - номер шага\n * @return Объект StepIndicatorProps { className, content, iconColor } или null\n */\n checkIsStepCustom?: (stepNumber: number) => StepIndicatorProps | null;\n\n /**\n * Обработчик клика на шаг\n * @param stepNumber - номер активного шага\n */\n onChange?: (stepNumber: number) => void;\n} & CommonProps;\n\nexport const Steps: React.FC<StepsProps> = ({\n className,\n children,\n defaultActiveStep = 1,\n activeStep: activeStepProp,\n isMarkCompletedSteps = true,\n isVerticalAlign = false,\n ordered = true,\n interactive = true,\n fullWidth = false,\n minSpaceBetweenSteps = 24,\n checkIsStepDisabled,\n checkIsStepError,\n checkIsStepCriticalError,\n checkIsStepWarning,\n checkIsStepWaiting,\n checkIsStepPositive,\n checkIsStepCustom,\n onChange,\n dataTestId,\n completedDashColor,\n}) => {\n const uncontrolled = activeStepProp === undefined;\n const [activeStep, setActiveStep] = useState(defaultActiveStep);\n\n const stepsLength = React.Children.count(children);\n\n const handleStepClick = (stepNumber: number) => {\n if (uncontrolled) {\n setActiveStep(stepNumber);\n }\n\n if (onChange) {\n onChange(stepNumber);\n }\n };\n\n if (!stepsLength) return null;\n\n const visibleActiveStep = uncontrolled ? activeStep : activeStepProp;\n\n return (\n <div\n className={cn(className, styles.component, {\n [styles.vertical]: isVerticalAlign,\n })}\n data-test-id={dataTestId}\n >\n {React.Children.map(children, (step, index) => {\n const stepNumber = index + 1;\n const isSelected = stepNumber === visibleActiveStep;\n const isStepCompleted = isMarkCompletedSteps && stepNumber < visibleActiveStep;\n const disabled = checkIsStepDisabled ? checkIsStepDisabled(stepNumber) : false;\n const isPositive = checkIsStepPositive ? checkIsStepPositive(stepNumber) : false;\n const isError = checkIsStepError ? checkIsStepError(stepNumber) : false;\n const isCriticalError = checkIsStepCriticalError\n ? checkIsStepCriticalError(stepNumber)\n : false;\n const isWarning = checkIsStepWarning ? checkIsStepWarning(stepNumber) : false;\n const isWaiting = checkIsStepWaiting ? checkIsStepWaiting(stepNumber) : false;\n const customStepIndicator = checkIsStepCustom?.(stepNumber);\n const isNotLastStep = stepsLength !== stepNumber;\n const isInteractive = !disabled && interactive;\n\n return (\n <Step\n stepNumber={stepNumber}\n isSelected={isSelected}\n isStepCompleted={isStepCompleted}\n disabled={disabled}\n isPositive={isPositive}\n isError={isError}\n isCriticalError={isCriticalError}\n isWarning={isWarning}\n isWaiting={isWaiting}\n customStepIndicator={customStepIndicator}\n onClick={handleStepClick}\n ordered={ordered}\n interactive={isInteractive}\n isVerticalAlign={isVerticalAlign}\n isNotLastStep={isNotLastStep}\n key={stepNumber}\n fullWidth={fullWidth}\n minSpaceBetweenSteps={minSpaceBetweenSteps}\n completedDashColor={completedDashColor}\n dataTestId={dataTestId}\n >\n {step}\n </Step>\n );\n })}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { type FC } from 'react';
2
2
  import { type CommonProps } from '../../types/common-props';
3
3
  import { type StepIndicatorProps } from '../step-indicator';
4
- declare type StepProps = {
4
+ type StepProps = {
5
5
  /**
6
6
  * Номер шага
7
7
  */
@@ -1 +1 @@
1
- {"version":3,"file":"Component.js","sources":["../../../src/components/step/Component.tsx"],"sourcesContent":["import React, { type FC, useRef } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { useFocus } from '@alfalab/hooks';\nimport { CheckmarkCircleMIcon } from '@alfalab/icons-glyph/CheckmarkCircleMIcon';\nimport { ClockMIcon } from '@alfalab/icons-glyph/ClockMIcon';\nimport { CrossCompactMIcon } from '@alfalab/icons-glyph/CrossCompactMIcon';\nimport { ExclamationCircleMIcon } from '@alfalab/icons-glyph/ExclamationCircleMIcon';\n\nimport { type CommonProps } from '../../types/common-props';\nimport { StepIndicator, type StepIndicatorProps } from '../step-indicator';\n\nimport styles from './index.module.css';\n\ntype StepProps = {\n /**\n * Номер шага\n */\n stepNumber: number;\n\n /**\n * Маркер того, что текущий шаг выбран\n */\n isSelected: boolean;\n\n /**\n * Маркер того, что текущий шаг доступен для клика\n */\n disabled: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Positive\"\n */\n isPositive: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Error\"\n */\n isError: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"isCriticalError\"\n */\n isCriticalError: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Warning\"\n */\n isWarning: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Waiting\"\n */\n isWaiting: boolean;\n\n /**\n * Маркер того, что текущий шаг нужно пометить как завершенный\n */\n isStepCompleted: boolean;\n\n /**\n * Свойства кастомного индикатора текущего шага\n */\n customStepIndicator?: StepIndicatorProps | null;\n\n /**\n * Указывает, является ли текущий шаг последним в списке\n */\n isNotLastStep?: boolean;\n\n /**\n * Обработчик нажатия на текущей шаг\n * @param stepNumber - номер шага\n */\n onClick: (stepNumber: number) => void;\n} & CommonProps;\n\nexport const Step: FC<StepProps> = ({\n children,\n stepNumber,\n isSelected,\n disabled,\n ordered,\n isPositive,\n isError,\n isCriticalError,\n isWarning,\n isWaiting,\n customStepIndicator,\n isStepCompleted,\n onClick,\n interactive,\n isVerticalAlign,\n isNotLastStep,\n fullWidth,\n minSpaceBetweenSteps = 24,\n completedDashColor,\n dataTestId,\n}) => {\n const stepRef = useRef<HTMLDivElement>(null);\n\n const [focused] = useFocus(stepRef, 'keyboard');\n\n const handleButtonClick = () => {\n if (!disabled && interactive && onClick) {\n onClick(stepNumber);\n }\n };\n\n const handleTextClick = (e: React.MouseEvent<HTMLElement>) => {\n if (!interactive) {\n e.stopPropagation();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter') {\n handleButtonClick();\n }\n };\n\n const getStepIndicator = () => {\n if (customStepIndicator) {\n return <StepIndicator {...customStepIndicator} />;\n }\n if (isCriticalError) {\n return <StepIndicator iconColor='negative' content={<CrossCompactMIcon />} />;\n }\n if (isError) {\n return <StepIndicator iconColor='negative' content={<ExclamationCircleMIcon />} />;\n }\n if (isWarning) {\n return <StepIndicator iconColor='attention' content={<ExclamationCircleMIcon />} />;\n }\n if (isWaiting) {\n return <StepIndicator iconColor='secondary' content={<ClockMIcon />} />;\n }\n if (isPositive) {\n return <StepIndicator iconColor='positive' content={<CheckmarkCircleMIcon />} />;\n }\n if (isStepCompleted) {\n return (\n <StepIndicator\n iconColor='positive'\n content={<CheckmarkCircleMIcon />}\n className={styles.completedIndicator}\n />\n );\n }\n if (!ordered) {\n return (\n <div className={styles.checkbox}>\n <span className={styles.dot} />\n </div>\n );\n }\n\n return stepNumber;\n };\n\n const getCustomDashColor = () => {\n if (isStepCompleted && completedDashColor) {\n return {\n borderColor: completedDashColor,\n };\n }\n\n return {};\n };\n\n const renderDash = () => (\n <div\n className={cn(styles.dash, {\n [styles.vertical]: isVerticalAlign,\n [styles.completed]: isStepCompleted,\n })}\n style={{\n ...getCustomDashColor(),\n }}\n />\n );\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'step')}\n role='button'\n tabIndex={0}\n ref={stepRef}\n className={cn(styles.step, {\n [styles.completed]: isStepCompleted,\n [styles.error]: isError,\n [styles.selected]: isSelected,\n [styles.disabled]: disabled,\n [styles.focused]: focused,\n [styles.vertical]: isVerticalAlign,\n [styles.interactive]: interactive,\n [styles.fullWidth]: fullWidth && isVerticalAlign,\n [styles.horizontal]: !isVerticalAlign,\n })}\n onClick={handleButtonClick}\n onKeyDown={handleKeyDown}\n >\n <div\n className={cn(styles.indicator, {\n [styles.vertical]: isVerticalAlign,\n [styles.interactive]: interactive,\n })}\n >\n <div\n className={cn(styles.option, {\n [styles.unordered]: !ordered,\n [styles.vertical]: isVerticalAlign,\n [styles.error]: isError,\n })}\n >\n {getStepIndicator()}\n </div>\n {isNotLastStep && isVerticalAlign && renderDash()}\n </div>\n <div\n className={cn(styles.textWrapper, styles[`gap-${minSpaceBetweenSteps}`], {\n [styles.vertical]: isVerticalAlign,\n })}\n >\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={cn(styles.text, {\n [styles.interactive]: interactive,\n [styles.fullWidth]: fullWidth && isVerticalAlign,\n })}\n onClick={handleTextClick}\n >\n {children}\n </div>\n </div>\n {isNotLastStep && !isVerticalAlign && renderDash()}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Component.js","sources":["../../../src/components/step/Component.tsx"],"sourcesContent":["import React, { type FC, useRef } from 'react';\nimport cn from 'classnames';\n\nimport { getDataTestId } from '@alfalab/core-components-shared';\nimport { useFocus } from '@alfalab/hooks';\nimport { CheckmarkCircleMIcon } from '@alfalab/icons-glyph/CheckmarkCircleMIcon';\nimport { ClockMIcon } from '@alfalab/icons-glyph/ClockMIcon';\nimport { CrossCompactMIcon } from '@alfalab/icons-glyph/CrossCompactMIcon';\nimport { ExclamationCircleMIcon } from '@alfalab/icons-glyph/ExclamationCircleMIcon';\n\nimport { type CommonProps } from '../../types/common-props';\nimport { StepIndicator, type StepIndicatorProps } from '../step-indicator';\n\nimport styles from './index.module.css';\n\ntype StepProps = {\n /**\n * Номер шага\n */\n stepNumber: number;\n\n /**\n * Маркер того, что текущий шаг выбран\n */\n isSelected: boolean;\n\n /**\n * Маркер того, что текущий шаг доступен для клика\n */\n disabled: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Positive\"\n */\n isPositive: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Error\"\n */\n isError: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"isCriticalError\"\n */\n isCriticalError: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Warning\"\n */\n isWarning: boolean;\n\n /**\n * Маркер того, что текущий шаг находится в состоянии \"Waiting\"\n */\n isWaiting: boolean;\n\n /**\n * Маркер того, что текущий шаг нужно пометить как завершенный\n */\n isStepCompleted: boolean;\n\n /**\n * Свойства кастомного индикатора текущего шага\n */\n customStepIndicator?: StepIndicatorProps | null;\n\n /**\n * Указывает, является ли текущий шаг последним в списке\n */\n isNotLastStep?: boolean;\n\n /**\n * Обработчик нажатия на текущей шаг\n * @param stepNumber - номер шага\n */\n onClick: (stepNumber: number) => void;\n} & CommonProps;\n\nexport const Step: FC<StepProps> = ({\n children,\n stepNumber,\n isSelected,\n disabled,\n ordered,\n isPositive,\n isError,\n isCriticalError,\n isWarning,\n isWaiting,\n customStepIndicator,\n isStepCompleted,\n onClick,\n interactive,\n isVerticalAlign,\n isNotLastStep,\n fullWidth,\n minSpaceBetweenSteps = 24,\n completedDashColor,\n dataTestId,\n}) => {\n const stepRef = useRef<HTMLDivElement>(null);\n\n const [focused] = useFocus(stepRef, 'keyboard');\n\n const handleButtonClick = () => {\n if (!disabled && interactive && onClick) {\n onClick(stepNumber);\n }\n };\n\n const handleTextClick = (e: React.MouseEvent<HTMLElement>) => {\n if (!interactive) {\n e.stopPropagation();\n }\n };\n\n const handleKeyDown = (event: React.KeyboardEvent) => {\n if (event.key === 'Enter') {\n handleButtonClick();\n }\n };\n\n const getStepIndicator = () => {\n if (customStepIndicator) {\n return <StepIndicator {...customStepIndicator} />;\n }\n if (isCriticalError) {\n return <StepIndicator iconColor='negative' content={<CrossCompactMIcon />} />;\n }\n if (isError) {\n return <StepIndicator iconColor='negative' content={<ExclamationCircleMIcon />} />;\n }\n if (isWarning) {\n return <StepIndicator iconColor='attention' content={<ExclamationCircleMIcon />} />;\n }\n if (isWaiting) {\n return <StepIndicator iconColor='secondary' content={<ClockMIcon />} />;\n }\n if (isPositive) {\n return <StepIndicator iconColor='positive' content={<CheckmarkCircleMIcon />} />;\n }\n if (isStepCompleted) {\n return (\n <StepIndicator\n iconColor='positive'\n content={<CheckmarkCircleMIcon />}\n className={styles.completedIndicator}\n />\n );\n }\n if (!ordered) {\n return (\n <div className={styles.checkbox}>\n <span className={styles.dot} />\n </div>\n );\n }\n\n return stepNumber;\n };\n\n const getCustomDashColor = () => {\n if (isStepCompleted && completedDashColor) {\n return {\n borderColor: completedDashColor,\n };\n }\n\n return {};\n };\n\n const renderDash = () => (\n <div\n className={cn(styles.dash, {\n [styles.vertical]: isVerticalAlign,\n [styles.completed]: isStepCompleted,\n })}\n style={{\n ...getCustomDashColor(),\n }}\n />\n );\n\n return (\n <div\n data-test-id={getDataTestId(dataTestId, 'step')}\n role='button'\n tabIndex={0}\n ref={stepRef}\n className={cn(styles.step, {\n [styles.completed]: isStepCompleted,\n [styles.error]: isError,\n [styles.selected]: isSelected,\n [styles.disabled]: disabled,\n [styles.focused]: focused,\n [styles.vertical]: isVerticalAlign,\n [styles.interactive]: interactive,\n [styles.fullWidth]: fullWidth && isVerticalAlign,\n [styles.horizontal]: !isVerticalAlign,\n })}\n onClick={handleButtonClick}\n onKeyDown={handleKeyDown}\n >\n <div\n className={cn(styles.indicator, {\n [styles.vertical]: isVerticalAlign,\n [styles.interactive]: interactive,\n })}\n >\n <div\n className={cn(styles.option, {\n [styles.unordered]: !ordered,\n [styles.vertical]: isVerticalAlign,\n [styles.error]: isError,\n })}\n >\n {getStepIndicator()}\n </div>\n {isNotLastStep && isVerticalAlign && renderDash()}\n </div>\n <div\n className={cn(styles.textWrapper, styles[`gap-${minSpaceBetweenSteps}`], {\n [styles.vertical]: isVerticalAlign,\n })}\n >\n {/* eslint-disable-next-line jsx-a11y/click-events-have-key-events, jsx-a11y/no-static-element-interactions */}\n <div\n className={cn(styles.text, {\n [styles.interactive]: interactive,\n [styles.fullWidth]: fullWidth && isVerticalAlign,\n })}\n onClick={handleTextClick}\n >\n {children}\n </div>\n </div>\n {isNotLastStep && !isVerticalAlign && renderDash()}\n </div>\n );\n};\n"],"names":[],"mappings":"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"}