@xsolla/xui-pagination 0.89.0 → 0.91.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/native/index.js +17 -265
- package/native/index.js.map +1 -1
- package/native/index.mjs +16 -264
- package/native/index.mjs.map +1 -1
- package/package.json +4 -3
- package/web/index.js +17 -245
- package/web/index.js.map +1 -1
- package/web/index.mjs +17 -245
- package/web/index.mjs.map +1 -1
package/web/index.js
CHANGED
|
@@ -235,54 +235,10 @@ var Text = ({
|
|
|
235
235
|
);
|
|
236
236
|
};
|
|
237
237
|
|
|
238
|
-
// ../primitives-web/src/
|
|
238
|
+
// ../primitives-web/src/Icon.tsx
|
|
239
239
|
var import_styled_components3 = __toESM(require("styled-components"));
|
|
240
240
|
var import_jsx_runtime3 = require("react/jsx-runtime");
|
|
241
|
-
var
|
|
242
|
-
from {
|
|
243
|
-
transform: rotate(0deg);
|
|
244
|
-
}
|
|
245
|
-
to {
|
|
246
|
-
transform: rotate(360deg);
|
|
247
|
-
}
|
|
248
|
-
`;
|
|
249
|
-
var StyledSpinner = import_styled_components3.default.div`
|
|
250
|
-
width: ${(props) => typeof props.size === "number" ? `${props.size}px` : props.size || "24px"};
|
|
251
|
-
height: ${(props) => typeof props.size === "number" ? `${props.size}px` : props.size || "24px"};
|
|
252
|
-
border: ${(props) => props.strokeWidth || 2}px solid
|
|
253
|
-
${(props) => props.color || "currentColor"};
|
|
254
|
-
border-bottom-color: transparent;
|
|
255
|
-
border-radius: 50%;
|
|
256
|
-
display: inline-block;
|
|
257
|
-
box-sizing: border-box;
|
|
258
|
-
animation: ${rotate} 1s linear infinite;
|
|
259
|
-
`;
|
|
260
|
-
var Spinner = ({
|
|
261
|
-
role = "status",
|
|
262
|
-
"aria-label": ariaLabel,
|
|
263
|
-
"aria-live": ariaLive = "polite",
|
|
264
|
-
"aria-describedby": ariaDescribedBy,
|
|
265
|
-
testID,
|
|
266
|
-
...props
|
|
267
|
-
}) => {
|
|
268
|
-
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(
|
|
269
|
-
StyledSpinner,
|
|
270
|
-
{
|
|
271
|
-
role,
|
|
272
|
-
"aria-label": ariaLabel,
|
|
273
|
-
"aria-live": ariaLive,
|
|
274
|
-
"aria-describedby": ariaDescribedBy,
|
|
275
|
-
"data-testid": testID,
|
|
276
|
-
...props
|
|
277
|
-
}
|
|
278
|
-
);
|
|
279
|
-
};
|
|
280
|
-
Spinner.displayName = "Spinner";
|
|
281
|
-
|
|
282
|
-
// ../primitives-web/src/Icon.tsx
|
|
283
|
-
var import_styled_components4 = __toESM(require("styled-components"));
|
|
284
|
-
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
285
|
-
var StyledIcon = import_styled_components4.default.div`
|
|
241
|
+
var StyledIcon = import_styled_components3.default.div`
|
|
286
242
|
display: flex;
|
|
287
243
|
align-items: center;
|
|
288
244
|
justify-content: center;
|
|
@@ -298,197 +254,13 @@ var StyledIcon = import_styled_components4.default.div`
|
|
|
298
254
|
}
|
|
299
255
|
`;
|
|
300
256
|
var Icon = ({ children, ...props }) => {
|
|
301
|
-
return /* @__PURE__ */ (0,
|
|
257
|
+
return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(StyledIcon, { ...props, children });
|
|
302
258
|
};
|
|
303
259
|
|
|
304
|
-
// ../primitives-web/src/Divider.tsx
|
|
305
|
-
var import_styled_components5 = __toESM(require("styled-components"));
|
|
306
|
-
var import_jsx_runtime5 = require("react/jsx-runtime");
|
|
307
|
-
var StyledDivider = import_styled_components5.default.div`
|
|
308
|
-
background-color: ${(props) => props.dashStroke ? "transparent" : props.color || "rgba(255, 255, 255, 0.15)"};
|
|
309
|
-
width: ${(props) => props.vertical ? typeof props.width === "number" ? `${props.width}px` : props.width || "1px" : "100%"};
|
|
310
|
-
height: ${(props) => props.vertical ? "100%" : typeof props.height === "number" ? `${props.height}px` : props.height || "1px"};
|
|
311
|
-
|
|
312
|
-
${(props) => props.dashStroke && `
|
|
313
|
-
border-style: dashed;
|
|
314
|
-
border-color: ${props.color || "rgba(255, 255, 255, 0.15)"};
|
|
315
|
-
border-width: 0;
|
|
316
|
-
${props.vertical ? `
|
|
317
|
-
border-left-width: ${typeof props.width === "number" ? `${props.width}px` : props.width || "1px"};
|
|
318
|
-
height: 100%;
|
|
319
|
-
` : `
|
|
320
|
-
border-top-width: ${typeof props.height === "number" ? `${props.height}px` : props.height || "1px"};
|
|
321
|
-
width: 100%;
|
|
322
|
-
`}
|
|
323
|
-
`}
|
|
324
|
-
`;
|
|
325
|
-
|
|
326
|
-
// ../primitives-web/src/Input.tsx
|
|
327
|
-
var import_react2 = require("react");
|
|
328
|
-
var import_styled_components6 = __toESM(require("styled-components"));
|
|
329
|
-
var import_jsx_runtime6 = require("react/jsx-runtime");
|
|
330
|
-
var StyledInput = import_styled_components6.default.input`
|
|
331
|
-
background: transparent;
|
|
332
|
-
border: none;
|
|
333
|
-
outline: none;
|
|
334
|
-
width: 100%;
|
|
335
|
-
height: 100%;
|
|
336
|
-
padding: 0;
|
|
337
|
-
margin: 0;
|
|
338
|
-
color: ${(props) => props.color || "inherit"};
|
|
339
|
-
font-size: ${(props) => typeof props.fontSize === "number" ? `${props.fontSize}px` : props.fontSize || "inherit"};
|
|
340
|
-
font-family: inherit;
|
|
341
|
-
text-align: inherit;
|
|
342
|
-
|
|
343
|
-
&::placeholder {
|
|
344
|
-
color: ${(props) => props.placeholderTextColor || "rgba(255, 255, 255, 0.5)"};
|
|
345
|
-
}
|
|
346
|
-
|
|
347
|
-
&:disabled {
|
|
348
|
-
cursor: not-allowed;
|
|
349
|
-
}
|
|
350
|
-
`;
|
|
351
|
-
var InputPrimitive = (0, import_react2.forwardRef)(
|
|
352
|
-
({
|
|
353
|
-
value,
|
|
354
|
-
placeholder,
|
|
355
|
-
onChange,
|
|
356
|
-
onChangeText,
|
|
357
|
-
onFocus,
|
|
358
|
-
onBlur,
|
|
359
|
-
onKeyDown,
|
|
360
|
-
disabled,
|
|
361
|
-
secureTextEntry,
|
|
362
|
-
style,
|
|
363
|
-
color,
|
|
364
|
-
fontSize,
|
|
365
|
-
placeholderTextColor,
|
|
366
|
-
maxLength,
|
|
367
|
-
name,
|
|
368
|
-
type,
|
|
369
|
-
inputMode,
|
|
370
|
-
autoComplete,
|
|
371
|
-
id,
|
|
372
|
-
"aria-invalid": ariaInvalid,
|
|
373
|
-
"aria-describedby": ariaDescribedBy,
|
|
374
|
-
"aria-labelledby": ariaLabelledBy,
|
|
375
|
-
"aria-label": ariaLabel,
|
|
376
|
-
"aria-disabled": ariaDisabled,
|
|
377
|
-
"data-testid": dataTestId,
|
|
378
|
-
...rest
|
|
379
|
-
}, ref) => {
|
|
380
|
-
const handleChange = (e) => {
|
|
381
|
-
if (onChange) {
|
|
382
|
-
onChange(e);
|
|
383
|
-
}
|
|
384
|
-
if (onChangeText) {
|
|
385
|
-
onChangeText(e.target.value);
|
|
386
|
-
}
|
|
387
|
-
};
|
|
388
|
-
const inputValue = value !== void 0 ? value : "";
|
|
389
|
-
return /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
|
|
390
|
-
StyledInput,
|
|
391
|
-
{
|
|
392
|
-
ref,
|
|
393
|
-
id,
|
|
394
|
-
value: inputValue,
|
|
395
|
-
name,
|
|
396
|
-
placeholder,
|
|
397
|
-
onChange: handleChange,
|
|
398
|
-
onFocus,
|
|
399
|
-
onBlur,
|
|
400
|
-
onKeyDown,
|
|
401
|
-
disabled,
|
|
402
|
-
type: secureTextEntry ? "password" : type || "text",
|
|
403
|
-
inputMode,
|
|
404
|
-
autoComplete,
|
|
405
|
-
style,
|
|
406
|
-
color,
|
|
407
|
-
fontSize,
|
|
408
|
-
placeholderTextColor,
|
|
409
|
-
maxLength,
|
|
410
|
-
"aria-invalid": ariaInvalid,
|
|
411
|
-
"aria-describedby": ariaDescribedBy,
|
|
412
|
-
"aria-labelledby": ariaLabelledBy,
|
|
413
|
-
"aria-label": ariaLabel,
|
|
414
|
-
"aria-disabled": ariaDisabled,
|
|
415
|
-
"data-testid": dataTestId,
|
|
416
|
-
...rest
|
|
417
|
-
}
|
|
418
|
-
);
|
|
419
|
-
}
|
|
420
|
-
);
|
|
421
|
-
InputPrimitive.displayName = "InputPrimitive";
|
|
422
|
-
|
|
423
|
-
// ../primitives-web/src/TextArea.tsx
|
|
424
|
-
var import_react3 = require("react");
|
|
425
|
-
var import_styled_components7 = __toESM(require("styled-components"));
|
|
426
|
-
var import_jsx_runtime7 = require("react/jsx-runtime");
|
|
427
|
-
var StyledTextArea = import_styled_components7.default.textarea`
|
|
428
|
-
background: transparent;
|
|
429
|
-
border: none;
|
|
430
|
-
outline: none;
|
|
431
|
-
width: 100%;
|
|
432
|
-
height: 100%;
|
|
433
|
-
padding: 0;
|
|
434
|
-
margin: 0;
|
|
435
|
-
color: ${(props) => props.color || "inherit"};
|
|
436
|
-
font-size: ${(props) => typeof props.fontSize === "number" ? `${props.fontSize}px` : props.fontSize || "inherit"};
|
|
437
|
-
font-family: inherit;
|
|
438
|
-
text-align: inherit;
|
|
439
|
-
resize: none;
|
|
440
|
-
|
|
441
|
-
&::placeholder {
|
|
442
|
-
color: ${(props) => props.placeholderTextColor || "rgba(255, 255, 255, 0.5)"};
|
|
443
|
-
}
|
|
444
|
-
|
|
445
|
-
&:disabled {
|
|
446
|
-
cursor: not-allowed;
|
|
447
|
-
}
|
|
448
|
-
`;
|
|
449
|
-
var TextAreaPrimitive = (0, import_react3.forwardRef)(
|
|
450
|
-
({
|
|
451
|
-
value,
|
|
452
|
-
placeholder,
|
|
453
|
-
onChangeText,
|
|
454
|
-
onFocus,
|
|
455
|
-
onBlur,
|
|
456
|
-
onKeyDown,
|
|
457
|
-
disabled,
|
|
458
|
-
style,
|
|
459
|
-
color,
|
|
460
|
-
fontSize,
|
|
461
|
-
placeholderTextColor,
|
|
462
|
-
maxLength,
|
|
463
|
-
rows
|
|
464
|
-
}, ref) => {
|
|
465
|
-
return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
|
|
466
|
-
StyledTextArea,
|
|
467
|
-
{
|
|
468
|
-
ref,
|
|
469
|
-
value,
|
|
470
|
-
placeholder,
|
|
471
|
-
onChange: (e) => onChangeText?.(e.target.value),
|
|
472
|
-
onFocus,
|
|
473
|
-
onBlur,
|
|
474
|
-
onKeyDown,
|
|
475
|
-
disabled,
|
|
476
|
-
style,
|
|
477
|
-
color,
|
|
478
|
-
fontSize,
|
|
479
|
-
placeholderTextColor,
|
|
480
|
-
maxLength,
|
|
481
|
-
rows
|
|
482
|
-
}
|
|
483
|
-
);
|
|
484
|
-
}
|
|
485
|
-
);
|
|
486
|
-
TextAreaPrimitive.displayName = "TextAreaPrimitive";
|
|
487
|
-
|
|
488
260
|
// src/Pagination.tsx
|
|
489
261
|
var import_xui_core = require("@xsolla/xui-core");
|
|
490
|
-
var
|
|
491
|
-
var ChevronLeft = ({ size }) => /* @__PURE__ */ (0,
|
|
262
|
+
var import_jsx_runtime4 = require("react/jsx-runtime");
|
|
263
|
+
var ChevronLeft = ({ size }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
492
264
|
"svg",
|
|
493
265
|
{
|
|
494
266
|
viewBox: "0 0 24 24",
|
|
@@ -499,10 +271,10 @@ var ChevronLeft = ({ size }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
|
499
271
|
strokeWidth: "2",
|
|
500
272
|
strokeLinecap: "round",
|
|
501
273
|
strokeLinejoin: "round",
|
|
502
|
-
children: /* @__PURE__ */ (0,
|
|
274
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("polyline", { points: "15 18 9 12 15 6" })
|
|
503
275
|
}
|
|
504
276
|
);
|
|
505
|
-
var ChevronRight = ({ size }) => /* @__PURE__ */ (0,
|
|
277
|
+
var ChevronRight = ({ size }) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
506
278
|
"svg",
|
|
507
279
|
{
|
|
508
280
|
viewBox: "0 0 24 24",
|
|
@@ -513,7 +285,7 @@ var ChevronRight = ({ size }) => /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(
|
|
|
513
285
|
strokeWidth: "2",
|
|
514
286
|
strokeLinecap: "round",
|
|
515
287
|
strokeLinejoin: "round",
|
|
516
|
-
children: /* @__PURE__ */ (0,
|
|
288
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("polyline", { points: "9 18 15 12 9 6" })
|
|
517
289
|
}
|
|
518
290
|
);
|
|
519
291
|
var Pagination = ({
|
|
@@ -591,7 +363,7 @@ var Pagination = ({
|
|
|
591
363
|
const pageNumbers = getPageNumbers();
|
|
592
364
|
const iconSize = iconSizeMap[size];
|
|
593
365
|
const itemSize = itemSizeMap[size];
|
|
594
|
-
return /* @__PURE__ */ (0,
|
|
366
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
595
367
|
Box,
|
|
596
368
|
{
|
|
597
369
|
flexDirection: "row",
|
|
@@ -603,7 +375,7 @@ var Pagination = ({
|
|
|
603
375
|
backgroundColor,
|
|
604
376
|
testID,
|
|
605
377
|
children: [
|
|
606
|
-
showNavigation && /* @__PURE__ */ (0,
|
|
378
|
+
showNavigation && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
607
379
|
Box,
|
|
608
380
|
{
|
|
609
381
|
width: itemSize,
|
|
@@ -617,19 +389,19 @@ var Pagination = ({
|
|
|
617
389
|
hoverStyle: !(disabled || currentPage === 1) ? { backgroundColor: theme.colors.overlay.mono } : void 0,
|
|
618
390
|
role: "button",
|
|
619
391
|
"aria-label": "Previous page",
|
|
620
|
-
children: /* @__PURE__ */ (0,
|
|
392
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { size: iconSize, color: theme.colors.content.primary, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ChevronLeft, { size: iconSize }) })
|
|
621
393
|
}
|
|
622
394
|
),
|
|
623
395
|
pageNumbers.map((page, index) => {
|
|
624
396
|
if (page === "ellipsis") {
|
|
625
|
-
return /* @__PURE__ */ (0,
|
|
397
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
626
398
|
Box,
|
|
627
399
|
{
|
|
628
400
|
width: itemSize,
|
|
629
401
|
height: itemSize,
|
|
630
402
|
alignItems: "center",
|
|
631
403
|
justifyContent: "center",
|
|
632
|
-
children: /* @__PURE__ */ (0,
|
|
404
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
633
405
|
Text,
|
|
634
406
|
{
|
|
635
407
|
color: theme.colors.content.tertiary,
|
|
@@ -643,7 +415,7 @@ var Pagination = ({
|
|
|
643
415
|
);
|
|
644
416
|
}
|
|
645
417
|
const isActive = page === currentPage;
|
|
646
|
-
return /* @__PURE__ */ (0,
|
|
418
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
647
419
|
Box,
|
|
648
420
|
{
|
|
649
421
|
width: itemSize,
|
|
@@ -659,7 +431,7 @@ var Pagination = ({
|
|
|
659
431
|
role: "button",
|
|
660
432
|
"aria-label": `Go to page ${page}`,
|
|
661
433
|
"aria-current": isActive ? "page" : void 0,
|
|
662
|
-
children: /* @__PURE__ */ (0,
|
|
434
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
663
435
|
Text,
|
|
664
436
|
{
|
|
665
437
|
color: isActive ? theme.colors.content.on.brand : theme.colors.content.primary,
|
|
@@ -672,7 +444,7 @@ var Pagination = ({
|
|
|
672
444
|
page
|
|
673
445
|
);
|
|
674
446
|
}),
|
|
675
|
-
showNavigation && /* @__PURE__ */ (0,
|
|
447
|
+
showNavigation && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
676
448
|
Box,
|
|
677
449
|
{
|
|
678
450
|
width: itemSize,
|
|
@@ -686,7 +458,7 @@ var Pagination = ({
|
|
|
686
458
|
hoverStyle: !(disabled || currentPage === totalPages) ? { backgroundColor: theme.colors.overlay.mono } : void 0,
|
|
687
459
|
role: "button",
|
|
688
460
|
"aria-label": "Next page",
|
|
689
|
-
children: /* @__PURE__ */ (0,
|
|
461
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(Icon, { size: iconSize, color: theme.colors.content.primary, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(ChevronRight, { size: iconSize }) })
|
|
690
462
|
}
|
|
691
463
|
)
|
|
692
464
|
]
|
package/web/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/index.tsx","../../../primitives-web/src/Box.tsx","../../../primitives-web/src/Text.tsx","../../../primitives-web/src/Spinner.tsx","../../../primitives-web/src/Icon.tsx","../../../primitives-web/src/Divider.tsx","../../../primitives-web/src/Input.tsx","../../../primitives-web/src/TextArea.tsx","../../src/Pagination.tsx"],"sourcesContent":["export * from \"./Pagination\";\nexport * from \"./types\";\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport type { BoxProps } from \"@xsolla/xui-primitives-core\";\n\nconst StyledBox = styled.div<BoxProps>`\n display: flex;\n box-sizing: border-box;\n background-color: ${(props) => props.backgroundColor || \"transparent\"};\n border-color: ${(props) => props.borderColor || \"transparent\"};\n border-width: ${(props) =>\n typeof props.borderWidth === \"number\"\n ? `${props.borderWidth}px`\n : props.borderWidth || 0};\n\n ${(props) =>\n props.borderBottomWidth !== undefined &&\n `\n border-bottom-width: ${typeof props.borderBottomWidth === \"number\" ? `${props.borderBottomWidth}px` : props.borderBottomWidth};\n border-bottom-color: ${props.borderBottomColor || props.borderColor || \"transparent\"};\n border-bottom-style: solid;\n `}\n ${(props) =>\n props.borderTopWidth !== undefined &&\n `\n border-top-width: ${typeof props.borderTopWidth === \"number\" ? `${props.borderTopWidth}px` : props.borderTopWidth};\n border-top-color: ${props.borderTopColor || props.borderColor || \"transparent\"};\n border-top-style: solid;\n `}\n ${(props) =>\n props.borderLeftWidth !== undefined &&\n `\n border-left-width: ${typeof props.borderLeftWidth === \"number\" ? `${props.borderLeftWidth}px` : props.borderLeftWidth};\n border-left-color: ${props.borderLeftColor || props.borderColor || \"transparent\"};\n border-left-style: solid;\n `}\n ${(props) =>\n props.borderRightWidth !== undefined &&\n `\n border-right-width: ${typeof props.borderRightWidth === \"number\" ? `${props.borderRightWidth}px` : props.borderRightWidth};\n border-right-color: ${props.borderRightColor || props.borderColor || \"transparent\"};\n border-right-style: solid;\n `}\n\n border-style: ${(props) =>\n props.borderStyle ||\n (props.borderWidth ||\n props.borderBottomWidth ||\n props.borderTopWidth ||\n props.borderLeftWidth ||\n props.borderRightWidth\n ? \"solid\"\n : \"none\")};\n border-radius: ${(props) =>\n typeof props.borderRadius === \"number\"\n ? `${props.borderRadius}px`\n : props.borderRadius || 0};\n height: ${(props) =>\n typeof props.height === \"number\"\n ? `${props.height}px`\n : props.height || \"auto\"};\n width: ${(props) =>\n typeof props.width === \"number\"\n ? `${props.width}px`\n : props.width || \"auto\"};\n min-width: ${(props) =>\n typeof props.minWidth === \"number\"\n ? `${props.minWidth}px`\n : props.minWidth || \"auto\"};\n min-height: ${(props) =>\n typeof props.minHeight === \"number\"\n ? `${props.minHeight}px`\n : props.minHeight || \"auto\"};\n\n padding: ${(props) =>\n typeof props.padding === \"number\"\n ? `${props.padding}px`\n : props.padding || 0};\n ${(props) =>\n props.paddingHorizontal &&\n `\n padding-left: ${typeof props.paddingHorizontal === \"number\" ? `${props.paddingHorizontal}px` : props.paddingHorizontal};\n padding-right: ${typeof props.paddingHorizontal === \"number\" ? `${props.paddingHorizontal}px` : props.paddingHorizontal};\n `}\n ${(props) =>\n props.paddingVertical &&\n `\n padding-top: ${typeof props.paddingVertical === \"number\" ? `${props.paddingVertical}px` : props.paddingVertical};\n padding-bottom: ${typeof props.paddingVertical === \"number\" ? `${props.paddingVertical}px` : props.paddingVertical};\n `}\n ${(props) =>\n props.paddingTop !== undefined &&\n `padding-top: ${typeof props.paddingTop === \"number\" ? `${props.paddingTop}px` : props.paddingTop};`}\n ${(props) =>\n props.paddingBottom !== undefined &&\n `padding-bottom: ${typeof props.paddingBottom === \"number\" ? `${props.paddingBottom}px` : props.paddingBottom};`}\n ${(props) =>\n props.paddingLeft !== undefined &&\n `padding-left: ${typeof props.paddingLeft === \"number\" ? `${props.paddingLeft}px` : props.paddingLeft};`}\n ${(props) =>\n props.paddingRight !== undefined &&\n `padding-right: ${typeof props.paddingRight === \"number\" ? `${props.paddingRight}px` : props.paddingRight};`}\n\n margin: ${(props) =>\n typeof props.margin === \"number\" ? `${props.margin}px` : props.margin || 0};\n ${(props) =>\n props.marginTop !== undefined &&\n `margin-top: ${typeof props.marginTop === \"number\" ? `${props.marginTop}px` : props.marginTop};`}\n ${(props) =>\n props.marginBottom !== undefined &&\n `margin-bottom: ${typeof props.marginBottom === \"number\" ? `${props.marginBottom}px` : props.marginBottom};`}\n ${(props) =>\n props.marginLeft !== undefined &&\n `margin-left: ${typeof props.marginLeft === \"number\" ? `${props.marginLeft}px` : props.marginLeft};`}\n ${(props) =>\n props.marginRight !== undefined &&\n `margin-right: ${typeof props.marginRight === \"number\" ? `${props.marginRight}px` : props.marginRight};`}\n\n flex-direction: ${(props) => props.flexDirection || \"column\"};\n flex-wrap: ${(props) => props.flexWrap || \"nowrap\"};\n align-items: ${(props) => props.alignItems || \"stretch\"};\n justify-content: ${(props) => props.justifyContent || \"flex-start\"};\n cursor: ${(props) =>\n props.cursor\n ? props.cursor\n : props.onClick || props.onPress\n ? \"pointer\"\n : \"inherit\"};\n position: ${(props) => props.position || \"static\"};\n top: ${(props) =>\n typeof props.top === \"number\" ? `${props.top}px` : props.top};\n bottom: ${(props) =>\n typeof props.bottom === \"number\" ? `${props.bottom}px` : props.bottom};\n left: ${(props) =>\n typeof props.left === \"number\" ? `${props.left}px` : props.left};\n right: ${(props) =>\n typeof props.right === \"number\" ? `${props.right}px` : props.right};\n flex: ${(props) => props.flex};\n flex-shrink: ${(props) => props.flexShrink ?? 1};\n gap: ${(props) =>\n typeof props.gap === \"number\" ? `${props.gap}px` : props.gap || 0};\n align-self: ${(props) => props.alignSelf || \"auto\"};\n overflow: ${(props) => props.overflow || \"visible\"};\n overflow-x: ${(props) => props.overflowX || \"visible\"};\n overflow-y: ${(props) => props.overflowY || \"visible\"};\n z-index: ${(props) => props.zIndex};\n opacity: ${(props) => (props.disabled ? 0.5 : 1)};\n pointer-events: ${(props) => (props.disabled ? \"none\" : \"auto\")};\n\n &:hover {\n ${(props) =>\n props.hoverStyle?.backgroundColor &&\n `background-color: ${props.hoverStyle.backgroundColor};`}\n ${(props) =>\n props.hoverStyle?.borderColor &&\n `border-color: ${props.hoverStyle.borderColor};`}\n }\n\n &:active {\n ${(props) =>\n props.pressStyle?.backgroundColor &&\n `background-color: ${props.pressStyle.backgroundColor};`}\n }\n`;\n\nexport const Box = React.forwardRef<\n HTMLDivElement | HTMLButtonElement,\n BoxProps\n>(\n (\n {\n children,\n onPress,\n onKeyDown,\n onKeyUp,\n role,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-current\": ariaCurrent,\n \"aria-disabled\": ariaDisabled,\n \"aria-live\": ariaLive,\n \"aria-busy\": ariaBusy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-expanded\": ariaExpanded,\n \"aria-haspopup\": ariaHasPopup,\n \"aria-pressed\": ariaPressed,\n \"aria-controls\": ariaControls,\n tabIndex,\n as,\n src,\n alt,\n type,\n disabled,\n id,\n ...props\n },\n ref\n ) => {\n // Handle as=\"img\" for rendering images with proper border-radius\n if (as === \"img\" && src) {\n return (\n <img\n src={src}\n alt={alt || \"\"}\n style={{\n display: \"block\",\n objectFit: \"cover\",\n width:\n typeof props.width === \"number\"\n ? `${props.width}px`\n : props.width,\n height:\n typeof props.height === \"number\"\n ? `${props.height}px`\n : props.height,\n borderRadius:\n typeof props.borderRadius === \"number\"\n ? `${props.borderRadius}px`\n : props.borderRadius,\n position: props.position,\n top: typeof props.top === \"number\" ? `${props.top}px` : props.top,\n left:\n typeof props.left === \"number\" ? `${props.left}px` : props.left,\n right:\n typeof props.right === \"number\"\n ? `${props.right}px`\n : props.right,\n bottom:\n typeof props.bottom === \"number\"\n ? `${props.bottom}px`\n : props.bottom,\n }}\n />\n );\n }\n\n return (\n <StyledBox\n ref={ref}\n as={as}\n id={id}\n type={as === \"button\" ? type || \"button\" : undefined}\n disabled={as === \"button\" ? disabled : undefined}\n onClick={onPress}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n role={role}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-current={ariaCurrent}\n aria-disabled={ariaDisabled}\n aria-busy={ariaBusy}\n aria-describedby={ariaDescribedBy}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n aria-pressed={ariaPressed}\n aria-controls={ariaControls}\n aria-live={ariaLive}\n tabIndex={tabIndex !== undefined ? tabIndex : undefined}\n {...props}\n >\n {children}\n </StyledBox>\n );\n }\n);\n\nBox.displayName = \"Box\";\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { TextProps } from \"@xsolla/xui-primitives-core\";\n\nconst StyledText = styled.span<TextProps>`\n color: ${(props) => props.color || \"inherit\"};\n font-size: ${(props) =>\n typeof props.fontSize === \"number\"\n ? `${props.fontSize}px`\n : props.fontSize || \"inherit\"};\n font-weight: ${(props) => props.fontWeight || \"normal\"};\n font-family: ${(props) =>\n props.fontFamily ||\n '\"Pilat Wide Bold\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif !important'};\n line-height: ${(props) =>\n typeof props.lineHeight === \"number\"\n ? `${props.lineHeight}px`\n : props.lineHeight || \"inherit\"};\n white-space: ${(props) => props.whiteSpace || \"normal\"};\n text-align: ${(props) => props.textAlign || \"inherit\"};\n text-decoration: ${(props) => props.textDecoration || \"none\"};\n`;\n\nexport const Text: React.FC<TextProps> = ({\n style,\n className,\n id,\n role,\n ...props\n}) => {\n return (\n <StyledText\n {...props}\n style={style}\n className={className}\n id={id}\n role={role}\n />\n );\n};\n","import React from \"react\";\nimport styled, { keyframes } from \"styled-components\";\nimport type { SpinnerProps } from \"@xsolla/xui-primitives-core\";\n\nconst rotate = keyframes`\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n`;\n\nconst StyledSpinner = styled.div<SpinnerProps>`\n width: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n height: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n border: ${(props) => props.strokeWidth || 2}px solid\n ${(props) => props.color || \"currentColor\"};\n border-bottom-color: transparent;\n border-radius: 50%;\n display: inline-block;\n box-sizing: border-box;\n animation: ${rotate} 1s linear infinite;\n`;\n\nexport const Spinner: React.FC<SpinnerProps> = ({\n role = \"status\",\n \"aria-label\": ariaLabel,\n \"aria-live\": ariaLive = \"polite\",\n \"aria-describedby\": ariaDescribedBy,\n testID,\n ...props\n}) => {\n return (\n <StyledSpinner\n role={role}\n aria-label={ariaLabel}\n aria-live={ariaLive}\n aria-describedby={ariaDescribedBy}\n data-testid={testID}\n {...props}\n />\n );\n};\n\nSpinner.displayName = \"Spinner\";\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { IconProps } from \"@xsolla/xui-primitives-core\";\n\nconst StyledIcon = styled.div<IconProps>`\n display: flex;\n align-items: center;\n justify-content: center;\n width: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n height: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n color: ${(props) => props.color || \"currentColor\"};\n\n svg {\n width: 100%;\n height: 100%;\n fill: none;\n stroke: currentColor;\n }\n`;\n\nexport const Icon: React.FC<IconProps> = ({ children, ...props }) => {\n return <StyledIcon {...props}>{children}</StyledIcon>;\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { DividerProps } from \"@xsolla/xui-primitives-core\";\n\nconst StyledDivider = styled.div<DividerProps>`\n background-color: ${(props) =>\n props.dashStroke\n ? \"transparent\"\n : props.color || \"rgba(255, 255, 255, 0.15)\"};\n width: ${(props) =>\n props.vertical\n ? typeof props.width === \"number\"\n ? `${props.width}px`\n : props.width || \"1px\"\n : \"100%\"};\n height: ${(props) =>\n props.vertical\n ? \"100%\"\n : typeof props.height === \"number\"\n ? `${props.height}px`\n : props.height || \"1px\"};\n\n ${(props) =>\n props.dashStroke &&\n `\n border-style: dashed;\n border-color: ${props.color || \"rgba(255, 255, 255, 0.15)\"};\n border-width: 0;\n ${\n props.vertical\n ? `\n border-left-width: ${typeof props.width === \"number\" ? `${props.width}px` : props.width || \"1px\"};\n height: 100%;\n `\n : `\n border-top-width: ${typeof props.height === \"number\" ? `${props.height}px` : props.height || \"1px\"};\n width: 100%;\n `\n }\n `}\n`;\n\nexport const Divider: React.FC<DividerProps> = (props) => {\n return <StyledDivider {...props} />;\n};\n","import React, { forwardRef } from \"react\";\nimport styled from \"styled-components\";\nimport { InputPrimitiveProps } from \"@xsolla/xui-primitives-core\";\n\nconst StyledInput = styled.input<InputPrimitiveProps>`\n background: transparent;\n border: none;\n outline: none;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n color: ${(props) => props.color || \"inherit\"};\n font-size: ${(props) =>\n typeof props.fontSize === \"number\"\n ? `${props.fontSize}px`\n : props.fontSize || \"inherit\"};\n font-family: inherit;\n text-align: inherit;\n\n &::placeholder {\n color: ${(props) =>\n props.placeholderTextColor || \"rgba(255, 255, 255, 0.5)\"};\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n`;\n\nexport const InputPrimitive = forwardRef<HTMLInputElement, InputPrimitiveProps>(\n (\n {\n value,\n placeholder,\n onChange,\n onChangeText,\n onFocus,\n onBlur,\n onKeyDown,\n disabled,\n secureTextEntry,\n style,\n color,\n fontSize,\n placeholderTextColor,\n maxLength,\n name,\n type,\n inputMode,\n autoComplete,\n id,\n \"aria-invalid\": ariaInvalid,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-label\": ariaLabel,\n \"aria-disabled\": ariaDisabled,\n \"data-testid\": dataTestId,\n ...rest\n },\n ref\n ) => {\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n if (onChange) {\n onChange(e);\n }\n if (onChangeText) {\n onChangeText(e.target.value);\n }\n };\n\n // Always pass value to make it a controlled input\n const inputValue = value !== undefined ? value : \"\";\n\n return (\n <StyledInput\n ref={ref}\n id={id}\n value={inputValue}\n name={name}\n placeholder={placeholder}\n onChange={handleChange}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n disabled={disabled}\n type={secureTextEntry ? \"password\" : type || \"text\"}\n inputMode={inputMode}\n autoComplete={autoComplete}\n style={style}\n color={color}\n fontSize={fontSize}\n placeholderTextColor={placeholderTextColor}\n maxLength={maxLength}\n aria-invalid={ariaInvalid}\n aria-describedby={ariaDescribedBy}\n aria-labelledby={ariaLabelledBy}\n aria-label={ariaLabel}\n aria-disabled={ariaDisabled}\n data-testid={dataTestId}\n {...rest}\n />\n );\n }\n);\n\nInputPrimitive.displayName = \"InputPrimitive\";\n","import { forwardRef } from \"react\";\nimport styled from \"styled-components\";\nimport { TextAreaPrimitiveProps } from \"@xsolla/xui-primitives-core\";\n\nconst StyledTextArea = styled.textarea<TextAreaPrimitiveProps>`\n background: transparent;\n border: none;\n outline: none;\n width: 100%;\n height: 100%;\n padding: 0;\n margin: 0;\n color: ${(props) => props.color || \"inherit\"};\n font-size: ${(props) =>\n typeof props.fontSize === \"number\"\n ? `${props.fontSize}px`\n : props.fontSize || \"inherit\"};\n font-family: inherit;\n text-align: inherit;\n resize: none;\n\n &::placeholder {\n color: ${(props) =>\n props.placeholderTextColor || \"rgba(255, 255, 255, 0.5)\"};\n }\n\n &:disabled {\n cursor: not-allowed;\n }\n`;\n\nexport const TextAreaPrimitive = forwardRef<\n HTMLTextAreaElement,\n TextAreaPrimitiveProps\n>(\n (\n {\n value,\n placeholder,\n onChangeText,\n onFocus,\n onBlur,\n onKeyDown,\n disabled,\n style,\n color,\n fontSize,\n placeholderTextColor,\n maxLength,\n rows,\n },\n ref\n ) => {\n return (\n <StyledTextArea\n ref={ref}\n value={value}\n placeholder={placeholder}\n onChange={(e) => onChangeText?.(e.target.value)}\n onFocus={onFocus}\n onBlur={onBlur}\n onKeyDown={onKeyDown}\n disabled={disabled}\n style={style}\n color={color}\n fontSize={fontSize}\n placeholderTextColor={placeholderTextColor}\n maxLength={maxLength}\n rows={rows}\n />\n );\n }\n);\n\nTextAreaPrimitive.displayName = \"TextAreaPrimitive\";\n","import React from \"react\";\n// @ts-expect-error - this will be resolved at build time\nimport { Box, Text, Icon } from \"@xsolla/xui-primitives\";\nimport { useDesignSystem } from \"@xsolla/xui-core\";\nimport type { PaginationProps, PaginationSize } from \"./types\";\n\nconst ChevronLeft = ({ size }: { size: number }) => (\n <svg\n viewBox=\"0 0 24 24\"\n width={size}\n height={size}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n);\n\nconst ChevronRight = ({ size }: { size: number }) => (\n <svg\n viewBox=\"0 0 24 24\"\n width={size}\n height={size}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n);\n\nexport const Pagination: React.FC<PaginationProps> = ({\n size = \"md\",\n currentPage = 1,\n totalPages = 1,\n siblingCount = 1,\n onPageChange,\n disabled = false,\n stretched = false,\n showNavigation = true,\n backgroundColor,\n testID,\n}) => {\n const { theme } = useDesignSystem();\n\n const fontSizeMap: Record<PaginationSize, number> = {\n sm: 12,\n md: 14,\n lg: 16,\n };\n\n const iconSizeMap: Record<PaginationSize, number> = {\n sm: 16,\n md: 18,\n lg: 20,\n };\n\n const itemSizeMap: Record<PaginationSize, number> = {\n sm: 24,\n md: 32,\n lg: 40,\n };\n\n const getPageNumbers = () => {\n const pages: (number | \"ellipsis\")[] = [];\n const totalNumbers = siblingCount * 2 + 5;\n const totalBlocks = totalNumbers;\n\n if (totalPages <= totalBlocks) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);\n const rightSiblingIndex = Math.min(\n currentPage + siblingCount,\n totalPages\n );\n\n const shouldShowLeftEllipsis = leftSiblingIndex > 2;\n const shouldShowRightEllipsis = rightSiblingIndex < totalPages - 1;\n\n if (!shouldShowLeftEllipsis && shouldShowRightEllipsis) {\n const leftItemCount = 3 + 2 * siblingCount;\n for (let i = 1; i <= leftItemCount; i++) {\n pages.push(i);\n }\n pages.push(\"ellipsis\", totalPages);\n } else if (shouldShowLeftEllipsis && !shouldShowRightEllipsis) {\n const rightItemCount = 3 + 2 * siblingCount;\n pages.push(1, \"ellipsis\");\n for (let i = totalPages - rightItemCount + 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else if (shouldShowLeftEllipsis && shouldShowRightEllipsis) {\n pages.push(1, \"ellipsis\");\n for (let i = leftSiblingIndex; i <= rightSiblingIndex; i++) {\n pages.push(i);\n }\n pages.push(\"ellipsis\", totalPages);\n }\n }\n return pages;\n };\n\n const handlePageClick = (page: number) => {\n if (disabled || page === currentPage || page < 1 || page > totalPages) {\n return;\n }\n onPageChange?.(page);\n };\n\n const pageNumbers = getPageNumbers();\n const iconSize = iconSizeMap[size];\n const itemSize = itemSizeMap[size];\n\n return (\n <Box\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={stretched ? \"center\" : \"flex-start\"}\n width={stretched ? \"100%\" : \"auto\"}\n gap={4}\n flexWrap=\"wrap\"\n backgroundColor={backgroundColor}\n testID={testID}\n >\n {showNavigation && (\n <Box\n width={itemSize}\n height={itemSize}\n alignItems=\"center\"\n justifyContent=\"center\"\n cursor={disabled || currentPage === 1 ? \"not-allowed\" : \"pointer\"}\n opacity={disabled || currentPage === 1 ? 0.6 : 1}\n borderRadius={4}\n onPress={() => currentPage > 1 && handlePageClick(currentPage - 1)}\n hoverStyle={\n !(disabled || currentPage === 1)\n ? { backgroundColor: theme.colors.overlay.mono }\n : undefined\n }\n role=\"button\"\n aria-label=\"Previous page\"\n >\n <Icon size={iconSize} color={theme.colors.content.primary}>\n <ChevronLeft size={iconSize} />\n </Icon>\n </Box>\n )}\n\n {pageNumbers.map((page, index) => {\n if (page === \"ellipsis\") {\n return (\n <Box\n key={`ellipsis-${index}`}\n width={itemSize}\n height={itemSize}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text\n color={theme.colors.content.tertiary}\n fontSize={fontSizeMap[size]}\n fontWeight=\"400\"\n >\n ...\n </Text>\n </Box>\n );\n }\n\n const isActive = page === currentPage;\n\n return (\n <Box\n key={page}\n width={itemSize}\n height={itemSize}\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius={4}\n backgroundColor={\n isActive ? theme.colors.background.brand.primary : \"transparent\"\n }\n cursor={disabled || isActive ? \"default\" : \"pointer\"}\n opacity={disabled ? 0.6 : 1}\n onPress={() => handlePageClick(page as number)}\n hoverStyle={\n !disabled && !isActive\n ? { backgroundColor: theme.colors.overlay.mono }\n : undefined\n }\n role=\"button\"\n aria-label={`Go to page ${page}`}\n aria-current={isActive ? \"page\" : undefined}\n >\n <Text\n color={\n isActive\n ? theme.colors.content.on.brand\n : theme.colors.content.primary\n }\n fontSize={fontSizeMap[size]}\n fontWeight={isActive ? \"600\" : \"400\"}\n >\n {page}\n </Text>\n </Box>\n );\n })}\n\n {showNavigation && (\n <Box\n width={itemSize}\n height={itemSize}\n alignItems=\"center\"\n justifyContent=\"center\"\n cursor={\n disabled || currentPage === totalPages ? \"not-allowed\" : \"pointer\"\n }\n opacity={disabled || currentPage === totalPages ? 0.6 : 1}\n borderRadius={4}\n onPress={() =>\n currentPage < totalPages && handlePageClick(currentPage + 1)\n }\n hoverStyle={\n !(disabled || currentPage === totalPages)\n ? { backgroundColor: theme.colors.overlay.mono }\n : undefined\n }\n role=\"button\"\n aria-label=\"Next page\"\n >\n <Icon size={iconSize} color={theme.colors.content.primary}>\n <ChevronRight size={iconSize} />\n </Icon>\n </Box>\n )}\n </Box>\n );\n};\n\nPagination.displayName = \"Pagination\";\n"],"mappings":"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","names":["styled","React","import_styled_components","import_jsx_runtime","styled","import_styled_components","import_jsx_runtime","styled","import_styled_components","import_jsx_runtime","styled","import_styled_components","import_jsx_runtime","styled","import_react","import_styled_components","import_jsx_runtime","styled","import_react","import_styled_components","import_jsx_runtime","styled","import_jsx_runtime"]}
|
|
1
|
+
{"version":3,"sources":["../../src/index.tsx","../../../primitives-web/src/Box.tsx","../../../primitives-web/src/Text.tsx","../../../primitives-web/src/Icon.tsx","../../src/Pagination.tsx"],"sourcesContent":["export * from \"./Pagination\";\nexport * from \"./types\";\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport type { BoxProps } from \"@xsolla/xui-primitives-core\";\n\nconst StyledBox = styled.div<BoxProps>`\n display: flex;\n box-sizing: border-box;\n background-color: ${(props) => props.backgroundColor || \"transparent\"};\n border-color: ${(props) => props.borderColor || \"transparent\"};\n border-width: ${(props) =>\n typeof props.borderWidth === \"number\"\n ? `${props.borderWidth}px`\n : props.borderWidth || 0};\n\n ${(props) =>\n props.borderBottomWidth !== undefined &&\n `\n border-bottom-width: ${typeof props.borderBottomWidth === \"number\" ? `${props.borderBottomWidth}px` : props.borderBottomWidth};\n border-bottom-color: ${props.borderBottomColor || props.borderColor || \"transparent\"};\n border-bottom-style: solid;\n `}\n ${(props) =>\n props.borderTopWidth !== undefined &&\n `\n border-top-width: ${typeof props.borderTopWidth === \"number\" ? `${props.borderTopWidth}px` : props.borderTopWidth};\n border-top-color: ${props.borderTopColor || props.borderColor || \"transparent\"};\n border-top-style: solid;\n `}\n ${(props) =>\n props.borderLeftWidth !== undefined &&\n `\n border-left-width: ${typeof props.borderLeftWidth === \"number\" ? `${props.borderLeftWidth}px` : props.borderLeftWidth};\n border-left-color: ${props.borderLeftColor || props.borderColor || \"transparent\"};\n border-left-style: solid;\n `}\n ${(props) =>\n props.borderRightWidth !== undefined &&\n `\n border-right-width: ${typeof props.borderRightWidth === \"number\" ? `${props.borderRightWidth}px` : props.borderRightWidth};\n border-right-color: ${props.borderRightColor || props.borderColor || \"transparent\"};\n border-right-style: solid;\n `}\n\n border-style: ${(props) =>\n props.borderStyle ||\n (props.borderWidth ||\n props.borderBottomWidth ||\n props.borderTopWidth ||\n props.borderLeftWidth ||\n props.borderRightWidth\n ? \"solid\"\n : \"none\")};\n border-radius: ${(props) =>\n typeof props.borderRadius === \"number\"\n ? `${props.borderRadius}px`\n : props.borderRadius || 0};\n height: ${(props) =>\n typeof props.height === \"number\"\n ? `${props.height}px`\n : props.height || \"auto\"};\n width: ${(props) =>\n typeof props.width === \"number\"\n ? `${props.width}px`\n : props.width || \"auto\"};\n min-width: ${(props) =>\n typeof props.minWidth === \"number\"\n ? `${props.minWidth}px`\n : props.minWidth || \"auto\"};\n min-height: ${(props) =>\n typeof props.minHeight === \"number\"\n ? `${props.minHeight}px`\n : props.minHeight || \"auto\"};\n\n padding: ${(props) =>\n typeof props.padding === \"number\"\n ? `${props.padding}px`\n : props.padding || 0};\n ${(props) =>\n props.paddingHorizontal &&\n `\n padding-left: ${typeof props.paddingHorizontal === \"number\" ? `${props.paddingHorizontal}px` : props.paddingHorizontal};\n padding-right: ${typeof props.paddingHorizontal === \"number\" ? `${props.paddingHorizontal}px` : props.paddingHorizontal};\n `}\n ${(props) =>\n props.paddingVertical &&\n `\n padding-top: ${typeof props.paddingVertical === \"number\" ? `${props.paddingVertical}px` : props.paddingVertical};\n padding-bottom: ${typeof props.paddingVertical === \"number\" ? `${props.paddingVertical}px` : props.paddingVertical};\n `}\n ${(props) =>\n props.paddingTop !== undefined &&\n `padding-top: ${typeof props.paddingTop === \"number\" ? `${props.paddingTop}px` : props.paddingTop};`}\n ${(props) =>\n props.paddingBottom !== undefined &&\n `padding-bottom: ${typeof props.paddingBottom === \"number\" ? `${props.paddingBottom}px` : props.paddingBottom};`}\n ${(props) =>\n props.paddingLeft !== undefined &&\n `padding-left: ${typeof props.paddingLeft === \"number\" ? `${props.paddingLeft}px` : props.paddingLeft};`}\n ${(props) =>\n props.paddingRight !== undefined &&\n `padding-right: ${typeof props.paddingRight === \"number\" ? `${props.paddingRight}px` : props.paddingRight};`}\n\n margin: ${(props) =>\n typeof props.margin === \"number\" ? `${props.margin}px` : props.margin || 0};\n ${(props) =>\n props.marginTop !== undefined &&\n `margin-top: ${typeof props.marginTop === \"number\" ? `${props.marginTop}px` : props.marginTop};`}\n ${(props) =>\n props.marginBottom !== undefined &&\n `margin-bottom: ${typeof props.marginBottom === \"number\" ? `${props.marginBottom}px` : props.marginBottom};`}\n ${(props) =>\n props.marginLeft !== undefined &&\n `margin-left: ${typeof props.marginLeft === \"number\" ? `${props.marginLeft}px` : props.marginLeft};`}\n ${(props) =>\n props.marginRight !== undefined &&\n `margin-right: ${typeof props.marginRight === \"number\" ? `${props.marginRight}px` : props.marginRight};`}\n\n flex-direction: ${(props) => props.flexDirection || \"column\"};\n flex-wrap: ${(props) => props.flexWrap || \"nowrap\"};\n align-items: ${(props) => props.alignItems || \"stretch\"};\n justify-content: ${(props) => props.justifyContent || \"flex-start\"};\n cursor: ${(props) =>\n props.cursor\n ? props.cursor\n : props.onClick || props.onPress\n ? \"pointer\"\n : \"inherit\"};\n position: ${(props) => props.position || \"static\"};\n top: ${(props) =>\n typeof props.top === \"number\" ? `${props.top}px` : props.top};\n bottom: ${(props) =>\n typeof props.bottom === \"number\" ? `${props.bottom}px` : props.bottom};\n left: ${(props) =>\n typeof props.left === \"number\" ? `${props.left}px` : props.left};\n right: ${(props) =>\n typeof props.right === \"number\" ? `${props.right}px` : props.right};\n flex: ${(props) => props.flex};\n flex-shrink: ${(props) => props.flexShrink ?? 1};\n gap: ${(props) =>\n typeof props.gap === \"number\" ? `${props.gap}px` : props.gap || 0};\n align-self: ${(props) => props.alignSelf || \"auto\"};\n overflow: ${(props) => props.overflow || \"visible\"};\n overflow-x: ${(props) => props.overflowX || \"visible\"};\n overflow-y: ${(props) => props.overflowY || \"visible\"};\n z-index: ${(props) => props.zIndex};\n opacity: ${(props) => (props.disabled ? 0.5 : 1)};\n pointer-events: ${(props) => (props.disabled ? \"none\" : \"auto\")};\n\n &:hover {\n ${(props) =>\n props.hoverStyle?.backgroundColor &&\n `background-color: ${props.hoverStyle.backgroundColor};`}\n ${(props) =>\n props.hoverStyle?.borderColor &&\n `border-color: ${props.hoverStyle.borderColor};`}\n }\n\n &:active {\n ${(props) =>\n props.pressStyle?.backgroundColor &&\n `background-color: ${props.pressStyle.backgroundColor};`}\n }\n`;\n\nexport const Box = React.forwardRef<\n HTMLDivElement | HTMLButtonElement,\n BoxProps\n>(\n (\n {\n children,\n onPress,\n onKeyDown,\n onKeyUp,\n role,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledBy,\n \"aria-current\": ariaCurrent,\n \"aria-disabled\": ariaDisabled,\n \"aria-live\": ariaLive,\n \"aria-busy\": ariaBusy,\n \"aria-describedby\": ariaDescribedBy,\n \"aria-expanded\": ariaExpanded,\n \"aria-haspopup\": ariaHasPopup,\n \"aria-pressed\": ariaPressed,\n \"aria-controls\": ariaControls,\n tabIndex,\n as,\n src,\n alt,\n type,\n disabled,\n id,\n ...props\n },\n ref\n ) => {\n // Handle as=\"img\" for rendering images with proper border-radius\n if (as === \"img\" && src) {\n return (\n <img\n src={src}\n alt={alt || \"\"}\n style={{\n display: \"block\",\n objectFit: \"cover\",\n width:\n typeof props.width === \"number\"\n ? `${props.width}px`\n : props.width,\n height:\n typeof props.height === \"number\"\n ? `${props.height}px`\n : props.height,\n borderRadius:\n typeof props.borderRadius === \"number\"\n ? `${props.borderRadius}px`\n : props.borderRadius,\n position: props.position,\n top: typeof props.top === \"number\" ? `${props.top}px` : props.top,\n left:\n typeof props.left === \"number\" ? `${props.left}px` : props.left,\n right:\n typeof props.right === \"number\"\n ? `${props.right}px`\n : props.right,\n bottom:\n typeof props.bottom === \"number\"\n ? `${props.bottom}px`\n : props.bottom,\n }}\n />\n );\n }\n\n return (\n <StyledBox\n ref={ref}\n as={as}\n id={id}\n type={as === \"button\" ? type || \"button\" : undefined}\n disabled={as === \"button\" ? disabled : undefined}\n onClick={onPress}\n onKeyDown={onKeyDown}\n onKeyUp={onKeyUp}\n role={role}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledBy}\n aria-current={ariaCurrent}\n aria-disabled={ariaDisabled}\n aria-busy={ariaBusy}\n aria-describedby={ariaDescribedBy}\n aria-expanded={ariaExpanded}\n aria-haspopup={ariaHasPopup}\n aria-pressed={ariaPressed}\n aria-controls={ariaControls}\n aria-live={ariaLive}\n tabIndex={tabIndex !== undefined ? tabIndex : undefined}\n {...props}\n >\n {children}\n </StyledBox>\n );\n }\n);\n\nBox.displayName = \"Box\";\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { TextProps } from \"@xsolla/xui-primitives-core\";\n\nconst StyledText = styled.span<TextProps>`\n color: ${(props) => props.color || \"inherit\"};\n font-size: ${(props) =>\n typeof props.fontSize === \"number\"\n ? `${props.fontSize}px`\n : props.fontSize || \"inherit\"};\n font-weight: ${(props) => props.fontWeight || \"normal\"};\n font-family: ${(props) =>\n props.fontFamily ||\n '\"Pilat Wide Bold\", -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif !important'};\n line-height: ${(props) =>\n typeof props.lineHeight === \"number\"\n ? `${props.lineHeight}px`\n : props.lineHeight || \"inherit\"};\n white-space: ${(props) => props.whiteSpace || \"normal\"};\n text-align: ${(props) => props.textAlign || \"inherit\"};\n text-decoration: ${(props) => props.textDecoration || \"none\"};\n`;\n\nexport const Text: React.FC<TextProps> = ({\n style,\n className,\n id,\n role,\n ...props\n}) => {\n return (\n <StyledText\n {...props}\n style={style}\n className={className}\n id={id}\n role={role}\n />\n );\n};\n","import React from \"react\";\nimport styled from \"styled-components\";\nimport { IconProps } from \"@xsolla/xui-primitives-core\";\n\nconst StyledIcon = styled.div<IconProps>`\n display: flex;\n align-items: center;\n justify-content: center;\n width: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n height: ${(props) =>\n typeof props.size === \"number\" ? `${props.size}px` : props.size || \"24px\"};\n color: ${(props) => props.color || \"currentColor\"};\n\n svg {\n width: 100%;\n height: 100%;\n fill: none;\n stroke: currentColor;\n }\n`;\n\nexport const Icon: React.FC<IconProps> = ({ children, ...props }) => {\n return <StyledIcon {...props}>{children}</StyledIcon>;\n};\n","import React from \"react\";\n// @ts-expect-error - this will be resolved at build time\nimport { Box, Text, Icon } from \"@xsolla/xui-primitives\";\nimport { useDesignSystem } from \"@xsolla/xui-core\";\nimport type { PaginationProps, PaginationSize } from \"./types\";\n\nconst ChevronLeft = ({ size }: { size: number }) => (\n <svg\n viewBox=\"0 0 24 24\"\n width={size}\n height={size}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"15 18 9 12 15 6\" />\n </svg>\n);\n\nconst ChevronRight = ({ size }: { size: number }) => (\n <svg\n viewBox=\"0 0 24 24\"\n width={size}\n height={size}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <polyline points=\"9 18 15 12 9 6\" />\n </svg>\n);\n\nexport const Pagination: React.FC<PaginationProps> = ({\n size = \"md\",\n currentPage = 1,\n totalPages = 1,\n siblingCount = 1,\n onPageChange,\n disabled = false,\n stretched = false,\n showNavigation = true,\n backgroundColor,\n testID,\n}) => {\n const { theme } = useDesignSystem();\n\n const fontSizeMap: Record<PaginationSize, number> = {\n sm: 12,\n md: 14,\n lg: 16,\n };\n\n const iconSizeMap: Record<PaginationSize, number> = {\n sm: 16,\n md: 18,\n lg: 20,\n };\n\n const itemSizeMap: Record<PaginationSize, number> = {\n sm: 24,\n md: 32,\n lg: 40,\n };\n\n const getPageNumbers = () => {\n const pages: (number | \"ellipsis\")[] = [];\n const totalNumbers = siblingCount * 2 + 5;\n const totalBlocks = totalNumbers;\n\n if (totalPages <= totalBlocks) {\n for (let i = 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else {\n const leftSiblingIndex = Math.max(currentPage - siblingCount, 1);\n const rightSiblingIndex = Math.min(\n currentPage + siblingCount,\n totalPages\n );\n\n const shouldShowLeftEllipsis = leftSiblingIndex > 2;\n const shouldShowRightEllipsis = rightSiblingIndex < totalPages - 1;\n\n if (!shouldShowLeftEllipsis && shouldShowRightEllipsis) {\n const leftItemCount = 3 + 2 * siblingCount;\n for (let i = 1; i <= leftItemCount; i++) {\n pages.push(i);\n }\n pages.push(\"ellipsis\", totalPages);\n } else if (shouldShowLeftEllipsis && !shouldShowRightEllipsis) {\n const rightItemCount = 3 + 2 * siblingCount;\n pages.push(1, \"ellipsis\");\n for (let i = totalPages - rightItemCount + 1; i <= totalPages; i++) {\n pages.push(i);\n }\n } else if (shouldShowLeftEllipsis && shouldShowRightEllipsis) {\n pages.push(1, \"ellipsis\");\n for (let i = leftSiblingIndex; i <= rightSiblingIndex; i++) {\n pages.push(i);\n }\n pages.push(\"ellipsis\", totalPages);\n }\n }\n return pages;\n };\n\n const handlePageClick = (page: number) => {\n if (disabled || page === currentPage || page < 1 || page > totalPages) {\n return;\n }\n onPageChange?.(page);\n };\n\n const pageNumbers = getPageNumbers();\n const iconSize = iconSizeMap[size];\n const itemSize = itemSizeMap[size];\n\n return (\n <Box\n flexDirection=\"row\"\n alignItems=\"center\"\n justifyContent={stretched ? \"center\" : \"flex-start\"}\n width={stretched ? \"100%\" : \"auto\"}\n gap={4}\n flexWrap=\"wrap\"\n backgroundColor={backgroundColor}\n testID={testID}\n >\n {showNavigation && (\n <Box\n width={itemSize}\n height={itemSize}\n alignItems=\"center\"\n justifyContent=\"center\"\n cursor={disabled || currentPage === 1 ? \"not-allowed\" : \"pointer\"}\n opacity={disabled || currentPage === 1 ? 0.6 : 1}\n borderRadius={4}\n onPress={() => currentPage > 1 && handlePageClick(currentPage - 1)}\n hoverStyle={\n !(disabled || currentPage === 1)\n ? { backgroundColor: theme.colors.overlay.mono }\n : undefined\n }\n role=\"button\"\n aria-label=\"Previous page\"\n >\n <Icon size={iconSize} color={theme.colors.content.primary}>\n <ChevronLeft size={iconSize} />\n </Icon>\n </Box>\n )}\n\n {pageNumbers.map((page, index) => {\n if (page === \"ellipsis\") {\n return (\n <Box\n key={`ellipsis-${index}`}\n width={itemSize}\n height={itemSize}\n alignItems=\"center\"\n justifyContent=\"center\"\n >\n <Text\n color={theme.colors.content.tertiary}\n fontSize={fontSizeMap[size]}\n fontWeight=\"400\"\n >\n ...\n </Text>\n </Box>\n );\n }\n\n const isActive = page === currentPage;\n\n return (\n <Box\n key={page}\n width={itemSize}\n height={itemSize}\n alignItems=\"center\"\n justifyContent=\"center\"\n borderRadius={4}\n backgroundColor={\n isActive ? theme.colors.background.brand.primary : \"transparent\"\n }\n cursor={disabled || isActive ? \"default\" : \"pointer\"}\n opacity={disabled ? 0.6 : 1}\n onPress={() => handlePageClick(page as number)}\n hoverStyle={\n !disabled && !isActive\n ? { backgroundColor: theme.colors.overlay.mono }\n : undefined\n }\n role=\"button\"\n aria-label={`Go to page ${page}`}\n aria-current={isActive ? \"page\" : undefined}\n >\n <Text\n color={\n isActive\n ? theme.colors.content.on.brand\n : theme.colors.content.primary\n }\n fontSize={fontSizeMap[size]}\n fontWeight={isActive ? \"600\" : \"400\"}\n >\n {page}\n </Text>\n </Box>\n );\n })}\n\n {showNavigation && (\n <Box\n width={itemSize}\n height={itemSize}\n alignItems=\"center\"\n justifyContent=\"center\"\n cursor={\n disabled || currentPage === totalPages ? \"not-allowed\" : \"pointer\"\n }\n opacity={disabled || currentPage === totalPages ? 0.6 : 1}\n borderRadius={4}\n onPress={() =>\n currentPage < totalPages && handlePageClick(currentPage + 1)\n }\n hoverStyle={\n !(disabled || currentPage === totalPages)\n ? { backgroundColor: theme.colors.overlay.mono }\n : undefined\n }\n role=\"button\"\n aria-label=\"Next page\"\n >\n <Icon size={iconSize} color={theme.colors.content.primary}>\n <ChevronRight size={iconSize} />\n </Icon>\n </Box>\n )}\n </Box>\n );\n};\n\nPagination.displayName = \"Pagination\";\n"],"mappings":"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","names":["styled","React","import_styled_components","import_jsx_runtime","styled","import_styled_components","import_jsx_runtime","styled","import_jsx_runtime"]}
|