@xsolla/xui-stepper 0.131.0 → 0.132.0-pr226.1776242322
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/package.json +4 -4
- package/web/index.js +137 -24
- package/web/index.js.map +1 -1
- package/web/index.mjs +120 -7
- package/web/index.mjs.map +1 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@xsolla/xui-stepper",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.132.0-pr226.1776242322",
|
|
4
4
|
"main": "./web/index.js",
|
|
5
5
|
"module": "./web/index.mjs",
|
|
6
6
|
"types": "./web/index.d.ts",
|
|
@@ -14,9 +14,9 @@
|
|
|
14
14
|
"test:coverage": "vitest run --coverage"
|
|
15
15
|
},
|
|
16
16
|
"dependencies": {
|
|
17
|
-
"@xsolla/xui-core": "0.
|
|
18
|
-
"@xsolla/xui-icons": "0.
|
|
19
|
-
"@xsolla/xui-primitives-core": "0.
|
|
17
|
+
"@xsolla/xui-core": "0.132.0-pr226.1776242322",
|
|
18
|
+
"@xsolla/xui-icons": "0.132.0-pr226.1776242322",
|
|
19
|
+
"@xsolla/xui-primitives-core": "0.132.0-pr226.1776242322"
|
|
20
20
|
},
|
|
21
21
|
"peerDependencies": {
|
|
22
22
|
"react": ">=16.8.0",
|
package/web/index.js
CHANGED
|
@@ -38,13 +38,120 @@ __export(index_exports, {
|
|
|
38
38
|
module.exports = __toCommonJS(index_exports);
|
|
39
39
|
|
|
40
40
|
// src/Stepper.tsx
|
|
41
|
-
var
|
|
41
|
+
var import_react5 = require("react");
|
|
42
42
|
|
|
43
43
|
// ../primitives-web/src/Box.tsx
|
|
44
|
-
var
|
|
44
|
+
var import_react2 = __toESM(require("react"));
|
|
45
45
|
var import_styled_components = __toESM(require("styled-components"));
|
|
46
|
+
|
|
47
|
+
// ../primitives-web/src/filterDOMProps.ts
|
|
48
|
+
var import_react = __toESM(require("react"));
|
|
49
|
+
var NON_HTML_PROPS = /* @__PURE__ */ new Set([
|
|
50
|
+
// BoxProps — layout & styling
|
|
51
|
+
"backgroundColor",
|
|
52
|
+
"borderColor",
|
|
53
|
+
"borderWidth",
|
|
54
|
+
"borderBottomWidth",
|
|
55
|
+
"borderBottomColor",
|
|
56
|
+
"borderTopWidth",
|
|
57
|
+
"borderTopColor",
|
|
58
|
+
"borderLeftWidth",
|
|
59
|
+
"borderLeftColor",
|
|
60
|
+
"borderRightWidth",
|
|
61
|
+
"borderRightColor",
|
|
62
|
+
"borderRadius",
|
|
63
|
+
"borderStyle",
|
|
64
|
+
"flexDirection",
|
|
65
|
+
"flexWrap",
|
|
66
|
+
"alignItems",
|
|
67
|
+
"justifyContent",
|
|
68
|
+
"alignSelf",
|
|
69
|
+
"flex",
|
|
70
|
+
"flexShrink",
|
|
71
|
+
"gap",
|
|
72
|
+
"position",
|
|
73
|
+
"top",
|
|
74
|
+
"bottom",
|
|
75
|
+
"left",
|
|
76
|
+
"right",
|
|
77
|
+
"outline",
|
|
78
|
+
"overflow",
|
|
79
|
+
"overflowX",
|
|
80
|
+
"overflowY",
|
|
81
|
+
"zIndex",
|
|
82
|
+
"cursor",
|
|
83
|
+
"padding",
|
|
84
|
+
"paddingHorizontal",
|
|
85
|
+
"paddingVertical",
|
|
86
|
+
"paddingTop",
|
|
87
|
+
"paddingBottom",
|
|
88
|
+
"paddingLeft",
|
|
89
|
+
"paddingRight",
|
|
90
|
+
"margin",
|
|
91
|
+
"marginTop",
|
|
92
|
+
"marginBottom",
|
|
93
|
+
"marginLeft",
|
|
94
|
+
"marginRight",
|
|
95
|
+
"minWidth",
|
|
96
|
+
"minHeight",
|
|
97
|
+
"maxWidth",
|
|
98
|
+
"maxHeight",
|
|
99
|
+
"hoverStyle",
|
|
100
|
+
"pressStyle",
|
|
101
|
+
"focusStyle",
|
|
102
|
+
"outlineColor",
|
|
103
|
+
"outlineWidth",
|
|
104
|
+
"outlineOffset",
|
|
105
|
+
"outlineStyle",
|
|
106
|
+
// BoxProps — RN-only
|
|
107
|
+
"onPress",
|
|
108
|
+
"onLayout",
|
|
109
|
+
"onMoveShouldSetResponder",
|
|
110
|
+
"onResponderGrant",
|
|
111
|
+
"onResponderMove",
|
|
112
|
+
"onResponderRelease",
|
|
113
|
+
"onResponderTerminate",
|
|
114
|
+
"testID",
|
|
115
|
+
// Box — custom element type
|
|
116
|
+
"elementType",
|
|
117
|
+
// TextProps
|
|
118
|
+
"fontSize",
|
|
119
|
+
"fontWeight",
|
|
120
|
+
"fontFamily",
|
|
121
|
+
"lineHeight",
|
|
122
|
+
"whiteSpace",
|
|
123
|
+
"textAlign",
|
|
124
|
+
"textDecoration",
|
|
125
|
+
"numberOfLines",
|
|
126
|
+
"letterSpacing",
|
|
127
|
+
"textTransform",
|
|
128
|
+
// SpinnerProps
|
|
129
|
+
"strokeWidth",
|
|
130
|
+
// DividerProps
|
|
131
|
+
"vertical",
|
|
132
|
+
"dashStroke"
|
|
133
|
+
]);
|
|
134
|
+
function createFilteredElement(defaultTag) {
|
|
135
|
+
const Component = import_react.default.forwardRef(
|
|
136
|
+
({ children, elementType, ...props }, ref) => {
|
|
137
|
+
const Tag = elementType || defaultTag;
|
|
138
|
+
const htmlProps = {};
|
|
139
|
+
for (const key of Object.keys(props)) {
|
|
140
|
+
if (!NON_HTML_PROPS.has(key)) {
|
|
141
|
+
htmlProps[key] = props[key];
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
return import_react.default.createElement(Tag, { ref, ...htmlProps }, children);
|
|
145
|
+
}
|
|
146
|
+
);
|
|
147
|
+
Component.displayName = `Filtered(${defaultTag})`;
|
|
148
|
+
return Component;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// ../primitives-web/src/Box.tsx
|
|
46
152
|
var import_jsx_runtime = require("react/jsx-runtime");
|
|
47
|
-
var
|
|
153
|
+
var FilteredDiv = createFilteredElement("div");
|
|
154
|
+
var StyledBox = (0, import_styled_components.default)(FilteredDiv)`
|
|
48
155
|
display: flex;
|
|
49
156
|
box-sizing: border-box;
|
|
50
157
|
background-color: ${(props) => props.backgroundColor || "transparent"};
|
|
@@ -131,7 +238,7 @@ var StyledBox = import_styled_components.default.div`
|
|
|
131
238
|
${(props) => props.pressStyle?.backgroundColor && `background-color: ${props.pressStyle.backgroundColor};`}
|
|
132
239
|
}
|
|
133
240
|
`;
|
|
134
|
-
var Box =
|
|
241
|
+
var Box = import_react2.default.forwardRef(
|
|
135
242
|
({
|
|
136
243
|
children,
|
|
137
244
|
onPress,
|
|
@@ -156,6 +263,8 @@ var Box = import_react.default.forwardRef(
|
|
|
156
263
|
type,
|
|
157
264
|
disabled,
|
|
158
265
|
id,
|
|
266
|
+
testID,
|
|
267
|
+
"data-testid": dataTestId,
|
|
159
268
|
...props
|
|
160
269
|
}, ref) => {
|
|
161
270
|
if (as === "img" && src) {
|
|
@@ -183,7 +292,7 @@ var Box = import_react.default.forwardRef(
|
|
|
183
292
|
StyledBox,
|
|
184
293
|
{
|
|
185
294
|
ref,
|
|
186
|
-
as,
|
|
295
|
+
elementType: as,
|
|
187
296
|
id,
|
|
188
297
|
type: as === "button" ? type || "button" : void 0,
|
|
189
298
|
disabled: as === "button" ? disabled : void 0,
|
|
@@ -203,6 +312,7 @@ var Box = import_react.default.forwardRef(
|
|
|
203
312
|
"aria-controls": ariaControls,
|
|
204
313
|
"aria-live": ariaLive,
|
|
205
314
|
tabIndex: tabIndex !== void 0 ? tabIndex : void 0,
|
|
315
|
+
"data-testid": dataTestId || testID,
|
|
206
316
|
...props,
|
|
207
317
|
children
|
|
208
318
|
}
|
|
@@ -214,7 +324,8 @@ Box.displayName = "Box";
|
|
|
214
324
|
// ../primitives-web/src/Text.tsx
|
|
215
325
|
var import_styled_components2 = __toESM(require("styled-components"));
|
|
216
326
|
var import_jsx_runtime2 = require("react/jsx-runtime");
|
|
217
|
-
var
|
|
327
|
+
var FilteredSpan = createFilteredElement("span");
|
|
328
|
+
var StyledText = (0, import_styled_components2.default)(FilteredSpan)`
|
|
218
329
|
color: ${(props) => props.color || "inherit"};
|
|
219
330
|
font-size: ${(props) => typeof props.fontSize === "number" ? `${props.fontSize}px` : props.fontSize || "inherit"};
|
|
220
331
|
font-weight: ${(props) => props.fontWeight || "normal"};
|
|
@@ -255,7 +366,8 @@ var rotate = import_styled_components3.keyframes`
|
|
|
255
366
|
transform: rotate(360deg);
|
|
256
367
|
}
|
|
257
368
|
`;
|
|
258
|
-
var
|
|
369
|
+
var FilteredDiv2 = createFilteredElement("div");
|
|
370
|
+
var StyledSpinner = (0, import_styled_components3.default)(FilteredDiv2)`
|
|
259
371
|
width: ${(props) => typeof props.size === "number" ? `${props.size}px` : props.size || "24px"};
|
|
260
372
|
height: ${(props) => typeof props.size === "number" ? `${props.size}px` : props.size || "24px"};
|
|
261
373
|
border: ${(props) => props.strokeWidth || 2}px solid
|
|
@@ -291,7 +403,8 @@ Spinner.displayName = "Spinner";
|
|
|
291
403
|
// ../primitives-web/src/Divider.tsx
|
|
292
404
|
var import_styled_components4 = __toESM(require("styled-components"));
|
|
293
405
|
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
294
|
-
var
|
|
406
|
+
var FilteredDiv3 = createFilteredElement("div");
|
|
407
|
+
var StyledDivider = (0, import_styled_components4.default)(FilteredDiv3)`
|
|
295
408
|
background-color: ${(props) => props.dashStroke ? "transparent" : props.color || "rgba(255, 255, 255, 0.15)"};
|
|
296
409
|
width: ${(props) => props.vertical ? typeof props.width === "number" ? `${props.width}px` : props.width || "1px" : "100%"};
|
|
297
410
|
height: ${(props) => props.vertical ? "100%" : typeof props.height === "number" ? `${props.height}px` : props.height || "1px"};
|
|
@@ -317,7 +430,7 @@ var Divider = (props) => {
|
|
|
317
430
|
var import_xui_core3 = require("@xsolla/xui-core");
|
|
318
431
|
|
|
319
432
|
// src/Step.tsx
|
|
320
|
-
var
|
|
433
|
+
var import_react4 = require("react");
|
|
321
434
|
var import_xui_core2 = require("@xsolla/xui-core");
|
|
322
435
|
var import_xui_icons = require("@xsolla/xui-icons");
|
|
323
436
|
|
|
@@ -481,9 +594,9 @@ var StepTail = ({
|
|
|
481
594
|
};
|
|
482
595
|
|
|
483
596
|
// src/hooks/useStepHoverStyles.ts
|
|
484
|
-
var
|
|
597
|
+
var import_react3 = require("react");
|
|
485
598
|
var useStepHoverStyles = (variantUI, state, className, theme, isLast, disabled, noClick, palette) => {
|
|
486
|
-
(0,
|
|
599
|
+
(0, import_react3.useEffect)(() => {
|
|
487
600
|
if (!isWeb()) {
|
|
488
601
|
return;
|
|
489
602
|
}
|
|
@@ -610,7 +723,7 @@ var StepState = ({
|
|
|
610
723
|
className
|
|
611
724
|
}) => {
|
|
612
725
|
const paletteColor = getPaletteColor(palette, theme, "active");
|
|
613
|
-
const iconStyles = (0,
|
|
726
|
+
const iconStyles = (0, import_react4.useMemo)(() => {
|
|
614
727
|
if (variantUI === "simple") {
|
|
615
728
|
switch (state) {
|
|
616
729
|
case "current":
|
|
@@ -760,7 +873,7 @@ var Step = ({
|
|
|
760
873
|
}) => {
|
|
761
874
|
const { theme, mode } = (0, import_xui_core2.useResolvedTheme)({ themeMode, themeProductContext });
|
|
762
875
|
const sizeStyles = theme.sizing.stepper(size);
|
|
763
|
-
const stepClassName = (0,
|
|
876
|
+
const stepClassName = (0, import_react4.useMemo)(
|
|
764
877
|
() => `step-${stepNumber}-${variantUI}-${direction}-${size}-${state}-${palette}`,
|
|
765
878
|
[stepNumber, variantUI, direction, size, state, palette]
|
|
766
879
|
);
|
|
@@ -774,7 +887,7 @@ var Step = ({
|
|
|
774
887
|
noClick,
|
|
775
888
|
palette
|
|
776
889
|
);
|
|
777
|
-
const stepClick = (0,
|
|
890
|
+
const stepClick = (0, import_react4.useCallback)(() => {
|
|
778
891
|
if (onClick && !disabled && !noClick) {
|
|
779
892
|
onClick({
|
|
780
893
|
number: stepNumber,
|
|
@@ -787,7 +900,7 @@ var Step = ({
|
|
|
787
900
|
});
|
|
788
901
|
}
|
|
789
902
|
}, [onClick, disabled, noClick, stepNumber, title, description, state]);
|
|
790
|
-
const stepAriaLabel = (0,
|
|
903
|
+
const stepAriaLabel = (0, import_react4.useMemo)(() => {
|
|
791
904
|
const stepNum = stepNumber + 1;
|
|
792
905
|
const titleText = typeof title === "string" ? title : "Step";
|
|
793
906
|
const descriptionText = description && typeof description === "string" ? description : "";
|
|
@@ -809,7 +922,7 @@ var Step = ({
|
|
|
809
922
|
}
|
|
810
923
|
return label;
|
|
811
924
|
}, [stepNumber, title, description, state, isLast]);
|
|
812
|
-
const handleKeyDown = (0,
|
|
925
|
+
const handleKeyDown = (0, import_react4.useCallback)(
|
|
813
926
|
(event) => {
|
|
814
927
|
if (event.key === "Enter" && !disabled && !noClick) {
|
|
815
928
|
event.preventDefault();
|
|
@@ -821,7 +934,7 @@ var Step = ({
|
|
|
821
934
|
},
|
|
822
935
|
[stepClick, disabled, noClick]
|
|
823
936
|
);
|
|
824
|
-
const handleKeyUp = (0,
|
|
937
|
+
const handleKeyUp = (0, import_react4.useCallback)(
|
|
825
938
|
(event) => {
|
|
826
939
|
if (event.key === " " && !disabled && !noClick) {
|
|
827
940
|
event.preventDefault();
|
|
@@ -832,7 +945,7 @@ var Step = ({
|
|
|
832
945
|
);
|
|
833
946
|
const isInteractive = !disabled && !noClick && !!onClick;
|
|
834
947
|
const isCurrent = state === "current";
|
|
835
|
-
const titleStyles = (0,
|
|
948
|
+
const titleStyles = (0, import_react4.useMemo)(() => {
|
|
836
949
|
if (variantUI === "simple") {
|
|
837
950
|
const sizeStylesMap = {
|
|
838
951
|
sm: {
|
|
@@ -890,7 +1003,7 @@ var Step = ({
|
|
|
890
1003
|
};
|
|
891
1004
|
}
|
|
892
1005
|
}, [variantUI, direction, size, state, theme, palette]);
|
|
893
|
-
const descriptionStyles = (0,
|
|
1006
|
+
const descriptionStyles = (0, import_react4.useMemo)(() => {
|
|
894
1007
|
const sizeStylesMap = {
|
|
895
1008
|
sm: {
|
|
896
1009
|
fontSize: 12,
|
|
@@ -913,7 +1026,7 @@ var Step = ({
|
|
|
913
1026
|
fontWeight: "400"
|
|
914
1027
|
};
|
|
915
1028
|
}, [size, variantUI, state, theme]);
|
|
916
|
-
const contentWrapperStyles = (0,
|
|
1029
|
+
const contentWrapperStyles = (0, import_react4.useMemo)(() => {
|
|
917
1030
|
if (variantUI === "simple") {
|
|
918
1031
|
if (direction === "horizontal") {
|
|
919
1032
|
return {
|
|
@@ -941,7 +1054,7 @@ var Step = ({
|
|
|
941
1054
|
return baseStyles;
|
|
942
1055
|
}
|
|
943
1056
|
}, [variantUI, direction, size]);
|
|
944
|
-
const stepWrapperStyles = (0,
|
|
1057
|
+
const stepWrapperStyles = (0, import_react4.useMemo)(() => {
|
|
945
1058
|
if (variantUI === "current") {
|
|
946
1059
|
if (direction === "horizontal") {
|
|
947
1060
|
return {
|
|
@@ -1350,8 +1463,8 @@ var Step = ({
|
|
|
1350
1463
|
|
|
1351
1464
|
// src/Stepper.tsx
|
|
1352
1465
|
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
1353
|
-
var
|
|
1354
|
-
var Stepper = (0,
|
|
1466
|
+
var import_react6 = require("react");
|
|
1467
|
+
var Stepper = (0, import_react5.forwardRef)(
|
|
1355
1468
|
({
|
|
1356
1469
|
direction = "horizontal",
|
|
1357
1470
|
variantUI = "current",
|
|
@@ -1414,7 +1527,7 @@ var Stepper = (0, import_react4.forwardRef)(
|
|
|
1414
1527
|
const isLast = index === steps.length - 1;
|
|
1415
1528
|
const isFirstColoredTail = index === firstColoredTailIndex;
|
|
1416
1529
|
const isLastColoredTail = index === lastColoredTailIndex;
|
|
1417
|
-
return /* @__PURE__ */ (0,
|
|
1530
|
+
return /* @__PURE__ */ (0, import_react6.createElement)(
|
|
1418
1531
|
Step,
|
|
1419
1532
|
{
|
|
1420
1533
|
size,
|