@adam-milo/ui 1.0.2
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/LICENSE +23 -0
- package/README.md +341 -0
- package/dist/index.cjs +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index10.cjs +1 -0
- package/dist/index10.js +4 -0
- package/dist/index11.cjs +1 -0
- package/dist/index11.js +9 -0
- package/dist/index12.cjs +1 -0
- package/dist/index12.js +11 -0
- package/dist/index13.cjs +1 -0
- package/dist/index13.js +3 -0
- package/dist/index14.cjs +1 -0
- package/dist/index14.js +5 -0
- package/dist/index15.cjs +1 -0
- package/dist/index15.js +4 -0
- package/dist/index16.cjs +1 -0
- package/dist/index16.js +4 -0
- package/dist/index17.cjs +1 -0
- package/dist/index17.js +8 -0
- package/dist/index18.cjs +1 -0
- package/dist/index18.js +4 -0
- package/dist/index19.cjs +1 -0
- package/dist/index19.js +2 -0
- package/dist/index2.cjs +1 -0
- package/dist/index2.js +2 -0
- package/dist/index20.cjs +1 -0
- package/dist/index20.js +5 -0
- package/dist/index21.cjs +1 -0
- package/dist/index21.js +11 -0
- package/dist/index22.cjs +1 -0
- package/dist/index22.js +2 -0
- package/dist/index23.cjs +1 -0
- package/dist/index23.js +2 -0
- package/dist/index24.cjs +1 -0
- package/dist/index24.js +2 -0
- package/dist/index25.cjs +1 -0
- package/dist/index25.js +7 -0
- package/dist/index26.cjs +1 -0
- package/dist/index26.js +2 -0
- package/dist/index27.cjs +1 -0
- package/dist/index27.js +2 -0
- package/dist/index28.cjs +1 -0
- package/dist/index28.js +2 -0
- package/dist/index29.cjs +1 -0
- package/dist/index29.js +2 -0
- package/dist/index3.cjs +1 -0
- package/dist/index3.js +3 -0
- package/dist/index30.cjs +1 -0
- package/dist/index30.js +10 -0
- package/dist/index31.cjs +1 -0
- package/dist/index31.js +1 -0
- package/dist/index32.cjs +1 -0
- package/dist/index32.js +1 -0
- package/dist/index33.cjs +1 -0
- package/dist/index33.js +15 -0
- package/dist/index34.cjs +1 -0
- package/dist/index34.js +1 -0
- package/dist/index35.cjs +1 -0
- package/dist/index35.js +1 -0
- package/dist/index36.cjs +1 -0
- package/dist/index36.js +1 -0
- package/dist/index37.cjs +1 -0
- package/dist/index37.js +5 -0
- package/dist/index38.cjs +1 -0
- package/dist/index38.js +1 -0
- package/dist/index39.cjs +1 -0
- package/dist/index39.js +1 -0
- package/dist/index4.cjs +1 -0
- package/dist/index4.js +2 -0
- package/dist/index40.cjs +1 -0
- package/dist/index40.js +2 -0
- package/dist/index41.cjs +1 -0
- package/dist/index41.js +1 -0
- package/dist/index42.cjs +1 -0
- package/dist/index42.js +1 -0
- package/dist/index43.cjs +1 -0
- package/dist/index43.js +4 -0
- package/dist/index44.cjs +1 -0
- package/dist/index44.js +1 -0
- package/dist/index45.cjs +1 -0
- package/dist/index45.js +1 -0
- package/dist/index46.cjs +1 -0
- package/dist/index46.js +1 -0
- package/dist/index47.cjs +1 -0
- package/dist/index47.js +3 -0
- package/dist/index48.cjs +1 -0
- package/dist/index48.js +1 -0
- package/dist/index49.cjs +1 -0
- package/dist/index49.js +1 -0
- package/dist/index5.cjs +1 -0
- package/dist/index5.js +2 -0
- package/dist/index50.cjs +1 -0
- package/dist/index50.js +1 -0
- package/dist/index51.cjs +1 -0
- package/dist/index51.js +1 -0
- package/dist/index52.cjs +1 -0
- package/dist/index52.js +1 -0
- package/dist/index53.cjs +1 -0
- package/dist/index53.js +1 -0
- package/dist/index54.cjs +1 -0
- package/dist/index54.js +2 -0
- package/dist/index55.cjs +1 -0
- package/dist/index55.js +1 -0
- package/dist/index56.cjs +1 -0
- package/dist/index56.js +1 -0
- package/dist/index57.cjs +1 -0
- package/dist/index57.js +1 -0
- package/dist/index58.cjs +1 -0
- package/dist/index58.js +1 -0
- package/dist/index59.cjs +1 -0
- package/dist/index59.js +1 -0
- package/dist/index6.cjs +1 -0
- package/dist/index6.js +1 -0
- package/dist/index7.cjs +1 -0
- package/dist/index7.js +2 -0
- package/dist/index8.cjs +1 -0
- package/dist/index8.js +2 -0
- package/dist/index9.cjs +1 -0
- package/dist/index9.js +4 -0
- package/dist/src/components/core/button/Button.component.d.ts +36 -0
- package/dist/src/components/core/button/Button.component.d.ts.map +1 -0
- package/dist/src/components/core/icon/Icon.component.d.ts +6 -0
- package/dist/src/components/core/icon/Icon.component.d.ts.map +1 -0
- package/dist/src/components/core/icon-button/IconButton.component.d.ts +36 -0
- package/dist/src/components/core/icon-button/IconButton.component.d.ts.map +1 -0
- package/dist/src/components/core/menu-icon-button/MenuIconButton.component.d.ts +34 -0
- package/dist/src/components/core/menu-icon-button/MenuIconButton.component.d.ts.map +1 -0
- package/dist/src/components/data-display/card/Card.component.d.ts +42 -0
- package/dist/src/components/data-display/card/Card.component.d.ts.map +1 -0
- package/dist/src/components/data-display/chip/Chip.component.d.ts +36 -0
- package/dist/src/components/data-display/chip/Chip.component.d.ts.map +1 -0
- package/dist/src/components/data-display/chip-group/ChipGroup.component.d.ts +72 -0
- package/dist/src/components/data-display/chip-group/ChipGroup.component.d.ts.map +1 -0
- package/dist/src/components/data-display/datatable/DataTable.component.d.ts +25 -0
- package/dist/src/components/data-display/datatable/DataTable.component.d.ts.map +1 -0
- package/dist/src/components/feedback/alert/Alert.component.d.ts +19 -0
- package/dist/src/components/feedback/alert/Alert.component.d.ts.map +1 -0
- package/dist/src/components/feedback/spinner/Spinner.component.d.ts +17 -0
- package/dist/src/components/feedback/spinner/Spinner.component.d.ts.map +1 -0
- package/dist/src/components/forms/alphanumeric-input/AlphanumericInput.component.d.ts +47 -0
- package/dist/src/components/forms/alphanumeric-input/AlphanumericInput.component.d.ts.map +1 -0
- package/dist/src/components/forms/checkbox/Checkbox.component.d.ts +18 -0
- package/dist/src/components/forms/checkbox/Checkbox.component.d.ts.map +1 -0
- package/dist/src/components/forms/email-input/EmailInput.component.d.ts +31 -0
- package/dist/src/components/forms/email-input/EmailInput.component.d.ts.map +1 -0
- package/dist/src/components/forms/input/Input.component.d.ts +28 -0
- package/dist/src/components/forms/input/Input.component.d.ts.map +1 -0
- package/dist/src/components/forms/numeric-input/NumericInput.component.d.ts +44 -0
- package/dist/src/components/forms/numeric-input/NumericInput.component.d.ts.map +1 -0
- package/dist/src/components/forms/otp-input/OTPInput.component.d.ts +81 -0
- package/dist/src/components/forms/otp-input/OTPInput.component.d.ts.map +1 -0
- package/dist/src/components/forms/password-input/PasswordInput.component.d.ts +28 -0
- package/dist/src/components/forms/password-input/PasswordInput.component.d.ts.map +1 -0
- package/dist/src/components/forms/phone-input/PhoneInput.component.d.ts +96 -0
- package/dist/src/components/forms/phone-input/PhoneInput.component.d.ts.map +1 -0
- package/dist/src/components/forms/phone-input/countries.d.ts +93 -0
- package/dist/src/components/forms/phone-input/countries.d.ts.map +1 -0
- package/dist/src/components/forms/radio/Radio.component.d.ts +17 -0
- package/dist/src/components/forms/radio/Radio.component.d.ts.map +1 -0
- package/dist/src/components/forms/select/Select.component.d.ts +108 -0
- package/dist/src/components/forms/select/Select.component.d.ts.map +1 -0
- package/dist/src/components/forms/toggle/Toggle.component.d.ts +80 -0
- package/dist/src/components/forms/toggle/Toggle.component.d.ts.map +1 -0
- package/dist/src/components/layout/auth-layout/AuthLayout.component.d.ts +87 -0
- package/dist/src/components/layout/auth-layout/AuthLayout.component.d.ts.map +1 -0
- package/dist/src/components/layout/container/Container.component.d.ts +26 -0
- package/dist/src/components/layout/container/Container.component.d.ts.map +1 -0
- package/dist/src/components/layout/divider/Divider.component.d.ts +12 -0
- package/dist/src/components/layout/divider/Divider.component.d.ts.map +1 -0
- package/dist/src/components/layout/grid/Grid.component.d.ts +53 -0
- package/dist/src/components/layout/grid/Grid.component.d.ts.map +1 -0
- package/dist/src/components/layout/stack/Stack.component.d.ts +13 -0
- package/dist/src/components/layout/stack/Stack.component.d.ts.map +1 -0
- package/dist/src/components/navigation/tabs/Tabs.component.d.ts +46 -0
- package/dist/src/components/navigation/tabs/Tabs.component.d.ts.map +1 -0
- package/dist/src/components/overlays/dialog/Dialog.component.d.ts +83 -0
- package/dist/src/components/overlays/dialog/Dialog.component.d.ts.map +1 -0
- package/dist/src/components/typography/heading/Heading.component.d.ts +20 -0
- package/dist/src/components/typography/heading/Heading.component.d.ts.map +1 -0
- package/dist/src/components/typography/link/Link.component.d.ts +61 -0
- package/dist/src/components/typography/link/Link.component.d.ts.map +1 -0
- package/dist/src/components/typography/text/Text.component.d.ts +21 -0
- package/dist/src/components/typography/text/Text.component.d.ts.map +1 -0
- package/dist/src/index.d.ts +61 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/lib/debounce.d.ts +12 -0
- package/dist/src/lib/debounce.d.ts.map +1 -0
- package/dist/src/lib/debounce.spec.d.ts +2 -0
- package/dist/src/lib/debounce.spec.d.ts.map +1 -0
- package/dist/src/lib/dev-utils.d.ts +41 -0
- package/dist/src/lib/dev-utils.d.ts.map +1 -0
- package/dist/src/lib/index.d.ts +19 -0
- package/dist/src/lib/index.d.ts.map +1 -0
- package/dist/src/lib/useMergedRef.d.ts +19 -0
- package/dist/src/lib/useMergedRef.d.ts.map +1 -0
- package/package.json +92 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2025 Adam Milo
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
|
22
|
+
|
|
23
|
+
|
package/README.md
ADDED
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
# @adam-milo/ui
|
|
2
|
+
|
|
3
|
+
A modern, accessible React component library built with TypeScript and Tailwind CSS v4.
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
```bash
|
|
8
|
+
npm install @adam-milo/ui
|
|
9
|
+
```
|
|
10
|
+
|
|
11
|
+
## Setup
|
|
12
|
+
|
|
13
|
+
Import styles once in your app entry:
|
|
14
|
+
|
|
15
|
+
```tsx
|
|
16
|
+
// main.tsx or App.tsx
|
|
17
|
+
import '@adam-milo/ui/styles.css';
|
|
18
|
+
```
|
|
19
|
+
|
|
20
|
+
## Usage
|
|
21
|
+
|
|
22
|
+
```tsx
|
|
23
|
+
import { Button, Stack, Checkbox } from '@adam-milo/ui';
|
|
24
|
+
|
|
25
|
+
function App() {
|
|
26
|
+
return (
|
|
27
|
+
<Stack spacing="4">
|
|
28
|
+
<Button variant="main-orange">Submit</Button>
|
|
29
|
+
<Button variant="secondary-blue">Cancel</Button>
|
|
30
|
+
<Checkbox label="I agree to the terms" />
|
|
31
|
+
</Stack>
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## Components
|
|
37
|
+
|
|
38
|
+
### Button
|
|
39
|
+
|
|
40
|
+
```tsx
|
|
41
|
+
import { Button } from '@adam-milo/ui';
|
|
42
|
+
|
|
43
|
+
// Variants
|
|
44
|
+
<Button variant="main-orange">Main Orange</Button>
|
|
45
|
+
<Button variant="secondary-orange">Secondary Orange</Button>
|
|
46
|
+
<Button variant="secondary-blue">Secondary Blue</Button>
|
|
47
|
+
|
|
48
|
+
// With icon
|
|
49
|
+
<Button variant="main-orange" icon={<Icon name="PlusIcon" />}>
|
|
50
|
+
Add Item
|
|
51
|
+
</Button>
|
|
52
|
+
|
|
53
|
+
// Full width
|
|
54
|
+
<Button variant="main-orange" fullWidth>
|
|
55
|
+
Submit
|
|
56
|
+
</Button>
|
|
57
|
+
|
|
58
|
+
// Disabled
|
|
59
|
+
<Button variant="main-orange" disabled>
|
|
60
|
+
Disabled
|
|
61
|
+
</Button>
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
### EmailInput
|
|
65
|
+
|
|
66
|
+
```tsx
|
|
67
|
+
import { EmailInput } from '@adam-milo/ui';
|
|
68
|
+
|
|
69
|
+
<EmailInput
|
|
70
|
+
label="Email"
|
|
71
|
+
placeholder="Enter your email"
|
|
72
|
+
value={email}
|
|
73
|
+
onChange={(e) => setEmail(e.target.value)}
|
|
74
|
+
error={error}
|
|
75
|
+
helperText="We'll never share your email"
|
|
76
|
+
/>;
|
|
77
|
+
```
|
|
78
|
+
|
|
79
|
+
### PasswordInput
|
|
80
|
+
|
|
81
|
+
```tsx
|
|
82
|
+
import { PasswordInput } from '@adam-milo/ui';
|
|
83
|
+
|
|
84
|
+
<PasswordInput
|
|
85
|
+
label="Password"
|
|
86
|
+
placeholder="Enter your password"
|
|
87
|
+
value={password}
|
|
88
|
+
onChange={(e) => setPassword(e.target.value)}
|
|
89
|
+
error={error}
|
|
90
|
+
/>;
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
### PhoneInput
|
|
94
|
+
|
|
95
|
+
```tsx
|
|
96
|
+
import { PhoneInput } from '@adam-milo/ui';
|
|
97
|
+
|
|
98
|
+
<PhoneInput label="Phone Number" value={phone} onChange={setPhone} defaultCountry="IL" />;
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### OTPInput
|
|
102
|
+
|
|
103
|
+
```tsx
|
|
104
|
+
import { OTPInput } from '@adam-milo/ui';
|
|
105
|
+
|
|
106
|
+
<OTPInput length={6} value={otp} onChange={setOtp} onComplete={(code) => verifyCode(code)} />;
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Checkbox
|
|
110
|
+
|
|
111
|
+
```tsx
|
|
112
|
+
import { Checkbox } from '@adam-milo/ui';
|
|
113
|
+
|
|
114
|
+
<Checkbox
|
|
115
|
+
label="I agree to the terms"
|
|
116
|
+
checked={checked}
|
|
117
|
+
onChange={(e) => setChecked(e.target.checked)}
|
|
118
|
+
/>;
|
|
119
|
+
```
|
|
120
|
+
|
|
121
|
+
### Radio
|
|
122
|
+
|
|
123
|
+
```tsx
|
|
124
|
+
import { Radio } from '@adam-milo/ui';
|
|
125
|
+
|
|
126
|
+
<Radio
|
|
127
|
+
name="plan"
|
|
128
|
+
label="Basic Plan"
|
|
129
|
+
value="basic"
|
|
130
|
+
checked={plan === 'basic'}
|
|
131
|
+
onChange={(e) => setPlan(e.target.value)}
|
|
132
|
+
/>;
|
|
133
|
+
```
|
|
134
|
+
|
|
135
|
+
### Toggle
|
|
136
|
+
|
|
137
|
+
```tsx
|
|
138
|
+
import { Toggle } from '@adam-milo/ui';
|
|
139
|
+
|
|
140
|
+
<Toggle label="Enable notifications" checked={enabled} onChange={setEnabled} />;
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
### Select
|
|
144
|
+
|
|
145
|
+
```tsx
|
|
146
|
+
import { Select, SelectTrigger, SelectValue, SelectContent, SelectItem } from '@adam-milo/ui';
|
|
147
|
+
|
|
148
|
+
<Select value={value} onValueChange={setValue}>
|
|
149
|
+
<SelectTrigger>
|
|
150
|
+
<SelectValue placeholder="Select option" />
|
|
151
|
+
</SelectTrigger>
|
|
152
|
+
<SelectContent>
|
|
153
|
+
<SelectItem value="option1">Option 1</SelectItem>
|
|
154
|
+
<SelectItem value="option2">Option 2</SelectItem>
|
|
155
|
+
</SelectContent>
|
|
156
|
+
</Select>;
|
|
157
|
+
```
|
|
158
|
+
|
|
159
|
+
### Stack
|
|
160
|
+
|
|
161
|
+
```tsx
|
|
162
|
+
import { Stack } from '@adam-milo/ui';
|
|
163
|
+
|
|
164
|
+
// Vertical stack (default)
|
|
165
|
+
<Stack spacing="4">
|
|
166
|
+
<div>Item 1</div>
|
|
167
|
+
<div>Item 2</div>
|
|
168
|
+
</Stack>
|
|
169
|
+
|
|
170
|
+
// Horizontal stack
|
|
171
|
+
<Stack direction="horizontal" spacing="4">
|
|
172
|
+
<div>Item 1</div>
|
|
173
|
+
<div>Item 2</div>
|
|
174
|
+
</Stack>
|
|
175
|
+
```
|
|
176
|
+
|
|
177
|
+
### Grid
|
|
178
|
+
|
|
179
|
+
```tsx
|
|
180
|
+
import { Grid } from '@adam-milo/ui';
|
|
181
|
+
|
|
182
|
+
<Grid columns={3} gap="4">
|
|
183
|
+
<div>Cell 1</div>
|
|
184
|
+
<div>Cell 2</div>
|
|
185
|
+
<div>Cell 3</div>
|
|
186
|
+
</Grid>;
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
### Card
|
|
190
|
+
|
|
191
|
+
```tsx
|
|
192
|
+
import { Card, CardHeader, CardTitle, CardContent, CardFooter } from '@adam-milo/ui';
|
|
193
|
+
|
|
194
|
+
<Card>
|
|
195
|
+
<CardHeader>
|
|
196
|
+
<CardTitle>Card Title</CardTitle>
|
|
197
|
+
</CardHeader>
|
|
198
|
+
<CardContent>Card content goes here</CardContent>
|
|
199
|
+
<CardFooter>
|
|
200
|
+
<Button>Action</Button>
|
|
201
|
+
</CardFooter>
|
|
202
|
+
</Card>;
|
|
203
|
+
```
|
|
204
|
+
|
|
205
|
+
### Dialog
|
|
206
|
+
|
|
207
|
+
```tsx
|
|
208
|
+
import {
|
|
209
|
+
Dialog,
|
|
210
|
+
DialogTrigger,
|
|
211
|
+
DialogContent,
|
|
212
|
+
DialogHeader,
|
|
213
|
+
DialogTitle,
|
|
214
|
+
DialogDescription,
|
|
215
|
+
} from '@adam-milo/ui';
|
|
216
|
+
|
|
217
|
+
<Dialog>
|
|
218
|
+
<DialogTrigger asChild>
|
|
219
|
+
<Button>Open Dialog</Button>
|
|
220
|
+
</DialogTrigger>
|
|
221
|
+
<DialogContent>
|
|
222
|
+
<DialogHeader>
|
|
223
|
+
<DialogTitle>Dialog Title</DialogTitle>
|
|
224
|
+
<DialogDescription>Dialog description here.</DialogDescription>
|
|
225
|
+
</DialogHeader>
|
|
226
|
+
<p>Dialog content</p>
|
|
227
|
+
</DialogContent>
|
|
228
|
+
</Dialog>;
|
|
229
|
+
```
|
|
230
|
+
|
|
231
|
+
### Tabs
|
|
232
|
+
|
|
233
|
+
```tsx
|
|
234
|
+
import { Tabs, TabsList, TabsTrigger, TabsContent } from '@adam-milo/ui';
|
|
235
|
+
|
|
236
|
+
<Tabs defaultValue="tab1">
|
|
237
|
+
<TabsList>
|
|
238
|
+
<TabsTrigger value="tab1">Tab 1</TabsTrigger>
|
|
239
|
+
<TabsTrigger value="tab2">Tab 2</TabsTrigger>
|
|
240
|
+
</TabsList>
|
|
241
|
+
<TabsContent value="tab1">Content 1</TabsContent>
|
|
242
|
+
<TabsContent value="tab2">Content 2</TabsContent>
|
|
243
|
+
</Tabs>;
|
|
244
|
+
```
|
|
245
|
+
|
|
246
|
+
### Alert
|
|
247
|
+
|
|
248
|
+
```tsx
|
|
249
|
+
import { Alert } from '@adam-milo/ui';
|
|
250
|
+
|
|
251
|
+
<Alert variant="success">Operation completed successfully!</Alert>
|
|
252
|
+
<Alert variant="error">Something went wrong.</Alert>
|
|
253
|
+
<Alert variant="warning">Please check your input.</Alert>
|
|
254
|
+
<Alert variant="info">Here's some information.</Alert>
|
|
255
|
+
```
|
|
256
|
+
|
|
257
|
+
### Heading & Text
|
|
258
|
+
|
|
259
|
+
```tsx
|
|
260
|
+
import { Heading, Text } from '@adam-milo/ui';
|
|
261
|
+
|
|
262
|
+
<Heading level="h1" size="xl">Page Title</Heading>
|
|
263
|
+
<Heading level="h2" size="lg">Section Title</Heading>
|
|
264
|
+
<Text size="md">Body text content</Text>
|
|
265
|
+
<Text size="sm" color="secondary">Secondary text</Text>
|
|
266
|
+
```
|
|
267
|
+
|
|
268
|
+
### Spinner
|
|
269
|
+
|
|
270
|
+
```tsx
|
|
271
|
+
import { Spinner } from '@adam-milo/ui';
|
|
272
|
+
|
|
273
|
+
<Spinner size="sm" />
|
|
274
|
+
<Spinner size="md" />
|
|
275
|
+
<Spinner size="lg" />
|
|
276
|
+
```
|
|
277
|
+
|
|
278
|
+
### Chip
|
|
279
|
+
|
|
280
|
+
```tsx
|
|
281
|
+
import { Chip, ChipGroup } from '@adam-milo/ui';
|
|
282
|
+
|
|
283
|
+
<Chip>Tag</Chip>
|
|
284
|
+
<Chip variant="outline">Outline</Chip>
|
|
285
|
+
|
|
286
|
+
<ChipGroup
|
|
287
|
+
items={[
|
|
288
|
+
{ id: '1', label: 'Option 1' },
|
|
289
|
+
{ id: '2', label: 'Option 2' },
|
|
290
|
+
]}
|
|
291
|
+
selected={selected}
|
|
292
|
+
onSelectionChange={setSelected}
|
|
293
|
+
/>
|
|
294
|
+
```
|
|
295
|
+
|
|
296
|
+
## TypeScript
|
|
297
|
+
|
|
298
|
+
Full TypeScript support with exported types:
|
|
299
|
+
|
|
300
|
+
```tsx
|
|
301
|
+
import { Button, type ButtonProps } from '@adam-milo/ui';
|
|
302
|
+
|
|
303
|
+
const MyButton: React.FC<ButtonProps> = (props) => {
|
|
304
|
+
return <Button {...props} />;
|
|
305
|
+
};
|
|
306
|
+
```
|
|
307
|
+
|
|
308
|
+
## RTL Support
|
|
309
|
+
|
|
310
|
+
Components support RTL out of the box using CSS logical properties:
|
|
311
|
+
|
|
312
|
+
```tsx
|
|
313
|
+
<html dir="rtl">
|
|
314
|
+
<body>
|
|
315
|
+
<App /> {/* All components render correctly in RTL */}
|
|
316
|
+
</body>
|
|
317
|
+
</html>
|
|
318
|
+
```
|
|
319
|
+
|
|
320
|
+
## Accessibility
|
|
321
|
+
|
|
322
|
+
All components are WCAG AA compliant with:
|
|
323
|
+
|
|
324
|
+
- Semantic HTML elements
|
|
325
|
+
- Proper ARIA attributes
|
|
326
|
+
- Keyboard navigation
|
|
327
|
+
- Focus management
|
|
328
|
+
- Screen reader support
|
|
329
|
+
|
|
330
|
+
## Tree Shaking
|
|
331
|
+
|
|
332
|
+
Import only what you need - unused components are automatically removed:
|
|
333
|
+
|
|
334
|
+
```tsx
|
|
335
|
+
// Only Button code is included in your bundle
|
|
336
|
+
import { Button } from '@adam-milo/ui';
|
|
337
|
+
```
|
|
338
|
+
|
|
339
|
+
## License
|
|
340
|
+
|
|
341
|
+
MIT
|
package/dist/index.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./index2.cjs"),r=require("./index3.cjs"),t=require("./index4.cjs"),o=require("./index5.cjs"),i=require("./index6.cjs"),s=require("./index7.cjs"),n=require("./index8.cjs"),a=require("./index9.cjs"),p=require("./index10.cjs"),x=require("./index11.cjs"),u=require("./index12.cjs"),l=require("./index13.cjs"),c=require("./index14.cjs"),d=require("./index15.cjs"),g=require("./index16.cjs"),C=require("./index17.cjs"),D=require("./index18.cjs"),j=require("./index19.cjs"),q=require("./index20.cjs"),I=require("./index21.cjs"),b=require("./index22.cjs"),h=require("./index23.cjs"),m=require("./index24.cjs"),T=require("./index25.cjs"),S=require("./index26.cjs"),P=require("./index27.cjs"),y=require("./index28.cjs"),B=require("./index29.cjs"),f=require("./index30.cjs"),k=require("./index31.cjs"),M=require("@adam-milo/icons"),L=require("./index32.cjs");exports.Button=e.Button,exports.IconButton=r.IconButton,exports.MenuIconButton=t.MenuIconButton,exports.EmailInput=o.EmailInput,exports.PasswordInput=i.PasswordInput,exports.NumericInput=s.NumericInput,exports.AlphanumericInput=n.AlphanumericInput,exports.Checkbox=a.Checkbox,exports.Radio=p.Radio,exports.Select=x.Select,exports.SelectContent=x.SelectContent,exports.SelectGroup=x.SelectGroup,exports.SelectItem=x.SelectItem,exports.SelectLabel=x.SelectLabel,exports.SelectSeparator=x.SelectSeparator,exports.SelectTrigger=x.SelectTrigger,exports.SelectValue=x.SelectValue,exports.PhoneInput=u.PhoneInput,exports.OTPInput=l.OTPInput,exports.Toggle=c.Toggle,exports.Tabs=d.Tabs,exports.TabsContent=d.TabsContent,exports.TabsList=d.TabsList,exports.TabsTrigger=d.TabsTrigger,exports.Alert=g.Alert,exports.Card=C.Card,exports.CardContent=C.CardContent,exports.CardDescription=C.CardDescription,exports.CardFooter=C.CardFooter,exports.CardHeader=C.CardHeader,exports.CardTitle=C.CardTitle,exports.DataTable=D.DataTable,exports.Chip=j.Chip,exports.ChipGroup=q.ChipGroup,exports.Dialog=I.Dialog,exports.DialogClose=I.DialogClose,exports.DialogCloseButton=I.DialogCloseButton,exports.DialogContent=I.DialogContent,exports.DialogDescription=I.DialogDescription,exports.DialogFooter=I.DialogFooter,exports.DialogHeader=I.DialogHeader,exports.DialogIcon=I.DialogIcon,exports.DialogOverlay=I.DialogOverlay,exports.DialogPortal=I.DialogPortal,exports.DialogTitle=I.DialogTitle,exports.DialogTrigger=I.DialogTrigger,exports.Stack=b.Stack,exports.Container=h.Container,exports.Divider=m.Divider,exports.AuthLayout=T.AuthLayout,exports.Grid=S.Grid,exports.Text=P.Text,exports.Heading=y.Heading,exports.Link=B.Link,exports.Spinner=f.Spinner,exports.cn=k.cn,exports.generateId=k.generateId,Object.defineProperty(exports,"Icon",{enumerable:!0,get:()=>M.Icon}),Object.defineProperty(exports,"availableIcons",{enumerable:!0,get:()=>M.availableIcons}),Object.defineProperty(exports,"figmaIconMapping",{enumerable:!0,get:()=>M.figmaIconMapping}),Object.defineProperty(exports,"getRadixIconName",{enumerable:!0,get:()=>M.getRadixIconName}),exports.allCountries=L.allCountries,exports.commonCountries=L.commonCountries,exports.defaultCountries=L.defaultCountries,exports.defaultPhoneMask=L.defaultPhoneMask,exports.formatPhoneNumber=L.formatPhoneNumber,exports.getCountriesByDialCode=L.getCountriesByDialCode,exports.getCountryByCode=L.getCountryByCode,exports.getCountryByDialCode=L.getCountryByDialCode,exports.getPhoneDigits=L.getPhoneDigits,exports.getPhoneMask=L.getPhoneMask,exports.isValidPhoneLength=L.isValidPhoneLength,exports.phoneMasks=L.phoneMasks,exports.searchCountries=L.searchCountries;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './src/index'
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Button as o}from"./index2.js";import{IconButton as m}from"./index3.js";import{MenuIconButton as i}from"./index4.js";import{EmailInput as r}from"./index5.js";import{PasswordInput as p}from"./index6.js";import{NumericInput as t}from"./index7.js";import{AlphanumericInput as d}from"./index8.js";import{Checkbox as e}from"./index9.js";import{Radio as f}from"./index10.js";import{Select as n,SelectContent as s,SelectGroup as x,SelectItem as j,SelectLabel as a,SelectSeparator as c,SelectTrigger as l,SelectValue as b}from"./index11.js";import{PhoneInput as g}from"./index12.js";import{OTPInput as h}from"./index13.js";import{Toggle as k}from"./index14.js";import{Tabs as q,TabsContent as u,TabsList as v,TabsTrigger as w}from"./index15.js";import{Alert as y}from"./index16.js";import{Card as z,CardContent as A,CardDescription as B,CardFooter as C,CardHeader as D,CardTitle as E}from"./index17.js";import{DataTable as F}from"./index18.js";import{Chip as G}from"./index19.js";import{ChipGroup as H}from"./index20.js";import{Dialog as I,DialogClose as J,DialogCloseButton as K,DialogContent as L,DialogDescription as M,DialogFooter as N,DialogHeader as O,DialogIcon as P,DialogOverlay as Q,DialogPortal as R,DialogTitle as S,DialogTrigger as T}from"./index21.js";import{Stack as U}from"./index22.js";import{Container as V}from"./index23.js";import{Divider as W}from"./index24.js";import{AuthLayout as X}from"./index25.js";import{Grid as Y}from"./index26.js";import{Text as Z}from"./index27.js";import{Heading as $}from"./index28.js";import{Link as _}from"./index29.js";import{Spinner as oo}from"./index30.js";import{cn as mo,generateId as io}from"./index31.js";import{Icon as ro,availableIcons as po,figmaIconMapping as to,getRadixIconName as eo}from"@adam-milo/icons";import{allCountries as fo,commonCountries as no,defaultCountries as so,defaultPhoneMask as xo,formatPhoneNumber as jo,getCountriesByDialCode as ao,getCountryByCode as co,getCountryByDialCode as lo,getPhoneDigits as bo,getPhoneMask as go,isValidPhoneLength as ho,phoneMasks as ko,searchCountries as qo}from"./index32.js";export{y as Alert,d as AlphanumericInput,X as AuthLayout,o as Button,z as Card,A as CardContent,B as CardDescription,C as CardFooter,D as CardHeader,E as CardTitle,e as Checkbox,G as Chip,H as ChipGroup,V as Container,F as DataTable,I as Dialog,J as DialogClose,K as DialogCloseButton,L as DialogContent,M as DialogDescription,N as DialogFooter,O as DialogHeader,P as DialogIcon,Q as DialogOverlay,R as DialogPortal,S as DialogTitle,T as DialogTrigger,W as Divider,r as EmailInput,Y as Grid,$ as Heading,ro as Icon,m as IconButton,_ as Link,i as MenuIconButton,t as NumericInput,h as OTPInput,p as PasswordInput,g as PhoneInput,f as Radio,n as Select,s as SelectContent,x as SelectGroup,j as SelectItem,a as SelectLabel,c as SelectSeparator,l as SelectTrigger,b as SelectValue,oo as Spinner,U as Stack,q as Tabs,u as TabsContent,v as TabsList,w as TabsTrigger,Z as Text,k as Toggle,fo as allCountries,po as availableIcons,mo as cn,no as commonCountries,so as defaultCountries,xo as defaultPhoneMask,to as figmaIconMapping,jo as formatPhoneNumber,io as generateId,ao as getCountriesByDialCode,co as getCountryByCode,lo as getCountryByDialCode,bo as getPhoneDigits,go as getPhoneMask,eo as getRadixIconName,ho as isValidPhoneLength,ko as phoneMasks,qo as searchCountries};
|
package/dist/index10.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("react"),a=require("./index31.cjs"),o=["appearance-none w-5 h-5","border border-[var(--color-icon-secondary)] rounded-full","bg-transparent cursor-pointer flex-shrink-0 relative","transition-all duration-200","hover:enabled:border-[var(--color-action)]","focus-visible:outline-2 focus-visible:outline-[var(--color-clickable)] focus-visible:outline-offset-2","checked:border-[var(--color-action)]","disabled:border-[var(--color-border)] disabled:bg-transparent disabled:cursor-not-allowed","disabled:checked:border-[var(--color-action)]","radio-indicator"].join(" "),t=r.forwardRef(({label:t,error:l,helperText:d,className:i,id:c,required:s,disabled:n,checked:u,"data-cy":b,"data-testid":x,...p},v)=>{const f=r.useId(),h=c||f,m=`${h}-error`,y=`${h}-helper`,$=b||"radio",j=x||"radio",g=r.useRef(null),k=r.useCallback(e=>{g.current=e,v&&("function"==typeof v?v(e):"current"in v&&(v.current=e))},[v]),N=t&&s&&!t.includes("*")?`${t} *`:t;return e.jsxs("div",{className:a.cn("inline-flex flex-col gap-2",n&&"opacity-50 cursor-not-allowed"),"data-cy":`${$}-wrapper`,"data-testid":`${j}-wrapper`,children:[e.jsxs("div",{className:"inline-flex items-center gap-2 relative",children:[e.jsx("input",{ref:k,id:h,type:"radio",checked:u,className:a.cn(o,l&&"border-[var(--color-error)] checked:border-[var(--color-error)]",i),"aria-describedby":l?m:d?y:void 0,"data-cy":$,"data-testid":j,disabled:n,required:s,...p}),t&&e.jsx("label",{htmlFor:h,className:a.cn("text-[var(--color-text)] text-sm font-normal leading-relaxed cursor-pointer select-none",n&&"text-[var(--color-system-text)] cursor-not-allowed"),"data-cy":`${$}-label`,"data-testid":`${j}-label`,children:N})]}),l&&e.jsx("span",{id:m,className:"text-[var(--color-error)] text-base leading-relaxed ms-7",role:"alert","data-cy":`${$}-error`,"data-testid":`${j}-error`,children:l}),d&&!l&&e.jsx("span",{id:y,className:"text-[var(--color-system-text)] text-base leading-relaxed ms-7","data-cy":`${$}-helper`,"data-testid":`${j}-helper`,children:d})]})});t.displayName="Radio",exports.Radio=t;
|
package/dist/index10.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{jsxs as e,jsx as r}from"react/jsx-runtime";import{forwardRef as a,useId as o,useRef as t,useCallback as l}from"react";import{cn as d}from"./index31.js";const i=["appearance-none w-5 h-5","border border-[var(--color-icon-secondary)] rounded-full","bg-transparent cursor-pointer flex-shrink-0 relative","transition-all duration-200","hover:enabled:border-[var(--color-action)]","focus-visible:outline-2 focus-visible:outline-[var(--color-clickable)] focus-visible:outline-offset-2","checked:border-[var(--color-action)]","disabled:border-[var(--color-border)] disabled:bg-transparent disabled:cursor-not-allowed","disabled:checked:border-[var(--color-action)]","radio-indicator"].join(" "),c=a(({label:a,error:c,helperText:s,className:n,id:b,required:p,disabled:u,checked:m,"data-cy":v,"data-testid":x,...h},f)=>{const y=o(),$=b||y,N=`${$}-error`,g=`${$}-helper`,k=v||"radio",w=x||"radio",j=t(null),q=l(e=>{j.current=e,f&&("function"==typeof f?f(e):"current"in f&&(f.current=e))},[f]),F=a&&p&&!a.includes("*")?`${a} *`:a;/* @__PURE__ */
|
|
2
|
+
return e("div",{className:d("inline-flex flex-col gap-2",u&&"opacity-50 cursor-not-allowed"),"data-cy":`${k}-wrapper`,"data-testid":`${w}-wrapper`,children:[
|
|
3
|
+
/* @__PURE__ */e("div",{className:"inline-flex items-center gap-2 relative",children:[
|
|
4
|
+
/* @__PURE__ */r("input",{ref:q,id:$,type:"radio",checked:m,className:d(i,c&&"border-[var(--color-error)] checked:border-[var(--color-error)]",n),"aria-describedby":c?N:s?g:void 0,"data-cy":k,"data-testid":w,disabled:u,required:p,...h}),a&&/* @__PURE__ */r("label",{htmlFor:$,className:d("text-[var(--color-text)] text-sm font-normal leading-relaxed cursor-pointer select-none",u&&"text-[var(--color-system-text)] cursor-not-allowed"),"data-cy":`${k}-label`,"data-testid":`${w}-label`,children:F})]}),c&&/* @__PURE__ */r("span",{id:N,className:"text-[var(--color-error)] text-base leading-relaxed ms-7",role:"alert","data-cy":`${k}-error`,"data-testid":`${w}-error`,children:c}),s&&!c&&/* @__PURE__ */r("span",{id:g,className:"text-[var(--color-system-text)] text-base leading-relaxed ms-7","data-cy":`${k}-helper`,"data-testid":`${w}-helper`,children:s})]})});c.displayName="Radio";export{c as Radio};
|
package/dist/index11.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),r=require("@radix-ui/react-select"),a=require("./index31.cjs");function o(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const r in e)if("default"!==r){const a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:()=>e[r]})}return t.default=e,Object.freeze(t)}const l=o(r),s=l.Root,d=t.forwardRef(({className:r,children:o,label:s,error:d,helperText:c,fullWidth:n=!1,hasValue:i=!1,placeholder:p,id:u,"data-cy":x,"data-testid":b,disabled:h,required:m,...g},v)=>{const f=t.useId(),y=u||f,w=`${y}-label`,j=`${y}-error`,N=`${y}-helper`,S=x||"select-trigger",$=b||"select-trigger";return e.jsxs("div",{className:a.cn("flex flex-col gap-2 relative w-auto",n&&"w-full"),"data-cy":`${S}-wrapper`,"data-testid":`${$}-wrapper`,children:[s&&e.jsx("label",{id:w,htmlFor:y,className:a.cn("text-sm font-normal leading-none text-[var(--color-grey-07)]",d&&"text-[var(--color-error)]",h&&"opacity-50"),"data-cy":`${S}-label`,"data-testid":`${$}-label`,children:s}),e.jsxs(l.Trigger,{ref:v,id:y,className:a.cn("group flex items-center justify-between gap-2 w-full h-11 px-3.5","bg-[var(--color-card)] border border-[var(--color-border)] rounded-[var(--radius-md)]","text-base leading-none text-[var(--color-text)] text-start","cursor-pointer outline-none transition-[border-color] duration-200 ease-in-out","hover:border-[var(--color-button-blue)] focus:border-[var(--color-button-blue)]","data-[state=open]:border-[var(--color-button-blue)]","disabled:cursor-not-allowed disabled:opacity-50 disabled:pointer-events-none",d&&"border-[var(--color-error)] hover:border-[var(--color-error)] focus:border-[var(--color-error)] data-[state=open]:border-[var(--color-error)]",!i&&"text-[var(--color-icon-secondary)]",r),"aria-invalid":d?"true":"false","aria-describedby":d?j:c?N:void 0,"aria-labelledby":s?w:void 0,"aria-required":m?"true":void 0,"data-cy":S,"data-testid":$,disabled:h,...g,children:[e.jsx("span",{className:"flex-1 min-w-0 overflow-hidden text-ellipsis whitespace-nowrap",children:i?o:e.jsx("span",{"data-cy":`${S}-placeholder`,"data-testid":`${$}-placeholder`,children:p||s})}),e.jsx(l.Icon,{className:"flex items-center justify-center shrink-0 w-5 h-5 text-[var(--color-text)] transition-transform duration-200 ease-in-out group-data-[state=open]:rotate-180 [&_svg]:w-full [&_svg]:h-full","data-cy":`${S}-icon`,"data-testid":`${$}-icon`,children:e.jsx("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:e.jsx("path",{d:"M5 7.5L10 12.5L15 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),d&&e.jsx("span",{id:j,className:"text-xs leading-none text-[var(--color-error)] ps-3.5 pt-1.5",role:"alert","data-cy":`${S}-error`,"data-testid":`${$}-error`,children:d}),c&&!d&&e.jsx("span",{id:N,className:"text-xs leading-none text-[var(--color-grey-07)] ps-3.5 pt-1.5","data-cy":`${S}-helper`,"data-testid":`${$}-helper`,children:c})]})});d.displayName="SelectTrigger";const c=l.Value,n=t.forwardRef(({className:t,children:r,position:o="popper","data-cy":s,"data-testid":d,...c},n)=>{const i=s||"select-content",p=d||"select-content";return e.jsx(l.Portal,{children:e.jsx(l.Content,{ref:n,className:a.cn("select-content-animate overflow-hidden z-50 min-w-[var(--radix-select-trigger-width)] max-h-[var(--radix-select-content-available-height)]","bg-[var(--color-card)] rounded-[var(--radius-md)] shadow-[0_0.25rem_1rem_rgba(0,0,0,0.1)]",t),position:o,sideOffset:4,"data-cy":i,"data-testid":p,...c,children:e.jsx(l.Viewport,{className:"p-1",children:r})})})});n.displayName="SelectContent";const i=t.forwardRef(({className:t,children:r,value:o,"data-cy":s,"data-testid":d,...c},n)=>{const i=s||`select-item-${o}`,p=d||`select-item-${o}`;return e.jsx(l.Item,{ref:n,className:a.cn("flex items-center gap-4 h-10 min-h-11 px-2 rounded-md text-base leading-none text-[var(--color-text)]","cursor-pointer select-none outline-none transition-colors duration-150 ease-in-out","hover:bg-[var(--color-bg)] data-[highlighted]:bg-[var(--color-bg)] data-[state=checked]:bg-[var(--color-bg-secondary)]","data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[disabled]:pointer-events-none","max-sm:min-h-11",t),value:o,"data-cy":i,"data-testid":p,...c,children:e.jsx(l.ItemText,{children:r})})});i.displayName="SelectItem";const p=l.Group,u=t.forwardRef(({className:t,"data-cy":r,"data-testid":o,...s},d)=>{const c=r||"select-label",n=o||"select-label";return e.jsx(l.Label,{ref:d,className:a.cn("py-2 px-2 text-xs font-medium text-[var(--color-grey-07)]",t),"data-cy":c,"data-testid":n,...s})});u.displayName="SelectLabel";const x=t.forwardRef(({className:t,"data-cy":r,"data-testid":o,...s},d)=>{const c=r||"select-separator",n=o||"select-separator";return e.jsx(l.Separator,{ref:d,className:a.cn("h-px my-1 bg-[var(--color-border)]",t),"data-cy":c,"data-testid":n,...s})});x.displayName="SelectSeparator",exports.Select=s,exports.SelectContent=n,exports.SelectGroup=p,exports.SelectItem=i,exports.SelectLabel=u,exports.SelectSeparator=x,exports.SelectTrigger=d,exports.SelectValue=c;
|
package/dist/index11.js
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{forwardRef as a,useId as r}from"react";import*as o from"@radix-ui/react-select";import{cn as l}from"./index31.js";const d=o.Root,s=a(({className:a,children:d,label:s,error:i,helperText:c,fullWidth:n=!1,hasValue:p=!1,placeholder:m,id:h,"data-cy":u,"data-testid":b,disabled:v,required:x,...g},y)=>{const f=r(),w=h||f,N=`${w}-label`,$=`${w}-error`,S=`${w}-helper`,k=u||"select-trigger",L=b||"select-trigger";/* @__PURE__ */
|
|
2
|
+
return t("div",{className:l("flex flex-col gap-2 relative w-auto",n&&"w-full"),"data-cy":`${k}-wrapper`,"data-testid":`${L}-wrapper`,children:[s&&/* @__PURE__ */e("label",{id:N,htmlFor:w,className:l("text-sm font-normal leading-none text-[var(--color-grey-07)]",i&&"text-[var(--color-error)]",v&&"opacity-50"),"data-cy":`${k}-label`,"data-testid":`${L}-label`,children:s}),
|
|
3
|
+
/* @__PURE__ */t(o.Trigger,{ref:y,id:w,className:l("group flex items-center justify-between gap-2 w-full h-11 px-3.5","bg-[var(--color-card)] border border-[var(--color-border)] rounded-[var(--radius-md)]","text-base leading-none text-[var(--color-text)] text-start","cursor-pointer outline-none transition-[border-color] duration-200 ease-in-out","hover:border-[var(--color-button-blue)] focus:border-[var(--color-button-blue)]","data-[state=open]:border-[var(--color-button-blue)]","disabled:cursor-not-allowed disabled:opacity-50 disabled:pointer-events-none",i&&"border-[var(--color-error)] hover:border-[var(--color-error)] focus:border-[var(--color-error)] data-[state=open]:border-[var(--color-error)]",!p&&"text-[var(--color-icon-secondary)]",a),"aria-invalid":i?"true":"false","aria-describedby":i?$:c?S:void 0,"aria-labelledby":s?N:void 0,"aria-required":x?"true":void 0,"data-cy":k,"data-testid":L,disabled:v,...g,children:[
|
|
4
|
+
/* @__PURE__ */e("span",{className:"flex-1 min-w-0 overflow-hidden text-ellipsis whitespace-nowrap",children:p?d:/* @__PURE__ */e("span",{"data-cy":`${k}-placeholder`,"data-testid":`${L}-placeholder`,children:m||s})}),
|
|
5
|
+
/* @__PURE__ */e(o.Icon,{className:"flex items-center justify-center shrink-0 w-5 h-5 text-[var(--color-text)] transition-transform duration-200 ease-in-out group-data-[state=open]:rotate-180 [&_svg]:w-full [&_svg]:h-full","data-cy":`${k}-icon`,"data-testid":`${L}-icon`,children:/* @__PURE__ */e("svg",{width:"20",height:"20",viewBox:"0 0 20 20",fill:"none",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",children:/* @__PURE__ */e("path",{d:"M5 7.5L10 12.5L15 7.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})})]}),i&&/* @__PURE__ */e("span",{id:$,className:"text-xs leading-none text-[var(--color-error)] ps-3.5 pt-1.5",role:"alert","data-cy":`${k}-error`,"data-testid":`${L}-error`,children:i}),c&&!i&&/* @__PURE__ */e("span",{id:S,className:"text-xs leading-none text-[var(--color-grey-07)] ps-3.5 pt-1.5","data-cy":`${k}-helper`,"data-testid":`${L}-helper`,children:c})]})});s.displayName="SelectTrigger";const i=o.Value,c=a(({className:t,children:a,position:r="popper","data-cy":d,"data-testid":s,...i},c)=>{const n=d||"select-content",p=s||"select-content";/* @__PURE__ */
|
|
6
|
+
return e(o.Portal,{children:/* @__PURE__ */e(o.Content,{ref:c,className:l("select-content-animate overflow-hidden z-50 min-w-[var(--radix-select-trigger-width)] max-h-[var(--radix-select-content-available-height)]","bg-[var(--color-card)] rounded-[var(--radius-md)] shadow-[0_0.25rem_1rem_rgba(0,0,0,0.1)]",t),position:r,sideOffset:4,"data-cy":n,"data-testid":p,...i,children:/* @__PURE__ */e(o.Viewport,{className:"p-1",children:a})})})});c.displayName="SelectContent";const n=a(({className:t,children:a,value:r,"data-cy":d,"data-testid":s,...i},c)=>{const n=d||`select-item-${r}`,p=s||`select-item-${r}`;/* @__PURE__ */
|
|
7
|
+
return e(o.Item,{ref:c,className:l("flex items-center gap-4 h-10 min-h-11 px-2 rounded-md text-base leading-none text-[var(--color-text)]","cursor-pointer select-none outline-none transition-colors duration-150 ease-in-out","hover:bg-[var(--color-bg)] data-[highlighted]:bg-[var(--color-bg)] data-[state=checked]:bg-[var(--color-bg-secondary)]","data-[disabled]:cursor-not-allowed data-[disabled]:opacity-50 data-[disabled]:pointer-events-none","max-sm:min-h-11",t),value:r,"data-cy":n,"data-testid":p,...i,children:/* @__PURE__ */e(o.ItemText,{children:a})})});n.displayName="SelectItem";const p=o.Group,m=a(({className:t,"data-cy":a,"data-testid":r,...d},s)=>{const i=a||"select-label",c=r||"select-label";/* @__PURE__ */
|
|
8
|
+
return e(o.Label,{ref:s,className:l("py-2 px-2 text-xs font-medium text-[var(--color-grey-07)]",t),"data-cy":i,"data-testid":c,...d})});m.displayName="SelectLabel";const h=a(({className:t,"data-cy":a,"data-testid":r,...d},s)=>{const i=a||"select-separator",c=r||"select-separator";/* @__PURE__ */
|
|
9
|
+
return e(o.Separator,{ref:s,className:l("h-px my-1 bg-[var(--color-border)]",t),"data-cy":i,"data-testid":c,...d})});h.displayName="SelectSeparator";export{d as Select,c as SelectContent,p as SelectGroup,n as SelectItem,m as SelectLabel,h as SelectSeparator,s as SelectTrigger,i as SelectValue};
|
package/dist/index12.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),r=require("./index31.cjs"),o=require("@adam-milo/icons"),a=require("./index32.cjs"),n=t.forwardRef(({label:n,error:s,helperText:l,fullWidth:i=!0,value:d="",onChange:c,countryCode:u="US",onCountryChange:p,countries:x=a.commonCountries,enableFormatting:h=!0,onValidationChange:m,disabled:b,required:g,placeholder:f,id:y,"data-cy":v,"data-testid":C,className:w,onFocus:$,onBlur:k,...j},D)=>{const[N,P]=t.useState(!1),[M,q]=t.useState(!1),[L,S]=t.useState(0),B=t.useId(),E=y||B,I=`${E}-error`,F=`${E}-helper`,R=`${E}-listbox`,T=t.useRef(null),A=t.useRef(null),K=t.useRef(null),V=v||"phone-input",_=C||"phone-input",z=x.find(e=>e.code===u)||x[0],U=a.getPhoneMask(u),O=f||U.placeholder,W=n&&g&&!n.includes("*")?`${n}*`:n;t.useEffect(()=>{const e=e=>{T.current&&!T.current.contains(e.target)&&P(!1)};return N&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[N]);const G=t.useCallback(e=>{p?.(e),P(!1),setTimeout(()=>{const e=T.current?.querySelector("input");e?.focus()},0)},[p]),H=t.useCallback(e=>{switch(e.key){case"ArrowDown":e.preventDefault(),S(e=>Math.min(e+1,x.length-1));break;case"ArrowUp":e.preventDefault(),S(e=>Math.max(e-1,0));break;case"Enter":case" ":e.preventDefault(),G(x[L]);break;case"Escape":e.preventDefault(),P(!1),K.current?.focus();break;case"Tab":P(!1)}},[x,L,G]),J=b?"disabled":s?"error":M||N?"focus":"idle";return e.jsxs("div",{ref:T,className:r.cn("flex flex-col gap-2 relative w-auto",i&&"w-full"),"data-cy":`${V}-wrapper`,"data-testid":`${_}-wrapper`,children:[n&&e.jsx("label",{htmlFor:E,className:"text-sm font-normal leading-none text-[var(--color-grey-07)]","data-cy":`${V}-label`,"data-testid":`${_}-label`,children:W}),e.jsxs("div",{className:r.cn("flex items-center gap-4 h-11 px-3.5 bg-[var(--color-card)] border border-[var(--color-border)] rounded-[var(--radius-md)] cursor-text","transition-[border-color,box-shadow] duration-200 ease-in-out","focus"===J&&"border-[var(--color-button-blue)]","error"===J&&"border-[var(--color-error)]","disabled"===J&&"cursor-not-allowed opacity-50 pointer-events-none","idle"===J&&"hover:border-[var(--color-button-blue)]"),"data-state":J,"data-cy":`${V}-container`,"data-testid":`${_}-container`,children:[e.jsxs("button",{ref:K,type:"button",className:"inline-flex items-center gap-1 shrink-0 m-0 p-0 border-none bg-transparent cursor-pointer focus-visible:outline-2 focus-visible:outline-[var(--color-button-blue)] focus-visible:outline-offset-2 focus-visible:rounded-sm disabled:cursor-not-allowed max-sm:min-w-11 max-sm:min-h-11 max-sm:-ms-2",onClick:()=>!b&&P(!N),onKeyDown:e=>{if("Enter"===e.key||" "===e.key||"ArrowDown"===e.key){e.preventDefault(),P(!0);const t=x.findIndex(e=>e.code===u);S(-1===t?0:t)}},disabled:b,"aria-haspopup":"listbox","aria-expanded":N,"aria-controls":R,"aria-label":`Select country. Current: ${z.name}`,"data-cy":`${V}-country-trigger`,"data-testid":`${_}-country-trigger`,children:[e.jsx("span",{className:"flex items-center justify-center w-5 h-5 text-xl leading-none","data-cy":`${V}-flag`,"data-testid":`${_}-flag`,children:z.flag}),e.jsx(o.Icon,{name:"ChevronDownIcon",size:"sm",color:M||N?"clickable":"text",decorative:!0,"data-cy":`${V}-chevron`})]}),e.jsx("span",{className:"text-base text-[var(--color-text)] whitespace-nowrap shrink-0","data-cy":`${V}-dial-code`,"data-testid":`${_}-dial-code`,children:z.dialCode}),e.jsx("input",{ref:D,id:E,type:"tel",inputMode:"numeric",value:d,onChange:e=>{const t=e.target.value;if(h){const e=a.getPhoneDigits(t).slice(0,U.maxLength),r=a.formatPhoneNumber(e,u);c?.(r);const o=e.length===U.maxLength;m?.(o)}else{const e=t.replace(/[^0-9]/g,"");c?.(e);const r=e.length===U.maxLength;m?.(r)}},onFocus:e=>{q(!0),$?.(e)},onBlur:e=>{q(!1),k?.(e)},placeholder:O,disabled:b,required:g,className:r.cn("m-0 p-0 border-none bg-transparent flex-1 min-w-0 text-base text-[var(--color-text)] leading-none focus:outline-none placeholder:text-[var(--color-icon-secondary)] text-start",w),"aria-invalid":s?"true":"false","aria-required":g?"true":void 0,"aria-describedby":s?I:l?F:void 0,"data-cy":V,"data-testid":_,...j})]}),N&&e.jsx("div",{ref:A,id:R,role:"listbox","aria-label":"Select country",className:"phone-dropdown-animate absolute top-full left-0 right-0 z-50 mt-1 flex flex-col p-1 bg-[var(--color-card)] rounded-[var(--radius-md)] shadow-[0_0.25rem_1rem_rgba(0,0,0,0.1)]",tabIndex:-1,onKeyDown:H,"data-cy":`${V}-dropdown`,"data-testid":`${_}-dropdown`,children:x.map((t,o)=>e.jsxs("div",{role:"option","aria-selected":t.code===u,className:r.cn("flex items-center gap-4 h-10 min-h-11 px-2 rounded-md cursor-pointer select-none transition-colors duration-150 ease-in-out","hover:bg-[var(--color-bg-secondary)]",o===L&&"bg-[var(--color-bg)]",t.code===u&&"bg-[var(--color-bg-secondary)]"),onClick:()=>G(t),onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),G(t))},onMouseEnter:()=>S(o),tabIndex:o===L?0:-1,"data-cy":`${V}-option-${t.code.toLowerCase()}`,"data-testid":`${_}-option-${t.code.toLowerCase()}`,children:[e.jsx("span",{className:"flex items-center justify-center w-5 h-5 text-xl leading-none shrink-0",children:t.flag}),e.jsx("span",{className:"flex-1 text-base text-[var(--color-text)] whitespace-nowrap overflow-hidden text-ellipsis",children:t.name}),e.jsx("span",{className:"text-base text-[var(--color-text)] opacity-50 shrink-0 text-end",children:t.dialCode})]},t.code))}),s&&e.jsx("span",{id:I,className:"text-xs leading-none text-[var(--color-error)] ps-3.5 pt-1.5",role:"alert","data-cy":`${V}-error`,"data-testid":`${_}-error`,children:s}),l&&!s&&e.jsx("span",{id:F,className:"text-xs leading-none text-[var(--color-grey-07)] ps-3.5 pt-1.5","data-cy":`${V}-helper`,"data-testid":`${_}-helper`,children:l})]})});n.displayName="PhoneInput",exports.allCountries=a.allCountries,exports.commonCountries=a.commonCountries,exports.defaultCountries=a.defaultCountries,exports.defaultPhoneMask=a.defaultPhoneMask,exports.formatPhoneNumber=a.formatPhoneNumber,exports.getCountriesByDialCode=a.getCountriesByDialCode,exports.getCountryByCode=a.getCountryByCode,exports.getCountryByDialCode=a.getCountryByDialCode,exports.getPhoneDigits=a.getPhoneDigits,exports.getPhoneMask=a.getPhoneMask,exports.isValidPhoneLength=a.isValidPhoneLength,exports.phoneMasks=a.phoneMasks,exports.searchCountries=a.searchCountries,exports.PhoneInput=n;
|
package/dist/index12.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{forwardRef as r,useState as a,useId as o,useRef as n,useEffect as l,useCallback as d}from"react";import{cn as i}from"./index31.js";import{Icon as s}from"@adam-milo/icons";import{commonCountries as c,getPhoneMask as u,getPhoneDigits as p,formatPhoneNumber as m}from"./index32.js";import{allCountries as b,defaultCountries as x,defaultPhoneMask as h,getCountriesByDialCode as f,getCountryByCode as v,getCountryByDialCode as g,isValidPhoneLength as y,phoneMasks as w,searchCountries as $}from"./index32.js";const k=r(({label:r,error:b,helperText:x,fullWidth:h=!0,value:f="",onChange:v,countryCode:g="US",onCountryChange:y,countries:w=c,enableFormatting:$=!0,onValidationChange:k,disabled:N,required:C,placeholder:D,id:E,"data-cy":L,"data-testid":j,className:I,onFocus:q,onBlur:F,...M},S)=>{const[A,K]=a(!1),[T,_]=a(!1),[z,B]=a(0),U=o(),P=E||U,V=`${P}-error`,W=`${P}-helper`,G=`${P}-listbox`,H=n(null),J=n(null),O=n(null),Q=L||"phone-input",R=j||"phone-input",X=w.find(e=>e.code===g)||w[0],Y=u(g),Z=D||Y.placeholder,ee=r&&C&&!r.includes("*")?`${r}*`:r;l(()=>{const e=e=>{H.current&&!H.current.contains(e.target)&&K(!1)};return A&&document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[A]);const te=d(e=>{y?.(e),K(!1),setTimeout(()=>{const e=H.current?.querySelector("input");e?.focus()},0)},[y]),re=d(e=>{switch(e.key){case"ArrowDown":e.preventDefault(),B(e=>Math.min(e+1,w.length-1));break;case"ArrowUp":e.preventDefault(),B(e=>Math.max(e-1,0));break;case"Enter":case" ":e.preventDefault(),te(w[z]);break;case"Escape":e.preventDefault(),K(!1),O.current?.focus();break;case"Tab":K(!1)}},[w,z,te]),ae=N?"disabled":b?"error":T||A?"focus":"idle";/* @__PURE__ */
|
|
2
|
+
return e("div",{ref:H,className:i("flex flex-col gap-2 relative w-auto",h&&"w-full"),"data-cy":`${Q}-wrapper`,"data-testid":`${R}-wrapper`,children:[r&&/* @__PURE__ */t("label",{htmlFor:P,className:"text-sm font-normal leading-none text-[var(--color-grey-07)]","data-cy":`${Q}-label`,"data-testid":`${R}-label`,children:ee}),
|
|
3
|
+
/* @__PURE__ */e("div",{className:i("flex items-center gap-4 h-11 px-3.5 bg-[var(--color-card)] border border-[var(--color-border)] rounded-[var(--radius-md)] cursor-text","transition-[border-color,box-shadow] duration-200 ease-in-out","focus"===ae&&"border-[var(--color-button-blue)]","error"===ae&&"border-[var(--color-error)]","disabled"===ae&&"cursor-not-allowed opacity-50 pointer-events-none","idle"===ae&&"hover:border-[var(--color-button-blue)]"),"data-state":ae,"data-cy":`${Q}-container`,"data-testid":`${R}-container`,children:[
|
|
4
|
+
/* @__PURE__ */e("button",{ref:O,type:"button",className:"inline-flex items-center gap-1 shrink-0 m-0 p-0 border-none bg-transparent cursor-pointer focus-visible:outline-2 focus-visible:outline-[var(--color-button-blue)] focus-visible:outline-offset-2 focus-visible:rounded-sm disabled:cursor-not-allowed max-sm:min-w-11 max-sm:min-h-11 max-sm:-ms-2",onClick:()=>!N&&K(!A),onKeyDown:e=>{if("Enter"===e.key||" "===e.key||"ArrowDown"===e.key){e.preventDefault(),K(!0);const t=w.findIndex(e=>e.code===g);B(-1===t?0:t)}},disabled:N,"aria-haspopup":"listbox","aria-expanded":A,"aria-controls":G,"aria-label":`Select country. Current: ${X.name}`,"data-cy":`${Q}-country-trigger`,"data-testid":`${R}-country-trigger`,children:[
|
|
5
|
+
/* @__PURE__ */t("span",{className:"flex items-center justify-center w-5 h-5 text-xl leading-none","data-cy":`${Q}-flag`,"data-testid":`${R}-flag`,children:X.flag}),
|
|
6
|
+
/* @__PURE__ */t(s,{name:"ChevronDownIcon",size:"sm",color:T||A?"clickable":"text",decorative:!0,"data-cy":`${Q}-chevron`})]}),
|
|
7
|
+
/* @__PURE__ */t("span",{className:"text-base text-[var(--color-text)] whitespace-nowrap shrink-0","data-cy":`${Q}-dial-code`,"data-testid":`${R}-dial-code`,children:X.dialCode}),
|
|
8
|
+
/* @__PURE__ */t("input",{ref:S,id:P,type:"tel",inputMode:"numeric",value:f,onChange:e=>{const t=e.target.value;if($){const e=p(t).slice(0,Y.maxLength),r=m(e,g);v?.(r);const a=e.length===Y.maxLength;k?.(a)}else{const e=t.replace(/[^0-9]/g,"");v?.(e);const r=e.length===Y.maxLength;k?.(r)}},onFocus:e=>{_(!0),q?.(e)},onBlur:e=>{_(!1),F?.(e)},placeholder:Z,disabled:N,required:C,className:i("m-0 p-0 border-none bg-transparent flex-1 min-w-0 text-base text-[var(--color-text)] leading-none focus:outline-none placeholder:text-[var(--color-icon-secondary)] text-start",I),"aria-invalid":b?"true":"false","aria-required":C?"true":void 0,"aria-describedby":b?V:x?W:void 0,"data-cy":Q,"data-testid":R,...M})]}),A&&/* @__PURE__ */t("div",{ref:J,id:G,role:"listbox","aria-label":"Select country",className:"phone-dropdown-animate absolute top-full left-0 right-0 z-50 mt-1 flex flex-col p-1 bg-[var(--color-card)] rounded-[var(--radius-md)] shadow-[0_0.25rem_1rem_rgba(0,0,0,0.1)]",tabIndex:-1,onKeyDown:re,"data-cy":`${Q}-dropdown`,"data-testid":`${R}-dropdown`,children:w.map((r,a)=>/* @__PURE__ */e("div",{role:"option","aria-selected":r.code===g,className:i("flex items-center gap-4 h-10 min-h-11 px-2 rounded-md cursor-pointer select-none transition-colors duration-150 ease-in-out","hover:bg-[var(--color-bg-secondary)]",a===z&&"bg-[var(--color-bg)]",r.code===g&&"bg-[var(--color-bg-secondary)]"),onClick:()=>te(r),onKeyDown:e=>{"Enter"!==e.key&&" "!==e.key||(e.preventDefault(),te(r))},onMouseEnter:()=>B(a),tabIndex:a===z?0:-1,"data-cy":`${Q}-option-${r.code.toLowerCase()}`,"data-testid":`${R}-option-${r.code.toLowerCase()}`,children:[
|
|
9
|
+
/* @__PURE__ */t("span",{className:"flex items-center justify-center w-5 h-5 text-xl leading-none shrink-0",children:r.flag}),
|
|
10
|
+
/* @__PURE__ */t("span",{className:"flex-1 text-base text-[var(--color-text)] whitespace-nowrap overflow-hidden text-ellipsis",children:r.name}),
|
|
11
|
+
/* @__PURE__ */t("span",{className:"text-base text-[var(--color-text)] opacity-50 shrink-0 text-end",children:r.dialCode})]},r.code))}),b&&/* @__PURE__ */t("span",{id:V,className:"text-xs leading-none text-[var(--color-error)] ps-3.5 pt-1.5",role:"alert","data-cy":`${Q}-error`,"data-testid":`${R}-error`,children:b}),x&&!b&&/* @__PURE__ */t("span",{id:W,className:"text-xs leading-none text-[var(--color-grey-07)] ps-3.5 pt-1.5","data-cy":`${Q}-helper`,"data-testid":`${R}-helper`,children:x})]})});k.displayName="PhoneInput";export{k as PhoneInput,b as allCountries,c as commonCountries,x as defaultCountries,h as defaultPhoneMask,m as formatPhoneNumber,f as getCountriesByDialCode,v as getCountryByCode,g as getCountryByDialCode,p as getPhoneDigits,u as getPhoneMask,y as isValidPhoneLength,w as phoneMasks,$ as searchCountries};
|
package/dist/index13.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),r=require("./index31.cjs"),a=t.forwardRef(({length:a=4,label:o,value:l="",onChange:n,onComplete:c,error:i,helperText:s,disabled:d=!1,autoFocus:u=!1,fullWidth:p=!1,centered:x=!1,type:f="numeric",required:m=!1,"data-cy":b,"data-testid":v},g)=>{const h=t.useId(),y=`${h}-error`,$=`${h}-helper`,k=b||"otp-input",w=v||"otp-input",D=t.useRef([]),[j,C]=t.useState(()=>l.split("").slice(0,a).concat(Array(a).fill("")).slice(0,a));t.useEffect(()=>{const e=l.split("").slice(0,a).concat(Array(a).fill("")).slice(0,a);C(e)},[l,a]);const A=t.useCallback(e=>"numeric"===f?/^\d$/.test(e):/^[a-zA-Z0-9]$/.test(e),[f]),I=t.useCallback(e=>{C(e);const t=e.join("");n?.(t),e.every(e=>""!==e)&&e.length===a&&c?.(t)},[n,c,a]),N=t.useCallback(e=>{const t=D.current[e];t&&(t.focus(),t.select())},[]),P=t.useCallback((e,t)=>{const r=t.target.value;if(1===r.length&&A(r)){const t=[...j];t[e]=r,I(t),e<a-1&&N(e+1)}else if(r.length>1){const t=r.split("").filter(A),o=[...j];t.forEach((t,r)=>{e+r<a&&(o[e+r]=t)}),I(o);const l=o.findIndex(e=>""===e);N(-1===l?a-1:l)}},[j,a,A,I,N]),q=t.useCallback((e,t)=>{switch(t.key){case"Backspace":if(t.preventDefault(),j[e]){const t=[...j];t[e]="",I(t)}else if(e>0){const t=[...j];t[e-1]="",I(t),N(e-1)}break;case"Delete":if(t.preventDefault(),j[e]){const t=[...j];t[e]="",I(t)}break;case"ArrowLeft":t.preventDefault(),e>0&&N(e-1);break;case"ArrowRight":t.preventDefault(),e<a-1&&N(e+1);break;case"Home":t.preventDefault(),N(0);break;case"End":t.preventDefault(),N(a-1);break;default:if(1===t.key.length&&A(t.key)){t.preventDefault();const r=[...j];r[e]=t.key,I(r),e<a-1&&N(e+1)}}},[j,a,A,I,N]),E=t.useCallback((e,t)=>{t.preventDefault();const r=t.clipboardData.getData("text").split("").filter(A);if(0===r.length)return;const o=[...j];r.forEach((t,r)=>{e+r<a&&(o[e+r]=t)}),I(o);const l=o.findIndex(e=>""===e);N(-1===l?a-1:l)},[j,a,A,I,N]),T=t.useCallback(e=>{e.target.select()},[]);t.useImperativeHandle(g,()=>({focus:()=>{const e=j.findIndex(e=>""===e);N(-1===e?a-1:e)},clear:()=>{const e=Array(a).fill("");I(e),N(0)},getValue:()=>j.join("")}),[j,a,N,I]),t.useEffect(()=>{u&&!d&&N(0)},[u,d,N]);const z=r.cn("m-0 border font-inherit appearance-none box-border","w-[3.75rem] min-h-16 h-16 px-6 py-3","bg-[var(--color-card)] border-[var(--color-border)] rounded-[var(--radius-md)]","text-2xl font-normal text-center text-[var(--Path-Colors-Black-01,#191A39)] leading-[1.25] overflow-visible","[leading-trim:both] [text-edge:cap]","transition-[border-color] duration-200 ease-in-out caret-[var(--color-text)]","hover:border-[var(--color-button-blue)] focus:outline-none focus:border-[var(--color-button-blue)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none","max-md:w-[3.75rem] max-md:h-16 max-md:px-6 max-md:py-3 max-md:text-xl max-md:leading-[1.25]","max-[374px]:w-[2.5rem] max-[374px]:h-14 max-[374px]:px-2 max-[374px]:text-[1.25rem] max-[374px]:leading-[1.25]");return e.jsxs("div",{className:r.cn("flex flex-col gap-2 relative w-fit",p&&"w-full"),"data-cy":`${k}-wrapper`,"data-testid":`${w}-wrapper`,children:[o&&e.jsx("label",{className:r.cn("text-sm font-normal leading-none text-[var(--color-grey-07)]",i&&"text-[var(--color-error)]",d&&"opacity-50"),"data-cy":`${k}-label`,"data-testid":`${w}-label`,children:o}),e.jsx("div",{className:r.cn("flex items-center gap-2.5",x&&"justify-center","max-md:gap-2.5 max-[374px]:gap-1.5"),role:"group","aria-label":o||"OTP Input","data-cy":`${k}-container`,"data-testid":`${w}-container`,children:Array.from({length:a},(t,o)=>e.jsx("input",{ref:e=>{D.current[o]=e},type:"text",inputMode:"numeric"===f?"numeric":"text",pattern:"numeric"===f?"[0-9]*":"[a-zA-Z0-9]*",maxLength:1,value:j[o]||"",onChange:e=>P(o,e),onKeyDown:e=>q(o,e),onPaste:e=>E(o,e),onFocus:T,disabled:d,required:m,"aria-label":`Digit ${o+1} of ${a}`,"aria-invalid":i?"true":"false","aria-describedby":i?y:s?$:void 0,className:r.cn(z,i&&"!border-[var(--color-error)] hover:!border-[var(--color-error)] focus:!border-[var(--color-error)]"),"data-otp-digit":!0,"data-cy":`${k}-digit-${o}`,"data-testid":`${w}-digit-${o}`,autoComplete:"one-time-code"},o))}),i&&e.jsx("span",{id:y,className:"text-[length:var(--font-size-11)] leading-none text-[var(--color-error)] text-center",role:"alert","data-cy":`${k}-error`,"data-testid":`${w}-error`,children:i}),s&&!i&&e.jsx("span",{id:$,className:"text-[length:var(--font-size-10)] leading-none text-[var(--color-grey-07)] text-center","data-cy":`${k}-helper`,"data-testid":`${w}-helper`,children:s})]})});a.displayName="OTPInput",exports.OTPInput=a;
|
package/dist/index13.js
ADDED
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{jsxs as e,jsx as t}from"react/jsx-runtime";import{forwardRef as r,useId as a,useRef as o,useState as n,useEffect as l,useCallback as i,useImperativeHandle as c}from"react";import{cn as d}from"./index31.js";const s=r(({length:r=4,label:s,value:p="",onChange:m,onComplete:u,error:x,helperText:f,disabled:b=!1,autoFocus:v=!1,fullWidth:g=!1,centered:h=!1,type:y="numeric",required:$=!1,"data-cy":w,"data-testid":D},k)=>{const A=a(),N=`${A}-error`,j=`${A}-helper`,C=w||"otp-input",I=D||"otp-input",z=o([]),[P,E]=n(()=>p.split("").slice(0,r).concat(Array(r).fill("")).slice(0,r));l(()=>{const e=p.split("").slice(0,r).concat(Array(r).fill("")).slice(0,r);E(e)},[p,r]);const T=i(e=>"numeric"===y?/^\d$/.test(e):/^[a-zA-Z0-9]$/.test(e),[y]),q=i(e=>{E(e);const t=e.join("");m?.(t),e.every(e=>""!==e)&&e.length===r&&u?.(t)},[m,u,r]),B=i(e=>{const t=z.current[e];t&&(t.focus(),t.select())},[]),F=i((e,t)=>{const a=t.target.value;if(1===a.length&&T(a)){const t=[...P];t[e]=a,q(t),e<r-1&&B(e+1)}else if(a.length>1){const t=a.split("").filter(T),o=[...P];t.forEach((t,a)=>{e+a<r&&(o[e+a]=t)}),q(o);const n=o.findIndex(e=>""===e);B(-1===n?r-1:n)}},[P,r,T,q,B]),L=i((e,t)=>{switch(t.key){case"Backspace":if(t.preventDefault(),P[e]){const t=[...P];t[e]="",q(t)}else if(e>0){const t=[...P];t[e-1]="",q(t),B(e-1)}break;case"Delete":if(t.preventDefault(),P[e]){const t=[...P];t[e]="",q(t)}break;case"ArrowLeft":t.preventDefault(),e>0&&B(e-1);break;case"ArrowRight":t.preventDefault(),e<r-1&&B(e+1);break;case"Home":t.preventDefault(),B(0);break;case"End":t.preventDefault(),B(r-1);break;default:if(1===t.key.length&&T(t.key)){t.preventDefault();const a=[...P];a[e]=t.key,q(a),e<r-1&&B(e+1)}}},[P,r,T,q,B]),O=i((e,t)=>{t.preventDefault();const a=t.clipboardData.getData("text").split("").filter(T);if(0===a.length)return;const o=[...P];a.forEach((t,a)=>{e+a<r&&(o[e+a]=t)}),q(o);const n=o.findIndex(e=>""===e);B(-1===n?r-1:n)},[P,r,T,q,B]),Z=i(e=>{e.target.select()},[]);c(k,()=>({focus:()=>{const e=P.findIndex(e=>""===e);B(-1===e?r-1:e)},clear:()=>{const e=Array(r).fill("");q(e),B(0)},getValue:()=>P.join("")}),[P,r,B,q]),l(()=>{v&&!b&&B(0)},[v,b,B]);const H=d("m-0 border font-inherit appearance-none box-border","w-[3.75rem] min-h-16 h-16 px-6 py-3","bg-[var(--color-card)] border-[var(--color-border)] rounded-[var(--radius-md)]","text-2xl font-normal text-center text-[var(--Path-Colors-Black-01,#191A39)] leading-[1.25] overflow-visible","[leading-trim:both] [text-edge:cap]","transition-[border-color] duration-200 ease-in-out caret-[var(--color-text)]","hover:border-[var(--color-button-blue)] focus:outline-none focus:border-[var(--color-button-blue)]","disabled:opacity-50 disabled:cursor-not-allowed disabled:pointer-events-none","max-md:w-[3.75rem] max-md:h-16 max-md:px-6 max-md:py-3 max-md:text-xl max-md:leading-[1.25]","max-[374px]:w-[2.5rem] max-[374px]:h-14 max-[374px]:px-2 max-[374px]:text-[1.25rem] max-[374px]:leading-[1.25]");/* @__PURE__ */
|
|
2
|
+
return e("div",{className:d("flex flex-col gap-2 relative w-fit",g&&"w-full"),"data-cy":`${C}-wrapper`,"data-testid":`${I}-wrapper`,children:[s&&/* @__PURE__ */t("label",{className:d("text-sm font-normal leading-none text-[var(--color-grey-07)]",x&&"text-[var(--color-error)]",b&&"opacity-50"),"data-cy":`${C}-label`,"data-testid":`${I}-label`,children:s}),
|
|
3
|
+
/* @__PURE__ */t("div",{className:d("flex items-center gap-2.5",h&&"justify-center","max-md:gap-2.5 max-[374px]:gap-1.5"),role:"group","aria-label":s||"OTP Input","data-cy":`${C}-container`,"data-testid":`${I}-container`,children:Array.from({length:r},(e,a)=>/* @__PURE__ */t("input",{ref:e=>{z.current[a]=e},type:"text",inputMode:"numeric"===y?"numeric":"text",pattern:"numeric"===y?"[0-9]*":"[a-zA-Z0-9]*",maxLength:1,value:P[a]||"",onChange:e=>F(a,e),onKeyDown:e=>L(a,e),onPaste:e=>O(a,e),onFocus:Z,disabled:b,required:$,"aria-label":`Digit ${a+1} of ${r}`,"aria-invalid":x?"true":"false","aria-describedby":x?N:f?j:void 0,className:d(H,x&&"!border-[var(--color-error)] hover:!border-[var(--color-error)] focus:!border-[var(--color-error)]"),"data-otp-digit":!0,"data-cy":`${C}-digit-${a}`,"data-testid":`${I}-digit-${a}`,autoComplete:"one-time-code"},a))}),x&&/* @__PURE__ */t("span",{id:N,className:"text-[length:var(--font-size-11)] leading-none text-[var(--color-error)] text-center",role:"alert","data-cy":`${C}-error`,"data-testid":`${I}-error`,children:x}),f&&!x&&/* @__PURE__ */t("span",{id:j,className:"text-[length:var(--font-size-10)] leading-none text-[var(--color-grey-07)] text-center","data-cy":`${C}-helper`,"data-testid":`${I}-helper`,children:f})]})});s.displayName="OTPInput";export{s as OTPInput};
|
package/dist/index14.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),a=require("react"),r=require("./index31.cjs"),t={sm:"w-9 h-[1.125rem] p-px",md:"w-11 h-[1.375rem] p-0.5",lg:"w-[3.25rem] h-[1.625rem] p-[0.1875rem]"},l={sm:"w-4 h-4",md:"w-[1.125rem] h-[1.125rem]",lg:"w-5 h-5"},s=a.forwardRef(({label:s,labelPosition:o="end",helperText:c,size:d="md",className:n,id:i,disabled:b,checked:u,defaultChecked:p,"data-cy":g,"data-testid":m,...x},h)=>{const f=a.useId(),v=i||f,y=`${v}-helper`,k=g||"toggle",w=m||"toggle",[$,j]=a.useState(!1),_=a.useRef(null),N=a.useCallback(e=>{_.current=e,h&&("function"==typeof h?h(e):"current"in h&&(h.current=e))},[h]);return e.jsxs("div",{className:r.cn("inline-flex flex-col gap-1.5",b&&"opacity-50 cursor-not-allowed"),"data-cy":`${k}-wrapper`,"data-testid":`${w}-wrapper`,children:[e.jsxs("label",{className:r.cn("inline-flex items-center gap-2 cursor-pointer min-h-11 max-sm:min-h-11",b&&"cursor-not-allowed","start"===o&&"flex-row-reverse"),htmlFor:v,onMouseEnter:()=>{b||j(!0)},onMouseLeave:()=>{j(!1)},children:[s&&"start"===o&&e.jsx("span",{className:"text-sm font-normal leading-snug text-[var(--color-text)] select-none disabled:text-[var(--color-system-text)]","data-cy":`${k}-label`,"data-testid":`${w}-label`,children:s}),e.jsx("input",{ref:N,id:v,type:"checkbox",role:"switch",checked:u,defaultChecked:p,className:r.cn("peer absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0 [clip:rect(0,0,0,0)]","focus-visible:outline-none",n),"aria-describedby":c?y:void 0,"data-cy":k,"data-testid":w,disabled:b,...x}),e.jsx("span",{className:r.cn("relative flex items-center shrink-0 rounded-2xl bg-[var(--color-icon-secondary)]","transition-[background-color,background-image] duration-200 ease-in-out",t[d],"peer-checked:bg-[var(--color-clickable)] peer-checked:justify-end","peer-disabled:bg-[var(--color-border)] peer-disabled:bg-none peer-disabled:peer-checked:bg-[var(--color-icon-secondary)]","peer-focus-visible:outline-2 peer-focus-visible:outline-[var(--color-clickable)] peer-focus-visible:outline-offset-2",$&&!b&&"bg-[linear-gradient(90deg,rgba(25,26,57,0.24)_0%,rgba(25,26,57,0.24)_100%),linear-gradient(90deg,var(--color-icon-secondary)_0%,var(--color-icon-secondary)_100%)]",$&&!b&&"peer-checked:bg-[linear-gradient(90deg,rgba(25,26,57,0.4)_0%,rgba(25,26,57,0.4)_100%),linear-gradient(90deg,var(--color-clickable)_0%,var(--color-clickable)_100%)]"),"data-cy":`${k}-track`,"data-testid":`${w}-track`,"aria-hidden":"true",children:e.jsx("span",{className:r.cn("rounded-full bg-[var(--color-card)] transition-shadow duration-200",l[d],$&&!b&&"shadow-[0_0.125rem_0.25rem_0_rgba(0,35,11,0.2)]"),"data-cy":`${k}-knob`,"data-testid":`${w}-knob`})}),s&&"end"===o&&e.jsx("span",{className:"text-sm font-normal leading-snug text-[var(--color-text)] select-none disabled:text-[var(--color-system-text)]","data-cy":`${k}-label`,"data-testid":`${w}-label`,children:s})]}),c&&e.jsx("span",{id:y,className:"text-xs font-normal leading-snug text-[var(--color-system-text)] ms-0","data-cy":`${k}-helper`,"data-testid":`${w}-helper`,children:c})]})});s.displayName="Toggle",exports.Toggle=s;
|
package/dist/index14.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{jsxs as e,jsx as a}from"react/jsx-runtime";import{forwardRef as r,useId as t,useState as l,useRef as o,useCallback as d}from"react";import{cn as c}from"./index31.js";const n={sm:"w-9 h-[1.125rem] p-px",md:"w-11 h-[1.375rem] p-0.5",lg:"w-[3.25rem] h-[1.625rem] p-[0.1875rem]"},i={sm:"w-4 h-4",md:"w-[1.125rem] h-[1.125rem]",lg:"w-5 h-5"},s=r(({label:r,labelPosition:s="end",helperText:m,size:p="md",className:b,id:g,disabled:u,checked:h,defaultChecked:x,"data-cy":f,"data-testid":v,...y},k)=>{const w=t(),$=g||w,_=`${$}-helper`,N=f||"toggle",j=v||"toggle",[C,M]=l(!1),T=o(null),z=d(e=>{T.current=e,k&&("function"==typeof k?k(e):"current"in k&&(k.current=e))},[k]);/* @__PURE__ */
|
|
2
|
+
return e("div",{className:c("inline-flex flex-col gap-1.5",u&&"opacity-50 cursor-not-allowed"),"data-cy":`${N}-wrapper`,"data-testid":`${j}-wrapper`,children:[
|
|
3
|
+
/* @__PURE__ */e("label",{className:c("inline-flex items-center gap-2 cursor-pointer min-h-11 max-sm:min-h-11",u&&"cursor-not-allowed","start"===s&&"flex-row-reverse"),htmlFor:$,onMouseEnter:()=>{u||M(!0)},onMouseLeave:()=>{M(!1)},children:[r&&"start"===s&&/* @__PURE__ */a("span",{className:"text-sm font-normal leading-snug text-[var(--color-text)] select-none disabled:text-[var(--color-system-text)]","data-cy":`${N}-label`,"data-testid":`${j}-label`,children:r}),
|
|
4
|
+
/* @__PURE__ */a("input",{ref:z,id:$,type:"checkbox",role:"switch",checked:h,defaultChecked:x,className:c("peer absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0 [clip:rect(0,0,0,0)]","focus-visible:outline-none",b),"aria-describedby":m?_:void 0,"data-cy":N,"data-testid":j,disabled:u,...y}),
|
|
5
|
+
/* @__PURE__ */a("span",{className:c("relative flex items-center shrink-0 rounded-2xl bg-[var(--color-icon-secondary)]","transition-[background-color,background-image] duration-200 ease-in-out",n[p],"peer-checked:bg-[var(--color-clickable)] peer-checked:justify-end","peer-disabled:bg-[var(--color-border)] peer-disabled:bg-none peer-disabled:peer-checked:bg-[var(--color-icon-secondary)]","peer-focus-visible:outline-2 peer-focus-visible:outline-[var(--color-clickable)] peer-focus-visible:outline-offset-2",C&&!u&&"bg-[linear-gradient(90deg,rgba(25,26,57,0.24)_0%,rgba(25,26,57,0.24)_100%),linear-gradient(90deg,var(--color-icon-secondary)_0%,var(--color-icon-secondary)_100%)]",C&&!u&&"peer-checked:bg-[linear-gradient(90deg,rgba(25,26,57,0.4)_0%,rgba(25,26,57,0.4)_100%),linear-gradient(90deg,var(--color-clickable)_0%,var(--color-clickable)_100%)]"),"data-cy":`${N}-track`,"data-testid":`${j}-track`,"aria-hidden":"true",children:/* @__PURE__ */a("span",{className:c("rounded-full bg-[var(--color-card)] transition-shadow duration-200",i[p],C&&!u&&"shadow-[0_0.125rem_0.25rem_0_rgba(0,35,11,0.2)]"),"data-cy":`${N}-knob`,"data-testid":`${j}-knob`})}),r&&"end"===s&&/* @__PURE__ */a("span",{className:"text-sm font-normal leading-snug text-[var(--color-text)] select-none disabled:text-[var(--color-system-text)]","data-cy":`${N}-label`,"data-testid":`${j}-label`,children:r})]}),m&&/* @__PURE__ */a("span",{id:_,className:"text-xs font-normal leading-snug text-[var(--color-system-text)] ms-0","data-cy":`${N}-helper`,"data-testid":`${j}-helper`,children:m})]})});s.displayName="Toggle";export{s as Toggle};
|
package/dist/index15.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),a=require("@radix-ui/react-tabs"),r=require("./index31.cjs");function s(e){const t=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(e)for(const a in e)if("default"!==a){const r=Object.getOwnPropertyDescriptor(e,a);Object.defineProperty(t,a,r.get?r:{enumerable:!0,get:()=>e[a]})}return t.default=e,Object.freeze(t)}const o=s(a),i=o.Root,c=t.forwardRef(({className:t,"data-cy":a,"data-testid":s,...i},c)=>{const n=a||"tabs-list",l=s||"tabs-list";return e.jsx(o.List,{ref:c,className:r.cn("inline-flex items-center justify-center h-10 p-1 gap-1 rounded-lg bg-[var(--color-bg-secondary)] text-[var(--color-icon-secondary)]","max-sm:w-full max-sm:justify-start max-sm:overflow-x-auto max-sm:[scrollbar-width:none] max-sm:[&::-webkit-scrollbar]:hidden",t),"data-cy":n,"data-testid":l,...i})});c.displayName=o.List.displayName;const n=t.forwardRef(({className:t,value:a,"data-cy":s,"data-testid":i,...c},n)=>{const l=s||(a?`tabs-trigger-${a}`:"tabs-trigger"),d=i||(a?`tabs-trigger-${a}`:"tabs-trigger");return e.jsx(o.Trigger,{ref:n,className:r.cn("inline-flex items-center justify-center whitespace-nowrap px-3 py-1.5 rounded text-sm font-medium leading-snug","border-none bg-transparent text-[var(--color-icon-secondary)] cursor-pointer select-none","transition-[background-color,color,box-shadow] duration-200 ease-in-out","focus-visible:outline-2 focus-visible:outline-[var(--color-clickable)] focus-visible:outline-offset-2 focus-visible:z-10","disabled:cursor-not-allowed disabled:opacity-50 disabled:pointer-events-none","data-[state=active]:bg-[var(--color-card)] data-[state=active]:text-[var(--color-text)] data-[state=active]:shadow-[0_1px_3px_0_rgba(0,0,0,0.1),0_1px_2px_0_rgba(0,0,0,0.06)]","hover:bg-[var(--color-border)] hover:text-[var(--color-text)] [&:hover]:data-[state=active]:bg-[var(--color-card)]","max-sm:px-4 max-sm:py-2",t),value:a,"data-cy":l,"data-testid":d,...c})});n.displayName=o.Trigger.displayName;const l=t.forwardRef(({className:t,value:a,"data-cy":s,"data-testid":i,...c},n)=>{const l=s||(a?`tabs-content-${a}`:"tabs-content"),d=i||(a?`tabs-content-${a}`:"tabs-content");return e.jsx(o.Content,{ref:n,className:r.cn("mt-2 focus-visible:outline-2 focus-visible:outline-[var(--color-clickable)] focus-visible:outline-offset-2 focus-visible:rounded",t),value:a,"data-cy":l,"data-testid":d,...c})});l.displayName=o.Content.displayName,exports.Tabs=i,exports.TabsContent=l,exports.TabsList=c,exports.TabsTrigger=n;
|
package/dist/index15.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{jsx as t}from"react/jsx-runtime";import{forwardRef as a}from"react";import*as e from"@radix-ui/react-tabs";import{cn as s}from"./index31.js";const o=e.Root,r=a(({className:a,"data-cy":o,"data-testid":r,...i},c)=>{const n=o||"tabs-list",l=r||"tabs-list";/* @__PURE__ */
|
|
2
|
+
return t(e.List,{ref:c,className:s("inline-flex items-center justify-center h-10 p-1 gap-1 rounded-lg bg-[var(--color-bg-secondary)] text-[var(--color-icon-secondary)]","max-sm:w-full max-sm:justify-start max-sm:overflow-x-auto max-sm:[scrollbar-width:none] max-sm:[&::-webkit-scrollbar]:hidden",a),"data-cy":n,"data-testid":l,...i})});r.displayName=e.List.displayName;const i=a(({className:a,value:o,"data-cy":r,"data-testid":i,...c},n)=>{const l=r||(o?`tabs-trigger-${o}`:"tabs-trigger"),d=i||(o?`tabs-trigger-${o}`:"tabs-trigger");/* @__PURE__ */
|
|
3
|
+
return t(e.Trigger,{ref:n,className:s("inline-flex items-center justify-center whitespace-nowrap px-3 py-1.5 rounded text-sm font-medium leading-snug","border-none bg-transparent text-[var(--color-icon-secondary)] cursor-pointer select-none","transition-[background-color,color,box-shadow] duration-200 ease-in-out","focus-visible:outline-2 focus-visible:outline-[var(--color-clickable)] focus-visible:outline-offset-2 focus-visible:z-10","disabled:cursor-not-allowed disabled:opacity-50 disabled:pointer-events-none","data-[state=active]:bg-[var(--color-card)] data-[state=active]:text-[var(--color-text)] data-[state=active]:shadow-[0_1px_3px_0_rgba(0,0,0,0.1),0_1px_2px_0_rgba(0,0,0,0.06)]","hover:bg-[var(--color-border)] hover:text-[var(--color-text)] [&:hover]:data-[state=active]:bg-[var(--color-card)]","max-sm:px-4 max-sm:py-2",a),value:o,"data-cy":l,"data-testid":d,...c})});i.displayName=e.Trigger.displayName;const c=a(({className:a,value:o,"data-cy":r,"data-testid":i,...c},n)=>{const l=r||(o?`tabs-content-${o}`:"tabs-content"),d=i||(o?`tabs-content-${o}`:"tabs-content");/* @__PURE__ */
|
|
4
|
+
return t(e.Content,{ref:n,className:s("mt-2 focus-visible:outline-2 focus-visible:outline-[var(--color-clickable)] focus-visible:outline-offset-2 focus-visible:rounded",a),value:o,"data-cy":l,"data-testid":d,...c})});c.displayName=e.Content.displayName;export{o as Tabs,c as TabsContent,r as TabsList,i as TabsTrigger};
|
package/dist/index16.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),t=require("react"),r=require("./index31.cjs"),a={info:"bg-[rgba(47,157,178,0.05)] border-[rgba(47,157,178,0.2)] text-[var(--color-clickable)] [&_.alert-icon]:text-[var(--color-clickable)]",success:"bg-[rgba(66,184,198,0.05)] border-[rgba(66,184,198,0.2)] text-[var(--color-success)] [&_.alert-icon]:text-[var(--color-success)]",warning:"bg-[rgba(255,152,0,0.05)] border-[rgba(255,152,0,0.2)] text-[#ff9800] [&_.alert-icon]:text-[#ff9800]",error:"bg-[rgba(255,104,104,0.05)] border-[rgba(255,104,104,0.2)] text-[var(--color-error)] [&_.alert-icon]:text-[var(--color-error)]"},s=t.forwardRef(({variant:t="info",title:s,icon:i,className:c,children:l,"data-cy":o,"data-testid":d,...n},b)=>{const g=o||`alert-${t}`,x=d||`alert-${t}`;return e.jsxs("div",{ref:b,role:{info:"status",success:"status",warning:"alert",error:"alert"}[t],className:r.cn("relative flex gap-3 px-4 py-3 md:px-5 md:py-4 text-sm leading-normal border rounded-lg",a[t],c),"data-cy":g,"data-testid":x,...n,children:[i&&e.jsx("div",{className:"alert-icon inline-flex items-start justify-center shrink-0 mt-0.5","data-cy":`${g}-icon`,"data-testid":`${x}-icon`,children:i}),e.jsxs("div",{className:"flex-1 min-w-0","data-cy":`${g}-content`,"data-testid":`${x}-content`,children:[s&&e.jsx("div",{className:"font-semibold mb-1 leading-tight","data-cy":`${g}-title`,"data-testid":`${x}-title`,children:s}),e.jsx("div",{"data-cy":`${g}-message`,"data-testid":`${x}-message`,children:l})]})]})});s.displayName="Alert",exports.Alert=s;
|
package/dist/index16.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{jsxs as t,jsx as e}from"react/jsx-runtime";import{forwardRef as r}from"react";import{cn as a}from"./index31.js";const i={info:"bg-[rgba(47,157,178,0.05)] border-[rgba(47,157,178,0.2)] text-[var(--color-clickable)] [&_.alert-icon]:text-[var(--color-clickable)]",success:"bg-[rgba(66,184,198,0.05)] border-[rgba(66,184,198,0.2)] text-[var(--color-success)] [&_.alert-icon]:text-[var(--color-success)]",warning:"bg-[rgba(255,152,0,0.05)] border-[rgba(255,152,0,0.2)] text-[#ff9800] [&_.alert-icon]:text-[#ff9800]",error:"bg-[rgba(255,104,104,0.05)] border-[rgba(255,104,104,0.2)] text-[var(--color-error)] [&_.alert-icon]:text-[var(--color-error)]"},c=r(({variant:r="info",title:c,icon:o,className:s,children:l,"data-cy":d,"data-testid":n,...m},b)=>{const g=d||`alert-${r}`,x=n||`alert-${r}`;/* @__PURE__ */
|
|
2
|
+
return t("div",{ref:b,role:{info:"status",success:"status",warning:"alert",error:"alert"}[r],className:a("relative flex gap-3 px-4 py-3 md:px-5 md:py-4 text-sm leading-normal border rounded-lg",i[r],s),"data-cy":g,"data-testid":x,...m,children:[o&&/* @__PURE__ */e("div",{className:"alert-icon inline-flex items-start justify-center shrink-0 mt-0.5","data-cy":`${g}-icon`,"data-testid":`${x}-icon`,children:o}),
|
|
3
|
+
/* @__PURE__ */t("div",{className:"flex-1 min-w-0","data-cy":`${g}-content`,"data-testid":`${x}-content`,children:[c&&/* @__PURE__ */e("div",{className:"font-semibold mb-1 leading-tight","data-cy":`${g}-title`,"data-testid":`${x}-title`,children:c}),
|
|
4
|
+
/* @__PURE__ */e("div",{"data-cy":`${g}-message`,"data-testid":`${x}-message`,children:l})]})]})});c.displayName="Alert";export{c as Alert};
|
package/dist/index17.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),e=require("react"),r=require("./index31.cjs"),t={default:"border border-[var(--color-border)] bg-[var(--color-card)]",outlined:"border-2 border-[var(--color-system-text)] bg-[var(--color-card)]",elevated:"border border-[var(--color-border)] bg-[var(--color-card)] shadow-[0_0.625rem_1.875rem_-0.1875rem_rgba(0,0,0,0.1),0_0.25rem_0.375rem_-0.125rem_rgba(0,0,0,0.05)]"},d=e.forwardRef(({variant:e="default",className:d,children:s,"data-cy":c,"data-testid":o,...i},l)=>{const n=c||`card-${e}`,m=o||`card-${e}`;return a.jsx("div",{ref:l,className:r.cn("flex flex-col overflow-hidden rounded-lg",t[e],d),"data-cy":n,"data-testid":m,...i,children:s})});d.displayName="Card";const s=e.forwardRef(({className:e,"data-cy":t,"data-testid":d,...s},c)=>{const o=t||"card-header",i=d||"card-header";return a.jsx("div",{ref:c,className:r.cn("flex flex-col gap-1.5 p-6 max-sm:p-4",e),"data-cy":o,"data-testid":i,...s})});s.displayName="CardHeader";const c=e.forwardRef(({className:e,"data-cy":t,"data-testid":d,...s},c)=>{const o=t||"card-title",i=d||"card-title";return a.jsx("h3",{ref:c,className:r.cn("text-xl font-semibold leading-tight text-[var(--color-text)]",e),"data-cy":o,"data-testid":i,...s})});c.displayName="CardTitle";const o=e.forwardRef(({className:e,"data-cy":t,"data-testid":d,...s},c)=>{const o=t||"card-description",i=d||"card-description";return a.jsx("p",{ref:c,className:r.cn("text-sm leading-normal text-[var(--color-icon-secondary)]",e),"data-cy":o,"data-testid":i,...s})});o.displayName="CardDescription";const i=e.forwardRef(({className:e,"data-cy":t,"data-testid":d,...s},c)=>{const o=t||"card-content",i=d||"card-content";return a.jsx("div",{ref:c,className:r.cn("px-6 pb-6 pt-0 max-sm:px-4 max-sm:pb-4",e),"data-cy":o,"data-testid":i,...s})});i.displayName="CardContent";const l=e.forwardRef(({className:e,"data-cy":t,"data-testid":d,...s},c)=>{const o=t||"card-footer",i=d||"card-footer";return a.jsx("div",{ref:c,className:r.cn("flex items-center gap-4 px-6 pb-6 pt-0 max-sm:px-4 max-sm:pb-4",e),"data-cy":o,"data-testid":i,...s})});l.displayName="CardFooter",exports.Card=d,exports.CardContent=i,exports.CardDescription=o,exports.CardFooter=l,exports.CardHeader=s,exports.CardTitle=c;
|
package/dist/index17.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import{jsx as a}from"react/jsx-runtime";import{forwardRef as t}from"react";import{cn as e}from"./index31.js";const r={default:"border border-[var(--color-border)] bg-[var(--color-card)]",outlined:"border-2 border-[var(--color-system-text)] bg-[var(--color-card)]",elevated:"border border-[var(--color-border)] bg-[var(--color-card)] shadow-[0_0.625rem_1.875rem_-0.1875rem_rgba(0,0,0,0.1),0_0.25rem_0.375rem_-0.125rem_rgba(0,0,0,0.05)]"},d=t(({variant:t="default",className:d,children:c,"data-cy":s,"data-testid":o,...l},i)=>{const m=s||`card-${t}`,n=o||`card-${t}`;/* @__PURE__ */
|
|
2
|
+
return a("div",{ref:i,className:e("flex flex-col overflow-hidden rounded-lg",r[t],d),"data-cy":m,"data-testid":n,...l,children:c})});d.displayName="Card";const c=t(({className:t,"data-cy":r,"data-testid":d,...c},s)=>{const o=r||"card-header",l=d||"card-header";/* @__PURE__ */
|
|
3
|
+
return a("div",{ref:s,className:e("flex flex-col gap-1.5 p-6 max-sm:p-4",t),"data-cy":o,"data-testid":l,...c})});c.displayName="CardHeader";const s=t(({className:t,"data-cy":r,"data-testid":d,...c},s)=>{const o=r||"card-title",l=d||"card-title";
|
|
4
|
+
/* @__PURE__ */
|
|
5
|
+
return a("h3",{ref:s,className:e("text-xl font-semibold leading-tight text-[var(--color-text)]",t),"data-cy":o,"data-testid":l,...c})});s.displayName="CardTitle";const o=t(({className:t,"data-cy":r,"data-testid":d,...c},s)=>{const o=r||"card-description",l=d||"card-description";/* @__PURE__ */
|
|
6
|
+
return a("p",{ref:s,className:e("text-sm leading-normal text-[var(--color-icon-secondary)]",t),"data-cy":o,"data-testid":l,...c})});o.displayName="CardDescription";const l=t(({className:t,"data-cy":r,"data-testid":d,...c},s)=>{const o=r||"card-content",l=d||"card-content";/* @__PURE__ */
|
|
7
|
+
return a("div",{ref:s,className:e("px-6 pb-6 pt-0 max-sm:px-4 max-sm:pb-4",t),"data-cy":o,"data-testid":l,...c})});l.displayName="CardContent";const i=t(({className:t,"data-cy":r,"data-testid":d,...c},s)=>{const o=r||"card-footer",l=d||"card-footer";/* @__PURE__ */
|
|
8
|
+
return a("div",{ref:s,className:e("flex items-center gap-4 px-6 pb-6 pt-0 max-sm:px-4 max-sm:pb-4",t),"data-cy":o,"data-testid":l,...c})});i.displayName="CardFooter";export{d as Card,l as CardContent,o as CardDescription,i as CardFooter,c as CardHeader,s as CardTitle};
|
package/dist/index18.cjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("react/jsx-runtime"),e=require("react"),t=require("./index31.cjs"),r=e.forwardRef(({columns:e,data:r,striped:d=!1,hoverable:l=!1,className:o,"data-cy":s,"data-testid":c,...i},x)=>{const m=s||"datatable",n=c||"datatable";return a.jsx("div",{className:"w-full overflow-x-auto [-webkit-overflow-scrolling:touch] [scrollbar-width:thin] [scrollbar-color:var(--color-border)_var(--color-bg-secondary)]","data-cy":`${m}-wrapper`,"data-testid":`${n}-wrapper`,children:a.jsxs("table",{ref:x,className:t.cn("w-full border-collapse text-sm leading-normal text-[var(--color-text)]",o),"data-cy":m,"data-testid":n,...i,children:[a.jsx("thead",{className:"border-b border-[var(--color-border)] bg-[var(--color-bg-secondary)]","data-cy":`${m}-head`,"data-testid":`${n}-head`,children:a.jsx("tr",{children:e.map(e=>a.jsx("th",{className:"px-4 py-3 text-start font-semibold text-[var(--color-system-text)] max-sm:px-2 max-sm:py-2 max-sm:text-xs","data-cy":`${m}-header-${e.key}`,"data-testid":`${n}-header-${e.key}`,children:e.header},e.key))})}),a.jsx("tbody",{"data-cy":`${m}-body`,"data-testid":`${n}-body`,children:0===r.length?a.jsx("tr",{children:a.jsx("td",{colSpan:e.length,className:"p-12 text-center text-[var(--color-icon-secondary)] italic max-sm:p-8","data-cy":`${m}-empty`,"data-testid":`${n}-empty`,children:"No data available"})}):r.map((r,o)=>a.jsx("tr",{className:t.cn("border-b border-[var(--color-border)]",l&&"hover:bg-[var(--color-bg)]",d&&"even:bg-[var(--color-bg)]"),"data-cy":`${m}-row-${o}`,"data-testid":`${n}-row-${o}`,children:e.map(e=>a.jsx("td",{className:"px-4 py-3 text-[var(--color-text)] max-sm:px-2 max-sm:py-2 max-sm:text-xs","data-cy":`${m}-cell-${o}-${e.key}`,"data-testid":`${n}-cell-${o}-${e.key}`,children:String(r[e.key]??"")},e.key))},o))})]})})});r.displayName="DataTable",exports.DataTable=r;
|
package/dist/index18.js
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{jsx as a,jsxs as t}from"react/jsx-runtime";import{forwardRef as e}from"react";import{cn as r}from"./index31.js";const d=e(({columns:e,data:d,striped:o=!1,hoverable:l=!1,className:c,"data-cy":s,"data-testid":m,...i},n)=>{const b=s||"datatable",y=m||"datatable";/* @__PURE__ */
|
|
2
|
+
return a("div",{className:"w-full overflow-x-auto [-webkit-overflow-scrolling:touch] [scrollbar-width:thin] [scrollbar-color:var(--color-border)_var(--color-bg-secondary)]","data-cy":`${b}-wrapper`,"data-testid":`${y}-wrapper`,children:/* @__PURE__ */t("table",{ref:n,className:r("w-full border-collapse text-sm leading-normal text-[var(--color-text)]",c),"data-cy":b,"data-testid":y,...i,children:[
|
|
3
|
+
/* @__PURE__ */a("thead",{className:"border-b border-[var(--color-border)] bg-[var(--color-bg-secondary)]","data-cy":`${b}-head`,"data-testid":`${y}-head`,children:/* @__PURE__ */a("tr",{children:e.map(t=>/* @__PURE__ */a("th",{className:"px-4 py-3 text-start font-semibold text-[var(--color-system-text)] max-sm:px-2 max-sm:py-2 max-sm:text-xs","data-cy":`${b}-header-${t.key}`,"data-testid":`${y}-header-${t.key}`,children:t.header},t.key))})}),
|
|
4
|
+
/* @__PURE__ */a("tbody",{"data-cy":`${b}-body`,"data-testid":`${y}-body`,children:0===d.length?/* @__PURE__ */a("tr",{children:/* @__PURE__ */a("td",{colSpan:e.length,className:"p-12 text-center text-[var(--color-icon-secondary)] italic max-sm:p-8","data-cy":`${b}-empty`,"data-testid":`${y}-empty`,children:"No data available"})}):d.map((t,d)=>/* @__PURE__ */a("tr",{className:r("border-b border-[var(--color-border)]",l&&"hover:bg-[var(--color-bg)]",o&&"even:bg-[var(--color-bg)]"),"data-cy":`${b}-row-${d}`,"data-testid":`${y}-row-${d}`,children:e.map(e=>/* @__PURE__ */a("td",{className:"px-4 py-3 text-[var(--color-text)] max-sm:px-2 max-sm:py-2 max-sm:text-xs","data-cy":`${b}-cell-${d}-${e.key}`,"data-testid":`${y}-cell-${d}-${e.key}`,children:String(t[e.key]??"")},e.key))},d))})]})})});d.displayName="DataTable";export{d as DataTable};
|