@astral/ui 4.49.0 → 4.50.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 (147) hide show
  1. package/components/NewStepper/NewStepper.d.ts +2 -0
  2. package/components/NewStepper/NewStepper.js +30 -0
  3. package/components/NewStepper/Step/Description/Description.d.ts +7 -0
  4. package/components/NewStepper/Step/Description/Description.js +8 -0
  5. package/components/NewStepper/Step/Description/index.d.ts +1 -0
  6. package/components/NewStepper/Step/Description/index.js +1 -0
  7. package/components/NewStepper/Step/Description/styles.d.ts +11 -0
  8. package/components/NewStepper/Step/Description/styles.js +18 -0
  9. package/components/NewStepper/Step/Label/Label.d.ts +8 -0
  10. package/components/NewStepper/Step/Label/Label.js +9 -0
  11. package/components/NewStepper/Step/Label/index.d.ts +1 -0
  12. package/components/NewStepper/Step/Label/index.js +1 -0
  13. package/components/NewStepper/Step/Label/styles.d.ts +25 -0
  14. package/components/NewStepper/Step/Label/styles.js +18 -0
  15. package/components/NewStepper/Step/Label/useLogic/index.d.ts +1 -0
  16. package/components/NewStepper/Step/Label/useLogic/index.js +1 -0
  17. package/components/NewStepper/Step/Label/useLogic/useLogic.d.ts +7 -0
  18. package/components/NewStepper/Step/Label/useLogic/useLogic.js +7 -0
  19. package/components/NewStepper/Step/Step.d.ts +2 -0
  20. package/components/NewStepper/Step/Step.js +80 -0
  21. package/components/NewStepper/Step/constants.d.ts +28 -0
  22. package/components/NewStepper/Step/constants.js +25 -0
  23. package/components/NewStepper/Step/index.d.ts +3 -0
  24. package/components/NewStepper/Step/index.js +2 -0
  25. package/components/NewStepper/Step/styles.d.ts +38 -0
  26. package/components/NewStepper/Step/styles.js +303 -0
  27. package/components/NewStepper/Step/types.d.ts +44 -0
  28. package/components/NewStepper/Step/types.js +1 -0
  29. package/components/NewStepper/Step/useLogic/index.d.ts +1 -0
  30. package/components/NewStepper/Step/useLogic/index.js +1 -0
  31. package/components/NewStepper/Step/useLogic/useLogic.d.ts +23 -0
  32. package/components/NewStepper/Step/useLogic/useLogic.js +55 -0
  33. package/components/NewStepper/StepIcon/StepIcon.d.ts +28 -0
  34. package/components/NewStepper/StepIcon/StepIcon.js +34 -0
  35. package/components/NewStepper/StepIcon/constants.d.ts +7 -0
  36. package/components/NewStepper/StepIcon/constants.js +8 -0
  37. package/components/NewStepper/StepIcon/index.d.ts +2 -0
  38. package/components/NewStepper/StepIcon/index.js +2 -0
  39. package/components/NewStepper/StepperContext/StepperContext.d.ts +11 -0
  40. package/components/NewStepper/StepperContext/StepperContext.js +10 -0
  41. package/components/NewStepper/StepperContext/StepperContextProvider/StepperContextProvider.d.ts +7 -0
  42. package/components/NewStepper/StepperContext/StepperContextProvider/StepperContextProvider.js +23 -0
  43. package/components/NewStepper/StepperContext/StepperContextProvider/index.d.ts +1 -0
  44. package/components/NewStepper/StepperContext/StepperContextProvider/index.js +1 -0
  45. package/components/NewStepper/StepperContext/index.d.ts +2 -0
  46. package/components/NewStepper/StepperContext/index.js +2 -0
  47. package/components/NewStepper/constants.d.ts +12 -0
  48. package/components/NewStepper/constants.js +13 -0
  49. package/components/NewStepper/index.d.ts +4 -0
  50. package/components/NewStepper/index.js +3 -0
  51. package/components/NewStepper/public.d.ts +4 -0
  52. package/components/NewStepper/public.js +3 -0
  53. package/components/NewStepper/styles.d.ts +5 -0
  54. package/components/NewStepper/styles.js +34 -0
  55. package/components/NewStepper/types.d.ts +33 -0
  56. package/components/NewStepper/types.js +1 -0
  57. package/components/NewStepper/useLogic/index.d.ts +1 -0
  58. package/components/NewStepper/useLogic/index.js +1 -0
  59. package/components/NewStepper/useLogic/useLogic.d.ts +15 -0
  60. package/components/NewStepper/useLogic/useLogic.js +47 -0
  61. package/components/NewStepper/useLogic/utils/index.d.ts +1 -0
  62. package/components/NewStepper/useLogic/utils/index.js +1 -0
  63. package/components/NewStepper/useLogic/utils/validateStepperProps/index.d.ts +1 -0
  64. package/components/NewStepper/useLogic/utils/validateStepperProps/index.js +1 -0
  65. package/components/NewStepper/useLogic/utils/validateStepperProps/validateStepperProps.d.ts +5 -0
  66. package/components/NewStepper/useLogic/utils/validateStepperProps/validateStepperProps.js +16 -0
  67. package/components/Stepper/Stepper.d.ts +3 -0
  68. package/components/Stepper/Stepper.js +3 -0
  69. package/components/StepperWizard/StepperWizard.d.ts +3 -0
  70. package/components/StepperWizard/StepperWizard.js +3 -0
  71. package/components/Typography/Typography.js +1 -1
  72. package/components/Typography/constants.d.ts +1 -0
  73. package/components/Typography/constants.js +2 -0
  74. package/node/components/NewStepper/NewStepper.d.ts +2 -0
  75. package/node/components/NewStepper/NewStepper.js +34 -0
  76. package/node/components/NewStepper/Step/Description/Description.d.ts +7 -0
  77. package/node/components/NewStepper/Step/Description/Description.js +12 -0
  78. package/node/components/NewStepper/Step/Description/index.d.ts +1 -0
  79. package/node/components/NewStepper/Step/Description/index.js +17 -0
  80. package/node/components/NewStepper/Step/Description/styles.d.ts +11 -0
  81. package/node/components/NewStepper/Step/Description/styles.js +21 -0
  82. package/node/components/NewStepper/Step/Label/Label.d.ts +8 -0
  83. package/node/components/NewStepper/Step/Label/Label.js +13 -0
  84. package/node/components/NewStepper/Step/Label/index.d.ts +1 -0
  85. package/node/components/NewStepper/Step/Label/index.js +5 -0
  86. package/node/components/NewStepper/Step/Label/styles.d.ts +25 -0
  87. package/node/components/NewStepper/Step/Label/styles.js +21 -0
  88. package/node/components/NewStepper/Step/Label/useLogic/index.d.ts +1 -0
  89. package/node/components/NewStepper/Step/Label/useLogic/index.js +17 -0
  90. package/node/components/NewStepper/Step/Label/useLogic/useLogic.d.ts +7 -0
  91. package/node/components/NewStepper/Step/Label/useLogic/useLogic.js +11 -0
  92. package/node/components/NewStepper/Step/Step.d.ts +2 -0
  93. package/node/components/NewStepper/Step/Step.js +84 -0
  94. package/node/components/NewStepper/Step/constants.d.ts +28 -0
  95. package/node/components/NewStepper/Step/constants.js +28 -0
  96. package/node/components/NewStepper/Step/index.d.ts +3 -0
  97. package/node/components/NewStepper/Step/index.js +7 -0
  98. package/node/components/NewStepper/Step/styles.d.ts +38 -0
  99. package/node/components/NewStepper/Step/styles.js +306 -0
  100. package/node/components/NewStepper/Step/types.d.ts +44 -0
  101. package/node/components/NewStepper/Step/types.js +2 -0
  102. package/node/components/NewStepper/Step/useLogic/index.d.ts +1 -0
  103. package/node/components/NewStepper/Step/useLogic/index.js +17 -0
  104. package/node/components/NewStepper/Step/useLogic/useLogic.d.ts +23 -0
  105. package/node/components/NewStepper/Step/useLogic/useLogic.js +59 -0
  106. package/node/components/NewStepper/StepIcon/StepIcon.d.ts +28 -0
  107. package/node/components/NewStepper/StepIcon/StepIcon.js +38 -0
  108. package/node/components/NewStepper/StepIcon/constants.d.ts +7 -0
  109. package/node/components/NewStepper/StepIcon/constants.js +11 -0
  110. package/node/components/NewStepper/StepIcon/index.d.ts +2 -0
  111. package/node/components/NewStepper/StepIcon/index.js +7 -0
  112. package/node/components/NewStepper/StepperContext/StepperContext.d.ts +11 -0
  113. package/node/components/NewStepper/StepperContext/StepperContext.js +13 -0
  114. package/node/components/NewStepper/StepperContext/StepperContextProvider/StepperContextProvider.d.ts +7 -0
  115. package/node/components/NewStepper/StepperContext/StepperContextProvider/StepperContextProvider.js +27 -0
  116. package/node/components/NewStepper/StepperContext/StepperContextProvider/index.d.ts +1 -0
  117. package/node/components/NewStepper/StepperContext/StepperContextProvider/index.js +17 -0
  118. package/node/components/NewStepper/StepperContext/index.d.ts +2 -0
  119. package/node/components/NewStepper/StepperContext/index.js +18 -0
  120. package/node/components/NewStepper/constants.d.ts +12 -0
  121. package/node/components/NewStepper/constants.js +16 -0
  122. package/node/components/NewStepper/index.d.ts +4 -0
  123. package/node/components/NewStepper/index.js +10 -0
  124. package/node/components/NewStepper/public.d.ts +4 -0
  125. package/node/components/NewStepper/public.js +10 -0
  126. package/node/components/NewStepper/styles.d.ts +5 -0
  127. package/node/components/NewStepper/styles.js +37 -0
  128. package/node/components/NewStepper/types.d.ts +33 -0
  129. package/node/components/NewStepper/types.js +2 -0
  130. package/node/components/NewStepper/useLogic/index.d.ts +1 -0
  131. package/node/components/NewStepper/useLogic/index.js +17 -0
  132. package/node/components/NewStepper/useLogic/useLogic.d.ts +15 -0
  133. package/node/components/NewStepper/useLogic/useLogic.js +51 -0
  134. package/node/components/NewStepper/useLogic/utils/index.d.ts +1 -0
  135. package/node/components/NewStepper/useLogic/utils/index.js +17 -0
  136. package/node/components/NewStepper/useLogic/utils/validateStepperProps/index.d.ts +1 -0
  137. package/node/components/NewStepper/useLogic/utils/validateStepperProps/index.js +17 -0
  138. package/node/components/NewStepper/useLogic/utils/validateStepperProps/validateStepperProps.d.ts +5 -0
  139. package/node/components/NewStepper/useLogic/utils/validateStepperProps/validateStepperProps.js +20 -0
  140. package/node/components/Stepper/Stepper.d.ts +3 -0
  141. package/node/components/Stepper/Stepper.js +3 -0
  142. package/node/components/StepperWizard/StepperWizard.d.ts +3 -0
  143. package/node/components/StepperWizard/StepperWizard.js +3 -0
  144. package/node/components/Typography/Typography.js +1 -1
  145. package/node/components/Typography/constants.d.ts +1 -0
  146. package/node/components/Typography/constants.js +2 -0
  147. package/package.json +1 -1
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stepClassnames = exports.stepStateClassnames = void 0;
4
+ const createUIKitClassname_1 = require("../../utils/createUIKitClassname");
5
+ exports.stepStateClassnames = {
6
+ active: (0, createUIKitClassname_1.createUIKitClassname)('step_active'),
7
+ completed: (0, createUIKitClassname_1.createUIKitClassname)('step_completed'),
8
+ error: (0, createUIKitClassname_1.createUIKitClassname)('step_error'),
9
+ warning: (0, createUIKitClassname_1.createUIKitClassname)('step_warning'),
10
+ disabled: (0, createUIKitClassname_1.createUIKitClassname)('step_disabled'),
11
+ };
12
+ exports.stepClassnames = {
13
+ root: (0, createUIKitClassname_1.createUIKitClassname)('step'),
14
+ label: (0, createUIKitClassname_1.createUIKitClassname)('step__label'),
15
+ description: (0, createUIKitClassname_1.createUIKitClassname)('step__description'),
16
+ iconContainer: (0, createUIKitClassname_1.createUIKitClassname)('step__icon-container'),
17
+ connector: (0, createUIKitClassname_1.createUIKitClassname)('step__connector'),
18
+ connectorLine: (0, createUIKitClassname_1.createUIKitClassname)('step_connector-line'),
19
+ connectorArrow: (0, createUIKitClassname_1.createUIKitClassname)('step_connector-arrow'),
20
+ alternativeLabel: (0, createUIKitClassname_1.createUIKitClassname)('step_alternative-label'),
21
+ orientationHorizontal: (0, createUIKitClassname_1.createUIKitClassname)('step_orientation-horizontal'),
22
+ orientationVertical: (0, createUIKitClassname_1.createUIKitClassname)('step_orientation-vertical'),
23
+ labelContainer: (0, createUIKitClassname_1.createUIKitClassname)('step__label-container'),
24
+ labelMobile: (0, createUIKitClassname_1.createUIKitClassname)('step__label-mobile'),
25
+ content: (0, createUIKitClassname_1.createUIKitClassname)('step__content'),
26
+ hasDescription: (0, createUIKitClassname_1.createUIKitClassname)('step_has-description'),
27
+ ...exports.stepStateClassnames,
28
+ };
@@ -0,0 +1,3 @@
1
+ export { Step } from './Step';
2
+ export type { StepProps } from './types';
3
+ export { stepClassnames } from './constants';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stepClassnames = exports.Step = void 0;
4
+ var Step_1 = require("./Step");
5
+ Object.defineProperty(exports, "Step", { enumerable: true, get: function () { return Step_1.Step; } });
6
+ var constants_1 = require("./constants");
7
+ Object.defineProperty(exports, "stepClassnames", { enumerable: true, get: function () { return constants_1.stepClassnames; } });
@@ -0,0 +1,38 @@
1
+ /// <reference types="react" />
2
+ export declare const Wrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
3
+ theme?: import("@emotion/react").Theme | undefined;
4
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
5
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
6
+ export declare const IconWrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
7
+ theme?: import("@emotion/react").Theme | undefined;
8
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
9
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
10
+ export declare const ArrowConnector: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
11
+ children?: import("react").ReactNode;
12
+ color?: string | undefined;
13
+ titleAccess?: string | undefined;
14
+ size?: "sm" | "md" | undefined;
15
+ } & import("react").SVGProps<SVGSVGElement> & {
16
+ theme?: import("@emotion/react").Theme | undefined;
17
+ }, {}, {}>;
18
+ export declare const LineConnector: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
19
+ theme?: import("@emotion/react").Theme | undefined;
20
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
21
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
22
+ export declare const LabelWrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
23
+ theme?: import("@emotion/react").Theme | undefined;
24
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
25
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
26
+ export declare const StepContentWrapper: import("@emotion/styled/dist/declarations/src/types").StyledComponent<{
27
+ theme?: import("@emotion/react").Theme | undefined;
28
+ as?: import("react").ElementType<any, keyof import("react").JSX.IntrinsicElements> | undefined;
29
+ }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
30
+ export declare const StyledButton: import("@emotion/styled/dist/declarations/src/types").StyledComponent<Omit<import("../..").WithoutEmotionSpecific<import("@mui/material").ButtonProps>, "color" | "component" | "variant" | "centerRipple" | "disableRipple" | "disableTouchRipple" | "focusRipple" | "TouchRippleProps" | "touchRippleRef" | "disableFocusRipple"> & {
31
+ variant?: "light" | "link" | "text" | "contained" | "outlined" | undefined;
32
+ loading?: boolean | undefined;
33
+ color?: "primary" | "success" | "warning" | "error" | "grey" | undefined;
34
+ component?: import("react").ElementType | undefined;
35
+ selected?: boolean | undefined;
36
+ } & Omit<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, ""> & import("react").RefAttributes<HTMLButtonElement> & {
37
+ theme?: import("@emotion/react").Theme | undefined;
38
+ }, {}, {}>;
@@ -0,0 +1,306 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StyledButton = exports.StepContentWrapper = exports.LabelWrapper = exports.LineConnector = exports.ArrowConnector = exports.IconWrapper = exports.Wrapper = void 0;
4
+ const NextOutlineMd_1 = require("../../../icons/NextOutlineMd");
5
+ const Button_1 = require("../../Button");
6
+ const styled_1 = require("../../styled");
7
+ const constants_1 = require("../../Typography/constants");
8
+ const constants_2 = require("../StepIcon/constants");
9
+ const constants_3 = require("./constants");
10
+ exports.Wrapper = styled_1.styled.div `
11
+ display: flex;
12
+ gap: ${({ theme }) => theme.microSpacing(5)};
13
+ align-items: center;
14
+
15
+ &.${constants_3.stepClassnames.alternativeLabel} {
16
+ position: relative;
17
+
18
+ flex: 1;
19
+ flex-direction: column;
20
+
21
+ & .${constants_3.stepClassnames.labelContainer} {
22
+ flex-direction: column;
23
+
24
+ text-align: center;
25
+ }
26
+
27
+ &:first-of-type {
28
+ & .${constants_3.stepClassnames.connector} {
29
+ display: none;
30
+ }
31
+ }
32
+ }
33
+
34
+ &.${constants_3.stepClassnames.connectorArrow} {
35
+ & .${constants_3.stepClassnames.content} {
36
+ padding: ${({ theme }) => theme.microSpacing(5, 0)};
37
+ }
38
+
39
+ &:not(:first-of-type) .${constants_3.stepClassnames.content} {
40
+ margin-left: ${({ theme }) => theme.spacing(2)};
41
+ }
42
+
43
+ &:last-of-type .${constants_3.stepClassnames.connector} {
44
+ display: none;
45
+ }
46
+ }
47
+
48
+ &.${constants_3.stepClassnames.connectorLine} {
49
+ &.${constants_3.stepClassnames.orientationHorizontal} {
50
+ & .${constants_3.stepClassnames.content} {
51
+ align-items: center;
52
+
53
+ padding: ${({ theme }) => theme.spacing(0, 1)};
54
+ }
55
+
56
+
57
+ &.${constants_3.stepClassnames.alternativeLabel} {
58
+ & .${constants_3.stepClassnames.content} {
59
+ padding: ${({ theme }) => theme.microSpacing(3, 0)};
60
+ }
61
+ }
62
+ }
63
+
64
+ &.${constants_3.stepClassnames.orientationVertical} {
65
+ & .${constants_3.stepClassnames.content} {
66
+ padding: ${({ theme }) => theme.spacing(1, 0, 0)};
67
+ }
68
+
69
+ & .${constants_3.stepClassnames.connector}:not(.${constants_3.stepClassnames.hasDescription}) {
70
+ margin-bottom: ${({ theme }) => theme.microSpacing(1)};
71
+ }
72
+
73
+ &:last-of-type {
74
+ & .${constants_3.stepClassnames.description} {
75
+ min-height: 0;
76
+ margin: 0;
77
+ padding-left: ${({ theme }) => theme.spacing(6)};
78
+
79
+ border-left: none;
80
+
81
+ ${({ theme }) => theme.breakpoints.down('sm')} {
82
+ padding-left: ${({ theme }) => theme.spacing(7)};
83
+ }
84
+ }
85
+
86
+ & .${constants_3.stepClassnames.connector} {
87
+ display: none;
88
+ }
89
+ }
90
+
91
+ &:last-of-type {
92
+ & .${constants_3.stepClassnames.content} {
93
+ padding: ${({ theme }) => theme.spacing(1, 0)};
94
+
95
+ & .${constants_3.stepClassnames.description} {
96
+ margin-bottom: 0;
97
+ }
98
+ }
99
+ }
100
+
101
+ & .${constants_3.stepClassnames.labelMobile} {
102
+ display: none;
103
+ }
104
+
105
+ & .${constants_3.stepClassnames.label} {
106
+ display: block;
107
+ }
108
+ }
109
+ }
110
+
111
+ & .${constants_3.stepClassnames.content} {
112
+ &.${constants_3.stepClassnames.active} {
113
+ & .${constants_3.stepClassnames.label} {
114
+ color: ${({ theme }) => theme.palette.grey[900]};
115
+ }
116
+
117
+ & .${constants_2.stepIconClassnames.root} {
118
+ color: ${({ theme }) => theme.palette.primary[800]};
119
+
120
+ &.${constants_2.stepIconClassnames.success} {
121
+ color: ${({ theme }) => theme.palette.success[800]};
122
+ }
123
+
124
+ &.${constants_2.stepIconClassnames.error} {
125
+ color: ${({ theme }) => theme.palette.error[800]};
126
+ }
127
+
128
+ &.${constants_2.stepIconClassnames.warning} {
129
+ color: ${({ theme }) => theme.palette.warning[800]};
130
+ }
131
+ }
132
+ }
133
+ }
134
+ `;
135
+ exports.IconWrapper = styled_1.styled.div `
136
+ display: flex;
137
+
138
+ & .${constants_2.stepIconClassnames.root} {
139
+ width: 20px;
140
+ height: 20px;
141
+
142
+ color: ${({ theme }) => theme.palette.grey[300]};
143
+
144
+ transition: ${({ theme }) => theme.transitions.create(['color'], {
145
+ duration: theme.transitions.duration.shorter,
146
+ })};
147
+
148
+ &.${constants_2.stepIconClassnames.active} {
149
+ color: ${({ theme }) => theme.palette.primary[800]};
150
+ }
151
+
152
+ &.${constants_2.stepIconClassnames.success} {
153
+ color: ${({ theme }) => theme.palette.success[800]};
154
+ }
155
+
156
+ &.${constants_2.stepIconClassnames.error} {
157
+ color: ${({ theme }) => theme.palette.error[800]};
158
+ }
159
+
160
+ &.${constants_2.stepIconClassnames.warning} {
161
+ color: ${({ theme }) => theme.palette.warning[800]};
162
+ }
163
+
164
+ ${({ theme }) => theme.breakpoints.down('sm')} {
165
+ width: 24px;
166
+ height: 24px;
167
+ }
168
+ }
169
+ `;
170
+ exports.ArrowConnector = (0, styled_1.styled)(NextOutlineMd_1.NextOutlineMd) `
171
+ width: 20px;
172
+ height: 20px;
173
+
174
+ color: ${({ theme }) => theme.palette.grey[400]};
175
+
176
+ ${({ theme }) => theme.breakpoints.down('sm')} {
177
+ width: 24px;
178
+ height: 24px;
179
+ }
180
+ `;
181
+ exports.LineConnector = styled_1.styled.div `
182
+ flex: 1 1 auto;
183
+
184
+ height: 2px;
185
+
186
+ border-top: 2px solid ${({ theme }) => theme.palette.grey[300]};
187
+
188
+ &.${constants_3.stepClassnames.alternativeLabel} {
189
+ position: absolute;
190
+ top: 15px;
191
+ right: calc(50% + 14px);
192
+ left: calc(-50% + 14px);
193
+ }
194
+
195
+ &.${constants_3.stepClassnames.orientationVertical} {
196
+ min-height: 16px;
197
+
198
+ /* Смещение необходимо для центрирования линии относительно иконки, т.к. линия шириной 2px, то для выравнивания необходимо число не кратное 2ум */
199
+ margin-left: 9px;
200
+
201
+ border-top: unset;
202
+ border-left: 2px solid ${({ theme }) => theme.palette.grey[300]};
203
+
204
+ ${({ theme }) => theme.breakpoints.down('sm')} {
205
+ margin-left: 11px;
206
+ }
207
+ }
208
+ `;
209
+ exports.LabelWrapper = styled_1.styled.div `
210
+ display: flex;
211
+ gap: ${({ theme }) => theme.spacing(1)};
212
+ align-items: center;
213
+
214
+ color: ${({ theme }) => theme.palette.grey[600]};
215
+
216
+ & .${constants_1.typographyClassnames.root} {
217
+ transition: ${({ theme }) => theme.transitions.create(['color'], {
218
+ duration: theme.transitions.duration.shorter,
219
+ })};
220
+ }
221
+
222
+ ${({ theme }) => theme.breakpoints.down('sm')} {
223
+ white-space: nowrap;
224
+ }
225
+ `;
226
+ exports.StepContentWrapper = styled_1.styled.div `
227
+ display: flex;
228
+ flex-direction: column;
229
+ gap: ${({ theme }) => theme.spacing(1)};
230
+
231
+ ${({ theme }) => theme.breakpoints.down('sm')} {
232
+ gap: ${({ theme }) => theme.microSpacing(1)};
233
+ }
234
+ `;
235
+ exports.StyledButton = (0, styled_1.styled)(Button_1.Button) `
236
+ cursor: pointer;
237
+
238
+ display: flex;
239
+ flex-direction: column;
240
+ gap: ${({ theme }) => theme.spacing(1)};
241
+ align-items: flex-start;
242
+ justify-content: flex-start;
243
+
244
+ width: 100%;
245
+ height: auto;
246
+ padding: 0;
247
+
248
+ background: transparent;
249
+ border: 0;
250
+
251
+ ${({ theme }) => theme.breakpoints.down('sm')} {
252
+ gap: ${({ theme }) => theme.microSpacing(1)};
253
+ }
254
+
255
+ &:hover {
256
+ background: transparent;
257
+
258
+ & .${constants_3.stepClassnames.label} {
259
+ color: ${({ theme }) => theme.palette.grey[700]};
260
+ }
261
+
262
+ & .${constants_2.stepIconClassnames.root} {
263
+ color: ${({ theme }) => theme.palette.primary[700]};
264
+
265
+ &.${constants_2.stepIconClassnames.success} {
266
+ color: ${({ theme }) => theme.palette.success[700]};
267
+ }
268
+
269
+ &.${constants_2.stepIconClassnames.error} {
270
+ color: ${({ theme }) => theme.palette.error[700]};
271
+ }
272
+
273
+ &.${constants_2.stepIconClassnames.warning} {
274
+ color: ${({ theme }) => theme.palette.warning[700]};
275
+ }
276
+ }
277
+ }
278
+
279
+ &:active {
280
+ background: transparent;
281
+ & .${constants_3.stepClassnames.label} {
282
+ color: ${({ theme }) => theme.palette.grey[900]};
283
+ }
284
+
285
+ & .${constants_2.stepIconClassnames.root} {
286
+ color: ${({ theme }) => theme.palette.primary[800]};
287
+
288
+ &.${constants_2.stepIconClassnames.success} {
289
+ color: ${({ theme }) => theme.palette.success[800]};
290
+ }
291
+
292
+ &.${constants_2.stepIconClassnames.error} {
293
+ color: ${({ theme }) => theme.palette.error[800]};
294
+ }
295
+
296
+ &.${constants_2.stepIconClassnames.warning} {
297
+ color: ${({ theme }) => theme.palette.warning[700]};
298
+ }
299
+ }
300
+ }
301
+
302
+ &:focus-visible {
303
+ border-radius: ${({ theme }) => theme.shape.medium};
304
+ outline: 1px solid ${({ theme }) => theme.palette.components.focused};
305
+ }
306
+ `;
@@ -0,0 +1,44 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { StepIconProps } from '../StepIcon';
3
+ export type StepProps = {
4
+ /**
5
+ * Название шага
6
+ */
7
+ label: ReactNode;
8
+ /**
9
+ * Флаг ошибки шага
10
+ */
11
+ isError?: boolean;
12
+ /**
13
+ * Завершённость шага. Если не передан — считается по `activeStep` (как раньше: пройдены шаги с меньшим `stepId`).
14
+ */
15
+ isCompleted?: boolean;
16
+ /**
17
+ * Флаг предупреждения шага
18
+ */
19
+ isWarning?: boolean;
20
+ /**
21
+ * Флаг блокировки шага
22
+ */
23
+ isDisabled?: boolean;
24
+ /**
25
+ * Дополнительный текст шага
26
+ */
27
+ children?: ReactNode;
28
+ /**
29
+ * Функция вызываемая при клике на шаг
30
+ */
31
+ onClick?: (stepId: number) => void;
32
+ /**
33
+ * Кастомный компонент иконки
34
+ */
35
+ icon?: (props: Omit<StepIconProps, 'icon'>) => ReactNode;
36
+ /**
37
+ * Класс применяемый к корневому элементу
38
+ */
39
+ className?: string;
40
+ /**
41
+ * ID шага
42
+ */
43
+ stepId: number;
44
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1 @@
1
+ export * from './useLogic';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./useLogic"), exports);
@@ -0,0 +1,23 @@
1
+ /// <reference types="react" />
2
+ import type { StepProps } from '../types';
3
+ type UseLogicParams = StepProps;
4
+ export declare const useLogic: ({ stepId, isCompleted, onClick, children, isError, isWarning, icon, label, isDisabled, className, }: UseLogicParams) => {
5
+ isCompletedStep: boolean;
6
+ isRenderButton: boolean;
7
+ handleClick: () => void;
8
+ connectorVariant: "line" | "arrow";
9
+ alternativeLabel: boolean;
10
+ orientation: "horizontal" | "vertical";
11
+ stepId: number;
12
+ children: import("react").ReactNode;
13
+ isError: boolean | undefined;
14
+ isWarning: boolean | undefined;
15
+ icon: ((props: Omit<import("../../StepIcon").StepIconProps, "icon">) => import("react").ReactNode) | undefined;
16
+ className: string | undefined;
17
+ label: import("react").ReactNode;
18
+ isRenderVerticalLineConnector: boolean;
19
+ isRenderHorizontalLineConnector: boolean;
20
+ isDisabled: boolean;
21
+ isActiveStep: boolean;
22
+ };
23
+ export {};
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.useLogic = void 0;
4
+ const react_1 = require("react");
5
+ const StepperContext_1 = require("../../StepperContext");
6
+ const useLogic = ({ stepId, isCompleted, onClick, children, isError, isWarning, icon, label, isDisabled, className, }) => {
7
+ const { connector, activeStep, orientation, alternativeLabel, onClickPrevStep, onClickStep, } = (0, react_1.useContext)(StepperContext_1.StepperContext);
8
+ (0, react_1.useEffect)(() => {
9
+ const hasDescription = Boolean(children);
10
+ const isValidForDescription = orientation === 'vertical' &&
11
+ connector === 'line' &&
12
+ alternativeLabel === false;
13
+ if (hasDescription && !isValidForDescription) {
14
+ // biome-ignore lint/suspicious/noConsole: Сообщение для интеграторов
15
+ console.error('Stepper: description можно использовать только с комбинацией:\n' +
16
+ 'orientation="vertical", connector="line", alternativeLabel=false');
17
+ }
18
+ }, []);
19
+ const isCompletedStep = isCompleted !== undefined ? isCompleted : activeStep > stepId;
20
+ const isClickableStep = Boolean(onClick) ||
21
+ Boolean(onClickStep) ||
22
+ (Boolean(onClickPrevStep) && isCompletedStep);
23
+ const isDisabledFromPrevOnlyMode = Boolean(onClickPrevStep) && !isClickableStep;
24
+ const isDisabledStep = Boolean(isDisabled) || isDisabledFromPrevOnlyMode;
25
+ const isRenderButton = Boolean(onClick) || Boolean(onClickPrevStep) || Boolean(onClickStep);
26
+ const handleClick = () => {
27
+ if (isDisabledStep) {
28
+ return;
29
+ }
30
+ if (isCompletedStep && onClickPrevStep) {
31
+ onClickPrevStep(stepId);
32
+ }
33
+ onClickStep?.(stepId);
34
+ onClick?.(stepId);
35
+ };
36
+ const isRenderVerticalLineConnector = connector === 'line' && orientation === 'vertical' && !children;
37
+ const isRenderHorizontalLineConnector = connector === 'line' && orientation === 'horizontal' && alternativeLabel;
38
+ const isActiveStep = activeStep === stepId;
39
+ return {
40
+ isCompletedStep,
41
+ isRenderButton,
42
+ handleClick,
43
+ connectorVariant: connector,
44
+ alternativeLabel,
45
+ orientation,
46
+ stepId,
47
+ children,
48
+ isError,
49
+ isWarning,
50
+ icon,
51
+ className,
52
+ label,
53
+ isRenderVerticalLineConnector,
54
+ isRenderHorizontalLineConnector,
55
+ isDisabled: isDisabledStep,
56
+ isActiveStep,
57
+ };
58
+ };
59
+ exports.useLogic = useLogic;
@@ -0,0 +1,28 @@
1
+ import type { ReactNode } from 'react';
2
+ export type StepIconProps = {
3
+ /**
4
+ * Флаг активности шага
5
+ */
6
+ isActive?: boolean;
7
+ /**
8
+ * Флаг завершенности шага
9
+ */
10
+ isCompleted?: boolean;
11
+ /**
12
+ * Флаг ошибки шага
13
+ */
14
+ isError?: boolean;
15
+ /**
16
+ * Флаг предупреждения шага
17
+ */
18
+ isWarning?: boolean;
19
+ /**
20
+ * Класс применяемый к корневому элементу
21
+ */
22
+ className?: string;
23
+ /**
24
+ * Кастомный компонент иконки
25
+ */
26
+ icon?: (props: Omit<StepIconProps, 'icon'>) => ReactNode;
27
+ };
28
+ export declare const StepIcon: ({ icon: Icon, isActive, isCompleted, isError, isWarning, }: StepIconProps) => import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StepIcon = void 0;
4
+ const jsx_runtime_1 = require("react/jsx-runtime");
5
+ const StepDefaultFillMd_1 = require("../../../icons/StepDefaultFillMd");
6
+ const StepErrorFillMd_1 = require("../../../icons/StepErrorFillMd");
7
+ const StepSuccessFillMd_1 = require("../../../icons/StepSuccessFillMd");
8
+ const cva_1 = require("../../utils/cva");
9
+ const constants_1 = require("./constants");
10
+ const stepIcon = (0, cva_1.cva)(constants_1.stepIconClassnames.root, {
11
+ variants: {
12
+ isActive: {
13
+ true: constants_1.stepIconClassnames.active,
14
+ },
15
+ isCompleted: {
16
+ true: constants_1.stepIconClassnames.success,
17
+ },
18
+ isError: {
19
+ true: constants_1.stepIconClassnames.error,
20
+ },
21
+ isWarning: {
22
+ true: constants_1.stepIconClassnames.warning,
23
+ },
24
+ },
25
+ });
26
+ const StepIcon = ({ icon: Icon, isActive, isCompleted, isError, isWarning, }) => {
27
+ if (Icon) {
28
+ return ((0, jsx_runtime_1.jsx)(Icon, { isActive: isActive, isCompleted: isCompleted, isError: isError, isWarning: isWarning, className: stepIcon({ isActive, isCompleted, isError, isWarning }) }));
29
+ }
30
+ if (isError && !isActive) {
31
+ return (0, jsx_runtime_1.jsx)(StepErrorFillMd_1.StepErrorFillMd, { className: stepIcon({ isError: true }) });
32
+ }
33
+ if ((isCompleted && !isActive) || (isCompleted && isWarning && !isActive)) {
34
+ return ((0, jsx_runtime_1.jsx)(StepSuccessFillMd_1.StepSuccessFillMd, { className: stepIcon({ isCompleted: true, isWarning }) }));
35
+ }
36
+ return ((0, jsx_runtime_1.jsx)(StepDefaultFillMd_1.StepDefaultFillMd, { className: stepIcon({ isActive, isCompleted, isError, isWarning }) }));
37
+ };
38
+ exports.StepIcon = StepIcon;
@@ -0,0 +1,7 @@
1
+ export declare const stepIconClassnames: {
2
+ root: string;
3
+ active: string;
4
+ error: string;
5
+ warning: string;
6
+ success: string;
7
+ };
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stepIconClassnames = void 0;
4
+ const createUIKitClassname_1 = require("../../utils/createUIKitClassname");
5
+ exports.stepIconClassnames = {
6
+ root: (0, createUIKitClassname_1.createUIKitClassname)('step__icon'),
7
+ active: (0, createUIKitClassname_1.createUIKitClassname)('step__icon_active'),
8
+ error: (0, createUIKitClassname_1.createUIKitClassname)('step__icon_error'),
9
+ warning: (0, createUIKitClassname_1.createUIKitClassname)('step__icon_warning'),
10
+ success: (0, createUIKitClassname_1.createUIKitClassname)('step__icon_success'),
11
+ };
@@ -0,0 +1,2 @@
1
+ export { StepIcon, type StepIconProps } from './StepIcon';
2
+ export { stepIconClassnames } from './constants';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.stepIconClassnames = exports.StepIcon = void 0;
4
+ var StepIcon_1 = require("./StepIcon");
5
+ Object.defineProperty(exports, "StepIcon", { enumerable: true, get: function () { return StepIcon_1.StepIcon; } });
6
+ var constants_1 = require("./constants");
7
+ Object.defineProperty(exports, "stepIconClassnames", { enumerable: true, get: function () { return constants_1.stepIconClassnames; } });
@@ -0,0 +1,11 @@
1
+ /// <reference types="react" />
2
+ export type StepperContextProps = {
3
+ activeStep: number;
4
+ setActiveStep: (step: number) => void;
5
+ orientation: 'horizontal' | 'vertical';
6
+ connector: 'arrow' | 'line';
7
+ alternativeLabel: boolean;
8
+ onClickPrevStep?: (index: number) => void;
9
+ onClickStep?: (index: number) => void;
10
+ };
11
+ export declare const StepperContext: import("react").Context<StepperContextProps>;
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StepperContext = void 0;
4
+ const react_1 = require("react");
5
+ exports.StepperContext = (0, react_1.createContext)({
6
+ activeStep: 0,
7
+ setActiveStep: () => undefined,
8
+ orientation: 'horizontal',
9
+ connector: 'line',
10
+ alternativeLabel: false,
11
+ onClickPrevStep: () => undefined,
12
+ onClickStep: () => undefined,
13
+ });