@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.
- package/dist/components/AnimatedBackground/GameHud.js +25 -49
- package/dist/components/AnimatedBackground/module/engine.js +10 -3
- package/dist/components/AnimatedBackground/module/game-logic.d.ts +12 -5
- package/dist/components/AnimatedBackground/module/game-logic.js +22 -11
- package/dist/components/AnimatedBackground/module/game-renderer.js +6 -1
- package/dist/components/Flex/Flex.d.ts +1 -1
- package/dist/components/InputOTP/OTPInput.d.ts +15 -0
- package/dist/components/InputOTP/OTPInput.js +52 -0
- package/dist/components/InputOTP/classes.d.ts +3 -0
- package/dist/components/InputOTP/classes.js +5 -0
- package/dist/components/InputOTP/index.d.ts +1 -0
- package/dist/components/InputOTP/index.js +2 -0
- package/dist/components/SegmentedControl/SegmentedControlSeparator.d.ts +1 -1
- package/dist/components/Separator/Separator.d.ts +1 -1
- package/dist/components/Stack/Stack.d.ts +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +2 -1
- package/dist/metadata/components.json +435 -23
- package/package.json +1 -1
|
@@ -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
|
|
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:
|
|
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
|
|
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:
|
|
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
|
-
|
|
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:
|
|
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
|
|
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 =
|
|
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.
|
|
8
|
-
export declare const CANNON_SPEED =
|
|
9
|
-
export declare const TARGET_LIFE =
|
|
10
|
-
export declare const ARMED_SPAWN = 0.
|
|
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 =
|
|
4
|
+
const MAX_TARGETS = 8;
|
|
5
5
|
const MAX_BULLETS = 24;
|
|
6
6
|
const BULLET_SPEED = 720;
|
|
7
|
-
const FIRE_CADENCE = 0.
|
|
8
|
-
const CANNON_SPEED =
|
|
9
|
-
const TARGET_LIFE =
|
|
10
|
-
const ARMED_SPAWN = 0.
|
|
11
|
-
const HIT_R2 =
|
|
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
|
-
|
|
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 <
|
|
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:
|
|
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
|
-
|
|
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 |
|
|
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,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';
|
|
@@ -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 |
|
|
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 |
|
|
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 |
|
|
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.
|
|
3
|
-
"generatedAt": "2026-06-
|
|
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-
|
|
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
|
}
|