@wallarm-org/design-system 0.55.1 → 0.56.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.
@@ -1,11 +1,5 @@
1
1
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
2
  import { cn } from "../../utils/cn.js";
3
- const dotColor = 'var(--animated-bg-dot)';
4
- const caughtColor = 'var(--animated-bg-caught-dot)';
5
- const labelStyle = {
6
- fontFeatureSettings: '"liga" 0',
7
- color: dotColor
8
- };
9
3
  const GameHud = ({ caught, armed, roundOver, stats, accuracy, faced, catchKey, gateTarget, onTryAgain })=>{
10
4
  const showCounter = caught > 0;
11
5
  return /*#__PURE__*/ jsxs(Fragment, {
@@ -17,22 +11,14 @@ const GameHud = ({ caught, armed, roundOver, stats, accuracy, faced, catchKey, g
17
11
  },
18
12
  children: [
19
13
  /*#__PURE__*/ jsx("div", {
20
- className: cn('flex flex-col items-center justify-center border', armed ? 'h-113 w-119' : 'h-52 w-119'),
21
- style: {
22
- borderColor: dotColor,
23
- backgroundColor: `color-mix(in srgb, ${dotColor} 8%, transparent)`
24
- },
14
+ className: cn('flex flex-col border w-120 border-text-hint bg-states-primary-hover', armed ? '' : 'items-center justify-center'),
25
15
  children: armed ? /*#__PURE__*/ jsxs(Fragment, {
26
16
  children: [
27
17
  /*#__PURE__*/ jsxs("div", {
28
- className: "flex flex-col items-center gap-4",
18
+ className: "flex flex-col items-center gap-4 px-16 py-8",
29
19
  children: [
30
20
  /*#__PURE__*/ jsxs("span", {
31
- className: "text-base leading-xl font-bold",
32
- style: {
33
- fontFeatureSettings: '"tnum"',
34
- color: caughtColor
35
- },
21
+ className: "text-base leading-xl font-bold tabular-nums text-text-success",
36
22
  children: [
37
23
  stats.stopped,
38
24
  /*#__PURE__*/ jsxs("span", {
@@ -45,49 +31,44 @@ const GameHud = ({ caught, armed, roundOver, stats, accuracy, faced, catchKey, g
45
31
  ]
46
32
  }),
47
33
  /*#__PURE__*/ jsx("span", {
48
- className: "text-xs leading-xs uppercase",
49
- style: labelStyle,
34
+ className: "text-xs leading-xs uppercase text-text-secondary",
35
+ style: {
36
+ fontFeatureSettings: '"liga" 0'
37
+ },
50
38
  children: "HIT"
51
39
  })
52
40
  ]
53
41
  }),
54
42
  /*#__PURE__*/ jsx("div", {
55
- className: "h-px w-full my-8",
56
- style: {
57
- backgroundColor: dotColor
58
- }
43
+ className: "h-px w-full bg-border-primary"
59
44
  }),
60
45
  /*#__PURE__*/ jsxs("div", {
61
- className: "flex flex-col items-center gap-4",
46
+ className: "flex flex-col items-center gap-4 px-16 py-8",
62
47
  children: [
63
48
  /*#__PURE__*/ jsxs("span", {
64
- className: "text-base leading-xl font-bold",
65
- style: {
66
- fontFeatureSettings: '"tnum"',
67
- color: caughtColor
68
- },
49
+ className: "text-base leading-xl font-bold tabular-nums text-text-success",
69
50
  children: [
70
51
  accuracy,
71
52
  "%"
72
53
  ]
73
54
  }),
74
55
  /*#__PURE__*/ jsx("span", {
75
- className: "text-xs leading-xs uppercase",
76
- style: labelStyle,
56
+ className: "text-xs leading-xs uppercase text-text-secondary",
57
+ style: {
58
+ fontFeatureSettings: '"liga" 0'
59
+ },
77
60
  children: "SCORE"
78
61
  })
79
62
  ]
80
63
  })
81
64
  ]
82
65
  }) : /*#__PURE__*/ jsxs("div", {
83
- className: "flex flex-col items-center gap-4",
66
+ className: "flex flex-col items-center gap-4 px-16 py-8",
84
67
  children: [
85
68
  /*#__PURE__*/ jsxs("span", {
86
- className: "text-base leading-xl font-bold",
69
+ className: "text-base leading-xl font-bold tabular-nums text-text-success",
87
70
  style: {
88
- fontFeatureSettings: '"tnum"',
89
- animation: 'catch-pop 0.25s ease-out',
90
- color: caughtColor
71
+ animation: 'catch-pop 0.25s ease-out'
91
72
  },
92
73
  children: [
93
74
  caught,
@@ -101,8 +82,10 @@ const GameHud = ({ caught, armed, roundOver, stats, accuracy, faced, catchKey, g
101
82
  ]
102
83
  }, catchKey),
103
84
  /*#__PURE__*/ jsx("span", {
104
- className: "text-xs leading-xs uppercase",
105
- style: labelStyle,
85
+ className: "text-xs leading-xs uppercase text-text-secondary",
86
+ style: {
87
+ fontFeatureSettings: '"liga" 0'
88
+ },
106
89
  children: "INSERT COIN"
107
90
  })
108
91
  ]
@@ -110,27 +93,20 @@ const GameHud = ({ caught, armed, roundOver, stats, accuracy, faced, catchKey, g
110
93
  }),
111
94
  roundOver && /*#__PURE__*/ jsx("button", {
112
95
  type: "button",
113
- className: "pointer-events-auto text-2xs leading-sm font-mono uppercase underline underline-offset-4 hover:text-[var(--animated-bg-accent-dot)]",
114
- style: {
115
- color: dotColor
116
- },
96
+ className: "pointer-events-auto text-2xs leading-sm font-mono uppercase underline underline-offset-4 hover:text-[var(--animated-bg-accent-dot)] text-text-secondary",
117
97
  onClick: onTryAgain,
118
98
  children: "Try again"
119
99
  }),
120
100
  armed && !roundOver && /*#__PURE__*/ jsx("span", {
121
- className: "text-2xs leading-sm",
122
- style: {
123
- color: dotColor
124
- },
101
+ className: "text-2xs leading-sm text-text-secondary",
125
102
  children: '← → move · space fire · esc to exit'
126
103
  })
127
104
  ]
128
105
  }),
129
106
  caught > 0 && !armed && /*#__PURE__*/ jsx("div", {
130
- className: "fixed bottom-24 left-1/2 -translate-x-1/2 text-xs pointer-events-none",
107
+ className: "fixed bottom-24 left-1/2 -translate-x-1/2 text-xs pointer-events-none text-text-secondary",
131
108
  style: {
132
- animation: 'hud-in 0.3s ease-out',
133
- color: dotColor
109
+ animation: 'hud-in 0.3s ease-out'
134
110
  },
135
111
  children: 'Click the red anomalies \u2014 catch 5 to arm the cannon, then \u2190 \u2192 move \u00B7 space fire'
136
112
  })
@@ -15,7 +15,8 @@ function createSweepEngine(canvas, options) {
15
15
  h: 0,
16
16
  dots: [],
17
17
  opts,
18
- tanTilt: Math.tan(options.tilt * Math.PI / 180)
18
+ tanTilt: Math.tan(options.tilt * Math.PI / 180),
19
+ exclusionBox: null
19
20
  };
20
21
  const game = createGameLogic(host);
21
22
  const rc = {
@@ -63,10 +64,15 @@ function createSweepEngine(canvas, options) {
63
64
  if (!running) renderStatic();
64
65
  }
65
66
  function drawClean(t) {
66
- const { w, h, dots, tanTilt } = host;
67
+ const { w, h, dots, tanTilt, exclusionBox } = host;
67
68
  const sx = sweepX(t, w, opts.sweepPeriod);
68
69
  const intensity = opts.intensity;
70
+ const exL = exclusionBox ? (w - exclusionBox.width) / 2 : 0;
71
+ const exR = exclusionBox ? (w + exclusionBox.width) / 2 : 0;
72
+ const exT = exclusionBox ? (h - exclusionBox.height) / 2 : 0;
73
+ const exB = exclusionBox ? (h + exclusionBox.height) / 2 : 0;
69
74
  for (const dot of dots){
75
+ if (exclusionBox && dot.x >= exL && dot.x <= exR && dot.y >= exT && dot.y <= exB) continue;
70
76
  const dist = Math.abs(dot.x - (sx + (h / 2 - dot.y) * tanTilt));
71
77
  const inBloom = dist < opts.bloomRadius;
72
78
  const alpha = inBloom ? (CLEAN_BASE_ALPHA + (opts.bloomAlpha - CLEAN_BASE_ALPHA) * (1 - dist / opts.bloomRadius)) * intensity : CLEAN_BASE_ALPHA * intensity;
@@ -79,7 +85,8 @@ function createSweepEngine(canvas, options) {
79
85
  const sweepAt = (y)=>sx + (h / 2 - y) * tanTilt;
80
86
  if (t - lastLatch > opts.anomalyInterval && Math.random() < SPAWN_PROBABILITY && dots.length) {
81
87
  const cand = dots[Math.random() * dots.length | 0];
82
- if (cand.x < sweepAt(cand.y) - SWEEP_OFFSET_GUARD) {
88
+ if (exclusionBox && cand.x >= exL && cand.x <= exR && cand.y >= exT && cand.y <= exB) ;
89
+ else if (cand.x < sweepAt(cand.y) - SWEEP_OFFSET_GUARD) {
83
90
  lastLatch = t;
84
91
  latched.push({
85
92
  x: cand.x,
@@ -1,14 +1,17 @@
1
1
  import type { Dot } from './engine-grid';
2
2
  import type { EngineOptions, GameStats } from './types';
3
3
  export declare const ROUND_ATTACKS = 100;
4
- export declare const MAX_TARGETS = 6;
4
+ export declare const MAX_TARGETS = 8;
5
5
  export declare const MAX_BULLETS = 24;
6
6
  export declare const BULLET_SPEED = 720;
7
- export declare const FIRE_CADENCE = 0.18;
8
- export declare const CANNON_SPEED = 420;
9
- export declare const TARGET_LIFE = 4;
10
- export declare const ARMED_SPAWN = 0.55;
7
+ export declare const FIRE_CADENCE = 0.28;
8
+ export declare const CANNON_SPEED = 350;
9
+ export declare const TARGET_LIFE = 2.8;
10
+ export declare const ARMED_SPAWN = 0.4;
11
11
  export declare const HIT_R2: number;
12
+ export declare const TARGET_LIFE_END = 1.6;
13
+ export declare const ARMED_SPAWN_END = 0.2;
14
+ export declare const MAX_TARGETS_END = 12;
12
15
  export declare const CLICK_RADIUS = 52;
13
16
  export declare const REVEAL_DELAY = 0.3;
14
17
  export declare const ARM_RISE = 0.45;
@@ -58,6 +61,10 @@ export interface GameEngineHost {
58
61
  dots: Dot[];
59
62
  opts: EngineOptions;
60
63
  tanTilt: number;
64
+ exclusionBox: {
65
+ width: number;
66
+ height: number;
67
+ } | null;
61
68
  }
62
69
  export interface GameLogic {
63
70
  readonly anomalies: Anomaly[];
@@ -1,14 +1,17 @@
1
1
  import { ANOMALY_VIS_THRESHOLD, DOT_STEP_BASE, DOT_STEP_SCALE, IDLE_MARGIN_X, IDLE_MARGIN_Y } from "./constants.js";
2
2
  import { sweepX } from "./engine-grid.js";
3
3
  const ROUND_ATTACKS = 100;
4
- const MAX_TARGETS = 6;
4
+ const MAX_TARGETS = 8;
5
5
  const MAX_BULLETS = 24;
6
6
  const BULLET_SPEED = 720;
7
- const FIRE_CADENCE = 0.18;
8
- const CANNON_SPEED = 420;
9
- const TARGET_LIFE = 4.0;
10
- const ARMED_SPAWN = 0.55;
11
- const HIT_R2 = 484;
7
+ const FIRE_CADENCE = 0.28;
8
+ const CANNON_SPEED = 350;
9
+ const TARGET_LIFE = 2.8;
10
+ const ARMED_SPAWN = 0.4;
11
+ const HIT_R2 = 256;
12
+ const TARGET_LIFE_END = 1.6;
13
+ const ARMED_SPAWN_END = 0.2;
14
+ const MAX_TARGETS_END = 12;
12
15
  const CLICK_RADIUS = 52;
13
16
  const REVEAL_DELAY = 0.3;
14
17
  const ARM_RISE = 0.45;
@@ -263,17 +266,22 @@ function createGameLogic(host) {
263
266
  }
264
267
  function spawnTargets(t) {
265
268
  const sinceArm = t - state.armT;
266
- if (sinceArm > FIRST_SPAWN_DELAY && roundSpawned < ROUND_ATTACKS && t - lastSpawn >= ARMED_SPAWN) {
269
+ const progress = Math.min(roundSpawned / ROUND_ATTACKS, 1);
270
+ const p = progress * progress;
271
+ const curSpawnInterval = ARMED_SPAWN + (ARMED_SPAWN_END - ARMED_SPAWN) * p;
272
+ const curMaxTargets = Math.round(MAX_TARGETS + (MAX_TARGETS_END - MAX_TARGETS) * p);
273
+ const curLife = TARGET_LIFE + (TARGET_LIFE_END - TARGET_LIFE) * p;
274
+ if (sinceArm > FIRST_SPAWN_DELAY && roundSpawned < ROUND_ATTACKS && t - lastSpawn >= curSpawnInterval) {
267
275
  let liveCount = 0;
268
276
  for (const anomaly of anomalies)if (!anomaly.caught) liveCount++;
269
- if (liveCount < MAX_TARGETS) {
277
+ if (liveCount < curMaxTargets) {
270
278
  const pos = spawnRing();
271
279
  if (pos) {
272
280
  anomalies.push({
273
281
  x: pos.x,
274
282
  y: pos.y,
275
283
  t0: t,
276
- life: TARGET_LIFE,
284
+ life: curLife,
277
285
  caught: false
278
286
  });
279
287
  roundSpawned += 1;
@@ -414,12 +422,15 @@ function createGameLogic(host) {
414
422
  function setExclusion(box) {
415
423
  if (!box) {
416
424
  exclusionBox = null;
425
+ host.exclusionBox = null;
417
426
  return;
418
427
  }
419
- exclusionBox = {
428
+ const val = {
420
429
  width: Math.min(box.width, host.w),
421
430
  height: Math.min(box.height, host.h)
422
431
  };
432
+ exclusionBox = val;
433
+ host.exclusionBox = val;
423
434
  }
424
435
  return {
425
436
  anomalies,
@@ -469,4 +480,4 @@ function createGameLogic(host) {
469
480
  }
470
481
  };
471
482
  }
472
- export { ANOMALY_R, ANOMALY_R_SQ, ARMED_SPAWN, ARM_RISE, BULLET_SPEED, CANNON_BARREL_Y, CANNON_BASE_OFFSET, CANNON_CLEAR, CANNON_HALF_W, CANNON_SPEED, CARD_CLEAR_PAD, CAUGHT_DUR, CLICK_RADIUS, FIRE_CADENCE, FIRST_SPAWN_DELAY, HIT_R2, HUD_CLEAR_H, HUD_CLEAR_W, IDLE_ANOMALY_LIFE, MAX_BULLETS, MAX_TARGETS, REVEAL_DELAY, ROUND_ATTACKS, SPAWN_EDGE, SPAWN_TRIES, TARGET_LIFE, VERDICTS, createGameLogic };
483
+ export { ANOMALY_R, ANOMALY_R_SQ, ARMED_SPAWN, ARMED_SPAWN_END, ARM_RISE, BULLET_SPEED, CANNON_BARREL_Y, CANNON_BASE_OFFSET, CANNON_CLEAR, CANNON_HALF_W, CANNON_SPEED, CARD_CLEAR_PAD, CAUGHT_DUR, CLICK_RADIUS, FIRE_CADENCE, FIRST_SPAWN_DELAY, HIT_R2, HUD_CLEAR_H, HUD_CLEAR_W, IDLE_ANOMALY_LIFE, MAX_BULLETS, MAX_TARGETS, MAX_TARGETS_END, REVEAL_DELAY, ROUND_ATTACKS, SPAWN_EDGE, SPAWN_TRIES, TARGET_LIFE, TARGET_LIFE_END, VERDICTS, createGameLogic };
@@ -7,13 +7,17 @@ function createGameRenderer(rc, game, host) {
7
7
  let revealedCache = [];
8
8
  function drawGameDots(t) {
9
9
  const { ctx, dotPalette, accentPalette } = rc;
10
- const { w, h, dots, opts, tanTilt } = host;
10
+ const { w, h, dots, opts, tanTilt, exclusionBox } = host;
11
11
  const sx = sweepX(t, w, opts.sweepPeriod);
12
12
  const intensity = opts.intensity;
13
13
  const halfCap = opts.maxDotSize / 2;
14
14
  const liveAnomalies = game.anomalies;
15
15
  const aLen = liveAnomalies.length;
16
16
  const isIdle = 'idle' === game.gameMode;
17
+ const exL = exclusionBox ? (w - exclusionBox.width) / 2 : 0;
18
+ const exR = exclusionBox ? (w + exclusionBox.width) / 2 : 0;
19
+ const exT = exclusionBox ? (h - exclusionBox.height) / 2 : 0;
20
+ const exB = exclusionBox ? (h + exclusionBox.height) / 2 : 0;
17
21
  if (envCache.length < aLen) {
18
22
  envCache = new Array(aLen);
19
23
  revealedCache = new Array(aLen);
@@ -29,6 +33,7 @@ function createGameRenderer(rc, game, host) {
29
33
  }
30
34
  }
31
35
  for (const dot of dots){
36
+ if (exclusionBox && dot.x >= exL && dot.x <= exR && dot.y >= exT && dot.y <= exB) continue;
32
37
  const sxAt = sx + (h / 2 - dot.y) * tanTilt;
33
38
  const amb = AMB_SCALE * (0.5 + 0.5 * Math.sin(dot.x * NOISE_FREQ_X + dot.y * NOISE_FREQ_Y + t * NOISE_FREQ_T));
34
39
  const distToSweep = Math.abs(dot.x - sxAt);
@@ -7,7 +7,7 @@ declare const flexVariants: (props?: ({
7
7
  align?: "center" | "end" | "baseline" | "start" | "stretch" | null | undefined;
8
8
  justify?: "center" | "end" | "start" | "between" | "around" | "evenly" | null | undefined;
9
9
  wrap?: "reverse" | "nowrap" | "wrap" | null | undefined;
10
- gap?: 1 | 2 | 4 | 6 | 8 | 16 | 44 | 80 | 24 | 40 | 48 | 12 | 20 | 32 | 28 | 36 | 56 | 64 | 96 | 112 | 128 | 144 | null | undefined;
10
+ gap?: 1 | 2 | 4 | 6 | 8 | 16 | 44 | 80 | 24 | 12 | 40 | 48 | 20 | 32 | 28 | 36 | 56 | 64 | 96 | 112 | 128 | 144 | null | undefined;
11
11
  grow?: boolean | null | undefined;
12
12
  shrink?: boolean | null | undefined;
13
13
  fullWidth?: boolean | null | undefined;
@@ -0,0 +1,15 @@
1
+ import type { FC, ReactNode, Ref } from 'react';
2
+ import { PinInput as ArkPinInput } from '@ark-ui/react/pin-input';
3
+ import type { TestableProps } from '../../utils/testId';
4
+ type OTPInputRootProps = Omit<ArkPinInput.RootProps, 'invalid'>;
5
+ export interface OTPInputProps extends OTPInputRootProps, TestableProps {
6
+ /** Number of inputs per group (separator shown between groups). Set to 0 to disable grouping. */
7
+ groupSize?: number;
8
+ /** Separator element rendered between groups */
9
+ separator?: ReactNode;
10
+ /** Error state (maps to Ark UI `invalid`) */
11
+ error?: boolean;
12
+ ref?: Ref<HTMLDivElement>;
13
+ }
14
+ export declare const OTPInput: FC<OTPInputProps>;
15
+ export {};
@@ -0,0 +1,52 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { useMemo } from "react";
3
+ import { PinInput } from "@ark-ui/react/pin-input";
4
+ import { cn } from "../../utils/cn.js";
5
+ import { otpInputCellClassName, otpInputGroupClassName, otpInputSeparatorClassName } from "./classes.js";
6
+ const OTPInput = ({ count = 6, groupSize = 2, separator = '\u2014', error = false, placeholder = '', className, 'data-testid': testId, ref, ...props })=>{
7
+ const groups = useMemo(()=>{
8
+ const result = [];
9
+ const effectiveGroupSize = groupSize > 0 ? groupSize : count;
10
+ for(let groupStart = 0; groupStart < count; groupStart += effectiveGroupSize){
11
+ if (groupStart > 0 && groupSize > 0) result.push(/*#__PURE__*/ jsx("span", {
12
+ "aria-hidden": "true",
13
+ className: otpInputSeparatorClassName,
14
+ children: separator
15
+ }, `sep-${groupStart}`));
16
+ const groupEnd = Math.min(groupStart + effectiveGroupSize, count);
17
+ result.push(/*#__PURE__*/ jsx("div", {
18
+ className: otpInputGroupClassName,
19
+ children: Array.from({
20
+ length: groupEnd - groupStart
21
+ }, (_, i)=>/*#__PURE__*/ jsx(PinInput.Input, {
22
+ index: groupStart + i,
23
+ className: otpInputCellClassName
24
+ }, groupStart + i))
25
+ }, `group-${groupStart}`));
26
+ }
27
+ return result;
28
+ }, [
29
+ count,
30
+ groupSize,
31
+ separator
32
+ ]);
33
+ return /*#__PURE__*/ jsxs(PinInput.Root, {
34
+ ...props,
35
+ count: count,
36
+ invalid: error,
37
+ placeholder: placeholder,
38
+ ref: ref,
39
+ "data-testid": testId,
40
+ "data-slot": "pin-input",
41
+ className: cn('flex flex-col gap-4', className),
42
+ children: [
43
+ /*#__PURE__*/ jsx(PinInput.Control, {
44
+ className: "flex items-center gap-8",
45
+ children: groups
46
+ }),
47
+ /*#__PURE__*/ jsx(PinInput.HiddenInput, {})
48
+ ]
49
+ });
50
+ };
51
+ OTPInput.displayName = 'OTPInput';
52
+ export { OTPInput };
@@ -0,0 +1,3 @@
1
+ export declare const otpInputGroupClassName: string;
2
+ export declare const otpInputCellClassName: string;
3
+ export declare const otpInputSeparatorClassName: string;
@@ -0,0 +1,5 @@
1
+ import { cn } from "../../utils/cn.js";
2
+ const otpInputGroupClassName = cn('flex items-center rounded-12 shadow-xs');
3
+ const otpInputCellClassName = cn('h-36 w-32 bg-component-input-bg', 'font-mono text-sm text-text-primary text-center uppercase', 'border border-border-primary outline-none', '[&:not(:first-child)]:-ml-px', 'first:rounded-l-12 last:rounded-r-12', 'transition-[color,border,box-shadow]', '[&:not([data-disabled]):not(:focus):not([data-invalid])]:hover:relative', '[&:not([data-disabled]):not(:focus):not([data-invalid])]:hover:z-10', '[&:not([data-disabled]):not(:focus):not([data-invalid])]:hover:border-component-border-input-hover', '[&:not([data-disabled]):not([data-invalid])]:focus:relative', '[&:not([data-disabled]):not([data-invalid])]:focus:z-10', '[&:not([data-disabled]):not([data-invalid])]:focus:border-border-strong-primary', 'data-invalid:border-border-strong-danger', '[&[data-invalid]:not([data-disabled])]:focus:relative', '[&[data-invalid]:not([data-disabled])]:focus:z-10', 'data-disabled:cursor-not-allowed data-disabled:opacity-50');
4
+ const otpInputSeparatorClassName = cn('text-text-secondary text-sm select-none shrink-0');
5
+ export { otpInputCellClassName, otpInputGroupClassName, otpInputSeparatorClassName };
@@ -0,0 +1 @@
1
+ export { OTPInput, type OTPInputProps } from './OTPInput';
@@ -0,0 +1,2 @@
1
+ import { OTPInput } from "./OTPInput.js";
2
+ export { OTPInput };
@@ -2,7 +2,7 @@ import type { ComponentRef, FC, Ref } from 'react';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  import { Separator, type SeparatorProps } from '../Separator';
4
4
  declare const segmentedControlSeparatorVariants: (props?: ({
5
- mx?: 1 | 2 | 4 | 6 | 8 | 16 | 44 | 80 | 24 | 40 | 48 | 12 | 20 | 32 | 28 | 36 | 56 | 64 | 96 | 112 | 128 | 144 | null | undefined;
5
+ mx?: 1 | 2 | 4 | 6 | 8 | 16 | 44 | 80 | 24 | 12 | 40 | 48 | 20 | 32 | 28 | 36 | 56 | 64 | 96 | 112 | 128 | 144 | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  type SegmentedControlSeparatorVariants = VariantProps<typeof segmentedControlSeparatorVariants>;
8
8
  /**
@@ -3,7 +3,7 @@ import { type VariantProps } from 'class-variance-authority';
3
3
  import type { TestableProps } from '../../utils/testId';
4
4
  declare const separatorVariants: (props?: ({
5
5
  orientation?: "horizontal" | "vertical" | null | undefined;
6
- spacing?: 1 | 2 | 4 | 6 | 8 | 16 | 44 | 80 | 24 | 40 | 48 | 12 | 20 | 32 | 28 | 36 | 56 | 64 | 96 | 112 | 128 | 144 | null | undefined;
6
+ spacing?: 1 | 2 | 4 | 6 | 8 | 16 | 44 | 80 | 24 | 12 | 40 | 48 | 20 | 32 | 28 | 36 | 56 | 64 | 96 | 112 | 128 | 144 | null | undefined;
7
7
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
8
8
  export type SeparatorProps = ComponentPropsWithoutRef<'div'> & VariantProps<typeof separatorVariants> & TestableProps & {
9
9
  ref?: Ref<HTMLDivElement>;
@@ -10,7 +10,7 @@ declare const stackVariants: (props?: ({
10
10
  fullWidth?: boolean | null | undefined;
11
11
  flexGrow?: boolean | null | undefined;
12
12
  flexShrink?: boolean | null | undefined;
13
- gap?: 0 | 1 | 2 | 4 | 6 | 8 | 16 | 44 | 80 | 24 | 40 | 48 | 12 | 20 | 32 | 28 | 36 | 56 | 64 | 96 | 112 | 128 | 144 | null | undefined;
13
+ gap?: 0 | 1 | 2 | 4 | 6 | 8 | 16 | 44 | 80 | 24 | 12 | 40 | 48 | 20 | 32 | 28 | 36 | 56 | 64 | 96 | 112 | 128 | 144 | null | undefined;
14
14
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
15
15
  type StackNativeProps = HTMLAttributes<HTMLDivElement>;
16
16
  type StackVariantProps = VariantProps<typeof stackVariants>;
package/dist/index.d.ts CHANGED
@@ -36,6 +36,7 @@ export { Heading, type HeadingProps } from './components/Heading';
36
36
  export { HTTP_METHOD_COLOR, HTTP_METHODS, HttpMethod, type HttpMethodName, type HttpMethodProps, } from './components/HttpMethod';
37
37
  export { Input, type InputProps } from './components/Input';
38
38
  export { InputGroup, InputGroupAddon, InputGroupText, } from './components/InputGroup';
39
+ export { OTPInput, type OTPInputProps } from './components/InputOTP';
39
40
  export { type DatacenterKey, datacenters, Ip, IpAddress, type IpAddressProps, IpCountry, type IpCountryProps, IpList, type IpListProps, IpPort, type IpPortProps, type IpProps, IpProvider, type IpProviderProps, type ProxyTypeKey, proxyTypes, type SourceKey, sourceLabels, } from './components/Ip';
40
41
  export { Kbd, KbdGroup } from './components/Kbd';
41
42
  export { Link, type LinkProps } from './components/Link';
package/dist/index.js CHANGED
@@ -25,6 +25,7 @@ import { Heading } from "./components/Heading/index.js";
25
25
  import { HTTP_METHODS, HTTP_METHOD_COLOR, HttpMethod } from "./components/HttpMethod/index.js";
26
26
  import { Input } from "./components/Input/index.js";
27
27
  import { InputGroup, InputGroupAddon, InputGroupText } from "./components/InputGroup/index.js";
28
+ import { OTPInput } from "./components/InputOTP/index.js";
28
29
  import { Ip, IpAddress, IpCountry, IpList, IpPort, IpProvider, datacenters, proxyTypes, sourceLabels } from "./components/Ip/index.js";
29
30
  import { Kbd, KbdGroup } from "./components/Kbd/index.js";
30
31
  import { Link } from "./components/Link/index.js";
@@ -65,4 +66,4 @@ import { Tooltip, TooltipContent, TooltipTrigger } from "./components/Tooltip/in
65
66
  import { TopHeader, TopHeaderActions, TopHeaderLogo } from "./components/TopHeader/index.js";
66
67
  import { Tour, beaconStepEffect, useTour, waitForStepEvent } from "./components/Tour/index.js";
67
68
  import { TestIdProvider, useTestId } from "./utils/testId.js";
68
- export { Accordion, AccordionActions, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertClose, AlertContent, AlertControls, AlertDescription, AlertIcon, AlertTitle, AnimatedBackground, AppShell, AppShellHeader, AppShellRail, AppShellRemote, Attribute, AttributeActions, AttributeActionsContent, AttributeActionsItem, AttributeActionsTarget, AttributeLabel, AttributeLabelDescription, AttributeLabelInfo, AttributeValue, Badge, Breadcrumbs, BreadcrumbsEllipsis, BreadcrumbsItem, BreadcrumbsScopeSwitcher, BreadcrumbsSeparator, Button, Calendar, CalendarApplyButton, CalendarBody, CalendarContent, CalendarDate, CalendarDateTime, CalendarDayName, CalendarFooter, CalendarFooterControls, CalendarGrid, CalendarGrids, CalendarHeader, CalendarInputHeader, CalendarKeyboardHints, CalendarPresetItem, CalendarPresets, CalendarProvider, CalendarResetButton, CalendarTrigger, Card, CardContent, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxDescription, CheckboxGroup, CheckboxIndicator, CheckboxLabel, Code, Country, CountryFlag, CountryName, DAY_NAMES, DEFAULT_RANGE_PRESETS, DEFAULT_SINGLE_PRESETS, DateFormatProvider, DateInput, DateRangeEndValue, DateRangeInput, DateRangeProvider, DateRangeSeparator, DateRangeStartValue, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerFooter, DrawerFooterControls, DrawerHeader, DrawerPositioner, DrawerResizeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuContextTrigger, DropdownMenuFooter, DropdownMenuGroup, DropdownMenuInput, DropdownMenuItem, DropdownMenuItemContent, DropdownMenuItemDescription, DropdownMenuItemIcon, DropdownMenuItemText, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, DropdownMenuTriggerItem, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterInput, FilterInputChip, FilterInputFieldMenu, FilterInputOperatorMenu, Flex, FormatDateTime, HStack, HTTP_METHODS, HTTP_METHOD_COLOR, Heading, HttpMethod, Input, InputGroup, InputGroupAddon, InputGroupText, Ip, IpAddress, IpCountry, IpList, IpPort, IpProvider, Kbd, KbdGroup, Link, Loader, Logo, MONTH_NAMES, NavRail, NavRailBody, NavRailFooter, NavRailItem, NavRailSeparator, NavRailSkeleton, NumberInput, NumericBadge, OverflowTooltip, OverflowTooltipContent, Page, PageActions, PageContent, PageHeader, PageHostProvider, PageTitle, ParameterPath, Popover, PopoverContent, PopoverTrigger, Progress, RESPONSE_CODE_COLOR, Radio, RadioDescription, RadioGroup, RadioIndicator, RadioLabel, RemoteShell, RemoteShellBreadcrumb, RemoteShellContent, RemoteShellPanel, ResponseCode, ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaScrollbar, ScrollAreaViewport, SegmentedControl, SegmentedControlButton, SegmentedControlItem, SegmentedControlSeparator, SegmentedTabs, SegmentedTabsButton, SegmentedTabsContent, SegmentedTabsList, SegmentedTabsSeparator, SegmentedTabsTrigger, SegmentedTabsTriggerButton, Select, SelectButton, SelectClearTrigger, SelectContent, SelectFooter, SelectGroup, SelectGroupLabel, SelectHeader, SelectInput, SelectOption, SelectOptionDescription, SelectOptionIndicator, SelectOptionText, SelectPositioner, SelectSearchInput, SelectSeparator, Selection, SelectionAll, SelectionBulkBar, SelectionItem, Separator, Skeleton, SplashScreen, SplitButton, Stack, Switch, SwitchControl, SwitchDescription, SwitchLabel, Table, TableActionBar, TableEmptyState, TableSettingsMenu, Tabs, TabsButton, TabsContent, TabsLineActions, TabsList, TabsSeparator, TabsTrigger, Tag, TagClose, TestIdProvider, Text, Textarea, ThemeProvider, Time, TimeInput, Toast, ToastActions, Toaster, ToggleButton, Tooltip, TooltipContent, TooltipTrigger, TopHeader, TopHeaderActions, TopHeaderLogo, Tour, VStack, ZonedDateTime, beaconStepEffect, cardVariants, createTableColumnHelper, datacenters, drawerContentVariants, drawerPositionerVariants, findFirstLinkPath, formatAsFilter, getLocalTimeZone, getResponseCodeCategory, parseDate, parseDateTime, parseTime, parseZonedDateTime, proxyTypes, pushPathname, sourceLabels, toaster, today, useCalendarContext, useDateFormat, useDateRangeContext, useDrawerContext, useLocationPathname, usePageHost, useRemoteShellContext, useTestId, useTheme, useTour, waitForStepEvent };
69
+ export { Accordion, AccordionActions, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertClose, AlertContent, AlertControls, AlertDescription, AlertIcon, AlertTitle, AnimatedBackground, AppShell, AppShellHeader, AppShellRail, AppShellRemote, Attribute, AttributeActions, AttributeActionsContent, AttributeActionsItem, AttributeActionsTarget, AttributeLabel, AttributeLabelDescription, AttributeLabelInfo, AttributeValue, Badge, Breadcrumbs, BreadcrumbsEllipsis, BreadcrumbsItem, BreadcrumbsScopeSwitcher, BreadcrumbsSeparator, Button, Calendar, CalendarApplyButton, CalendarBody, CalendarContent, CalendarDate, CalendarDateTime, CalendarDayName, CalendarFooter, CalendarFooterControls, CalendarGrid, CalendarGrids, CalendarHeader, CalendarInputHeader, CalendarKeyboardHints, CalendarPresetItem, CalendarPresets, CalendarProvider, CalendarResetButton, CalendarTrigger, Card, CardContent, CardFooter, CardHeader, CardTitle, Checkbox, CheckboxDescription, CheckboxGroup, CheckboxIndicator, CheckboxLabel, Code, Country, CountryFlag, CountryName, DAY_NAMES, DEFAULT_RANGE_PRESETS, DEFAULT_SINGLE_PRESETS, DateFormatProvider, DateInput, DateRangeEndValue, DateRangeInput, DateRangeProvider, DateRangeSeparator, DateRangeStartValue, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerFooter, DrawerFooterControls, DrawerHeader, DrawerPositioner, DrawerResizeHandle, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuContextTrigger, DropdownMenuFooter, DropdownMenuGroup, DropdownMenuInput, DropdownMenuItem, DropdownMenuItemContent, DropdownMenuItemDescription, DropdownMenuItemIcon, DropdownMenuItemText, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuTrigger, DropdownMenuTriggerItem, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, FilterInput, FilterInputChip, FilterInputFieldMenu, FilterInputOperatorMenu, Flex, FormatDateTime, HStack, HTTP_METHODS, HTTP_METHOD_COLOR, Heading, HttpMethod, Input, InputGroup, InputGroupAddon, InputGroupText, Ip, IpAddress, IpCountry, IpList, IpPort, IpProvider, Kbd, KbdGroup, Link, Loader, Logo, MONTH_NAMES, NavRail, NavRailBody, NavRailFooter, NavRailItem, NavRailSeparator, NavRailSkeleton, NumberInput, NumericBadge, OTPInput, OverflowTooltip, OverflowTooltipContent, Page, PageActions, PageContent, PageHeader, PageHostProvider, PageTitle, ParameterPath, Popover, PopoverContent, PopoverTrigger, Progress, RESPONSE_CODE_COLOR, Radio, RadioDescription, RadioGroup, RadioIndicator, RadioLabel, RemoteShell, RemoteShellBreadcrumb, RemoteShellContent, RemoteShellPanel, ResponseCode, ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaScrollbar, ScrollAreaViewport, SegmentedControl, SegmentedControlButton, SegmentedControlItem, SegmentedControlSeparator, SegmentedTabs, SegmentedTabsButton, SegmentedTabsContent, SegmentedTabsList, SegmentedTabsSeparator, SegmentedTabsTrigger, SegmentedTabsTriggerButton, Select, SelectButton, SelectClearTrigger, SelectContent, SelectFooter, SelectGroup, SelectGroupLabel, SelectHeader, SelectInput, SelectOption, SelectOptionDescription, SelectOptionIndicator, SelectOptionText, SelectPositioner, SelectSearchInput, SelectSeparator, Selection, SelectionAll, SelectionBulkBar, SelectionItem, Separator, Skeleton, SplashScreen, SplitButton, Stack, Switch, SwitchControl, SwitchDescription, SwitchLabel, Table, TableActionBar, TableEmptyState, TableSettingsMenu, Tabs, TabsButton, TabsContent, TabsLineActions, TabsList, TabsSeparator, TabsTrigger, Tag, TagClose, TestIdProvider, Text, Textarea, ThemeProvider, Time, TimeInput, Toast, ToastActions, Toaster, ToggleButton, Tooltip, TooltipContent, TooltipTrigger, TopHeader, TopHeaderActions, TopHeaderLogo, Tour, VStack, ZonedDateTime, beaconStepEffect, cardVariants, createTableColumnHelper, datacenters, drawerContentVariants, drawerPositionerVariants, findFirstLinkPath, formatAsFilter, getLocalTimeZone, getResponseCodeCategory, parseDate, parseDateTime, parseTime, parseZonedDateTime, proxyTypes, pushPathname, sourceLabels, toaster, today, useCalendarContext, useDateFormat, useDateRangeContext, useDrawerContext, useLocationPathname, usePageHost, useRemoteShellContext, useTestId, useTheme, useTour, waitForStepEvent };
@@ -1,6 +1,6 @@
1
1
  {
2
- "version": "0.55.0",
3
- "generatedAt": "2026-06-08T15:41:56.689Z",
2
+ "version": "0.55.1",
3
+ "generatedAt": "2026-06-08T21:10:50.034Z",
4
4
  "components": [
5
5
  {
6
6
  "name": "Accordion",
@@ -3721,7 +3721,7 @@
3721
3721
  },
3722
3722
  {
3723
3723
  "name": "WithCard",
3724
- "code": "() => (\n <div className='relative h-screen w-screen'>\n <AnimatedBackground game />\n\n <Card className='absolute top-1/2 left-1/2 -translate-1/2 w-[300px] h-max'>\n <CardHeader>\n <CardTitle>Sign In</CardTitle>\n </CardHeader>\n <CardContent>\n <p className='text-sm text-text-secondary'>\n Decorative background renders behind interactive content.\n </p>\n </CardContent>\n </Card>\n </div>\n)"
3724
+ "code": "() => (\n <div className='relative h-screen w-screen'>\n <AnimatedBackground game excludeCardSize={{ width: 300, height: 200 }} />\n\n <Card className='absolute top-1/2 left-1/2 -translate-1/2 w-[300px] h-[200px]'>\n <CardHeader>\n <CardTitle>Sign In</CardTitle>\n </CardHeader>\n <CardContent>\n <p className='text-sm text-text-secondary'>\n Decorative background renders behind interactive content.\n </p>\n </CardContent>\n </Card>\n </div>\n)"
3725
3725
  }
3726
3726
  ]
3727
3727
  },
@@ -22197,6 +22197,418 @@
22197
22197
  }
22198
22198
  ]
22199
22199
  },
22200
+ {
22201
+ "name": "InputOTP",
22202
+ "importPath": "@wallarm-org/design-system/InputOTP",
22203
+ "props": [],
22204
+ "variants": [],
22205
+ "subComponents": [
22206
+ {
22207
+ "name": "OTPInput",
22208
+ "props": [
22209
+ {
22210
+ "name": "groupSize",
22211
+ "type": "number | undefined",
22212
+ "required": false,
22213
+ "description": "Number of inputs per group (separator shown between groups). Set to 0 to disable grouping.",
22214
+ "defaultValue": "2"
22215
+ },
22216
+ {
22217
+ "name": "separator",
22218
+ "type": "ReactNode",
22219
+ "required": false,
22220
+ "description": "Separator element rendered between groups",
22221
+ "defaultValue": "\\u2014"
22222
+ },
22223
+ {
22224
+ "name": "error",
22225
+ "type": "boolean | undefined",
22226
+ "required": false,
22227
+ "description": "Error state (maps to Ark UI `invalid`)",
22228
+ "defaultValue": "false"
22229
+ },
22230
+ {
22231
+ "name": "form",
22232
+ "type": "string | undefined",
22233
+ "required": false,
22234
+ "description": "The associate form of the underlying input element."
22235
+ },
22236
+ {
22237
+ "name": "slot",
22238
+ "type": "string | undefined",
22239
+ "required": false
22240
+ },
22241
+ {
22242
+ "name": "title",
22243
+ "type": "string | undefined",
22244
+ "required": false
22245
+ },
22246
+ {
22247
+ "name": "mask",
22248
+ "type": "boolean | undefined",
22249
+ "required": false,
22250
+ "description": "If `true`, the input's value will be masked just like `type=password`"
22251
+ },
22252
+ {
22253
+ "name": "pattern",
22254
+ "type": "string | undefined",
22255
+ "required": false,
22256
+ "description": "The regular expression that the user-entered input value is checked against."
22257
+ },
22258
+ {
22259
+ "name": "defaultChecked",
22260
+ "type": "boolean | undefined",
22261
+ "required": false
22262
+ },
22263
+ {
22264
+ "name": "defaultValue",
22265
+ "type": "string[] | undefined",
22266
+ "required": false,
22267
+ "description": "The initial value of the the pin input when rendered.\nUse when you don't need to control the value of the pin input."
22268
+ },
22269
+ {
22270
+ "name": "suppressContentEditableWarning",
22271
+ "type": "boolean | undefined",
22272
+ "required": false
22273
+ },
22274
+ {
22275
+ "name": "suppressHydrationWarning",
22276
+ "type": "boolean | undefined",
22277
+ "required": false
22278
+ },
22279
+ {
22280
+ "name": "accessKey",
22281
+ "type": "string | undefined",
22282
+ "required": false
22283
+ },
22284
+ {
22285
+ "name": "autoCapitalize",
22286
+ "type": "\"off\" | \"none\" | \"on\" | \"sentences\" | \"words\" | \"characters\" | (string & {}) | undefined",
22287
+ "required": false
22288
+ },
22289
+ {
22290
+ "name": "autoFocus",
22291
+ "type": "boolean | undefined",
22292
+ "required": false,
22293
+ "description": "Whether to auto-focus the first input."
22294
+ },
22295
+ {
22296
+ "name": "contentEditable",
22297
+ "type": "Booleanish | \"inherit\" | \"plaintext-only\" | undefined",
22298
+ "required": false
22299
+ },
22300
+ {
22301
+ "name": "contextMenu",
22302
+ "type": "string | undefined",
22303
+ "required": false
22304
+ },
22305
+ {
22306
+ "name": "dir",
22307
+ "type": "string | undefined",
22308
+ "required": false
22309
+ },
22310
+ {
22311
+ "name": "draggable",
22312
+ "type": "Booleanish | undefined",
22313
+ "required": false
22314
+ },
22315
+ {
22316
+ "name": "enterKeyHint",
22317
+ "type": "\"search\" | \"enter\" | \"done\" | \"go\" | \"next\" | \"previous\" | \"send\" | undefined",
22318
+ "required": false
22319
+ },
22320
+ {
22321
+ "name": "hidden",
22322
+ "type": "boolean | undefined",
22323
+ "required": false
22324
+ },
22325
+ {
22326
+ "name": "id",
22327
+ "type": "string",
22328
+ "required": false,
22329
+ "description": "The unique identifier of the machine."
22330
+ },
22331
+ {
22332
+ "name": "lang",
22333
+ "type": "string | undefined",
22334
+ "required": false
22335
+ },
22336
+ {
22337
+ "name": "nonce",
22338
+ "type": "string | undefined",
22339
+ "required": false
22340
+ },
22341
+ {
22342
+ "name": "spellCheck",
22343
+ "type": "Booleanish | undefined",
22344
+ "required": false
22345
+ },
22346
+ {
22347
+ "name": "tabIndex",
22348
+ "type": "number | undefined",
22349
+ "required": false
22350
+ },
22351
+ {
22352
+ "name": "translate",
22353
+ "type": "\"yes\" | \"no\" | undefined",
22354
+ "required": false
22355
+ },
22356
+ {
22357
+ "name": "radioGroup",
22358
+ "type": "string | undefined",
22359
+ "required": false
22360
+ },
22361
+ {
22362
+ "name": "role",
22363
+ "type": "AriaRole | undefined",
22364
+ "required": false
22365
+ },
22366
+ {
22367
+ "name": "about",
22368
+ "type": "string | undefined",
22369
+ "required": false
22370
+ },
22371
+ {
22372
+ "name": "content",
22373
+ "type": "string | undefined",
22374
+ "required": false
22375
+ },
22376
+ {
22377
+ "name": "datatype",
22378
+ "type": "string | undefined",
22379
+ "required": false
22380
+ },
22381
+ {
22382
+ "name": "inlist",
22383
+ "type": "any",
22384
+ "required": false
22385
+ },
22386
+ {
22387
+ "name": "prefix",
22388
+ "type": "string | undefined",
22389
+ "required": false
22390
+ },
22391
+ {
22392
+ "name": "property",
22393
+ "type": "string | undefined",
22394
+ "required": false
22395
+ },
22396
+ {
22397
+ "name": "rel",
22398
+ "type": "string | undefined",
22399
+ "required": false
22400
+ },
22401
+ {
22402
+ "name": "resource",
22403
+ "type": "string | undefined",
22404
+ "required": false
22405
+ },
22406
+ {
22407
+ "name": "rev",
22408
+ "type": "string | undefined",
22409
+ "required": false
22410
+ },
22411
+ {
22412
+ "name": "typeof",
22413
+ "type": "string | undefined",
22414
+ "required": false
22415
+ },
22416
+ {
22417
+ "name": "vocab",
22418
+ "type": "string | undefined",
22419
+ "required": false
22420
+ },
22421
+ {
22422
+ "name": "autoCorrect",
22423
+ "type": "string | undefined",
22424
+ "required": false
22425
+ },
22426
+ {
22427
+ "name": "autoSave",
22428
+ "type": "string | undefined",
22429
+ "required": false
22430
+ },
22431
+ {
22432
+ "name": "color",
22433
+ "type": "string | undefined",
22434
+ "required": false
22435
+ },
22436
+ {
22437
+ "name": "itemProp",
22438
+ "type": "string | undefined",
22439
+ "required": false
22440
+ },
22441
+ {
22442
+ "name": "itemScope",
22443
+ "type": "boolean | undefined",
22444
+ "required": false
22445
+ },
22446
+ {
22447
+ "name": "itemType",
22448
+ "type": "string | undefined",
22449
+ "required": false
22450
+ },
22451
+ {
22452
+ "name": "itemID",
22453
+ "type": "string | undefined",
22454
+ "required": false
22455
+ },
22456
+ {
22457
+ "name": "itemRef",
22458
+ "type": "string | undefined",
22459
+ "required": false
22460
+ },
22461
+ {
22462
+ "name": "results",
22463
+ "type": "number | undefined",
22464
+ "required": false
22465
+ },
22466
+ {
22467
+ "name": "security",
22468
+ "type": "string | undefined",
22469
+ "required": false
22470
+ },
22471
+ {
22472
+ "name": "unselectable",
22473
+ "type": "\"off\" | \"on\" | undefined",
22474
+ "required": false
22475
+ },
22476
+ {
22477
+ "name": "popover",
22478
+ "type": "\"\" | \"auto\" | \"manual\" | \"hint\" | undefined",
22479
+ "required": false
22480
+ },
22481
+ {
22482
+ "name": "popoverTargetAction",
22483
+ "type": "\"toggle\" | \"show\" | \"hide\" | undefined",
22484
+ "required": false
22485
+ },
22486
+ {
22487
+ "name": "popoverTarget",
22488
+ "type": "string | undefined",
22489
+ "required": false
22490
+ },
22491
+ {
22492
+ "name": "inert",
22493
+ "type": "boolean | undefined",
22494
+ "required": false,
22495
+ "description": "@see https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement/inert"
22496
+ },
22497
+ {
22498
+ "name": "inputMode",
22499
+ "type": "\"search\" | \"text\" | \"none\" | \"tel\" | \"url\" | \"email\" | \"numeric\" | \"decimal\" | undefined",
22500
+ "required": false,
22501
+ "description": "Hints at the type of data that might be entered by the user while editing the element or its contents"
22502
+ },
22503
+ {
22504
+ "name": "is",
22505
+ "type": "string | undefined",
22506
+ "required": false,
22507
+ "description": "Specify that a standard HTML element should behave like a defined custom built-in element"
22508
+ },
22509
+ {
22510
+ "name": "exportparts",
22511
+ "type": "string | undefined",
22512
+ "required": false,
22513
+ "description": "@see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/exportparts}"
22514
+ },
22515
+ {
22516
+ "name": "part",
22517
+ "type": "string | undefined",
22518
+ "required": false,
22519
+ "description": "@see {@link https://developer.mozilla.org/en-US/docs/Web/HTML/Global_attributes/part}"
22520
+ },
22521
+ {
22522
+ "name": "name",
22523
+ "type": "string | undefined",
22524
+ "required": false,
22525
+ "description": "The name of the input element. Useful for form submission."
22526
+ },
22527
+ {
22528
+ "name": "ids",
22529
+ "type": "Partial<{ root: string; hiddenInput: string; label: string; control: string; input: (id: string) => string; }> | undefined",
22530
+ "required": false,
22531
+ "description": "The ids of the elements in the pin input. Useful for composition."
22532
+ },
22533
+ {
22534
+ "name": "disabled",
22535
+ "type": "boolean | undefined",
22536
+ "required": false,
22537
+ "description": "Whether the inputs are disabled"
22538
+ },
22539
+ {
22540
+ "name": "placeholder",
22541
+ "type": "string | undefined",
22542
+ "required": false,
22543
+ "description": "The placeholder text for the input",
22544
+ "defaultValue": ""
22545
+ },
22546
+ {
22547
+ "name": "required",
22548
+ "type": "boolean | undefined",
22549
+ "required": false,
22550
+ "description": "Whether the pin input is required"
22551
+ },
22552
+ {
22553
+ "name": "readOnly",
22554
+ "type": "boolean | undefined",
22555
+ "required": false,
22556
+ "description": "Whether the pin input is in the valid state"
22557
+ },
22558
+ {
22559
+ "name": "otp",
22560
+ "type": "boolean | undefined",
22561
+ "required": false,
22562
+ "description": "If `true`, the pin input component signals to its fields that they should\nuse `autocomplete=\"one-time-code\"`."
22563
+ },
22564
+ {
22565
+ "name": "value",
22566
+ "type": "string[] | undefined",
22567
+ "required": false,
22568
+ "description": "The controlled value of the the pin input."
22569
+ },
22570
+ {
22571
+ "name": "type",
22572
+ "type": "\"numeric\" | \"alphanumeric\" | \"alphabetic\" | undefined",
22573
+ "required": false,
22574
+ "description": "The type of value the pin-input should allow"
22575
+ },
22576
+ {
22577
+ "name": "blurOnComplete",
22578
+ "type": "boolean | undefined",
22579
+ "required": false,
22580
+ "description": "Whether to blur the input when the value is complete"
22581
+ },
22582
+ {
22583
+ "name": "selectOnFocus",
22584
+ "type": "boolean | undefined",
22585
+ "required": false,
22586
+ "description": "Whether to select input value when input is focused"
22587
+ },
22588
+ {
22589
+ "name": "translations",
22590
+ "type": "IntlTranslations | undefined",
22591
+ "required": false,
22592
+ "description": "Specifies the localized strings that identifies the accessibility elements and their states"
22593
+ },
22594
+ {
22595
+ "name": "count",
22596
+ "type": "number | undefined",
22597
+ "required": false,
22598
+ "description": "The number of inputs to render to improve SSR aria attributes.\nThis will be required in next major version.",
22599
+ "defaultValue": "6"
22600
+ },
22601
+ {
22602
+ "name": "asChild",
22603
+ "type": "boolean | undefined",
22604
+ "required": false,
22605
+ "description": "Use the provided child element as the default rendered element, combining their props and behavior."
22606
+ }
22607
+ ]
22608
+ }
22609
+ ],
22610
+ "examples": []
22611
+ },
22200
22612
  {
22201
22613
  "name": "Ip",
22202
22614
  "importPath": "@wallarm-org/design-system/Ip",
@@ -22796,26 +23208,6 @@
22796
23208
  "type": "string | undefined",
22797
23209
  "required": false
22798
23210
  },
22799
- {
22800
- "name": "variant",
22801
- "type": "{ default: string; dotted: string; }",
22802
- "required": false
22803
- },
22804
- {
22805
- "name": "isIconOnly",
22806
- "type": "{ true: string; }",
22807
- "required": false
22808
- },
22809
- {
22810
- "name": "muted",
22811
- "type": "{ true: string; false: string; }",
22812
- "required": false
22813
- },
22814
- {
22815
- "name": "textVariant",
22816
- "type": "{ default: string; code: string; }",
22817
- "required": false
22818
- },
22819
23211
  {
22820
23212
  "name": "defaultChecked",
22821
23213
  "type": "boolean | undefined",
@@ -23075,6 +23467,26 @@
23075
23467
  "name": "asChild",
23076
23468
  "type": "boolean | undefined",
23077
23469
  "required": false
23470
+ },
23471
+ {
23472
+ "name": "variant",
23473
+ "type": "{ default: string; dotted: string; }",
23474
+ "required": false
23475
+ },
23476
+ {
23477
+ "name": "isIconOnly",
23478
+ "type": "{ true: string; }",
23479
+ "required": false
23480
+ },
23481
+ {
23482
+ "name": "muted",
23483
+ "type": "{ true: string; false: string; }",
23484
+ "required": false
23485
+ },
23486
+ {
23487
+ "name": "textVariant",
23488
+ "type": "{ default: string; code: string; }",
23489
+ "required": false
23078
23490
  }
23079
23491
  ]
23080
23492
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wallarm-org/design-system",
3
- "version": "0.55.1",
3
+ "version": "0.56.0",
4
4
  "description": "Core design system library with React components and Storybook documentation",
5
5
  "publishConfig": {
6
6
  "access": "public",