@xsolla/xui-input-pin 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/web/index.mjs CHANGED
@@ -202,96 +202,11 @@ var Text = ({
202
202
  );
203
203
  };
204
204
 
205
- // ../primitives-web/src/Spinner.tsx
206
- import styled3, { keyframes } from "styled-components";
207
- import { jsx as jsx3 } from "react/jsx-runtime";
208
- var rotate = keyframes`
209
- from {
210
- transform: rotate(0deg);
211
- }
212
- to {
213
- transform: rotate(360deg);
214
- }
215
- `;
216
- var StyledSpinner = styled3.div`
217
- width: ${(props) => typeof props.size === "number" ? `${props.size}px` : props.size || "24px"};
218
- height: ${(props) => typeof props.size === "number" ? `${props.size}px` : props.size || "24px"};
219
- border: ${(props) => props.strokeWidth || 2}px solid
220
- ${(props) => props.color || "currentColor"};
221
- border-bottom-color: transparent;
222
- border-radius: 50%;
223
- display: inline-block;
224
- box-sizing: border-box;
225
- animation: ${rotate} 1s linear infinite;
226
- `;
227
- var Spinner = ({
228
- role = "status",
229
- "aria-label": ariaLabel,
230
- "aria-live": ariaLive = "polite",
231
- "aria-describedby": ariaDescribedBy,
232
- testID,
233
- ...props
234
- }) => {
235
- return /* @__PURE__ */ jsx3(
236
- StyledSpinner,
237
- {
238
- role,
239
- "aria-label": ariaLabel,
240
- "aria-live": ariaLive,
241
- "aria-describedby": ariaDescribedBy,
242
- "data-testid": testID,
243
- ...props
244
- }
245
- );
246
- };
247
- Spinner.displayName = "Spinner";
248
-
249
- // ../primitives-web/src/Icon.tsx
250
- import styled4 from "styled-components";
251
- import { jsx as jsx4 } from "react/jsx-runtime";
252
- var StyledIcon = styled4.div`
253
- display: flex;
254
- align-items: center;
255
- justify-content: center;
256
- width: ${(props) => typeof props.size === "number" ? `${props.size}px` : props.size || "24px"};
257
- height: ${(props) => typeof props.size === "number" ? `${props.size}px` : props.size || "24px"};
258
- color: ${(props) => props.color || "currentColor"};
259
-
260
- svg {
261
- width: 100%;
262
- height: 100%;
263
- fill: none;
264
- stroke: currentColor;
265
- }
266
- `;
267
-
268
- // ../primitives-web/src/Divider.tsx
269
- import styled5 from "styled-components";
270
- import { jsx as jsx5 } from "react/jsx-runtime";
271
- var StyledDivider = styled5.div`
272
- background-color: ${(props) => props.dashStroke ? "transparent" : props.color || "rgba(255, 255, 255, 0.15)"};
273
- width: ${(props) => props.vertical ? typeof props.width === "number" ? `${props.width}px` : props.width || "1px" : "100%"};
274
- height: ${(props) => props.vertical ? "100%" : typeof props.height === "number" ? `${props.height}px` : props.height || "1px"};
275
-
276
- ${(props) => props.dashStroke && `
277
- border-style: dashed;
278
- border-color: ${props.color || "rgba(255, 255, 255, 0.15)"};
279
- border-width: 0;
280
- ${props.vertical ? `
281
- border-left-width: ${typeof props.width === "number" ? `${props.width}px` : props.width || "1px"};
282
- height: 100%;
283
- ` : `
284
- border-top-width: ${typeof props.height === "number" ? `${props.height}px` : props.height || "1px"};
285
- width: 100%;
286
- `}
287
- `}
288
- `;
289
-
290
205
  // ../primitives-web/src/Input.tsx
291
206
  import { forwardRef } from "react";
292
- import styled6 from "styled-components";
293
- import { jsx as jsx6 } from "react/jsx-runtime";
294
- var StyledInput = styled6.input`
207
+ import styled3 from "styled-components";
208
+ import { jsx as jsx3 } from "react/jsx-runtime";
209
+ var StyledInput = styled3.input`
295
210
  background: transparent;
296
211
  border: none;
297
212
  outline: none;
@@ -350,7 +265,7 @@ var InputPrimitive = forwardRef(
350
265
  }
351
266
  };
352
267
  const inputValue = value !== void 0 ? value : "";
