@hari_digitus/sms-ui-library 4.0.15 → 5.0.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/README.md +510 -0
- package/dist/form-controls.cjs.js +211 -0
- package/dist/form-controls.es.js +11519 -0
- package/dist/sms-ui-library.css +1 -0
- package/dist/types/components/Checkbox/Checkbox.d.ts +19 -0
- package/dist/types/components/DatePicker/DatePicker.d.ts +22 -0
- package/dist/types/components/DragDropUpload/DragDropUpload.d.ts +26 -0
- package/dist/types/components/InputFields/Input.d.ts +14 -0
- package/dist/types/components/MultiSelect/MultiSelect.d.ts +22 -0
- package/dist/types/components/RadioButton/RadioButton.d.ts +15 -0
- package/dist/types/components/Select/Select.d.ts +41 -0
- package/dist/types/components/SingleSelect/SingleSelect.d.ts +24 -0
- package/dist/types/components/TextArea/textarea.d.ts +6 -0
- package/dist/types/components/ToggleButton/ToggleSwitch.d.ts +15 -0
- package/dist/types/components/Tooltip/Tooltip.d.ts +7 -0
- package/dist/types/icons/icon.d.ts +4 -4
- package/dist/types/index.d.ts +13 -9
- package/package.json +22 -18
- package/Readme.md +0 -462
- package/dist/notifications.cjs.js +0 -85
- package/dist/notifications.es.js +0 -3718
- package/dist/types/components/Loader/Loader.d.ts +0 -1
- package/dist/types/components/Modal/Modal.d.ts +0 -12
- package/dist/types/components/Modal/Modal.types.d.ts +0 -11
- package/dist/types/components/Popover/Popover.d.ts +0 -15
- package/dist/types/components/ProgressBar/ProgressBar.d.ts +0 -20
- package/dist/types/components/Toast/Toast.d.ts +0 -3
- package/dist/types/components/Toast/Toast.types.d.ts +0 -7
package/Readme.md
DELETED
|
@@ -1,462 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
# Input Component
|
|
4
|
-
|
|
5
|
-
A reusable, accessible Input component built with React and Tailwind CSS. Supports error states, all native HTML input attributes, and custom styling via `className`.
|
|
6
|
-
|
|
7
|
-
---
|
|
8
|
-
|
|
9
|
-
## Installation
|
|
10
|
-
|
|
11
|
-
Ensure the following are set up in your project:
|
|
12
|
-
|
|
13
|
-
- [Tailwind CSS](https://tailwindcss.com/)
|
|
14
|
-
- `cn` utility (e.g. from `clsx` + `tailwind-merge`)
|
|
15
|
-
|
|
16
|
-
Then copy the component into your project:
|
|
17
|
-
|
|
18
|
-
```
|
|
19
|
-
components/
|
|
20
|
-
└── ui/
|
|
21
|
-
└── Input.tsx
|
|
22
|
-
```
|
|
23
|
-
|
|
24
|
-
---
|
|
25
|
-
|
|
26
|
-
## Usage
|
|
27
|
-
|
|
28
|
-
```tsx
|
|
29
|
-
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### Basic
|
|
33
|
-
|
|
34
|
-
```tsx
|
|
35
|
-
<Input placeholder="Enter your name" />
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
### With Error Message
|
|
39
|
-
|
|
40
|
-
```tsx
|
|
41
|
-
<Input
|
|
42
|
-
type="email"
|
|
43
|
-
placeholder="Enter your email"
|
|
44
|
-
error="Please enter a valid email address."
|
|
45
|
-
/>
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### Disabled
|
|
49
|
-
|
|
50
|
-
```tsx
|
|
51
|
-
<Input placeholder="Cannot edit this" disabled />
|
|
52
|
-
```
|
|
53
|
-
|
|
54
|
-
### With `onChange` Handler
|
|
55
|
-
|
|
56
|
-
```tsx
|
|
57
|
-
const [value, setValue] = useState('');
|
|
58
|
-
|
|
59
|
-
<Input
|
|
60
|
-
value={value}
|
|
61
|
-
onChange={(e) => setValue(e.target.value)}
|
|
62
|
-
placeholder="Type something..."
|
|
63
|
-
/>
|
|
64
|
-
```
|
|
65
|
-
|
|
66
|
-
### File Input
|
|
67
|
-
|
|
68
|
-
```tsx
|
|
69
|
-
<Input type="file" />
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## Props
|
|
75
|
-
|
|
76
|
-
| Prop | Type | Default | Description |
|
|
77
|
-
|---------------|------------------------------------------------|------------------|----------------------------------------------------------------------|
|
|
78
|
-
| `error` | `string` | `undefined` | Displays a red error message below the input and applies a red border |
|
|
79
|
-
| `type` | `string` | `"text"` | Native HTML input type (`text`, `email`, `password`, `file`, etc.) |
|
|
80
|
-
| `placeholder` | `string` | `"Enter text.."` | Placeholder text shown when the input is empty |
|
|
81
|
-
| `className` | `string` | `undefined` | Additional Tailwind or CSS classes applied to the input |
|
|
82
|
-
| `disabled` | `boolean` | `false` | Disables the input and shows a not-allowed cursor |
|
|
83
|
-
| `ref` | `React.Ref<HTMLInputElement>` | — | Forwarded ref for direct DOM access |
|
|
84
|
-
| `...props` | `React.InputHTMLAttributes<HTMLInputElement>` | — | All standard HTML input attributes are supported |
|
|
85
|
-
|
|
86
|
-
---
|
|
87
|
-
|
|
88
|
-
## Error State
|
|
89
|
-
|
|
90
|
-
When the `error` prop is provided:
|
|
91
|
-
|
|
92
|
-
- The input border turns **red** (`#FF0000`) with a `2px` width
|
|
93
|
-
- An error message is rendered below the input in red
|
|
94
|
-
|
|
95
|
-
```tsx
|
|
96
|
-
<Input
|
|
97
|
-
type="password"
|
|
98
|
-
placeholder="Enter password"
|
|
99
|
-
error="Password must be at least 8 characters."
|
|
100
|
-
/>
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
---
|
|
104
|
-
|
|
105
|
-
## Styling
|
|
106
|
-
|
|
107
|
-
The component uses Tailwind CSS for base styles and accepts a `className` prop for overrides. Border color and width are controlled via inline styles to reliably override Tailwind defaults:
|
|
108
|
-
|
|
109
|
-
| State | Border Color | Border Width |
|
|
110
|
-
|----------|--------------|--------------|
|
|
111
|
-
| Default | `#929292` | `1px` |
|
|
112
|
-
| Error | `#FF0000` | `2px` |
|
|
113
|
-
| Disabled | `#929292` | `1px` + 50% opacity |
|
|
114
|
-
|
|
115
|
-
To customize the appearance, pass a `className`:
|
|
116
|
-
|
|
117
|
-
```tsx
|
|
118
|
-
<Input className="rounded-lg h-12 text-base" />
|
|
119
|
-
```
|
|
120
|
-
|
|
121
|
-
---
|
|
122
|
-
|
|
123
|
-
## Accessibility
|
|
124
|
-
|
|
125
|
-
- Uses a native `<input>` element for full browser and screen reader support
|
|
126
|
-
- Error messages are rendered as a `<p>` tag directly below the input
|
|
127
|
-
- `disabled` state applies `disabled:cursor-not-allowed` and `disabled:opacity-50`
|
|
128
|
-
- Supports `ref` forwarding for use with form libraries like `react-hook-form`
|
|
129
|
-
|
|
130
|
-
---
|
|
131
|
-
|
|
132
|
-
## Integration with React Hook Form
|
|
133
|
-
|
|
134
|
-
```tsx
|
|
135
|
-
import { useForm } from 'react-hook-form';
|
|
136
|
-
import { Input } from '@/components/ui/Input';
|
|
137
|
-
|
|
138
|
-
const { register, formState: { errors } } = useForm();
|
|
139
|
-
|
|
140
|
-
<Input
|
|
141
|
-
{...register('email', { required: 'Email is required' })}
|
|
142
|
-
type="email"
|
|
143
|
-
placeholder="Enter your email"
|
|
144
|
-
error={errors.email?.message}
|
|
145
|
-
/>
|
|
146
|
-
```
|
|
147
|
-
|
|
148
|
-
---
|
|
149
|
-
|
|
150
|
-
## License
|
|
151
|
-
|
|
152
|
-
MIT
|
|
153
|
-
|
|
154
|
-
--------------------------------------------------------------------------------------------------
|
|
155
|
-
|
|
156
|
-
# Loader Component
|
|
157
|
-
|
|
158
|
-
A fullscreen animated bar-wave loader with a semi-transparent overlay. Uses alternating brand colors and a staggered CSS animation for a smooth, rhythmic loading indicator.
|
|
159
|
-
|
|
160
|
-
---
|
|
161
|
-
|
|
162
|
-
## Usage
|
|
163
|
-
|
|
164
|
-
```tsx
|
|
165
|
-
import { Loader } from '@/components/ui/Loader';
|
|
166
|
-
|
|
167
|
-
export default function App() {
|
|
168
|
-
const [loading, setLoading] = useState(true);
|
|
169
|
-
|
|
170
|
-
return (
|
|
171
|
-
<>
|
|
172
|
-
{loading && <Loader />}
|
|
173
|
-
<main>Your page content</main>
|
|
174
|
-
</>
|
|
175
|
-
);
|
|
176
|
-
}
|
|
177
|
-
```
|
|
178
|
-
|
|
179
|
-
---
|
|
180
|
-
|
|
181
|
-
## Behavior
|
|
182
|
-
|
|
183
|
-
- Renders a **fixed fullscreen overlay** (`z-[9999]`) with a dark semi-transparent background (`bg-black/40`)
|
|
184
|
-
- Displays **6 animated bars** in the center, alternating between two brand colors
|
|
185
|
-
- Each bar animates with a **staggered wave effect** (`scaleY`) creating a ripple motion
|
|
186
|
-
- The overlay sits on top of all page content and blocks interaction while active
|
|
187
|
-
|
|
188
|
-
---
|
|
189
|
-
|
|
190
|
-
## Animation
|
|
191
|
-
|
|
192
|
-
| Property | Value |
|
|
193
|
-
|-------------------|------------------------------|
|
|
194
|
-
| Animation | `bar-wave` (scaleY wave) |
|
|
195
|
-
| Duration | `1s` |
|
|
196
|
-
| Timing function | `ease-in-out` |
|
|
197
|
-
| Iteration | `infinite` |
|
|
198
|
-
| Stagger per bar | `0.1s` |
|
|
199
|
-
|
|
200
|
-
**Keyframes:**
|
|
201
|
-
|
|
202
|
-
```
|
|
203
|
-
0%, 100% → scaleY(0.2) (compressed)
|
|
204
|
-
50% → scaleY(1) (full height)
|
|
205
|
-
```
|
|
206
|
-
|
|
207
|
-
---
|
|
208
|
-
|
|
209
|
-
## Bar Colors
|
|
210
|
-
|
|
211
|
-
Bars alternate between two brand colors:
|
|
212
|
-
|
|
213
|
-
| Bar | Delay | Color | Hex |
|
|
214
|
-
|-----|--------|-----------|-----------|
|
|
215
|
-
| 1 | 0.0s | Yellow | `#FFCA29` |
|
|
216
|
-
| 2 | 0.1s | Navy Blue | `#003B71` |
|
|
217
|
-
| 3 | 0.2s | Yellow | `#FFCA29` |
|
|
218
|
-
| 4 | 0.3s | Navy Blue | `#003B71` |
|
|
219
|
-
| 5 | 0.4s | Yellow | `#FFCA29` |
|
|
220
|
-
| 6 | 0.5s | Navy Blue | `#003B71` |
|
|
221
|
-
|
|
222
|
-
---
|
|
223
|
-
|
|
224
|
-
## Customization
|
|
225
|
-
|
|
226
|
-
### Change Colors
|
|
227
|
-
|
|
228
|
-
Edit the `color` property on each `nth-child` span inside the `<style>` block:
|
|
229
|
-
|
|
230
|
-
```css
|
|
231
|
-
.loader span:nth-child(1) { color: #YOUR_COLOR; }
|
|
232
|
-
.loader span:nth-child(2) { color: #YOUR_COLOR; }
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
### Change Bar Size
|
|
236
|
-
|
|
237
|
-
```css
|
|
238
|
-
.loader span {
|
|
239
|
-
width: 10px; /* bar width */
|
|
240
|
-
height: 50px; /* bar height */
|
|
241
|
-
}
|
|
242
|
-
```
|
|
243
|
-
|
|
244
|
-
### Change Speed
|
|
245
|
-
|
|
246
|
-
```css
|
|
247
|
-
.loader span {
|
|
248
|
-
animation: bar-wave 0.7s ease-in-out infinite; /* faster */
|
|
249
|
-
}
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
### Change Overlay Opacity
|
|
253
|
-
|
|
254
|
-
Update the Tailwind class on the wrapper div:
|
|
255
|
-
|
|
256
|
-
```tsx
|
|
257
|
-
{/* lighter */}
|
|
258
|
-
<div className="fixed inset-0 z-[9999] bg-black/20 ...">
|
|
259
|
-
|
|
260
|
-
{/* darker */}
|
|
261
|
-
<div className="fixed inset-0 z-[9999] bg-black/60 ...">
|
|
262
|
-
```
|
|
263
|
-
|
|
264
|
-
---
|
|
265
|
-
|
|
266
|
-
## Conditional Rendering
|
|
267
|
-
|
|
268
|
-
Control visibility by conditionally rendering the component:
|
|
269
|
-
|
|
270
|
-
```tsx
|
|
271
|
-
{isLoading && <Loader />}
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
Or toggle with a state variable after an async operation:
|
|
275
|
-
|
|
276
|
-
```tsx
|
|
277
|
-
const [loading, setLoading] = useState(false);
|
|
278
|
-
|
|
279
|
-
const handleSubmit = async () => {
|
|
280
|
-
setLoading(true);
|
|
281
|
-
await saveData();
|
|
282
|
-
setLoading(false);
|
|
283
|
-
};
|
|
284
|
-
|
|
285
|
-
return (
|
|
286
|
-
<>
|
|
287
|
-
{loading && <Loader />}
|
|
288
|
-
<button onClick={handleSubmit}>Save</button>
|
|
289
|
-
</>
|
|
290
|
-
);
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
---
|
|
294
|
-
|
|
295
|
-
## Props
|
|
296
|
-
|
|
297
|
-
This component accepts no props. It is a self-contained, zero-configuration loader.
|
|
298
|
-
|
|
299
|
-
---
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
MIT
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
"# Multi-select component is developed"
|
|
306
|
-
"# Text Area component is developed"
|
|
307
|
-
|
|
308
|
-
# ProgressBar
|
|
309
|
-
|
|
310
|
-
## Basic Usage
|
|
311
|
-
|
|
312
|
-
```tsx
|
|
313
|
-
import { ProgressBar } from "@digitus-fci-oa/notifications";
|
|
314
|
-
|
|
315
|
-
<ProgressBar value={60} />
|
|
316
|
-
```
|
|
317
|
-
|
|
318
|
-
---
|
|
319
|
-
|
|
320
|
-
## With Label
|
|
321
|
-
|
|
322
|
-
```tsx
|
|
323
|
-
<ProgressBar
|
|
324
|
-
value={75}
|
|
325
|
-
showLabel
|
|
326
|
-
label="Uploading..."
|
|
327
|
-
/>
|
|
328
|
-
```
|
|
329
|
-
|
|
330
|
-
---
|
|
331
|
-
|
|
332
|
-
## Without Percentage
|
|
333
|
-
|
|
334
|
-
```tsx
|
|
335
|
-
<ProgressBar
|
|
336
|
-
value={40}
|
|
337
|
-
showPercentage={false}
|
|
338
|
-
/>
|
|
339
|
-
```
|
|
340
|
-
|
|
341
|
-
---
|
|
342
|
-
|
|
343
|
-
## Custom Height
|
|
344
|
-
|
|
345
|
-
```tsx
|
|
346
|
-
<ProgressBar
|
|
347
|
-
value={50}
|
|
348
|
-
height="h-4"
|
|
349
|
-
/>
|
|
350
|
-
```
|
|
351
|
-
|
|
352
|
-
---
|
|
353
|
-
|
|
354
|
-
## Custom Colors
|
|
355
|
-
|
|
356
|
-
```tsx
|
|
357
|
-
<ProgressBar
|
|
358
|
-
value={80}
|
|
359
|
-
backgroundColor="bg-gray-100"
|
|
360
|
-
progressColor="bg-green-500"
|
|
361
|
-
/>
|
|
362
|
-
```
|
|
363
|
-
|
|
364
|
-
---
|
|
365
|
-
|
|
366
|
-
## Animated
|
|
367
|
-
|
|
368
|
-
```tsx
|
|
369
|
-
<ProgressBar
|
|
370
|
-
value={65}
|
|
371
|
-
animated
|
|
372
|
-
/>
|
|
373
|
-
```
|
|
374
|
-
|
|
375
|
-
---
|
|
376
|
-
|
|
377
|
-
## Striped
|
|
378
|
-
|
|
379
|
-
```tsx
|
|
380
|
-
<ProgressBar
|
|
381
|
-
value={55}
|
|
382
|
-
striped
|
|
383
|
-
/>
|
|
384
|
-
```
|
|
385
|
-
|
|
386
|
-
---
|
|
387
|
-
|
|
388
|
-
## Striped + Animated
|
|
389
|
-
|
|
390
|
-
```tsx
|
|
391
|
-
<ProgressBar
|
|
392
|
-
value={70}
|
|
393
|
-
striped
|
|
394
|
-
animated
|
|
395
|
-
/>
|
|
396
|
-
```
|
|
397
|
-
|
|
398
|
-
---
|
|
399
|
-
|
|
400
|
-
## Vertical Orientation
|
|
401
|
-
|
|
402
|
-
```tsx
|
|
403
|
-
<ProgressBar
|
|
404
|
-
value={60}
|
|
405
|
-
orientation="vertical"
|
|
406
|
-
/>
|
|
407
|
-
```
|
|
408
|
-
|
|
409
|
-
---
|
|
410
|
-
|
|
411
|
-
## With Test Id
|
|
412
|
-
|
|
413
|
-
```tsx
|
|
414
|
-
<ProgressBar
|
|
415
|
-
value={50}
|
|
416
|
-
dataTestId="upload-progress"
|
|
417
|
-
/>
|
|
418
|
-
```
|
|
419
|
-
|
|
420
|
-
---
|
|
421
|
-
|
|
422
|
-
## Props
|
|
423
|
-
|
|
424
|
-
| Prop | Type | Default | Description |
|
|
425
|
-
| --------------------- | ---------------------------- | ---------------- | ----------------------------------------------- |
|
|
426
|
-
| `value` | `number` | — | Progress value between `0` and `100` (required) |
|
|
427
|
-
| `showLabel` | `boolean` | `false` | Shows the label text |
|
|
428
|
-
| `label` | `string` | `undefined` | Label text displayed alongside the bar |
|
|
429
|
-
| `showPercentage` | `boolean` | `true` | Shows percentage value next to the bar |
|
|
430
|
-
| `height` | `string` | `"h-2"` | Tailwind height class for horizontal bar |
|
|
431
|
-
| `containerClassName` | `string` | `undefined` | Custom class for the bar track container |
|
|
432
|
-
| `progressClassName` | `string` | `undefined` | Custom class for the filled progress bar |
|
|
433
|
-
| `wrapperClassName` | `string` | `undefined` | Custom class for the outermost wrapper |
|
|
434
|
-
| `labelClassName` | `string` | `undefined` | Custom class for the label text |
|
|
435
|
-
| `percentageClassName` | `string` | `undefined` | Custom class for the percentage text |
|
|
436
|
-
| `backgroundColor` | `string` | `"bg-gray-200"` | Tailwind class for the track background color |
|
|
437
|
-
| `progressColor` | `string` | `"bg-[#02245A]"` | Tailwind class for the filled bar color |
|
|
438
|
-
| `animated` | `boolean` | `true` | Enables smooth transition animation |
|
|
439
|
-
| `striped` | `boolean` | `false` | Adds diagonal stripe pattern to the bar |
|
|
440
|
-
| `orientation` | `"horizontal" \| "vertical"` | `"horizontal"` | Controls the direction of the progress bar |
|
|
441
|
-
| `dataTestId` | `string` | `undefined` | Test id for automation/testing |
|
|
442
|
-
# Toast Component
|
|
443
|
-
|
|
444
|
-
A simple reusable toast/modal component for displaying status messages.
|
|
445
|
-
|
|
446
|
-
## To Import
|
|
447
|
-
|
|
448
|
-
```import Toast from './components/Toast/Toast';```
|
|
449
|
-
|
|
450
|
-
---
|
|
451
|
-
|
|
452
|
-
## Usage
|
|
453
|
-
|
|
454
|
-
```tsx
|
|
455
|
-
<Toast
|
|
456
|
-
width="300px"
|
|
457
|
-
isOpen={true}
|
|
458
|
-
onClose={() => {}}
|
|
459
|
-
message="Operation completed successfully!"
|
|
460
|
-
icon={<ErrorIcon />}
|
|
461
|
-
/>
|
|
462
|
-
```
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const ne=require("react"),Jr=require("react-dom");function pr(r){var n,a,o="";if(typeof r=="string"||typeof r=="number")o+=r;else if(typeof r=="object")if(Array.isArray(r)){var c=r.length;for(n=0;n<c;n++)r[n]&&(a=pr(r[n]))&&(o&&(o+=" "),o+=a)}else for(a in r)r[a]&&(o&&(o+=" "),o+=a);return o}function Hr(){for(var r,n,a=0,o="",c=arguments.length;a<c;a++)(r=arguments[a])&&(n=pr(r))&&(o&&(o+=" "),o+=n);return o}const Ye="-",Kr=r=>{const n=Zr(r),{conflictingClassGroups:a,conflictingClassGroupModifiers:o}=r;return{getClassGroupId:d=>{const h=d.split(Ye);return h[0]===""&&h.length!==1&&h.shift(),mr(h,n)||Xr(d)},getConflictingClassGroupIds:(d,h)=>{const u=a[d]||[];return h&&o[d]?[...u,...o[d]]:u}}},mr=(r,n)=>{var d;if(r.length===0)return n.classGroupId;const a=r[0],o=n.nextPart.get(a),c=o?mr(r.slice(1),o):void 0;if(c)return c;if(n.validators.length===0)return;const m=r.join(Ye);return(d=n.validators.find(({validator:h})=>h(m)))==null?void 0:d.classGroupId},sr=/^\[(.+)\]$/,Xr=r=>{if(sr.test(r)){const n=sr.exec(r)[1],a=n==null?void 0:n.substring(0,n.indexOf(":"));if(a)return"arbitrary.."+a}},Zr=r=>{const{theme:n,classGroups:a}=r,o={nextPart:new Map,validators:[]};for(const c in a)Ne(a[c],o,c,n);return o},Ne=(r,n,a,o)=>{r.forEach(c=>{if(typeof c=="string"){const m=c===""?n:ir(n,c);m.classGroupId=a;return}if(typeof c=="function"){if(Qr(c)){Ne(c(o),n,a,o);return}n.validators.push({validator:c,classGroupId:a});return}Object.entries(c).forEach(([m,d])=>{Ne(d,ir(n,m),a,o)})})},ir=(r,n)=>{let a=r;return n.split(Ye).forEach(o=>{a.nextPart.has(o)||a.nextPart.set(o,{nextPart:new Map,validators:[]}),a=a.nextPart.get(o)}),a},Qr=r=>r.isThemeGetter,et=r=>{if(r<1)return{get:()=>{},set:()=>{}};let n=0,a=new Map,o=new Map;const c=(m,d)=>{a.set(m,d),n++,n>r&&(n=0,o=a,a=new Map)};return{get(m){let d=a.get(m);if(d!==void 0)return d;if((d=o.get(m))!==void 0)return c(m,d),d},set(m,d){a.has(m)?a.set(m,d):c(m,d)}}},Ve="!",Be=":",rt=Be.length,tt=r=>{const{prefix:n,experimentalParseClassName:a}=r;let o=c=>{const m=[];let d=0,h=0,u=0,E;for(let S=0;S<c.length;S++){let z=c[S];if(d===0&&h===0){if(z===Be){m.push(c.slice(u,S)),u=S+rt;continue}if(z==="/"){E=S;continue}}z==="["?d++:z==="]"?d--:z==="("?h++:z===")"&&h--}const w=m.length===0?c:c.substring(u),C=ot(w),F=C!==w,L=E&&E>u?E-u:void 0;return{modifiers:m,hasImportantModifier:F,baseClassName:C,maybePostfixModifierPosition:L}};if(n){const c=n+Be,m=o;o=d=>d.startsWith(c)?m(d.substring(c.length)):{isExternal:!0,modifiers:[],hasImportantModifier:!1,baseClassName:d,maybePostfixModifierPosition:void 0}}if(a){const c=o;o=m=>a({className:m,parseClassName:c})}return o},ot=r=>r.endsWith(Ve)?r.substring(0,r.length-1):r.startsWith(Ve)?r.substring(1):r,nt=r=>{const n=Object.fromEntries(r.orderSensitiveModifiers.map(o=>[o,!0]));return o=>{if(o.length<=1)return o;const c=[];let m=[];return o.forEach(d=>{d[0]==="["||n[d]?(c.push(...m.sort(),d),m=[]):m.push(d)}),c.push(...m.sort()),c}},at=r=>({cache:et(r.cacheSize),parseClassName:tt(r),sortModifiers:nt(r),...Kr(r)}),st=/\s+/,it=(r,n)=>{const{parseClassName:a,getClassGroupId:o,getConflictingClassGroupIds:c,sortModifiers:m}=n,d=[],h=r.trim().split(st);let u="";for(let E=h.length-1;E>=0;E-=1){const w=h[E],{isExternal:C,modifiers:F,hasImportantModifier:L,baseClassName:S,maybePostfixModifierPosition:z}=a(w);if(C){u=w+(u.length>0?" "+u:u);continue}let $=!!z,j=o($?S.substring(0,z):S);if(!j){if(!$){u=w+(u.length>0?" "+u:u);continue}if(j=o(S),!j){u=w+(u.length>0?" "+u:u);continue}$=!1}const b=m(F).join(":"),U=L?b+Ve:b,B=U+j;if(d.includes(B))continue;d.push(B);const G=c(j,$);for(let D=0;D<G.length;++D){const Y=G[D];d.push(U+Y)}u=w+(u.length>0?" "+u:u)}return u};function lt(){let r=0,n,a,o="";for(;r<arguments.length;)(n=arguments[r++])&&(a=gr(n))&&(o&&(o+=" "),o+=a);return o}const gr=r=>{if(typeof r=="string")return r;let n,a="";for(let o=0;o<r.length;o++)r[o]&&(n=gr(r[o]))&&(a&&(a+=" "),a+=n);return a};function ct(r,...n){let a,o,c,m=d;function d(u){const E=n.reduce((w,C)=>C(w),r());return a=at(E),o=a.cache.get,c=a.cache.set,m=h,h(u)}function h(u){const E=o(u);if(E)return E;const w=it(u,a);return c(u,w),w}return function(){return m(lt.apply(null,arguments))}}const O=r=>{const n=a=>a[r]||[];return n.isThemeGetter=!0,n},br=/^\[(?:(\w[\w-]*):)?(.+)\]$/i,hr=/^\((?:(\w[\w-]*):)?(.+)\)$/i,dt=/^\d+\/\d+$/,ut=/^(\d+(\.\d+)?)?(xs|sm|md|lg|xl)$/,ft=/\d+(%|px|r?em|[sdl]?v([hwib]|min|max)|pt|pc|in|cm|mm|cap|ch|ex|r?lh|cq(w|h|i|b|min|max))|\b(calc|min|max|clamp)\(.+\)|^0$/,pt=/^(rgba?|hsla?|hwb|(ok)?(lab|lch))\(.+\)$/,mt=/^(inset_)?-?((\d+)?\.?(\d+)[a-z]+|0)_-?((\d+)?\.?(\d+)[a-z]+|0)/,gt=/^(url|image|image-set|cross-fade|element|(repeating-)?(linear|radial|conic)-gradient)\(.+\)$/,he=r=>dt.test(r),v=r=>!!r&&!Number.isNaN(Number(r)),te=r=>!!r&&Number.isInteger(Number(r)),$e=r=>r.endsWith("%")&&v(r.slice(0,-1)),ee=r=>ut.test(r),bt=()=>!0,ht=r=>ft.test(r)&&!pt.test(r),vr=()=>!1,vt=r=>mt.test(r),xt=r=>gt.test(r),yt=r=>!i(r)&&!l(r),wt=r=>ye(r,wr,vr),i=r=>br.test(r),ce=r=>ye(r,kr,ht),We=r=>ye(r,Ct,v),lr=r=>ye(r,xr,vr),kt=r=>ye(r,yr,xt),Oe=r=>ye(r,Rr,vt),l=r=>hr.test(r),Se=r=>we(r,kr),Rt=r=>we(r,St),cr=r=>we(r,xr),Et=r=>we(r,wr),_t=r=>we(r,yr),ze=r=>we(r,Rr,!0),ye=(r,n,a)=>{const o=br.exec(r);return o?o[1]?n(o[1]):a(o[2]):!1},we=(r,n,a=!1)=>{const o=hr.exec(r);return o?o[1]?n(o[1]):a:!1},xr=r=>r==="position"||r==="percentage",yr=r=>r==="image"||r==="url",wr=r=>r==="length"||r==="size"||r==="bg-size",kr=r=>r==="length",Ct=r=>r==="number",St=r=>r==="family-name",Rr=r=>r==="shadow",jt=()=>{const r=O("color"),n=O("font"),a=O("text"),o=O("font-weight"),c=O("tracking"),m=O("leading"),d=O("breakpoint"),h=O("container"),u=O("spacing"),E=O("radius"),w=O("shadow"),C=O("inset-shadow"),F=O("text-shadow"),L=O("drop-shadow"),S=O("blur"),z=O("perspective"),$=O("aspect"),j=O("ease"),b=O("animate"),U=()=>["auto","avoid","all","avoid-page","page","left","right","column"],B=()=>["center","top","bottom","left","right","top-left","left-top","top-right","right-top","bottom-right","right-bottom","bottom-left","left-bottom"],G=()=>[...B(),l,i],D=()=>["auto","hidden","clip","visible","scroll"],Y=()=>["auto","contain","none"],f=()=>[l,i,u],M=()=>[he,"full","auto",...f()],de=()=>[te,"none","subgrid",l,i],ue=()=>["auto",{span:["full",te,l,i]},te,l,i],ae=()=>[te,"auto",l,i],K=()=>["auto","min","max","fr",l,i],X=()=>["start","end","center","between","around","evenly","stretch","baseline","center-safe","end-safe"],q=()=>["start","end","center","stretch","center-safe","end-safe"],J=()=>["auto",...f()],Z=()=>[he,"auto","full","dvw","dvh","lvw","lvh","svw","svh","min","max","fit",...f()],p=()=>[r,l,i],ke=()=>[...B(),cr,lr,{position:[l,i]}],Re=()=>["no-repeat",{repeat:["","x","y","space","round"]}],Ee=()=>["auto","cover","contain",Et,wt,{size:[l,i]}],fe=()=>[$e,Se,ce],I=()=>["","none","full",E,l,i],W=()=>["",v,Se,ce],pe=()=>["solid","dashed","dotted","double"],me=()=>["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],T=()=>[v,$e,cr,lr],se=()=>["","none",S,l,i],re=()=>["none",v,l,i],Q=()=>["none",v,l,i],_e=()=>[v,l,i],ie=()=>[he,"full",...f()];return{cacheSize:500,theme:{animate:["spin","ping","pulse","bounce"],aspect:["video"],blur:[ee],breakpoint:[ee],color:[bt],container:[ee],"drop-shadow":[ee],ease:["in","out","in-out"],font:[yt],"font-weight":["thin","extralight","light","normal","medium","semibold","bold","extrabold","black"],"inset-shadow":[ee],leading:["none","tight","snug","normal","relaxed","loose"],perspective:["dramatic","near","normal","midrange","distant","none"],radius:[ee],shadow:[ee],spacing:["px",v],text:[ee],"text-shadow":[ee],tracking:["tighter","tight","normal","wide","wider","widest"]},classGroups:{aspect:[{aspect:["auto","square",he,i,l,$]}],container:["container"],columns:[{columns:[v,i,l,h]}],"break-after":[{"break-after":U()}],"break-before":[{"break-before":U()}],"break-inside":[{"break-inside":["auto","avoid","avoid-page","avoid-column"]}],"box-decoration":[{"box-decoration":["slice","clone"]}],box:[{box:["border","content"]}],display:["block","inline-block","inline","flex","inline-flex","table","inline-table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row-group","table-row","flow-root","grid","inline-grid","contents","list-item","hidden"],sr:["sr-only","not-sr-only"],float:[{float:["right","left","none","start","end"]}],clear:[{clear:["left","right","both","none","start","end"]}],isolation:["isolate","isolation-auto"],"object-fit":[{object:["contain","cover","fill","none","scale-down"]}],"object-position":[{object:G()}],overflow:[{overflow:D()}],"overflow-x":[{"overflow-x":D()}],"overflow-y":[{"overflow-y":D()}],overscroll:[{overscroll:Y()}],"overscroll-x":[{"overscroll-x":Y()}],"overscroll-y":[{"overscroll-y":Y()}],position:["static","fixed","absolute","relative","sticky"],inset:[{inset:M()}],"inset-x":[{"inset-x":M()}],"inset-y":[{"inset-y":M()}],start:[{start:M()}],end:[{end:M()}],top:[{top:M()}],right:[{right:M()}],bottom:[{bottom:M()}],left:[{left:M()}],visibility:["visible","invisible","collapse"],z:[{z:[te,"auto",l,i]}],basis:[{basis:[he,"full","auto",h,...f()]}],"flex-direction":[{flex:["row","row-reverse","col","col-reverse"]}],"flex-wrap":[{flex:["nowrap","wrap","wrap-reverse"]}],flex:[{flex:[v,he,"auto","initial","none",i]}],grow:[{grow:["",v,l,i]}],shrink:[{shrink:["",v,l,i]}],order:[{order:[te,"first","last","none",l,i]}],"grid-cols":[{"grid-cols":de()}],"col-start-end":[{col:ue()}],"col-start":[{"col-start":ae()}],"col-end":[{"col-end":ae()}],"grid-rows":[{"grid-rows":de()}],"row-start-end":[{row:ue()}],"row-start":[{"row-start":ae()}],"row-end":[{"row-end":ae()}],"grid-flow":[{"grid-flow":["row","col","dense","row-dense","col-dense"]}],"auto-cols":[{"auto-cols":K()}],"auto-rows":[{"auto-rows":K()}],gap:[{gap:f()}],"gap-x":[{"gap-x":f()}],"gap-y":[{"gap-y":f()}],"justify-content":[{justify:[...X(),"normal"]}],"justify-items":[{"justify-items":[...q(),"normal"]}],"justify-self":[{"justify-self":["auto",...q()]}],"align-content":[{content:["normal",...X()]}],"align-items":[{items:[...q(),{baseline:["","last"]}]}],"align-self":[{self:["auto",...q(),{baseline:["","last"]}]}],"place-content":[{"place-content":X()}],"place-items":[{"place-items":[...q(),"baseline"]}],"place-self":[{"place-self":["auto",...q()]}],p:[{p:f()}],px:[{px:f()}],py:[{py:f()}],ps:[{ps:f()}],pe:[{pe:f()}],pt:[{pt:f()}],pr:[{pr:f()}],pb:[{pb:f()}],pl:[{pl:f()}],m:[{m:J()}],mx:[{mx:J()}],my:[{my:J()}],ms:[{ms:J()}],me:[{me:J()}],mt:[{mt:J()}],mr:[{mr:J()}],mb:[{mb:J()}],ml:[{ml:J()}],"space-x":[{"space-x":f()}],"space-x-reverse":["space-x-reverse"],"space-y":[{"space-y":f()}],"space-y-reverse":["space-y-reverse"],size:[{size:Z()}],w:[{w:[h,"screen",...Z()]}],"min-w":[{"min-w":[h,"screen","none",...Z()]}],"max-w":[{"max-w":[h,"screen","none","prose",{screen:[d]},...Z()]}],h:[{h:["screen",...Z()]}],"min-h":[{"min-h":["screen","none",...Z()]}],"max-h":[{"max-h":["screen",...Z()]}],"font-size":[{text:["base",a,Se,ce]}],"font-smoothing":["antialiased","subpixel-antialiased"],"font-style":["italic","not-italic"],"font-weight":[{font:[o,l,We]}],"font-stretch":[{"font-stretch":["ultra-condensed","extra-condensed","condensed","semi-condensed","normal","semi-expanded","expanded","extra-expanded","ultra-expanded",$e,i]}],"font-family":[{font:[Rt,i,n]}],"fvn-normal":["normal-nums"],"fvn-ordinal":["ordinal"],"fvn-slashed-zero":["slashed-zero"],"fvn-figure":["lining-nums","oldstyle-nums"],"fvn-spacing":["proportional-nums","tabular-nums"],"fvn-fraction":["diagonal-fractions","stacked-fractions"],tracking:[{tracking:[c,l,i]}],"line-clamp":[{"line-clamp":[v,"none",l,We]}],leading:[{leading:[m,...f()]}],"list-image":[{"list-image":["none",l,i]}],"list-style-position":[{list:["inside","outside"]}],"list-style-type":[{list:["disc","decimal","none",l,i]}],"text-alignment":[{text:["left","center","right","justify","start","end"]}],"placeholder-color":[{placeholder:p()}],"text-color":[{text:p()}],"text-decoration":["underline","overline","line-through","no-underline"],"text-decoration-style":[{decoration:[...pe(),"wavy"]}],"text-decoration-thickness":[{decoration:[v,"from-font","auto",l,ce]}],"text-decoration-color":[{decoration:p()}],"underline-offset":[{"underline-offset":[v,"auto",l,i]}],"text-transform":["uppercase","lowercase","capitalize","normal-case"],"text-overflow":["truncate","text-ellipsis","text-clip"],"text-wrap":[{text:["wrap","nowrap","balance","pretty"]}],indent:[{indent:f()}],"vertical-align":[{align:["baseline","top","middle","bottom","text-top","text-bottom","sub","super",l,i]}],whitespace:[{whitespace:["normal","nowrap","pre","pre-line","pre-wrap","break-spaces"]}],break:[{break:["normal","words","all","keep"]}],wrap:[{wrap:["break-word","anywhere","normal"]}],hyphens:[{hyphens:["none","manual","auto"]}],content:[{content:["none",l,i]}],"bg-attachment":[{bg:["fixed","local","scroll"]}],"bg-clip":[{"bg-clip":["border","padding","content","text"]}],"bg-origin":[{"bg-origin":["border","padding","content"]}],"bg-position":[{bg:ke()}],"bg-repeat":[{bg:Re()}],"bg-size":[{bg:Ee()}],"bg-image":[{bg:["none",{linear:[{to:["t","tr","r","br","b","bl","l","tl"]},te,l,i],radial:["",l,i],conic:[te,l,i]},_t,kt]}],"bg-color":[{bg:p()}],"gradient-from-pos":[{from:fe()}],"gradient-via-pos":[{via:fe()}],"gradient-to-pos":[{to:fe()}],"gradient-from":[{from:p()}],"gradient-via":[{via:p()}],"gradient-to":[{to:p()}],rounded:[{rounded:I()}],"rounded-s":[{"rounded-s":I()}],"rounded-e":[{"rounded-e":I()}],"rounded-t":[{"rounded-t":I()}],"rounded-r":[{"rounded-r":I()}],"rounded-b":[{"rounded-b":I()}],"rounded-l":[{"rounded-l":I()}],"rounded-ss":[{"rounded-ss":I()}],"rounded-se":[{"rounded-se":I()}],"rounded-ee":[{"rounded-ee":I()}],"rounded-es":[{"rounded-es":I()}],"rounded-tl":[{"rounded-tl":I()}],"rounded-tr":[{"rounded-tr":I()}],"rounded-br":[{"rounded-br":I()}],"rounded-bl":[{"rounded-bl":I()}],"border-w":[{border:W()}],"border-w-x":[{"border-x":W()}],"border-w-y":[{"border-y":W()}],"border-w-s":[{"border-s":W()}],"border-w-e":[{"border-e":W()}],"border-w-t":[{"border-t":W()}],"border-w-r":[{"border-r":W()}],"border-w-b":[{"border-b":W()}],"border-w-l":[{"border-l":W()}],"divide-x":[{"divide-x":W()}],"divide-x-reverse":["divide-x-reverse"],"divide-y":[{"divide-y":W()}],"divide-y-reverse":["divide-y-reverse"],"border-style":[{border:[...pe(),"hidden","none"]}],"divide-style":[{divide:[...pe(),"hidden","none"]}],"border-color":[{border:p()}],"border-color-x":[{"border-x":p()}],"border-color-y":[{"border-y":p()}],"border-color-s":[{"border-s":p()}],"border-color-e":[{"border-e":p()}],"border-color-t":[{"border-t":p()}],"border-color-r":[{"border-r":p()}],"border-color-b":[{"border-b":p()}],"border-color-l":[{"border-l":p()}],"divide-color":[{divide:p()}],"outline-style":[{outline:[...pe(),"none","hidden"]}],"outline-offset":[{"outline-offset":[v,l,i]}],"outline-w":[{outline:["",v,Se,ce]}],"outline-color":[{outline:p()}],shadow:[{shadow:["","none",w,ze,Oe]}],"shadow-color":[{shadow:p()}],"inset-shadow":[{"inset-shadow":["none",C,ze,Oe]}],"inset-shadow-color":[{"inset-shadow":p()}],"ring-w":[{ring:W()}],"ring-w-inset":["ring-inset"],"ring-color":[{ring:p()}],"ring-offset-w":[{"ring-offset":[v,ce]}],"ring-offset-color":[{"ring-offset":p()}],"inset-ring-w":[{"inset-ring":W()}],"inset-ring-color":[{"inset-ring":p()}],"text-shadow":[{"text-shadow":["none",F,ze,Oe]}],"text-shadow-color":[{"text-shadow":p()}],opacity:[{opacity:[v,l,i]}],"mix-blend":[{"mix-blend":[...me(),"plus-darker","plus-lighter"]}],"bg-blend":[{"bg-blend":me()}],"mask-clip":[{"mask-clip":["border","padding","content","fill","stroke","view"]},"mask-no-clip"],"mask-composite":[{mask:["add","subtract","intersect","exclude"]}],"mask-image-linear-pos":[{"mask-linear":[v]}],"mask-image-linear-from-pos":[{"mask-linear-from":T()}],"mask-image-linear-to-pos":[{"mask-linear-to":T()}],"mask-image-linear-from-color":[{"mask-linear-from":p()}],"mask-image-linear-to-color":[{"mask-linear-to":p()}],"mask-image-t-from-pos":[{"mask-t-from":T()}],"mask-image-t-to-pos":[{"mask-t-to":T()}],"mask-image-t-from-color":[{"mask-t-from":p()}],"mask-image-t-to-color":[{"mask-t-to":p()}],"mask-image-r-from-pos":[{"mask-r-from":T()}],"mask-image-r-to-pos":[{"mask-r-to":T()}],"mask-image-r-from-color":[{"mask-r-from":p()}],"mask-image-r-to-color":[{"mask-r-to":p()}],"mask-image-b-from-pos":[{"mask-b-from":T()}],"mask-image-b-to-pos":[{"mask-b-to":T()}],"mask-image-b-from-color":[{"mask-b-from":p()}],"mask-image-b-to-color":[{"mask-b-to":p()}],"mask-image-l-from-pos":[{"mask-l-from":T()}],"mask-image-l-to-pos":[{"mask-l-to":T()}],"mask-image-l-from-color":[{"mask-l-from":p()}],"mask-image-l-to-color":[{"mask-l-to":p()}],"mask-image-x-from-pos":[{"mask-x-from":T()}],"mask-image-x-to-pos":[{"mask-x-to":T()}],"mask-image-x-from-color":[{"mask-x-from":p()}],"mask-image-x-to-color":[{"mask-x-to":p()}],"mask-image-y-from-pos":[{"mask-y-from":T()}],"mask-image-y-to-pos":[{"mask-y-to":T()}],"mask-image-y-from-color":[{"mask-y-from":p()}],"mask-image-y-to-color":[{"mask-y-to":p()}],"mask-image-radial":[{"mask-radial":[l,i]}],"mask-image-radial-from-pos":[{"mask-radial-from":T()}],"mask-image-radial-to-pos":[{"mask-radial-to":T()}],"mask-image-radial-from-color":[{"mask-radial-from":p()}],"mask-image-radial-to-color":[{"mask-radial-to":p()}],"mask-image-radial-shape":[{"mask-radial":["circle","ellipse"]}],"mask-image-radial-size":[{"mask-radial":[{closest:["side","corner"],farthest:["side","corner"]}]}],"mask-image-radial-pos":[{"mask-radial-at":B()}],"mask-image-conic-pos":[{"mask-conic":[v]}],"mask-image-conic-from-pos":[{"mask-conic-from":T()}],"mask-image-conic-to-pos":[{"mask-conic-to":T()}],"mask-image-conic-from-color":[{"mask-conic-from":p()}],"mask-image-conic-to-color":[{"mask-conic-to":p()}],"mask-mode":[{mask:["alpha","luminance","match"]}],"mask-origin":[{"mask-origin":["border","padding","content","fill","stroke","view"]}],"mask-position":[{mask:ke()}],"mask-repeat":[{mask:Re()}],"mask-size":[{mask:Ee()}],"mask-type":[{"mask-type":["alpha","luminance"]}],"mask-image":[{mask:["none",l,i]}],filter:[{filter:["","none",l,i]}],blur:[{blur:se()}],brightness:[{brightness:[v,l,i]}],contrast:[{contrast:[v,l,i]}],"drop-shadow":[{"drop-shadow":["","none",L,ze,Oe]}],"drop-shadow-color":[{"drop-shadow":p()}],grayscale:[{grayscale:["",v,l,i]}],"hue-rotate":[{"hue-rotate":[v,l,i]}],invert:[{invert:["",v,l,i]}],saturate:[{saturate:[v,l,i]}],sepia:[{sepia:["",v,l,i]}],"backdrop-filter":[{"backdrop-filter":["","none",l,i]}],"backdrop-blur":[{"backdrop-blur":se()}],"backdrop-brightness":[{"backdrop-brightness":[v,l,i]}],"backdrop-contrast":[{"backdrop-contrast":[v,l,i]}],"backdrop-grayscale":[{"backdrop-grayscale":["",v,l,i]}],"backdrop-hue-rotate":[{"backdrop-hue-rotate":[v,l,i]}],"backdrop-invert":[{"backdrop-invert":["",v,l,i]}],"backdrop-opacity":[{"backdrop-opacity":[v,l,i]}],"backdrop-saturate":[{"backdrop-saturate":[v,l,i]}],"backdrop-sepia":[{"backdrop-sepia":["",v,l,i]}],"border-collapse":[{border:["collapse","separate"]}],"border-spacing":[{"border-spacing":f()}],"border-spacing-x":[{"border-spacing-x":f()}],"border-spacing-y":[{"border-spacing-y":f()}],"table-layout":[{table:["auto","fixed"]}],caption:[{caption:["top","bottom"]}],transition:[{transition:["","all","colors","opacity","shadow","transform","none",l,i]}],"transition-behavior":[{transition:["normal","discrete"]}],duration:[{duration:[v,"initial",l,i]}],ease:[{ease:["linear","initial",j,l,i]}],delay:[{delay:[v,l,i]}],animate:[{animate:["none",b,l,i]}],backface:[{backface:["hidden","visible"]}],perspective:[{perspective:[z,l,i]}],"perspective-origin":[{"perspective-origin":G()}],rotate:[{rotate:re()}],"rotate-x":[{"rotate-x":re()}],"rotate-y":[{"rotate-y":re()}],"rotate-z":[{"rotate-z":re()}],scale:[{scale:Q()}],"scale-x":[{"scale-x":Q()}],"scale-y":[{"scale-y":Q()}],"scale-z":[{"scale-z":Q()}],"scale-3d":["scale-3d"],skew:[{skew:_e()}],"skew-x":[{"skew-x":_e()}],"skew-y":[{"skew-y":_e()}],transform:[{transform:[l,i,"","none","gpu","cpu"]}],"transform-origin":[{origin:G()}],"transform-style":[{transform:["3d","flat"]}],translate:[{translate:ie()}],"translate-x":[{"translate-x":ie()}],"translate-y":[{"translate-y":ie()}],"translate-z":[{"translate-z":ie()}],"translate-none":["translate-none"],accent:[{accent:p()}],appearance:[{appearance:["none","auto"]}],"caret-color":[{caret:p()}],"color-scheme":[{scheme:["normal","dark","light","light-dark","only-dark","only-light"]}],cursor:[{cursor:["auto","default","pointer","wait","text","move","help","not-allowed","none","context-menu","progress","cell","crosshair","vertical-text","alias","copy","no-drop","grab","grabbing","all-scroll","col-resize","row-resize","n-resize","e-resize","s-resize","w-resize","ne-resize","nw-resize","se-resize","sw-resize","ew-resize","ns-resize","nesw-resize","nwse-resize","zoom-in","zoom-out",l,i]}],"field-sizing":[{"field-sizing":["fixed","content"]}],"pointer-events":[{"pointer-events":["auto","none"]}],resize:[{resize:["none","","y","x"]}],"scroll-behavior":[{scroll:["auto","smooth"]}],"scroll-m":[{"scroll-m":f()}],"scroll-mx":[{"scroll-mx":f()}],"scroll-my":[{"scroll-my":f()}],"scroll-ms":[{"scroll-ms":f()}],"scroll-me":[{"scroll-me":f()}],"scroll-mt":[{"scroll-mt":f()}],"scroll-mr":[{"scroll-mr":f()}],"scroll-mb":[{"scroll-mb":f()}],"scroll-ml":[{"scroll-ml":f()}],"scroll-p":[{"scroll-p":f()}],"scroll-px":[{"scroll-px":f()}],"scroll-py":[{"scroll-py":f()}],"scroll-ps":[{"scroll-ps":f()}],"scroll-pe":[{"scroll-pe":f()}],"scroll-pt":[{"scroll-pt":f()}],"scroll-pr":[{"scroll-pr":f()}],"scroll-pb":[{"scroll-pb":f()}],"scroll-pl":[{"scroll-pl":f()}],"snap-align":[{snap:["start","end","center","align-none"]}],"snap-stop":[{snap:["normal","always"]}],"snap-type":[{snap:["none","x","y","both"]}],"snap-strictness":[{snap:["mandatory","proximity"]}],touch:[{touch:["auto","none","manipulation"]}],"touch-x":[{"touch-pan":["x","left","right"]}],"touch-y":[{"touch-pan":["y","up","down"]}],"touch-pz":["touch-pinch-zoom"],select:[{select:["none","text","all","auto"]}],"will-change":[{"will-change":["auto","scroll","contents","transform",l,i]}],fill:[{fill:["none",...p()]}],"stroke-w":[{stroke:[v,Se,ce,We]}],stroke:[{stroke:["none",...p()]}],"forced-color-adjust":[{"forced-color-adjust":["auto","none"]}]},conflictingClassGroups:{overflow:["overflow-x","overflow-y"],overscroll:["overscroll-x","overscroll-y"],inset:["inset-x","inset-y","start","end","top","right","bottom","left"],"inset-x":["right","left"],"inset-y":["top","bottom"],flex:["basis","grow","shrink"],gap:["gap-x","gap-y"],p:["px","py","ps","pe","pt","pr","pb","pl"],px:["pr","pl"],py:["pt","pb"],m:["mx","my","ms","me","mt","mr","mb","ml"],mx:["mr","ml"],my:["mt","mb"],size:["w","h"],"font-size":["leading"],"fvn-normal":["fvn-ordinal","fvn-slashed-zero","fvn-figure","fvn-spacing","fvn-fraction"],"fvn-ordinal":["fvn-normal"],"fvn-slashed-zero":["fvn-normal"],"fvn-figure":["fvn-normal"],"fvn-spacing":["fvn-normal"],"fvn-fraction":["fvn-normal"],"line-clamp":["display","overflow"],rounded:["rounded-s","rounded-e","rounded-t","rounded-r","rounded-b","rounded-l","rounded-ss","rounded-se","rounded-ee","rounded-es","rounded-tl","rounded-tr","rounded-br","rounded-bl"],"rounded-s":["rounded-ss","rounded-es"],"rounded-e":["rounded-se","rounded-ee"],"rounded-t":["rounded-tl","rounded-tr"],"rounded-r":["rounded-tr","rounded-br"],"rounded-b":["rounded-br","rounded-bl"],"rounded-l":["rounded-tl","rounded-bl"],"border-spacing":["border-spacing-x","border-spacing-y"],"border-w":["border-w-x","border-w-y","border-w-s","border-w-e","border-w-t","border-w-r","border-w-b","border-w-l"],"border-w-x":["border-w-r","border-w-l"],"border-w-y":["border-w-t","border-w-b"],"border-color":["border-color-x","border-color-y","border-color-s","border-color-e","border-color-t","border-color-r","border-color-b","border-color-l"],"border-color-x":["border-color-r","border-color-l"],"border-color-y":["border-color-t","border-color-b"],translate:["translate-x","translate-y","translate-none"],"translate-none":["translate","translate-x","translate-y","translate-z"],"scroll-m":["scroll-mx","scroll-my","scroll-ms","scroll-me","scroll-mt","scroll-mr","scroll-mb","scroll-ml"],"scroll-mx":["scroll-mr","scroll-ml"],"scroll-my":["scroll-mt","scroll-mb"],"scroll-p":["scroll-px","scroll-py","scroll-ps","scroll-pe","scroll-pt","scroll-pr","scroll-pb","scroll-pl"],"scroll-px":["scroll-pr","scroll-pl"],"scroll-py":["scroll-pt","scroll-pb"],touch:["touch-x","touch-y","touch-pz"],"touch-x":["touch"],"touch-y":["touch"],"touch-pz":["touch"]},conflictingClassGroupModifiers:{"font-size":["leading"]},orderSensitiveModifiers:["*","**","after","backdrop","before","details-content","file","first-letter","first-line","marker","placeholder","selection"]}},Tt=ct(jt);function xe(...r){return Tt(Hr(r))}var Me={exports:{}},je={};/**
|
|
2
|
-
* @license React
|
|
3
|
-
* react-jsx-runtime.production.min.js
|
|
4
|
-
*
|
|
5
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
6
|
-
*
|
|
7
|
-
* This source code is licensed under the MIT license found in the
|
|
8
|
-
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var dr;function Pt(){if(dr)return je;dr=1;var r=ne,n=Symbol.for("react.element"),a=Symbol.for("react.fragment"),o=Object.prototype.hasOwnProperty,c=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,m={key:!0,ref:!0,__self:!0,__source:!0};function d(h,u,E){var w,C={},F=null,L=null;E!==void 0&&(F=""+E),u.key!==void 0&&(F=""+u.key),u.ref!==void 0&&(L=u.ref);for(w in u)o.call(u,w)&&!m.hasOwnProperty(w)&&(C[w]=u[w]);if(h&&h.defaultProps)for(w in u=h.defaultProps,u)C[w]===void 0&&(C[w]=u[w]);return{$$typeof:n,type:h,key:F,ref:L,props:C,_owner:c.current}}return je.Fragment=a,je.jsx=d,je.jsxs=d,je}var Te={};/**
|
|
10
|
-
* @license React
|
|
11
|
-
* react-jsx-runtime.development.js
|
|
12
|
-
*
|
|
13
|
-
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
14
|
-
*
|
|
15
|
-
* This source code is licensed under the MIT license found in the
|
|
16
|
-
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/var ur;function At(){return ur||(ur=1,process.env.NODE_ENV!=="production"&&(function(){var r=ne,n=Symbol.for("react.element"),a=Symbol.for("react.portal"),o=Symbol.for("react.fragment"),c=Symbol.for("react.strict_mode"),m=Symbol.for("react.profiler"),d=Symbol.for("react.provider"),h=Symbol.for("react.context"),u=Symbol.for("react.forward_ref"),E=Symbol.for("react.suspense"),w=Symbol.for("react.suspense_list"),C=Symbol.for("react.memo"),F=Symbol.for("react.lazy"),L=Symbol.for("react.offscreen"),S=Symbol.iterator,z="@@iterator";function $(e){if(e===null||typeof e!="object")return null;var t=S&&e[S]||e[z];return typeof t=="function"?t:null}var j=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function b(e){{for(var t=arguments.length,s=new Array(t>1?t-1:0),g=1;g<t;g++)s[g-1]=arguments[g];U("error",e,s)}}function U(e,t,s){{var g=j.ReactDebugCurrentFrame,R=g.getStackAddendum();R!==""&&(t+="%s",s=s.concat([R]));var _=s.map(function(k){return String(k)});_.unshift("Warning: "+t),Function.prototype.apply.call(console[e],console,_)}}var B=!1,G=!1,D=!1,Y=!1,f=!1,M;M=Symbol.for("react.module.reference");function de(e){return!!(typeof e=="string"||typeof e=="function"||e===o||e===m||f||e===c||e===E||e===w||Y||e===L||B||G||D||typeof e=="object"&&e!==null&&(e.$$typeof===F||e.$$typeof===C||e.$$typeof===d||e.$$typeof===h||e.$$typeof===u||e.$$typeof===M||e.getModuleId!==void 0))}function ue(e,t,s){var g=e.displayName;if(g)return g;var R=t.displayName||t.name||"";return R!==""?s+"("+R+")":s}function ae(e){return e.displayName||"Context"}function K(e){if(e==null)return null;if(typeof e.tag=="number"&&b("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case o:return"Fragment";case a:return"Portal";case m:return"Profiler";case c:return"StrictMode";case E:return"Suspense";case w:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case h:var t=e;return ae(t)+".Consumer";case d:var s=e;return ae(s._context)+".Provider";case u:return ue(e,e.render,"ForwardRef");case C:var g=e.displayName||null;return g!==null?g:K(e.type)||"Memo";case F:{var R=e,_=R._payload,k=R._init;try{return K(k(_))}catch{return null}}}return null}var X=Object.assign,q=0,J,Z,p,ke,Re,Ee,fe;function I(){}I.__reactDisabledLog=!0;function W(){{if(q===0){J=console.log,Z=console.info,p=console.warn,ke=console.error,Re=console.group,Ee=console.groupCollapsed,fe=console.groupEnd;var e={configurable:!0,enumerable:!0,value:I,writable:!0};Object.defineProperties(console,{info:e,log:e,warn:e,error:e,group:e,groupCollapsed:e,groupEnd:e})}q++}}function pe(){{if(q--,q===0){var e={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:X({},e,{value:J}),info:X({},e,{value:Z}),warn:X({},e,{value:p}),error:X({},e,{value:ke}),group:X({},e,{value:Re}),groupCollapsed:X({},e,{value:Ee}),groupEnd:X({},e,{value:fe})})}q<0&&b("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var me=j.ReactCurrentDispatcher,T;function se(e,t,s){{if(T===void 0)try{throw Error()}catch(R){var g=R.stack.trim().match(/\n( *(at )?)/);T=g&&g[1]||""}return`
|
|
18
|
-
`+T+e}}var re=!1,Q;{var _e=typeof WeakMap=="function"?WeakMap:Map;Q=new _e}function ie(e,t){if(!e||re)return"";{var s=Q.get(e);if(s!==void 0)return s}var g;re=!0;var R=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var _;_=me.current,me.current=null,W();try{if(t){var k=function(){throw Error()};if(Object.defineProperty(k.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(k,[])}catch(V){g=V}Reflect.construct(e,[],k)}else{try{k.call()}catch(V){g=V}e.call(k.prototype)}}else{try{throw Error()}catch(V){g=V}e()}}catch(V){if(V&&g&&typeof V.stack=="string"){for(var x=V.stack.split(`
|
|
19
|
-
`),N=g.stack.split(`
|
|
20
|
-
`),P=x.length-1,A=N.length-1;P>=1&&A>=0&&x[P]!==N[A];)A--;for(;P>=1&&A>=0;P--,A--)if(x[P]!==N[A]){if(P!==1||A!==1)do if(P--,A--,A<0||x[P]!==N[A]){var H=`
|
|
21
|
-
`+x[P].replace(" at new "," at ");return e.displayName&&H.includes("<anonymous>")&&(H=H.replace("<anonymous>",e.displayName)),typeof e=="function"&&Q.set(e,H),H}while(P>=1&&A>=0);break}}}finally{re=!1,me.current=_,pe(),Error.prepareStackTrace=R}var be=e?e.displayName||e.name:"",le=be?se(be):"";return typeof e=="function"&&Q.set(e,le),le}function Er(e,t,s){return ie(e,!1)}function _r(e){var t=e.prototype;return!!(t&&t.isReactComponent)}function Pe(e,t,s){if(e==null)return"";if(typeof e=="function")return ie(e,_r(e));if(typeof e=="string")return se(e);switch(e){case E:return se("Suspense");case w:return se("SuspenseList")}if(typeof e=="object")switch(e.$$typeof){case u:return Er(e.render);case C:return Pe(e.type,t,s);case F:{var g=e,R=g._payload,_=g._init;try{return Pe(_(R),t,s)}catch{}}}return""}var Ce=Object.prototype.hasOwnProperty,Ue={},qe=j.ReactDebugCurrentFrame;function Ae(e){if(e){var t=e._owner,s=Pe(e.type,e._source,t?t.type:null);qe.setExtraStackFrame(s)}else qe.setExtraStackFrame(null)}function Cr(e,t,s,g,R){{var _=Function.call.bind(Ce);for(var k in e)if(_(e,k)){var x=void 0;try{if(typeof e[k]!="function"){var N=Error((g||"React class")+": "+s+" type `"+k+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof e[k]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw N.name="Invariant Violation",N}x=e[k](t,k,g,s,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(P){x=P}x&&!(x instanceof Error)&&(Ae(R),b("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",g||"React class",s,k,typeof x),Ae(null)),x instanceof Error&&!(x.message in Ue)&&(Ue[x.message]=!0,Ae(R),b("Failed %s type: %s",s,x.message),Ae(null))}}}var Sr=Array.isArray;function Ie(e){return Sr(e)}function jr(e){{var t=typeof Symbol=="function"&&Symbol.toStringTag,s=t&&e[Symbol.toStringTag]||e.constructor.name||"Object";return s}}function Tr(e){try{return Je(e),!1}catch{return!0}}function Je(e){return""+e}function He(e){if(Tr(e))return b("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",jr(e)),Je(e)}var Ke=j.ReactCurrentOwner,Pr={key:!0,ref:!0,__self:!0,__source:!0},Xe,Ze;function Ar(e){if(Ce.call(e,"ref")){var t=Object.getOwnPropertyDescriptor(e,"ref").get;if(t&&t.isReactWarning)return!1}return e.ref!==void 0}function Or(e){if(Ce.call(e,"key")){var t=Object.getOwnPropertyDescriptor(e,"key").get;if(t&&t.isReactWarning)return!1}return e.key!==void 0}function zr(e,t){typeof e.ref=="string"&&Ke.current}function Mr(e,t){{var s=function(){Xe||(Xe=!0,b("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};s.isReactWarning=!0,Object.defineProperty(e,"key",{get:s,configurable:!0})}}function Ir(e,t){{var s=function(){Ze||(Ze=!0,b("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",t))};s.isReactWarning=!0,Object.defineProperty(e,"ref",{get:s,configurable:!0})}}var Fr=function(e,t,s,g,R,_,k){var x={$$typeof:n,type:e,key:t,ref:s,props:k,_owner:_};return x._store={},Object.defineProperty(x._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(x,"_self",{configurable:!1,enumerable:!1,writable:!1,value:g}),Object.defineProperty(x,"_source",{configurable:!1,enumerable:!1,writable:!1,value:R}),Object.freeze&&(Object.freeze(x.props),Object.freeze(x)),x};function Dr(e,t,s,g,R){{var _,k={},x=null,N=null;s!==void 0&&(He(s),x=""+s),Or(t)&&(He(t.key),x=""+t.key),Ar(t)&&(N=t.ref,zr(t,R));for(_ in t)Ce.call(t,_)&&!Pr.hasOwnProperty(_)&&(k[_]=t[_]);if(e&&e.defaultProps){var P=e.defaultProps;for(_ in P)k[_]===void 0&&(k[_]=P[_])}if(x||N){var A=typeof e=="function"?e.displayName||e.name||"Unknown":e;x&&Mr(k,A),N&&Ir(k,A)}return Fr(e,x,N,R,g,Ke.current,k)}}var Fe=j.ReactCurrentOwner,Qe=j.ReactDebugCurrentFrame;function ge(e){if(e){var t=e._owner,s=Pe(e.type,e._source,t?t.type:null);Qe.setExtraStackFrame(s)}else Qe.setExtraStackFrame(null)}var De;De=!1;function Le(e){return typeof e=="object"&&e!==null&&e.$$typeof===n}function er(){{if(Fe.current){var e=K(Fe.current.type);if(e)return`
|
|
22
|
-
|
|
23
|
-
Check the render method of \``+e+"`."}return""}}function Lr(e){return""}var rr={};function Gr(e){{var t=er();if(!t){var s=typeof e=="string"?e:e.displayName||e.name;s&&(t=`
|
|
24
|
-
|
|
25
|
-
Check the top-level render call using <`+s+">.")}return t}}function tr(e,t){{if(!e._store||e._store.validated||e.key!=null)return;e._store.validated=!0;var s=Gr(t);if(rr[s])return;rr[s]=!0;var g="";e&&e._owner&&e._owner!==Fe.current&&(g=" It was passed a child from "+K(e._owner.type)+"."),ge(e),b('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',s,g),ge(null)}}function or(e,t){{if(typeof e!="object")return;if(Ie(e))for(var s=0;s<e.length;s++){var g=e[s];Le(g)&&tr(g,t)}else if(Le(e))e._store&&(e._store.validated=!0);else if(e){var R=$(e);if(typeof R=="function"&&R!==e.entries)for(var _=R.call(e),k;!(k=_.next()).done;)Le(k.value)&&tr(k.value,t)}}}function $r(e){{var t=e.type;if(t==null||typeof t=="string")return;var s;if(typeof t=="function")s=t.propTypes;else if(typeof t=="object"&&(t.$$typeof===u||t.$$typeof===C))s=t.propTypes;else return;if(s){var g=K(t);Cr(s,e.props,"prop",g,e)}else if(t.PropTypes!==void 0&&!De){De=!0;var R=K(t);b("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",R||"Unknown")}typeof t.getDefaultProps=="function"&&!t.getDefaultProps.isReactClassApproved&&b("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function Wr(e){{for(var t=Object.keys(e.props),s=0;s<t.length;s++){var g=t[s];if(g!=="children"&&g!=="key"){ge(e),b("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",g),ge(null);break}}e.ref!==null&&(ge(e),b("Invalid attribute `ref` supplied to `React.Fragment`."),ge(null))}}var nr={};function ar(e,t,s,g,R,_){{var k=de(e);if(!k){var x="";(e===void 0||typeof e=="object"&&e!==null&&Object.keys(e).length===0)&&(x+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var N=Lr();N?x+=N:x+=er();var P;e===null?P="null":Ie(e)?P="array":e!==void 0&&e.$$typeof===n?(P="<"+(K(e.type)||"Unknown")+" />",x=" Did you accidentally export a JSX literal instead of a component?"):P=typeof e,b("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",P,x)}var A=Dr(e,t,s,R,_);if(A==null)return A;if(k){var H=t.children;if(H!==void 0)if(g)if(Ie(H)){for(var be=0;be<H.length;be++)or(H[be],e);Object.freeze&&Object.freeze(H)}else b("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else or(H,e)}if(Ce.call(t,"key")){var le=K(e),V=Object.keys(t).filter(function(qr){return qr!=="key"}),Ge=V.length>0?"{key: someKey, "+V.join(": ..., ")+": ...}":"{key: someKey}";if(!nr[le+Ge]){var Ur=V.length>0?"{"+V.join(": ..., ")+": ...}":"{}";b(`A props object containing a "key" prop is being spread into JSX:
|
|
26
|
-
let props = %s;
|
|
27
|
-
<%s {...props} />
|
|
28
|
-
React keys must be passed directly to JSX without using spread:
|
|
29
|
-
let props = %s;
|
|
30
|
-
<%s key={someKey} {...props} />`,Ge,le,Ur,le),nr[le+Ge]=!0}}return e===o?Wr(A):$r(A),A}}function Nr(e,t,s){return ar(e,t,s,!0)}function Vr(e,t,s){return ar(e,t,s,!1)}var Br=Vr,Yr=Nr;Te.Fragment=o,Te.jsx=Br,Te.jsxs=Yr})()),Te}var fr;function Ot(){return fr||(fr=1,process.env.NODE_ENV==="production"?Me.exports=Pt():Me.exports=At()),Me.exports}var y=Ot();function zt(){return y.jsxs(y.Fragment,{children:[y.jsx("div",{className:"fixed inset-0 z-[9999] bg-black/40 flex items-center justify-center",children:y.jsxs("div",{className:"loader",children:[y.jsx("span",{}),y.jsx("span",{}),y.jsx("span",{}),y.jsx("span",{}),y.jsx("span",{}),y.jsx("span",{})]})}),y.jsx("style",{children:`
|
|
31
|
-
.loader {
|
|
32
|
-
display: flex;
|
|
33
|
-
align-items: center;
|
|
34
|
-
gap: 5px;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.loader span {
|
|
38
|
-
display: block;
|
|
39
|
-
width: 8px;
|
|
40
|
-
height: 42px;
|
|
41
|
-
border-radius: 5px;
|
|
42
|
-
background: currentColor;
|
|
43
|
-
animation: bar-wave 1s ease-in-out infinite;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
.loader span:nth-child(1) {
|
|
47
|
-
animation-delay: 0s;
|
|
48
|
-
color: #FFCA29;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.loader span:nth-child(2) {
|
|
52
|
-
animation-delay: 0.1s;
|
|
53
|
-
color: #003B71;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.loader span:nth-child(3) {
|
|
57
|
-
animation-delay: 0.2s;
|
|
58
|
-
color: #FFCA29;
|
|
59
|
-
}
|
|
60
|
-
|
|
61
|
-
.loader span:nth-child(4) {
|
|
62
|
-
animation-delay: 0.3s;
|
|
63
|
-
color: #003B71;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
.loader span:nth-child(5) {
|
|
67
|
-
animation-delay: 0.4s;
|
|
68
|
-
color: #FFCA29;
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.loader span:nth-child(6) {
|
|
72
|
-
animation-delay: 0.5s;
|
|
73
|
-
color: #003B71;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
@keyframes bar-wave {
|
|
77
|
-
0%,100% {
|
|
78
|
-
transform: scaleY(0.2);
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
50% {
|
|
82
|
-
transform: scaleY(1);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
`})]})}const Mt=({value:r,showLabel:n=!1,label:a,showPercentage:o=!0,height:c="h-2",containerClassName:m,progressClassName:d,wrapperClassName:h,labelClassName:u,percentageClassName:E,backgroundColor:w="bg-gray-200",progressColor:C="bg-[#02245A]",animated:F=!0,striped:L=!1,orientation:S="horizontal",dataTestId:z})=>{const $=Math.min(Math.max(r,0),100),j=S==="vertical";return y.jsxs("div",{className:xe("flex items-center gap-2",j&&"flex-col items-start",h),"data-testid":z,children:[n&&a&&y.jsx("span",{className:xe("text-sm font-medium text-[#414651] whitespace-nowrap",u),children:a}),y.jsx("div",{className:xe("w-full rounded-full overflow-hidden relative",j?"w-2 h-32":c,w,m),children:y.jsx("div",{className:xe("h-full rounded-full",C,F&&"transition-all duration-300",L&&"bg-[linear-gradient(45deg,rgba(255,255,255,.15)_25%,transparent_25%,transparent_50%,rgba(255,255,255,.15)_50%,rgba(255,255,255,.15)_75%,transparent_75%,transparent)] bg-[length:1rem_1rem]",d),style:{width:j?"100%":`${$}%`,height:j?`${$}%`:"100%"},role:"progressbar","aria-valuenow":$,"aria-valuemin":0,"aria-valuemax":100})}),o&&y.jsxs("span",{className:xe("text-xs text-gray-600 whitespace-nowrap",E),children:[$,"%"]})]})},ve=7,oe=6,It=({text:r,maxLength:n=40,maxWidth:a=280,position:o="top",bgColor:c="#1a1a1a",textColor:m="#fff",borderColor:d="#1a1a1a",className:h,style:u})=>{const[E,w]=ne.useState(!1),[C,F]=ne.useState({box:{x:0,y:0},arrow:{x:0,y:0},rotate:0}),L=ne.useRef(null),S=ne.useRef(null),z=r.length>n,$=z?r.slice(0,n)+"…":r,j=ne.useCallback(()=>{if(!L.current||!S.current)return;const b=L.current.getBoundingClientRect(),U=S.current.offsetWidth||a,B=S.current.offsetHeight||44;let G=0,D=0,Y=0,f=0,M=0;o==="top"?(G=b.left+b.width/2-U/2,D=b.top-B-ve-oe,Y=b.left+b.width/2-6,f=b.top-ve-oe,M=0):o==="bottom"?(G=b.left+b.width/2-U/2,D=b.bottom+ve+oe,Y=b.left+b.width/2-6,f=b.bottom+oe,M=180):o==="left"?(G=b.left-U-ve-oe,D=b.top+b.height/2-B/2,Y=b.left-ve-oe,f=b.top+b.height/2-6,M=90):o==="right"&&(G=b.right+ve+oe,D=b.top+b.height/2-B/2,Y=b.right+oe,f=b.top+b.height/2-6,M=-90);const de=window.innerWidth,ue=window.innerHeight;G=Math.max(8,Math.min(G,de-U-8)),D=Math.max(8,Math.min(D,ue-B-8)),F({box:{x:G,y:D},arrow:{x:Y,y:f},rotate:M})},[o,a]);return ne.useEffect(()=>{E&&setTimeout(j,0)},[E,j]),z?y.jsxs(y.Fragment,{children:[y.jsx("span",{ref:L,className:h,style:{display:"block",whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis",cursor:"default",maxWidth:"100%",...u},onMouseEnter:()=>w(!0),onMouseLeave:()=>w(!1),children:$}),E&&y.jsxs(y.Fragment,{children:[y.jsx("div",{ref:S,style:{position:"fixed",left:C.box.x,top:C.box.y,background:c,border:`1px solid ${d}`,borderRadius:8,padding:"8px 12px",fontSize:13,color:m,maxWidth:a,lineHeight:1.5,zIndex:99999,pointerEvents:"none",boxShadow:"0 2px 8px rgba(0,0,0,0.12)",wordBreak:"break-word",whiteSpace:"normal"},children:r}),y.jsx("div",{style:{position:"fixed",left:C.arrow.x,top:C.arrow.y,width:12,height:7,zIndex:1e5,pointerEvents:"none",transform:`rotate(${C.rotate}deg)`,transformOrigin:"center"},children:y.jsx("svg",{width:"12",height:"7",viewBox:"0 0 12 7",xmlns:"http://www.w3.org/2000/svg",children:y.jsx("polygon",{points:"6,7 0,0 12,0",fill:c})})})]})]}):y.jsx("span",{className:h,style:u,children:r})};function Ft({message:r,type:n,isVisible:a,onClose:o}){return console.log("message =",r),a?y.jsx("div",{style:{position:"fixed",top:"20px",right:"20px",zIndex:99999,backgroundColor:n==="success"?"#D4EDDA":n==="error"?"#FADBD8":n==="warning"?"#FDEBD0":"#D6EAF8",color:n==="success"?"#1E7E34":n==="error"?"#C0392B":n==="warning"?"#B9770E":"#1F618D",padding:"12px 20px",borderRadius:"6px",display:"flex",alignItems:"center",gap:"10px",boxShadow:"0 4px 12px rgba(0,0,0,0.1)",borderLeft:"4px solid "+(n==="success"?"#28A745":n==="error"?"#E74C3C":n==="warning"?"#F39C12":"#3498DB")},children:y.jsx("span",{children:r})}):null}const Dt=({isOpen:r,onClose:n,title:a,children:o,footer:c,width:m="450px",showCloseIcon:d})=>r?Jr.createPortal(y.jsx("div",{onClick:n,style:{position:"fixed",inset:0,background:"rgba(0,0,0,0.5)",display:"flex",justifyContent:"center",alignItems:"center",zIndex:9999},children:y.jsxs("div",{onClick:h=>h.stopPropagation(),style:{background:"#fff",borderRadius:"8px",boxShadow:"0 4px 20px rgba(0,0,0,0.2)",width:m,maxWidth:"90%",overflow:"hidden"},children:[(a||d)&&y.jsxs("div",{style:{display:"flex",justifyContent:"flex-end",alignItems:"center",padding:"16px"},children:[a&&y.jsx("h3",{style:{margin:0,fontSize:"16px",fontWeight:600,marginRight:"auto"},children:a}),d&&y.jsx("button",{onClick:n,style:{border:"none",background:"transparent",cursor:"pointer",fontSize:"18px"},children:"✕"})]}),y.jsx("div",{style:{paddingTop:"20px",paddingBottom:"6px",paddingLeft:"16px",paddingRight:"16px"},children:o}),c&&y.jsx("div",{style:{display:"flex",justifyContent:"flex-end",gap:"10px",padding:"1px"},children:c})]})}),document.body):null;exports.Loader=zt;exports.Modal=Dt;exports.ProgressBar=Mt;exports.TextPopover=It;exports.Toast=Ft;exports.cn=xe;
|