353
- return /* @__PURE__ */ jsx6(
268
+ return /* @__PURE__ */ jsx3(
354
269
  StyledInput,
355
270
  {
356
271
  ref,
@@ -384,74 +299,9 @@ var InputPrimitive = forwardRef(
384
299
  );
385
300
  InputPrimitive.displayName = "InputPrimitive";
386
301
 
387
- // ../primitives-web/src/TextArea.tsx
388
- import { forwardRef as forwardRef2 } from "react";
389
- import styled7 from "styled-components";
390
- import { jsx as jsx7 } from "react/jsx-runtime";
391
- var StyledTextArea = styled7.textarea`
392
- background: transparent;
393
- border: none;
394
- outline: none;
395
- width: 100%;
396
- height: 100%;
397
- padding: 0;
398
- margin: 0;
399
- color: ${(props) => props.color || "inherit"};
400
- font-size: ${(props) => typeof props.fontSize === "number" ? `${props.fontSize}px` : props.fontSize || "inherit"};
401
- font-family: inherit;
402
- text-align: inherit;
403
- resize: none;
404
-
405
- &::placeholder {
406
- color: ${(props) => props.placeholderTextColor || "rgba(255, 255, 255, 0.5)"};
407
- }
408
-
409
- &:disabled {
410
- cursor: not-allowed;
411
- }
412
- `;
413
- var TextAreaPrimitive = forwardRef2(
414
- ({
415
- value,
416
- placeholder,
417
- onChangeText,
418
- onFocus,
419
- onBlur,
420
- onKeyDown,
421
- disabled,
422
- style,
423
- color,
424
- fontSize,
425
- placeholderTextColor,
426
- maxLength,
427
- rows
428
- }, ref) => {
429
- return /* @__PURE__ */ jsx7(
430
- StyledTextArea,
431
- {
432
- ref,
433
- value,
434
- placeholder,
435
- onChange: (e) => onChangeText?.(e.target.value),
436
- onFocus,
437
- onBlur,
438
- onKeyDown,
439
- disabled,
440
- style,
441
- color,
442
- fontSize,
443
- placeholderTextColor,
444
- maxLength,
445
- rows
446
- }
447
- );
448
- }
449
- );
450
- TextAreaPrimitive.displayName = "TextAreaPrimitive";
451
-
452
302
  // src/InputPin.tsx
453
303
  import { useDesignSystem, useId } from "@xsolla/xui-core";
454
- import { jsx as jsx8, jsxs } from "react/jsx-runtime";
304
+ import { jsx as jsx4, jsxs } from "react/jsx-runtime";
455
305
  var InputPin = ({
456
306
  value = "",
457
307
  onChange,
@@ -591,7 +441,7 @@ var InputPin = ({
591
441
  borderColor = inputColors.border;
592
442
  }
593
443
  const textColor = isDisabled ? inputColors.textDisable : inputColors.text;
594
- return /* @__PURE__ */ jsx8(
444
+ return /* @__PURE__ */ jsx4(
595
445
  Box,
596
446
  {
597
447
  width: flexibleWidth ? void 0 : sizeStyles.size,
@@ -607,7 +457,7 @@ var InputPin = ({
607
457
  backgroundColor: inputColors.bgHover,
608
458
  borderColor: inputColors.borderHover
609
459
  } : void 0,
610
- children: /* @__PURE__ */ jsx8(
460
+ children: /* @__PURE__ */ jsx4(
611
461
  InputPrimitive,
612
462
  {
613
463
  ref: addRef ? handleRef(index) : (el) => inputs.current[index] = el,
@@ -646,7 +496,7 @@ var InputPin = ({
646
496
  "aria-labelledby": label ? labelId : void 0,
647
497
  "aria-label": !label && ariaLabel ? ariaLabel : void 0,
648
498
  children: [
649
- label && /* @__PURE__ */ jsx8(
499
+ label && /* @__PURE__ */ jsx4(
650
500
  Text,
651
501
  {
652
502
  id: labelId,
@@ -656,7 +506,7 @@ var InputPin = ({
656
506
  children: label
657
507
  }
658
508
  ),
659
- /* @__PURE__ */ jsx8(
509
+ /* @__PURE__ */ jsx4(
660
510
  Box,
661
511
  {
662
512
  flexDirection: "row",
@@ -666,7 +516,7 @@ var InputPin = ({
666
516
  children: pinItems
667
517
  }
668
518
  ),
669
- isError && errorText && /* @__PURE__ */ jsx8(
519
+ isError && errorText && /* @__PURE__ */ jsx4(
670
520
  Text,
671
521
  {
672
522
  id: errorId,
package/web/index.mjs.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/InputPin.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"],"sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from \"react\";\n// @ts-expect-error - this will be resolved at build time\nimport { Box, Text, InputPrimitive } from \"@xsolla/xui-primitives\";\nimport { useDesignSystem, useId } from \"@xsolla/xui-core\";\n\nexport interface OnInputPinCompleteProps {\n isComplete: boolean;\n value: string;\n}\n\nexport interface InputPinProps {\n /** Current value of the input pin */\n value?: string;\n /** Function that will be called when the input value changes */\n onChange?: (props: OnInputPinCompleteProps) => void;\n /** Function that will be called when the input is completed */\n onComplete?: (props: OnInputPinCompleteProps) => void;\n /** The length of the code to be input. Default is 4 */\n codeLength?: number;\n /** @deprecated Use codeLength instead */\n length?: number;\n /** Property for changing the size of the input */\n size?: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\";\n /** @deprecated Use disabled and error props instead */\n state?: \"default\" | \"hover\" | \"disable\" | \"error\";\n /** Property for disabling the control */\n disabled?: boolean;\n /** Property for displaying an error state */\n error?: boolean;\n /** Property for displaying a label above the input */\n label?: string;\n /** Property for displaying an error message */\n errorMessage?: string;\n /** @deprecated Use errorMessage instead */\n errorLabel?: string;\n /** Whether to hide the text (like a password field) */\n secureTextEntry?: boolean;\n /** Show dot placeholders in empty inputs */\n showPlaceholderDots?: boolean;\n /** Expands input cells to fill the width of the container */\n flexibleWidth?: boolean;\n /** Boolean value indicating if the input is filled or not */\n isComplete?: boolean;\n /** The current focused input index */\n currentFocus?: number;\n /** Function to add a ref to an input element */\n addRef?: (index: number) => (element: HTMLInputElement | null) => void;\n /** Test identifier for the component */\n testID?: string;\n /** Accessible label for screen readers (use when no visible label) */\n \"aria-label\"?: string;\n}\n\nexport const InputPin: React.FC<InputPinProps> = ({\n value = \"\",\n onChange,\n onComplete,\n codeLength,\n length = 4,\n size = \"md\",\n state: externalState,\n disabled: disabledProp,\n error: errorProp,\n label,\n errorMessage,\n errorLabel,\n secureTextEntry = false,\n showPlaceholderDots = true,\n flexibleWidth = false,\n isComplete: isCompleteProp,\n currentFocus,\n addRef,\n testID,\n \"aria-label\": ariaLabel,\n}) => {\n const { theme } = useDesignSystem();\n const uniqueId = useId();\n const [focusedIndex, setFocusedIndex] = useState<number | null>(null);\n const [internalValue, setInternalValue] = useState(value);\n\n // Support both codeLength (new) and length (deprecated)\n const actualLength = codeLength ?? length;\n\n // Support both errorMessage (new) and errorLabel (deprecated)\n const errorText = errorMessage ?? errorLabel;\n\n // Support both new props and deprecated state prop\n // Error state is true if error prop is set, or errorMessage is provided, or state is \"error\"\n const isError = errorProp ?? (!!errorText || externalState === \"error\");\n const isDisabled = disabledProp ?? externalState === \"disable\";\n const isHover = externalState === \"hover\";\n const sizeStyles = theme.sizing.inputPin(size);\n const inputColors = theme.colors.control.input;\n\n const inputs = useRef<(HTMLInputElement | null)[]>([]);\n\n // Sync internal value with external value\n useEffect(() => {\n setInternalValue(value);\n }, [value]);\n\n // Handle currentFocus prop\n useEffect(() => {\n if (\n currentFocus !== undefined &&\n currentFocus >= 0 &&\n currentFocus < actualLength\n ) {\n inputs.current[currentFocus]?.focus();\n }\n }, [currentFocus, actualLength]);\n\n // Calculate isComplete status\n const checkIsComplete = useCallback(\n (val: string) => val.length >= actualLength,\n [actualLength]\n );\n\n // IDs for accessibility\n const labelId = `${uniqueId}-label`;\n const errorId = `${uniqueId}-error`;\n\n const handleTextChange = (text: string, index: number) => {\n // Filter to only alphanumeric characters\n const sanitizedText = text.replace(/[^0-9a-zA-Z]/g, \"\");\n\n // Handle multi-character input (paste on React Native)\n if (sanitizedText.length > 1) {\n const pastedData = sanitizedText.slice(0, actualLength - index);\n const newValue = internalValue.split(\"\");\n\n // Ensure the array has the correct length\n while (newValue.length < actualLength) {\n newValue.push(\"\");\n }\n\n // Fill in characters starting from current index\n for (let i = 0; i < pastedData.length && index + i < actualLength; i++) {\n newValue[index + i] = pastedData[i];\n }\n\n const updatedValue = newValue.slice(0, actualLength).join(\"\");\n setInternalValue(updatedValue);\n\n const complete = checkIsComplete(updatedValue);\n const changeProps = { isComplete: complete, value: updatedValue };\n\n onChange?.(changeProps);\n\n if (complete) {\n onComplete?.(changeProps);\n }\n\n // Focus the next empty input or the last input\n const nextIndex = Math.min(index + pastedData.length, actualLength - 1);\n inputs.current[nextIndex]?.focus();\n return;\n }\n\n // Handle single character input\n const char = sanitizedText.slice(-1);\n const newValue = internalValue.split(\"\");\n\n // Ensure the array has the correct length\n while (newValue.length < actualLength) {\n newValue.push(\"\");\n }\n\n newValue[index] = char;\n const updatedValue = newValue.slice(0, actualLength).join(\"\");\n setInternalValue(updatedValue);\n\n const complete = checkIsComplete(updatedValue);\n const changeProps = { isComplete: complete, value: updatedValue };\n\n onChange?.(changeProps);\n\n if (complete) {\n onComplete?.(changeProps);\n }\n\n if (char && index < actualLength - 1) {\n inputs.current[index + 1]?.focus();\n }\n };\n\n const handleKeyDown = (\n e: React.KeyboardEvent<HTMLInputElement>,\n index: number\n ) => {\n if (e.key === \"Backspace\") {\n if (!internalValue[index] && index > 0) {\n inputs.current[index - 1]?.focus();\n }\n } else if (e.key === \"ArrowLeft\" && index > 0) {\n inputs.current[index - 1]?.focus();\n } else if (e.key === \"ArrowRight\" && index < actualLength - 1) {\n inputs.current[index + 1]?.focus();\n }\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n const pastedData = e.clipboardData\n .getData(\"text\")\n .replace(/[^0-9a-zA-Z]/g, \"\")\n .slice(0, actualLength);\n setInternalValue(pastedData);\n\n const complete = checkIsComplete(pastedData);\n const changeProps = { isComplete: complete, value: pastedData };\n\n onChange?.(changeProps);\n\n if (complete) {\n onComplete?.(changeProps);\n }\n\n // Focus the last filled input or the first empty one\n const nextIndex = Math.min(pastedData.length, actualLength - 1);\n inputs.current[nextIndex]?.focus();\n };\n\n // Handler for storing refs that can be provided to addRef prop\n const handleRef = (index: number) => (element: HTMLInputElement | null) => {\n inputs.current[index] = element;\n addRef?.(index)(element);\n };\n\n const pinItems = Array.from({ length: actualLength }).map((_, index) => {\n const char = internalValue[index] || \"\";\n const isFocused = focusedIndex === index;\n\n let backgroundColor = inputColors.bg;\n let borderColor = inputColors.border;\n\n if (isDisabled) {\n backgroundColor = inputColors.bgDisable;\n borderColor = inputColors.borderDisable;\n } else if (isError) {\n borderColor = theme.colors.border.alert;\n backgroundColor = isFocused\n ? theme.colors.control.focus.bg\n : inputColors.bg;\n } else if (isFocused) {\n backgroundColor = theme.colors.control.focus.bg;\n borderColor = theme.colors.content.brand.secondary;\n } else if (isHover) {\n backgroundColor = inputColors.bgHover;\n borderColor = inputColors.borderHover;\n } else {\n backgroundColor = inputColors.bg;\n borderColor = inputColors.border;\n }\n\n const textColor = isDisabled ? inputColors.textDisable : inputColors.text;\n\n return (\n <Box\n key={index}\n width={flexibleWidth ? undefined : sizeStyles.size}\n height={sizeStyles.size}\n flex={flexibleWidth ? 1 : undefined}\n backgroundColor={backgroundColor}\n borderColor={borderColor}\n borderWidth={sizeStyles.borderWidth}\n borderRadius={sizeStyles.radius}\n alignItems=\"center\"\n justifyContent=\"center\"\n hoverStyle={\n !isDisabled && !isFocused && !isError\n ? {\n backgroundColor: inputColors.bgHover,\n borderColor: inputColors.borderHover,\n }\n : undefined\n }\n >\n <InputPrimitive\n ref={\n addRef\n ? handleRef(index)\n : (el: any) => (inputs.current[index] = el)\n }\n value={char}\n placeholder={showPlaceholderDots && !isFocused ? \"•\" : undefined}\n onChangeText={(text: string) => handleTextChange(text, index)}\n onFocus={() => setFocusedIndex(index)}\n onBlur={() => setFocusedIndex(null)}\n onKeyDown={(e: any) => handleKeyDown(e, index)}\n disabled={isDisabled}\n secureTextEntry={secureTextEntry}\n color={textColor}\n placeholderTextColor={inputColors.placeholder}\n fontSize={sizeStyles.fontSize}\n style={{ textAlign: \"center\" }}\n maxLength={1}\n inputMode=\"numeric\"\n autoComplete=\"one-time-code\"\n aria-label={\n ariaLabel\n ? `${ariaLabel} digit ${index + 1}`\n : `PIN digit ${index + 1}`\n }\n aria-invalid={isError}\n aria-describedby={isError && errorText ? errorId : undefined}\n data-testid={\n testID ? `${testID}-input-${index}` : `input-pin-input-${index}`\n }\n />\n </Box>\n );\n });\n\n return (\n <Box\n flexDirection=\"column\"\n gap={8}\n data-testid={testID || \"input-pin\"}\n role=\"group\"\n aria-labelledby={label ? labelId : undefined}\n aria-label={!label && ariaLabel ? ariaLabel : undefined}\n >\n {label && (\n <Text\n id={labelId}\n color={theme.colors.content.secondary}\n fontSize={sizeStyles.fontSize - 2}\n fontWeight=\"500\"\n >\n {label}\n </Text>\n )}\n <Box\n flexDirection=\"row\"\n gap={sizeStyles.gap}\n onPaste={handlePaste}\n width={flexibleWidth ? \"100%\" : undefined}\n >\n {pinItems}\n </Box>\n {isError && errorText && (\n <Text\n id={errorId}\n role=\"alert\"\n color={theme.colors.content.alert.primary}\n fontSize={sizeStyles.fontSize - 2}\n >\n {errorText}\n </Text>\n )}\n </Box>\n );\n};\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"],"mappings":"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","names":["styled","jsx","styled","jsx","styled","jsx","styled","jsx","styled","jsx","forwardRef","styled","jsx","jsx","newValue","updatedValue","complete","changeProps"]}
1
+ {"version":3,"sources":["../../src/InputPin.tsx","../../../primitives-web/src/Box.tsx","../../../primitives-web/src/Text.tsx","../../../primitives-web/src/Input.tsx"],"sourcesContent":["import React, { useState, useRef, useEffect, useCallback } from \"react\";\n// @ts-expect-error - this will be resolved at build time\nimport { Box, Text, InputPrimitive } from \"@xsolla/xui-primitives\";\nimport { useDesignSystem, useId } from \"@xsolla/xui-core\";\n\nexport interface OnInputPinCompleteProps {\n isComplete: boolean;\n value: string;\n}\n\nexport interface InputPinProps {\n /** Current value of the input pin */\n value?: string;\n /** Function that will be called when the input value changes */\n onChange?: (props: OnInputPinCompleteProps) => void;\n /** Function that will be called when the input is completed */\n onComplete?: (props: OnInputPinCompleteProps) => void;\n /** The length of the code to be input. Default is 4 */\n codeLength?: number;\n /** @deprecated Use codeLength instead */\n length?: number;\n /** Property for changing the size of the input */\n size?: \"xl\" | \"lg\" | \"md\" | \"sm\" | \"xs\";\n /** @deprecated Use disabled and error props instead */\n state?: \"default\" | \"hover\" | \"disable\" | \"error\";\n /** Property for disabling the control */\n disabled?: boolean;\n /** Property for displaying an error state */\n error?: boolean;\n /** Property for displaying a label above the input */\n label?: string;\n /** Property for displaying an error message */\n errorMessage?: string;\n /** @deprecated Use errorMessage instead */\n errorLabel?: string;\n /** Whether to hide the text (like a password field) */\n secureTextEntry?: boolean;\n /** Show dot placeholders in empty inputs */\n showPlaceholderDots?: boolean;\n /** Expands input cells to fill the width of the container */\n flexibleWidth?: boolean;\n /** Boolean value indicating if the input is filled or not */\n isComplete?: boolean;\n /** The current focused input index */\n currentFocus?: number;\n /** Function to add a ref to an input element */\n addRef?: (index: number) => (element: HTMLInputElement | null) => void;\n /** Test identifier for the component */\n testID?: string;\n /** Accessible label for screen readers (use when no visible label) */\n \"aria-label\"?: string;\n}\n\nexport const InputPin: React.FC<InputPinProps> = ({\n value = \"\",\n onChange,\n onComplete,\n codeLength,\n length = 4,\n size = \"md\",\n state: externalState,\n disabled: disabledProp,\n error: errorProp,\n label,\n errorMessage,\n errorLabel,\n secureTextEntry = false,\n showPlaceholderDots = true,\n flexibleWidth = false,\n isComplete: isCompleteProp,\n currentFocus,\n addRef,\n testID,\n \"aria-label\": ariaLabel,\n}) => {\n const { theme } = useDesignSystem();\n const uniqueId = useId();\n const [focusedIndex, setFocusedIndex] = useState<number | null>(null);\n const [internalValue, setInternalValue] = useState(value);\n\n // Support both codeLength (new) and length (deprecated)\n const actualLength = codeLength ?? length;\n\n // Support both errorMessage (new) and errorLabel (deprecated)\n const errorText = errorMessage ?? errorLabel;\n\n // Support both new props and deprecated state prop\n // Error state is true if error prop is set, or errorMessage is provided, or state is \"error\"\n const isError = errorProp ?? (!!errorText || externalState === \"error\");\n const isDisabled = disabledProp ?? externalState === \"disable\";\n const isHover = externalState === \"hover\";\n const sizeStyles = theme.sizing.inputPin(size);\n const inputColors = theme.colors.control.input;\n\n const inputs = useRef<(HTMLInputElement | null)[]>([]);\n\n // Sync internal value with external value\n useEffect(() => {\n setInternalValue(value);\n }, [value]);\n\n // Handle currentFocus prop\n useEffect(() => {\n if (\n currentFocus !== undefined &&\n currentFocus >= 0 &&\n currentFocus < actualLength\n ) {\n inputs.current[currentFocus]?.focus();\n }\n }, [currentFocus, actualLength]);\n\n // Calculate isComplete status\n const checkIsComplete = useCallback(\n (val: string) => val.length >= actualLength,\n [actualLength]\n );\n\n // IDs for accessibility\n const labelId = `${uniqueId}-label`;\n const errorId = `${uniqueId}-error`;\n\n const handleTextChange = (text: string, index: number) => {\n // Filter to only alphanumeric characters\n const sanitizedText = text.replace(/[^0-9a-zA-Z]/g, \"\");\n\n // Handle multi-character input (paste on React Native)\n if (sanitizedText.length > 1) {\n const pastedData = sanitizedText.slice(0, actualLength - index);\n const newValue = internalValue.split(\"\");\n\n // Ensure the array has the correct length\n while (newValue.length < actualLength) {\n newValue.push(\"\");\n }\n\n // Fill in characters starting from current index\n for (let i = 0; i < pastedData.length && index + i < actualLength; i++) {\n newValue[index + i] = pastedData[i];\n }\n\n const updatedValue = newValue.slice(0, actualLength).join(\"\");\n setInternalValue(updatedValue);\n\n const complete = checkIsComplete(updatedValue);\n const changeProps = { isComplete: complete, value: updatedValue };\n\n onChange?.(changeProps);\n\n if (complete) {\n onComplete?.(changeProps);\n }\n\n // Focus the next empty input or the last input\n const nextIndex = Math.min(index + pastedData.length, actualLength - 1);\n inputs.current[nextIndex]?.focus();\n return;\n }\n\n // Handle single character input\n const char = sanitizedText.slice(-1);\n const newValue = internalValue.split(\"\");\n\n // Ensure the array has the correct length\n while (newValue.length < actualLength) {\n newValue.push(\"\");\n }\n\n newValue[index] = char;\n const updatedValue = newValue.slice(0, actualLength).join(\"\");\n setInternalValue(updatedValue);\n\n const complete = checkIsComplete(updatedValue);\n const changeProps = { isComplete: complete, value: updatedValue };\n\n onChange?.(changeProps);\n\n if (complete) {\n onComplete?.(changeProps);\n }\n\n if (char && index < actualLength - 1) {\n inputs.current[index + 1]?.focus();\n }\n };\n\n const handleKeyDown = (\n e: React.KeyboardEvent<HTMLInputElement>,\n index: number\n ) => {\n if (e.key === \"Backspace\") {\n if (!internalValue[index] && index > 0) {\n inputs.current[index - 1]?.focus();\n }\n } else if (e.key === \"ArrowLeft\" && index > 0) {\n inputs.current[index - 1]?.focus();\n } else if (e.key === \"ArrowRight\" && index < actualLength - 1) {\n inputs.current[index + 1]?.focus();\n }\n };\n\n const handlePaste = (e: React.ClipboardEvent) => {\n e.preventDefault();\n const pastedData = e.clipboardData\n .getData(\"text\")\n .replace(/[^0-9a-zA-Z]/g, \"\")\n .slice(0, actualLength);\n setInternalValue(pastedData);\n\n const complete = checkIsComplete(pastedData);\n const changeProps = { isComplete: complete, value: pastedData };\n\n onChange?.(changeProps);\n\n if (complete) {\n onComplete?.(changeProps);\n }\n\n // Focus the last filled input or the first empty one\n const nextIndex = Math.min(pastedData.length, actualLength - 1);\n inputs.current[nextIndex]?.focus();\n };\n\n // Handler for storing refs that can be provided to addRef prop\n const handleRef = (index: number) => (element: HTMLInputElement | null) => {\n inputs.current[index] = element;\n addRef?.(index)(element);\n };\n\n const pinItems = Array.from({ length: actualLength }).map((_, index) => {\n const char = internalValue[index] || \"\";\n const isFocused = focusedIndex === index;\n\n let backgroundColor = inputColors.bg;\n let borderColor = inputColors.border;\n\n if (isDisabled) {\n backgroundColor = inputColors.bgDisable;\n borderColor = inputColors.borderDisable;\n } else if (isError) {\n borderColor = theme.colors.border.alert;\n backgroundColor = isFocused\n ? theme.colors.control.focus.bg\n : inputColors.bg;\n } else if (isFocused) {\n backgroundColor = theme.colors.control.focus.bg;\n borderColor = theme.colors.content.brand.secondary;\n } else if (isHover) {\n backgroundColor = inputColors.bgHover;\n borderColor = inputColors.borderHover;\n } else {\n backgroundColor = inputColors.bg;\n borderColor = inputColors.border;\n }\n\n const textColor = isDisabled ? inputColors.textDisable : inputColors.text;\n\n return (\n <Box\n key={index}\n width={flexibleWidth ? undefined : sizeStyles.size}\n height={sizeStyles.size}\n flex={flexibleWidth ? 1 : undefined}\n backgroundColor={backgroundColor}\n borderColor={borderColor}\n borderWidth={sizeStyles.borderWidth}\n borderRadius={sizeStyles.radius}\n alignItems=\"center\"\n justifyContent=\"center\"\n hoverStyle={\n !isDisabled && !isFocused && !isError\n ? {\n backgroundColor: inputColors.bgHover,\n borderColor: inputColors.borderHover,\n }\n : undefined\n }\n >\n <InputPrimitive\n ref={\n addRef\n ? handleRef(index)\n : (el: any) => (inputs.current[index] = el)\n }\n value={char}\n placeholder={showPlaceholderDots && !isFocused ? \"•\" : undefined}\n onChangeText={(text: string) => handleTextChange(text, index)}\n onFocus={() => setFocusedIndex(index)}\n onBlur={() => setFocusedIndex(null)}\n onKeyDown={(e: any) => handleKeyDown(e, index)}\n disabled={isDisabled}\n secureTextEntry={secureTextEntry}\n color={textColor}\n placeholderTextColor={inputColors.placeholder}\n fontSize={sizeStyles.fontSize}\n style={{ textAlign: \"center\" }}\n maxLength={1}\n inputMode=\"numeric\"\n autoComplete=\"one-time-code\"\n aria-label={\n ariaLabel\n ? `${ariaLabel} digit ${index + 1}`\n : `PIN digit ${index + 1}`\n }\n aria-invalid={isError}\n aria-describedby={isError && errorText ? errorId : undefined}\n data-testid={\n testID ? `${testID}-input-${index}` : `input-pin-input-${index}`\n }\n />\n </Box>\n );\n });\n\n return (\n <Box\n flexDirection=\"column\"\n gap={8}\n data-testid={testID || \"input-pin\"}\n role=\"group\"\n aria-labelledby={label ? labelId : undefined}\n aria-label={!label && ariaLabel ? ariaLabel : undefined}\n >\n {label && (\n <Text\n id={labelId}\n color={theme.colors.content.secondary}\n fontSize={sizeStyles.fontSize - 2}\n fontWeight=\"500\"\n >\n {label}\n </Text>\n )}\n <Box\n flexDirection=\"row\"\n gap={sizeStyles.gap}\n onPaste={handlePaste}\n width={flexibleWidth ? \"100%\" : undefined}\n >\n {pinItems}\n </Box>\n {isError && errorText && (\n <Text\n id={errorId}\n role=\"alert\"\n color={theme.colors.content.alert.primary}\n fontSize={sizeStyles.fontSize - 2}\n >\n {errorText}\n </Text>\n )}\n </Box>\n );\n};\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, { 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"],"mappings":";AAAA,SAAgB,UAAU,QAAQ,WAAW,mBAAmB;;;ACAhE,OAAO,WAAW;AAClB,OAAO,YAAY;AAuMX;AApMR,IAAM,YAAY,OAAO;AAAA;AAAA;AAAA,sBAGH,CAAC,UAAU,MAAM,mBAAmB,aAAa;AAAA,kBACrD,CAAC,UAAU,MAAM,eAAe,aAAa;AAAA,kBAC7C,CAAC,UACf,OAAO,MAAM,gBAAgB,WACzB,GAAG,MAAM,WAAW,OACpB,MAAM,eAAe,CAAC;AAAA;AAAA,IAE1B,CAAC,UACD,MAAM,sBAAsB,UAC5B;AAAA,2BACuB,OAAO,MAAM,sBAAsB,WAAW,GAAG,MAAM,iBAAiB,OAAO,MAAM,iBAAiB;AAAA,2BACtG,MAAM,qBAAqB,MAAM,eAAe,aAAa;AAAA;AAAA,GAErF;AAAA,IACC,CAAC,UACD,MAAM,mBAAmB,UACzB;AAAA,wBACoB,OAAO,MAAM,mBAAmB,WAAW,GAAG,MAAM,cAAc,OAAO,MAAM,cAAc;AAAA,wBAC7F,MAAM,kBAAkB,MAAM,eAAe,aAAa;AAAA;AAAA,GAE/E;AAAA,IACC,CAAC,UACD,MAAM,oBAAoB,UAC1B;AAAA,yBACqB,OAAO,MAAM,oBAAoB,WAAW,GAAG,MAAM,eAAe,OAAO,MAAM,eAAe;AAAA,yBAChG,MAAM,mBAAmB,MAAM,eAAe,aAAa;AAAA;AAAA,GAEjF;AAAA,IACC,CAAC,UACD,MAAM,qBAAqB,UAC3B;AAAA,0BACsB,OAAO,MAAM,qBAAqB,WAAW,GAAG,MAAM,gBAAgB,OAAO,MAAM,gBAAgB;AAAA,0BACnG,MAAM,oBAAoB,MAAM,eAAe,aAAa;AAAA;AAAA,GAEnF;AAAA;AAAA,kBAEe,CAAC,UACf,MAAM,gBACL,MAAM,eACP,MAAM,qBACN,MAAM,kBACN,MAAM,mBACN,MAAM,mBACF,UACA,OAAO;AAAA,mBACI,CAAC,UAChB,OAAO,MAAM,iBAAiB,WAC1B,GAAG,MAAM,YAAY,OACrB,MAAM,gBAAgB,CAAC;AAAA,YACnB,CAAC,UACT,OAAO,MAAM,WAAW,WACpB,GAAG,MAAM,MAAM,OACf,MAAM,UAAU,MAAM;AAAA,WACnB,CAAC,UACR,OAAO,MAAM,UAAU,WACnB,GAAG,MAAM,KAAK,OACd,MAAM,SAAS,MAAM;AAAA,eACd,CAAC,UACZ,OAAO,MAAM,aAAa,WACtB,GAAG,MAAM,QAAQ,OACjB,MAAM,YAAY,MAAM;AAAA,gBAChB,CAAC,UACb,OAAO,MAAM,cAAc,WACvB,GAAG,MAAM,SAAS,OAClB,MAAM,aAAa,MAAM;AAAA;AAAA,aAEpB,CAAC,UACV,OAAO,MAAM,YAAY,WACrB,GAAG,MAAM,OAAO,OAChB,MAAM,WAAW,CAAC;AAAA,IACtB,CAAC,UACD,MAAM,qBACN;AAAA,oBACgB,OAAO,MAAM,sBAAsB,WAAW,GAAG,MAAM,iBAAiB,OAAO,MAAM,iBAAiB;AAAA,qBACrG,OAAO,MAAM,sBAAsB,WAAW,GAAG,MAAM,iBAAiB,OAAO,MAAM,iBAAiB;AAAA,GACxH;AAAA,IACC,CAAC,UACD,MAAM,mBACN;AAAA,mBACe,OAAO,MAAM,oBAAoB,WAAW,GAAG,MAAM,eAAe,OAAO,MAAM,eAAe;AAAA,sBAC7F,OAAO,MAAM,oBAAoB,WAAW,GAAG,MAAM,eAAe,OAAO,MAAM,eAAe;AAAA,GACnH;AAAA,IACC,CAAC,UACD,MAAM,eAAe,UACrB,gBAAgB,OAAO,MAAM,eAAe,WAAW,GAAG,MAAM,UAAU,OAAO,MAAM,UAAU,GAAG;AAAA,IACpG,CAAC,UACD,MAAM,kBAAkB,UACxB,mBAAmB,OAAO,MAAM,kBAAkB,WAAW,GAAG,MAAM,aAAa,OAAO,MAAM,aAAa,GAAG;AAAA,IAChH,CAAC,UACD,MAAM,gBAAgB,UACtB,iBAAiB,OAAO,MAAM,gBAAgB,WAAW,GAAG,MAAM,WAAW,OAAO,MAAM,WAAW,GAAG;AAAA,IACxG,CAAC,UACD,MAAM,iBAAiB,UACvB,kBAAkB,OAAO,MAAM,iBAAiB,WAAW,GAAG,MAAM,YAAY,OAAO,MAAM,YAAY,GAAG;AAAA;AAAA,YAEpG,CAAC,UACT,OAAO,MAAM,WAAW,WAAW,GAAG,MAAM,MAAM,OAAO,MAAM,UAAU,CAAC;AAAA,IAC1E,CAAC,UACD,MAAM,cAAc,UACpB,eAAe,OAAO,MAAM,cAAc,WAAW,GAAG,MAAM,SAAS,OAAO,MAAM,SAAS,GAAG;AAAA,IAChG,CAAC,UACD,MAAM,iBAAiB,UACvB,kBAAkB,OAAO,MAAM,iBAAiB,WAAW,GAAG,MAAM,YAAY,OAAO,MAAM,YAAY,GAAG;AAAA,IAC5G,CAAC,UACD,MAAM,eAAe,UACrB,gBAAgB,OAAO,MAAM,eAAe,WAAW,GAAG,MAAM,UAAU,OAAO,MAAM,UAAU,GAAG;AAAA,IACpG,CAAC,UACD,MAAM,gBAAgB,UACtB,iBAAiB,OAAO,MAAM,gBAAgB,WAAW,GAAG,MAAM,WAAW,OAAO,MAAM,WAAW,GAAG;AAAA;AAAA,oBAExF,CAAC,UAAU,MAAM,iBAAiB,QAAQ;AAAA,eAC/C,CAAC,UAAU,MAAM,YAAY,QAAQ;AAAA,iBACnC,CAAC,UAAU,MAAM,cAAc,SAAS;AAAA,qBACpC,CAAC,UAAU,MAAM,kBAAkB,YAAY;AAAA,YACxD,CAAC,UACT,MAAM,SACF,MAAM,SACN,MAAM,WAAW,MAAM,UACrB,YACA,SAAS;AAAA,cACL,CAAC,UAAU,MAAM,YAAY,QAAQ;AAAA,SAC1C,CAAC,UACN,OAAO,MAAM,QAAQ,WAAW,GAAG,MAAM,GAAG,OAAO,MAAM,GAAG;AAAA,YACpD,CAAC,UACT,OAAO,MAAM,WAAW,WAAW,GAAG,MAAM,MAAM,OAAO,MAAM,MAAM;AAAA,UAC/D,CAAC,UACP,OAAO,MAAM,SAAS,WAAW,GAAG,MAAM,IAAI,OAAO,MAAM,IAAI;AAAA,WACxD,CAAC,UACR,OAAO,MAAM,UAAU,WAAW,GAAG,MAAM,KAAK,OAAO,MAAM,KAAK;AAAA,UAC5D,CAAC,UAAU,MAAM,IAAI;AAAA,iBACd,CAAC,UAAU,MAAM,cAAc,CAAC;AAAA,SACxC,CAAC,UACN,OAAO,MAAM,QAAQ,WAAW,GAAG,MAAM,GAAG,OAAO,MAAM,OAAO,CAAC;AAAA,gBACrD,CAAC,UAAU,MAAM,aAAa,MAAM;AAAA,cACtC,CAAC,UAAU,MAAM,YAAY,SAAS;AAAA,gBACpC,CAAC,UAAU,MAAM,aAAa,SAAS;AAAA,gBACvC,CAAC,UAAU,MAAM,aAAa,SAAS;AAAA,aAC1C,CAAC,UAAU,MAAM,MAAM;AAAA,aACvB,CAAC,UAAW,MAAM,WAAW,MAAM,CAAE;AAAA,oBAC9B,CAAC,UAAW,MAAM,WAAW,SAAS,MAAO;AAAA;AAAA;AAAA,MAG3D,CAAC,UACD,MAAM,YAAY,mBAClB,qBAAqB,MAAM,WAAW,eAAe,GAAG;AAAA,MACxD,CAAC,UACD,MAAM,YAAY,eAClB,iBAAiB,MAAM,WAAW,WAAW,GAAG;AAAA;AAAA;AAAA;AAAA,MAIhD,CAAC,UACD,MAAM,YAAY,mBAClB,qBAAqB,MAAM,WAAW,eAAe,GAAG;AAAA;AAAA;AAIvD,IAAM,MAAM,MAAM;AAAA,EAIvB,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,cAAc;AAAA,IACd,mBAAmB;AAAA,IACnB,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,aAAa;AAAA,IACb,aAAa;AAAA,IACb,oBAAoB;AAAA,IACpB,iBAAiB;AAAA,IACjB,iBAAiB;AAAA,IACjB,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,GAAG;AAAA,EACL,GACA,QACG;AAEH,QAAI,OAAO,SAAS,KAAK;AACvB,aACE;AAAA,QAAC;AAAA;AAAA,UACC;AAAA,UACA,KAAK,OAAO;AAAA,UACZ,OAAO;AAAA,YACL,SAAS;AAAA,YACT,WAAW;AAAA,YACX,OACE,OAAO,MAAM,UAAU,WACnB,GAAG,MAAM,KAAK,OACd,MAAM;AAAA,YACZ,QACE,OAAO,MAAM,WAAW,WACpB,GAAG,MAAM,MAAM,OACf,MAAM;AAAA,YACZ,cACE,OAAO,MAAM,iBAAiB,WAC1B,GAAG,MAAM,YAAY,OACrB,MAAM;AAAA,YACZ,UAAU,MAAM;AAAA,YAChB,KAAK,OAAO,MAAM,QAAQ,WAAW,GAAG,MAAM,GAAG,OAAO,MAAM;AAAA,YAC9D,MACE,OAAO,MAAM,SAAS,WAAW,GAAG,MAAM,IAAI,OAAO,MAAM;AAAA,YAC7D,OACE,OAAO,MAAM,UAAU,WACnB,GAAG,MAAM,KAAK,OACd,MAAM;AAAA,YACZ,QACE,OAAO,MAAM,WAAW,WACpB,GAAG,MAAM,MAAM,OACf,MAAM;AAAA,UACd;AAAA;AAAA,MACF;AAAA,IAEJ;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAM,OAAO,WAAW,QAAQ,WAAW;AAAA,QAC3C,UAAU,OAAO,WAAW,WAAW;AAAA,QACvC,SAAS;AAAA,QACT;AAAA,QACA;AAAA,QACA;AAAA,QACA,cAAY;AAAA,QACZ,mBAAiB;AAAA,QACjB,gBAAc;AAAA,QACd,iBAAe;AAAA,QACf,aAAW;AAAA,QACX,oBAAkB;AAAA,QAClB,iBAAe;AAAA,QACf,iBAAe;AAAA,QACf,gBAAc;AAAA,QACd,iBAAe;AAAA,QACf,aAAW;AAAA,QACX,UAAU,aAAa,SAAY,WAAW;AAAA,QAC7C,GAAG;AAAA,QAEH;AAAA;AAAA,IACH;AAAA,EAEJ;AACF;AAEA,IAAI,cAAc;;;ACzQlB,OAAOA,aAAY;AA8Bf,gBAAAC,YAAA;AA3BJ,IAAM,aAAaD,QAAO;AAAA,WACf,CAAC,UAAU,MAAM,SAAS,SAAS;AAAA,eAC/B,CAAC,UACZ,OAAO,MAAM,aAAa,WACtB,GAAG,MAAM,QAAQ,OACjB,MAAM,YAAY,SAAS;AAAA,iBAClB,CAAC,UAAU,MAAM,cAAc,QAAQ;AAAA,iBACvC,CAAC,UACd,MAAM,cACN,mHAAmH;AAAA,iBACtG,CAAC,UACd,OAAO,MAAM,eAAe,WACxB,GAAG,MAAM,UAAU,OACnB,MAAM,cAAc,SAAS;AAAA,iBACpB,CAAC,UAAU,MAAM,cAAc,QAAQ;AAAA,gBACxC,CAAC,UAAU,MAAM,aAAa,SAAS;AAAA,qBAClC,CAAC,UAAU,MAAM,kBAAkB,MAAM;AAAA;AAGvD,IAAM,OAA4B,CAAC;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,GAAG;AACL,MAAM;AACJ,SACE,gBAAAC;AAAA,IAAC;AAAA;AAAA,MACE,GAAG;AAAA,MACJ;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA;AAAA,EACF;AAEJ;;;ACvCA,SAAgB,kBAAkB;AAClC,OAAOC,aAAY;AA0Eb,gBAAAC,YAAA;AAvEN,IAAM,cAAcD,QAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,WAQhB,CAAC,UAAU,MAAM,SAAS,SAAS;AAAA,eAC/B,CAAC,UACZ,OAAO,MAAM,aAAa,WACtB,GAAG,MAAM,QAAQ,OACjB,MAAM,YAAY,SAAS;AAAA;AAAA;AAAA;AAAA;AAAA,aAKtB,CAAC,UACR,MAAM,wBAAwB,0BAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAQvD,IAAM,iBAAiB;AAAA,EAC5B,CACE;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,gBAAgB;AAAA,IAChB,oBAAoB;AAAA,IACpB,mBAAmB;AAAA,IACnB,cAAc;AAAA,IACd,iBAAiB;AAAA,IACjB,eAAe;AAAA,IACf,GAAG;AAAA,EACL,GACA,QACG;AACH,UAAM,eAAe,CAAC,MAA2C;AAC/D,UAAI,UAAU;AACZ,iBAAS,CAAC;AAAA,MACZ;AACA,UAAI,cAAc;AAChB,qBAAa,EAAE,OAAO,KAAK;AAAA,MAC7B;AAAA,IACF;AAGA,UAAM,aAAa,UAAU,SAAY,QAAQ;AAEjD,WACE,gBAAAC;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA;AAAA,QACA,OAAO;AAAA,QACP;AAAA,QACA;AAAA,QACA,UAAU;AAAA,QACV;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,MAAM,kBAAkB,aAAa,QAAQ;AAAA,QAC7C;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,gBAAc;AAAA,QACd,oBAAkB;AAAA,QAClB,mBAAiB;AAAA,QACjB,cAAY;AAAA,QACZ,iBAAe;AAAA,QACf,eAAa;AAAA,QACZ,GAAG;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;AAEA,eAAe,cAAc;;;AHvG7B,SAAS,iBAAiB,aAAa;AAmR/B,gBAAAC,MAqCJ,YArCI;AAjOD,IAAM,WAAoC,CAAC;AAAA,EAChD,QAAQ;AAAA,EACR;AAAA,EACA;AAAA,EACA;AAAA,EACA,SAAS;AAAA,EACT,OAAO;AAAA,EACP,OAAO;AAAA,EACP,UAAU;AAAA,EACV,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA,kBAAkB;AAAA,EAClB,sBAAsB;AAAA,EACtB,gBAAgB;AAAA,EAChB,YAAY;AAAA,EACZ;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAChB,MAAM;AACJ,QAAM,EAAE,MAAM,IAAI,gBAAgB;AAClC,QAAM,WAAW,MAAM;AACvB,QAAM,CAAC,cAAc,eAAe,IAAI,SAAwB,IAAI;AACpE,QAAM,CAAC,eAAe,gBAAgB,IAAI,SAAS,KAAK;AAGxD,QAAM,eAAe,cAAc;AAGnC,QAAM,YAAY,gBAAgB;AAIlC,QAAM,UAAU,cAAc,CAAC,CAAC,aAAa,kBAAkB;AAC/D,QAAM,aAAa,gBAAgB,kBAAkB;AACrD,QAAM,UAAU,kBAAkB;AAClC,QAAM,aAAa,MAAM,OAAO,SAAS,IAAI;AAC7C,QAAM,cAAc,MAAM,OAAO,QAAQ;AAEzC,QAAM,SAAS,OAAoC,CAAC,CAAC;AAGrD,YAAU,MAAM;AACd,qBAAiB,KAAK;AAAA,EACxB,GAAG,CAAC,KAAK,CAAC;AAGV,YAAU,MAAM;AACd,QACE,iBAAiB,UACjB,gBAAgB,KAChB,eAAe,cACf;AACA,aAAO,QAAQ,YAAY,GAAG,MAAM;AAAA,IACtC;AAAA,EACF,GAAG,CAAC,cAAc,YAAY,CAAC;AAG/B,QAAM,kBAAkB;AAAA,IACtB,CAAC,QAAgB,IAAI,UAAU;AAAA,IAC/B,CAAC,YAAY;AAAA,EACf;AAGA,QAAM,UAAU,GAAG,QAAQ;AAC3B,QAAM,UAAU,GAAG,QAAQ;AAE3B,QAAM,mBAAmB,CAAC,MAAc,UAAkB;AAExD,UAAM,gBAAgB,KAAK,QAAQ,iBAAiB,EAAE;AAGtD,QAAI,cAAc,SAAS,GAAG;AAC5B,YAAM,aAAa,cAAc,MAAM,GAAG,eAAe,KAAK;AAC9D,YAAMC,YAAW,cAAc,MAAM,EAAE;AAGvC,aAAOA,UAAS,SAAS,cAAc;AACrC,QAAAA,UAAS,KAAK,EAAE;AAAA,MAClB;AAGA,eAAS,IAAI,GAAG,IAAI,WAAW,UAAU,QAAQ,IAAI,cAAc,KAAK;AACtE,QAAAA,UAAS,QAAQ,CAAC,IAAI,WAAW,CAAC;AAAA,MACpC;AAEA,YAAMC,gBAAeD,UAAS,MAAM,GAAG,YAAY,EAAE,KAAK,EAAE;AAC5D,uBAAiBC,aAAY;AAE7B,YAAMC,YAAW,gBAAgBD,aAAY;AAC7C,YAAME,eAAc,EAAE,YAAYD,WAAU,OAAOD,cAAa;AAEhE,iBAAWE,YAAW;AAEtB,UAAID,WAAU;AACZ,qBAAaC,YAAW;AAAA,MAC1B;AAGA,YAAM,YAAY,KAAK,IAAI,QAAQ,WAAW,QAAQ,eAAe,CAAC;AACtE,aAAO,QAAQ,SAAS,GAAG,MAAM;AACjC;AAAA,IACF;AAGA,UAAM,OAAO,cAAc,MAAM,EAAE;AACnC,UAAM,WAAW,cAAc,MAAM,EAAE;AAGvC,WAAO,SAAS,SAAS,cAAc;AACrC,eAAS,KAAK,EAAE;AAAA,IAClB;AAEA,aAAS,KAAK,IAAI;AAClB,UAAM,eAAe,SAAS,MAAM,GAAG,YAAY,EAAE,KAAK,EAAE;AAC5D,qBAAiB,YAAY;AAE7B,UAAM,WAAW,gBAAgB,YAAY;AAC7C,UAAM,cAAc,EAAE,YAAY,UAAU,OAAO,aAAa;AAEhE,eAAW,WAAW;AAEtB,QAAI,UAAU;AACZ,mBAAa,WAAW;AAAA,IAC1B;AAEA,QAAI,QAAQ,QAAQ,eAAe,GAAG;AACpC,aAAO,QAAQ,QAAQ,CAAC,GAAG,MAAM;AAAA,IACnC;AAAA,EACF;AAEA,QAAM,gBAAgB,CACpB,GACA,UACG;AACH,QAAI,EAAE,QAAQ,aAAa;AACzB,UAAI,CAAC,cAAc,KAAK,KAAK,QAAQ,GAAG;AACtC,eAAO,QAAQ,QAAQ,CAAC,GAAG,MAAM;AAAA,MACnC;AAAA,IACF,WAAW,EAAE,QAAQ,eAAe,QAAQ,GAAG;AAC7C,aAAO,QAAQ,QAAQ,CAAC,GAAG,MAAM;AAAA,IACnC,WAAW,EAAE,QAAQ,gBAAgB,QAAQ,eAAe,GAAG;AAC7D,aAAO,QAAQ,QAAQ,CAAC,GAAG,MAAM;AAAA,IACnC;AAAA,EACF;AAEA,QAAM,cAAc,CAAC,MAA4B;AAC/C,MAAE,eAAe;AACjB,UAAM,aAAa,EAAE,cAClB,QAAQ,MAAM,EACd,QAAQ,iBAAiB,EAAE,EAC3B,MAAM,GAAG,YAAY;AACxB,qBAAiB,UAAU;AAE3B,UAAM,WAAW,gBAAgB,UAAU;AAC3C,UAAM,cAAc,EAAE,YAAY,UAAU,OAAO,WAAW;AAE9D,eAAW,WAAW;AAEtB,QAAI,UAAU;AACZ,mBAAa,WAAW;AAAA,IAC1B;AAGA,UAAM,YAAY,KAAK,IAAI,WAAW,QAAQ,eAAe,CAAC;AAC9D,WAAO,QAAQ,SAAS,GAAG,MAAM;AAAA,EACnC;AAGA,QAAM,YAAY,CAAC,UAAkB,CAAC,YAAqC;AACzE,WAAO,QAAQ,KAAK,IAAI;AACxB,aAAS,KAAK,EAAE,OAAO;AAAA,EACzB;AAEA,QAAM,WAAW,MAAM,KAAK,EAAE,QAAQ,aAAa,CAAC,EAAE,IAAI,CAAC,GAAG,UAAU;AACtE,UAAM,OAAO,cAAc,KAAK,KAAK;AACrC,UAAM,YAAY,iBAAiB;AAEnC,QAAI,kBAAkB,YAAY;AAClC,QAAI,cAAc,YAAY;AAE9B,QAAI,YAAY;AACd,wBAAkB,YAAY;AAC9B,oBAAc,YAAY;AAAA,IAC5B,WAAW,SAAS;AAClB,oBAAc,MAAM,OAAO,OAAO;AAClC,wBAAkB,YACd,MAAM,OAAO,QAAQ,MAAM,KAC3B,YAAY;AAAA,IAClB,WAAW,WAAW;AACpB,wBAAkB,MAAM,OAAO,QAAQ,MAAM;AAC7C,oBAAc,MAAM,OAAO,QAAQ,MAAM;AAAA,IAC3C,WAAW,SAAS;AAClB,wBAAkB,YAAY;AAC9B,oBAAc,YAAY;AAAA,IAC5B,OAAO;AACL,wBAAkB,YAAY;AAC9B,oBAAc,YAAY;AAAA,IAC5B;AAEA,UAAM,YAAY,aAAa,YAAY,cAAc,YAAY;AAErE,WACE,gBAAAJ;AAAA,MAAC;AAAA;AAAA,QAEC,OAAO,gBAAgB,SAAY,WAAW;AAAA,QAC9C,QAAQ,WAAW;AAAA,QACnB,MAAM,gBAAgB,IAAI;AAAA,QAC1B;AAAA,QACA;AAAA,QACA,aAAa,WAAW;AAAA,QACxB,cAAc,WAAW;AAAA,QACzB,YAAW;AAAA,QACX,gBAAe;AAAA,QACf,YACE,CAAC,cAAc,CAAC,aAAa,CAAC,UAC1B;AAAA,UACE,iBAAiB,YAAY;AAAA,UAC7B,aAAa,YAAY;AAAA,QAC3B,IACA;AAAA,QAGN,0BAAAA;AAAA,UAAC;AAAA;AAAA,YACC,KACE,SACI,UAAU,KAAK,IACf,CAAC,OAAa,OAAO,QAAQ,KAAK,IAAI;AAAA,YAE5C,OAAO;AAAA,YACP,aAAa,uBAAuB,CAAC,YAAY,WAAM;AAAA,YACvD,cAAc,CAAC,SAAiB,iBAAiB,MAAM,KAAK;AAAA,YAC5D,SAAS,MAAM,gBAAgB,KAAK;AAAA,YACpC,QAAQ,MAAM,gBAAgB,IAAI;AAAA,YAClC,WAAW,CAAC,MAAW,cAAc,GAAG,KAAK;AAAA,YAC7C,UAAU;AAAA,YACV;AAAA,YACA,OAAO;AAAA,YACP,sBAAsB,YAAY;AAAA,YAClC,UAAU,WAAW;AAAA,YACrB,OAAO,EAAE,WAAW,SAAS;AAAA,YAC7B,WAAW;AAAA,YACX,WAAU;AAAA,YACV,cAAa;AAAA,YACb,cACE,YACI,GAAG,SAAS,UAAU,QAAQ,CAAC,KAC/B,aAAa,QAAQ,CAAC;AAAA,YAE5B,gBAAc;AAAA,YACd,oBAAkB,WAAW,YAAY,UAAU;AAAA,YACnD,eACE,SAAS,GAAG,MAAM,UAAU,KAAK,KAAK,mBAAmB,KAAK;AAAA;AAAA,QAElE;AAAA;AAAA,MAlDK;AAAA,IAmDP;AAAA,EAEJ,CAAC;AAED,SACE;AAAA,IAAC;AAAA;AAAA,MACC,eAAc;AAAA,MACd,KAAK;AAAA,MACL,eAAa,UAAU;AAAA,MACvB,MAAK;AAAA,MACL,mBAAiB,QAAQ,UAAU;AAAA,MACnC,cAAY,CAAC,SAAS,YAAY,YAAY;AAAA,MAE7C;AAAA,iBACC,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,YACJ,OAAO,MAAM,OAAO,QAAQ;AAAA,YAC5B,UAAU,WAAW,WAAW;AAAA,YAChC,YAAW;AAAA,YAEV;AAAA;AAAA,QACH;AAAA,QAEF,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,eAAc;AAAA,YACd,KAAK,WAAW;AAAA,YAChB,SAAS;AAAA,YACT,OAAO,gBAAgB,SAAS;AAAA,YAE/B;AAAA;AAAA,QACH;AAAA,QACC,WAAW,aACV,gBAAAA;AAAA,UAAC;AAAA;AAAA,YACC,IAAI;AAAA,YACJ,MAAK;AAAA,YACL,OAAO,MAAM,OAAO,QAAQ,MAAM;AAAA,YAClC,UAAU,WAAW,WAAW;AAAA,YAE/B;AAAA;AAAA,QACH;AAAA;AAAA;AAAA,EAEJ;AAEJ;","names":["styled","jsx","styled","jsx","jsx","newValue","updatedValue","complete","changeProps"]}