eglador-ui-react 0.1.0-alpha.4 → 0.1.0-alpha.6
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 +28 -5
- package/dist/index.d.mts +289 -2
- package/dist/index.d.ts +289 -2
- package/dist/index.js +1619 -109
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1608 -109
- package/dist/index.mjs.map +1 -1
- package/package.json +21 -1
package/README.md
CHANGED
|
@@ -12,6 +12,8 @@ npm install eglador-ui-react
|
|
|
12
12
|
|
|
13
13
|
**Peer dependencies:** `react >= 18` | `react-dom >= 18` | `tailwindcss ^4`
|
|
14
14
|
|
|
15
|
+
**Optional (for Carousel):** `embla-carousel ^8` | `embla-carousel-react ^8` | plugin packages as needed (`embla-carousel-autoplay`, `embla-carousel-fade`, etc.)
|
|
16
|
+
|
|
15
17
|
## Setup
|
|
16
18
|
|
|
17
19
|
Add the following to your global stylesheet (e.g. `app/globals.css`) so Tailwind can detect the component classes:
|
|
@@ -24,7 +26,7 @@ Add the following to your global stylesheet (e.g. `app/globals.css`) so Tailwind
|
|
|
24
26
|
## Usage
|
|
25
27
|
|
|
26
28
|
```tsx
|
|
27
|
-
import { Button, ButtonGroup, Checkbox, CheckboxGroup, Input, InputGroup, Dropdown } from "eglador-ui-react";
|
|
29
|
+
import { Button, ButtonGroup, Checkbox, CheckboxGroup, Input, InputGroup, Dropdown, Select, MultiSelect, Tabs, Accordion, Modal, MediaImage, MediaVideo, Tooltip, Breadcrumb, Typewriter, Carousel } from "eglador-ui-react";
|
|
28
30
|
```
|
|
29
31
|
|
|
30
32
|
## Components
|
|
@@ -40,6 +42,26 @@ import { Button, ButtonGroup, Checkbox, CheckboxGroup, Input, InputGroup, Dropdo
|
|
|
40
42
|
| **Dropdown** | `side`, `align`, `width`, `maxHeight`, `scroll`, `autoFlip`, `open`, `onOpenChange`, `className` |
|
|
41
43
|
| **Dropdown.Trigger** | `asChild`, `className`, `children` |
|
|
42
44
|
| **Dropdown.Content** | `className`, `children` |
|
|
45
|
+
| **Select** | `value`, `onChange`, `options`, `placeholder`, `disabled`, `autoFlip`, `maxHeight`, `className` |
|
|
46
|
+
| **MultiSelect** | `value`, `onChange`, `options`, `placeholder`, `disabled`, `autoFlip`, `maxHeight`, `searchable`, `searchPlaceholder`, `maxSelected`, `maxVisibleChips`, `className` |
|
|
47
|
+
| **Tabs** | `value`, `defaultValue`, `onValueChange`, `variant`, `size`, `className` |
|
|
48
|
+
| **Tabs.List** | `className`, `children` |
|
|
49
|
+
| **Tabs.Trigger** | `value`, `icon`, `activeClassName`, `disabled`, `className` |
|
|
50
|
+
| **Tabs.Content** | `value`, `className`, `children` |
|
|
51
|
+
| **Accordion** | `title`, `icon`, `extra`, `defaultOpen`, `open`, `onOpenChange`, `variant`, `size`, `disabled`, `hideChevron`, `className` |
|
|
52
|
+
| **Modal** | `open`, `defaultOpen`, `onOpenChange`, `size`, `closeOnBackdrop`, `closeOnEscape` |
|
|
53
|
+
| **Modal.Trigger** | `asChild`, `className`, `children` |
|
|
54
|
+
| **Modal.Content** | `className`, `children` |
|
|
55
|
+
| **Modal.Header** | `icon`, `hideClose`, `className`, `children` |
|
|
56
|
+
| **Modal.Body** | `className`, `children` |
|
|
57
|
+
| **Modal.Footer** | `className`, `children` |
|
|
58
|
+
| **MediaImage** | `src`, `alt`, `caption`, `ratio`, `size`, `shape`, `objectFit`, `loading`, `hideCaption`, `onError`, `className` |
|
|
59
|
+
| **MediaVideo** | `src`, `caption`, `ratio`, `size`, `shape`, `controls`, `preload`, `autoPlay`, `muted`, `loop`, `poster`, `hideCaption`, `onError`, `className` |
|
|
60
|
+
| **Tooltip** | `content`, `position`, `delay`, `className`, `children` |
|
|
61
|
+
| **Breadcrumb** | `separator`, `className`, `children` |
|
|
62
|
+
| **Breadcrumb.Item** | `href`, `isActive`, `className`, `children` |
|
|
63
|
+
| **Typewriter** | `texts`, `typingSpeed`, `deletingSpeed`, `pauseDuration`, `deleteMode`, `loop`, `startDelay`, `cursor`, `cursorStyle`, `onComplete`, `className` |
|
|
64
|
+
| **Carousel** | `slides`, `slidesPerView`, `align`, `containScroll`, `dragFree`, `loop`, `axis`, `direction`, `plugins`, `showNavigation`, `showPagination`, `scrollToIndex`, `breakpoints`, `className` |
|
|
43
65
|
|
|
44
66
|
## Development
|
|
45
67
|
|
|
@@ -53,10 +75,11 @@ npm run typecheck # run typescript type checking
|
|
|
53
75
|
|
|
54
76
|
## Publishing
|
|
55
77
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
78
|
+
Publishing is automated via GitHub Actions. When a GitHub Release is created, the package is automatically published to npm.
|
|
79
|
+
|
|
80
|
+
1. Update `version` in `package.json`
|
|
81
|
+
2. Commit and push
|
|
82
|
+
3. Create a GitHub Release with a matching tag (e.g. `v0.1.0-alpha.6`)
|
|
60
83
|
|
|
61
84
|
## Compatibility
|
|
62
85
|
|
package/dist/index.d.mts
CHANGED
|
@@ -1,7 +1,43 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { EmblaOptionsType } from 'embla-carousel';
|
|
3
4
|
import { ClassValue } from 'clsx';
|
|
4
5
|
|
|
6
|
+
type AccordionVariant = "default" | "bordered" | "filled";
|
|
7
|
+
type AccordionSize = "xs" | "sm" | "md";
|
|
8
|
+
interface AccordionProps {
|
|
9
|
+
title: React.ReactNode;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
extra?: React.ReactNode;
|
|
12
|
+
defaultOpen?: boolean;
|
|
13
|
+
open?: boolean;
|
|
14
|
+
onOpenChange?: (open: boolean) => void;
|
|
15
|
+
variant?: AccordionVariant;
|
|
16
|
+
size?: AccordionSize;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
hideChevron?: boolean;
|
|
19
|
+
children: React.ReactNode;
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
declare function Accordion({ title, icon, extra, defaultOpen, open, onOpenChange, variant, size, disabled, hideChevron, children, className, }: AccordionProps): react_jsx_runtime.JSX.Element;
|
|
23
|
+
|
|
24
|
+
interface BreadcrumbProps {
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
className?: string;
|
|
27
|
+
separator?: React.ReactNode;
|
|
28
|
+
}
|
|
29
|
+
interface BreadcrumbItemProps {
|
|
30
|
+
children: React.ReactNode;
|
|
31
|
+
href?: string;
|
|
32
|
+
className?: string;
|
|
33
|
+
isActive?: boolean;
|
|
34
|
+
}
|
|
35
|
+
declare function BreadcrumbRoot({ children, className, separator }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
|
|
36
|
+
declare function BreadcrumbItem({ children, href, className, isActive }: BreadcrumbItemProps): react_jsx_runtime.JSX.Element;
|
|
37
|
+
declare const Breadcrumb: typeof BreadcrumbRoot & {
|
|
38
|
+
Item: typeof BreadcrumbItem;
|
|
39
|
+
};
|
|
40
|
+
|
|
5
41
|
type ButtonColor = "default" | "black" | "primary" | "danger" | "success" | "warning" | "info";
|
|
6
42
|
type ButtonSize = "xs" | "sm" | "md";
|
|
7
43
|
type ButtonShape = "square" | "rounded" | "circle";
|
|
@@ -20,6 +56,46 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
|
|
|
20
56
|
}
|
|
21
57
|
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
22
58
|
|
|
59
|
+
type CarouselBreakpointOptions = EmblaOptionsType & {
|
|
60
|
+
slidesPerView?: number | "auto";
|
|
61
|
+
};
|
|
62
|
+
interface CarouselProps {
|
|
63
|
+
slides: React.ReactNode[];
|
|
64
|
+
slidesPerView?: number | "auto";
|
|
65
|
+
align?: EmblaOptionsType["align"];
|
|
66
|
+
containScroll?: EmblaOptionsType["containScroll"];
|
|
67
|
+
dragFree?: boolean;
|
|
68
|
+
loop?: boolean;
|
|
69
|
+
axis?: "x" | "y";
|
|
70
|
+
direction?: "ltr" | "rtl";
|
|
71
|
+
autoplay?: boolean | Record<string, unknown>;
|
|
72
|
+
autoScroll?: boolean | Record<string, unknown>;
|
|
73
|
+
autoHeight?: boolean | Record<string, unknown>;
|
|
74
|
+
fade?: boolean | Record<string, unknown>;
|
|
75
|
+
wheelGestures?: boolean | Record<string, unknown>;
|
|
76
|
+
classNames?: boolean | Record<string, unknown>;
|
|
77
|
+
parallax?: boolean;
|
|
78
|
+
opacity?: boolean;
|
|
79
|
+
lazyLoad?: boolean;
|
|
80
|
+
showNavigation?: boolean;
|
|
81
|
+
showPagination?: boolean;
|
|
82
|
+
scrollToIndex?: number;
|
|
83
|
+
breakpoints?: Record<string, CarouselBreakpointOptions>;
|
|
84
|
+
className?: string;
|
|
85
|
+
viewportClassName?: string;
|
|
86
|
+
containerClassName?: string;
|
|
87
|
+
slideClassName?: string;
|
|
88
|
+
styles?: {
|
|
89
|
+
controls?: string;
|
|
90
|
+
navigation?: string;
|
|
91
|
+
pagination?: string;
|
|
92
|
+
prevButton?: string;
|
|
93
|
+
nextButton?: string;
|
|
94
|
+
dot?: string;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
declare function Carousel({ slides, slidesPerView, align, containScroll, dragFree, loop, axis, direction, autoplay, autoScroll, autoHeight, fade: fadeProp, wheelGestures: wheelGesturesProp, classNames: classNamesProp, parallax, opacity, lazyLoad, showNavigation, showPagination, scrollToIndex, breakpoints, className, viewportClassName, containerClassName, slideClassName, styles, }: CarouselProps): react_jsx_runtime.JSX.Element | null;
|
|
98
|
+
|
|
23
99
|
type ButtonGroupVariant = "bordered" | "segmented";
|
|
24
100
|
interface ButtonGroupProps {
|
|
25
101
|
variant?: ButtonGroupVariant;
|
|
@@ -123,6 +199,217 @@ interface InputGroupProps {
|
|
|
123
199
|
}
|
|
124
200
|
declare function InputGroup({ variant, className, children, }: InputGroupProps): react_jsx_runtime.JSX.Element;
|
|
125
201
|
|
|
202
|
+
type MediaImageRatio = "1:1" | "16:9" | "4:3" | "1:2" | "free";
|
|
203
|
+
type MediaImageSize = "xs" | "sm" | "md" | "lg";
|
|
204
|
+
type MediaImageShape = "square" | "rounded" | "circle";
|
|
205
|
+
interface MediaImageProps {
|
|
206
|
+
src: string;
|
|
207
|
+
alt: string;
|
|
208
|
+
caption?: string;
|
|
209
|
+
ratio?: MediaImageRatio;
|
|
210
|
+
size?: MediaImageSize;
|
|
211
|
+
shape?: MediaImageShape;
|
|
212
|
+
children?: React.ReactNode;
|
|
213
|
+
hideCaption?: boolean;
|
|
214
|
+
objectFit?: "cover" | "contain" | "fill" | "none";
|
|
215
|
+
loading?: "lazy" | "eager";
|
|
216
|
+
onError?: () => void;
|
|
217
|
+
className?: string;
|
|
218
|
+
}
|
|
219
|
+
declare function MediaImage({ src, alt, caption, ratio, size, shape, children, hideCaption, objectFit, loading, onError, className, }: MediaImageProps): react_jsx_runtime.JSX.Element;
|
|
220
|
+
|
|
221
|
+
type MediaVideoRatio = "1:1" | "16:9" | "4:3" | "1:2" | "free";
|
|
222
|
+
type MediaVideoSize = "xs" | "sm" | "md";
|
|
223
|
+
type MediaVideoShape = "square" | "rounded" | "circle";
|
|
224
|
+
interface MediaVideoProps {
|
|
225
|
+
src: string;
|
|
226
|
+
caption?: string;
|
|
227
|
+
ratio?: MediaVideoRatio;
|
|
228
|
+
size?: MediaVideoSize;
|
|
229
|
+
shape?: MediaVideoShape;
|
|
230
|
+
children?: React.ReactNode;
|
|
231
|
+
hideCaption?: boolean;
|
|
232
|
+
controls?: boolean;
|
|
233
|
+
preload?: "none" | "metadata" | "auto";
|
|
234
|
+
autoPlay?: boolean;
|
|
235
|
+
muted?: boolean;
|
|
236
|
+
loop?: boolean;
|
|
237
|
+
poster?: string;
|
|
238
|
+
onError?: () => void;
|
|
239
|
+
className?: string;
|
|
240
|
+
}
|
|
241
|
+
declare function MediaVideo({ src, caption, ratio, size, shape, children, hideCaption, controls, preload, autoPlay, muted, loop, poster, onError, className, }: MediaVideoProps): react_jsx_runtime.JSX.Element;
|
|
242
|
+
|
|
243
|
+
type ModalSize = "sm" | "md" | "lg";
|
|
244
|
+
interface ModalProps {
|
|
245
|
+
open?: boolean;
|
|
246
|
+
defaultOpen?: boolean;
|
|
247
|
+
onOpenChange?: (open: boolean) => void;
|
|
248
|
+
size?: ModalSize;
|
|
249
|
+
closeOnBackdrop?: boolean;
|
|
250
|
+
closeOnEscape?: boolean;
|
|
251
|
+
children: React.ReactNode;
|
|
252
|
+
}
|
|
253
|
+
interface ModalTriggerProps {
|
|
254
|
+
asChild?: boolean;
|
|
255
|
+
className?: string;
|
|
256
|
+
children: React.ReactNode;
|
|
257
|
+
}
|
|
258
|
+
interface ModalContentProps {
|
|
259
|
+
className?: string;
|
|
260
|
+
children: React.ReactNode;
|
|
261
|
+
}
|
|
262
|
+
interface ModalHeaderProps {
|
|
263
|
+
icon?: React.ReactNode;
|
|
264
|
+
hideClose?: boolean;
|
|
265
|
+
className?: string;
|
|
266
|
+
children: React.ReactNode;
|
|
267
|
+
}
|
|
268
|
+
interface ModalBodyProps {
|
|
269
|
+
className?: string;
|
|
270
|
+
children: React.ReactNode;
|
|
271
|
+
}
|
|
272
|
+
interface ModalFooterProps {
|
|
273
|
+
className?: string;
|
|
274
|
+
children: React.ReactNode;
|
|
275
|
+
}
|
|
276
|
+
declare function ModalRoot({ open, defaultOpen, onOpenChange, size, closeOnBackdrop, closeOnEscape, children, }: ModalProps): react_jsx_runtime.JSX.Element;
|
|
277
|
+
declare namespace ModalRoot {
|
|
278
|
+
var displayName: string;
|
|
279
|
+
}
|
|
280
|
+
declare function ModalTrigger({ asChild, className, children }: ModalTriggerProps): react_jsx_runtime.JSX.Element;
|
|
281
|
+
declare namespace ModalTrigger {
|
|
282
|
+
var displayName: string;
|
|
283
|
+
}
|
|
284
|
+
declare function ModalContent({ className, children }: ModalContentProps): React.ReactPortal | null;
|
|
285
|
+
declare namespace ModalContent {
|
|
286
|
+
var displayName: string;
|
|
287
|
+
}
|
|
288
|
+
declare function ModalHeader({ icon, hideClose, className, children }: ModalHeaderProps): react_jsx_runtime.JSX.Element;
|
|
289
|
+
declare namespace ModalHeader {
|
|
290
|
+
var displayName: string;
|
|
291
|
+
}
|
|
292
|
+
declare function ModalBody({ className, children }: ModalBodyProps): react_jsx_runtime.JSX.Element;
|
|
293
|
+
declare namespace ModalBody {
|
|
294
|
+
var displayName: string;
|
|
295
|
+
}
|
|
296
|
+
declare function ModalFooter({ className, children }: ModalFooterProps): react_jsx_runtime.JSX.Element;
|
|
297
|
+
declare namespace ModalFooter {
|
|
298
|
+
var displayName: string;
|
|
299
|
+
}
|
|
300
|
+
declare const Modal: typeof ModalRoot & {
|
|
301
|
+
Trigger: typeof ModalTrigger;
|
|
302
|
+
Content: typeof ModalContent;
|
|
303
|
+
Header: typeof ModalHeader;
|
|
304
|
+
Body: typeof ModalBody;
|
|
305
|
+
Footer: typeof ModalFooter;
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
interface MultiSelectOption {
|
|
309
|
+
label: string;
|
|
310
|
+
value: string;
|
|
311
|
+
[key: string]: unknown;
|
|
312
|
+
}
|
|
313
|
+
interface MultiSelectProps {
|
|
314
|
+
value?: string[];
|
|
315
|
+
onChange?: (values: string[], options?: MultiSelectOption[]) => void;
|
|
316
|
+
options?: MultiSelectOption[];
|
|
317
|
+
placeholder?: string;
|
|
318
|
+
className?: string;
|
|
319
|
+
disabled?: boolean;
|
|
320
|
+
autoFlip?: boolean;
|
|
321
|
+
maxHeight?: number;
|
|
322
|
+
searchable?: boolean;
|
|
323
|
+
searchPlaceholder?: string;
|
|
324
|
+
maxSelected?: number;
|
|
325
|
+
maxVisibleChips?: number;
|
|
326
|
+
clearLabel?: string;
|
|
327
|
+
selectedLabel?: string;
|
|
328
|
+
noResultsLabel?: string;
|
|
329
|
+
noOptionsLabel?: string;
|
|
330
|
+
}
|
|
331
|
+
declare function MultiSelect({ value, onChange, options, placeholder, className, disabled, autoFlip, maxHeight, searchable, searchPlaceholder, maxSelected, maxVisibleChips, clearLabel, selectedLabel, noResultsLabel, noOptionsLabel, }: MultiSelectProps): react_jsx_runtime.JSX.Element;
|
|
332
|
+
|
|
333
|
+
interface SelectOption {
|
|
334
|
+
label: string;
|
|
335
|
+
value: string;
|
|
336
|
+
[key: string]: unknown;
|
|
337
|
+
}
|
|
338
|
+
interface SelectProps {
|
|
339
|
+
value?: string;
|
|
340
|
+
onChange?: (value: string, option?: SelectOption) => void;
|
|
341
|
+
options?: SelectOption[];
|
|
342
|
+
placeholder?: string;
|
|
343
|
+
className?: string;
|
|
344
|
+
disabled?: boolean;
|
|
345
|
+
autoFlip?: boolean;
|
|
346
|
+
maxHeight?: number;
|
|
347
|
+
}
|
|
348
|
+
declare function Select({ value, onChange, options, placeholder, className, disabled, autoFlip, maxHeight, }: SelectProps): react_jsx_runtime.JSX.Element;
|
|
349
|
+
|
|
350
|
+
type TabsVariant = "default" | "bordered" | "segmented";
|
|
351
|
+
type TabsSize = "xs" | "sm" | "md";
|
|
352
|
+
interface TabsProps {
|
|
353
|
+
value?: string;
|
|
354
|
+
defaultValue?: string;
|
|
355
|
+
onValueChange?: (value: string) => void;
|
|
356
|
+
variant?: TabsVariant;
|
|
357
|
+
size?: TabsSize;
|
|
358
|
+
className?: string;
|
|
359
|
+
children: React.ReactNode;
|
|
360
|
+
}
|
|
361
|
+
interface TabsListProps {
|
|
362
|
+
className?: string;
|
|
363
|
+
children: React.ReactNode;
|
|
364
|
+
}
|
|
365
|
+
interface TabsTriggerProps {
|
|
366
|
+
value: string;
|
|
367
|
+
icon?: React.ReactNode;
|
|
368
|
+
activeClassName?: string;
|
|
369
|
+
disabled?: boolean;
|
|
370
|
+
className?: string;
|
|
371
|
+
children?: React.ReactNode;
|
|
372
|
+
}
|
|
373
|
+
interface TabsContentProps {
|
|
374
|
+
value: string;
|
|
375
|
+
className?: string;
|
|
376
|
+
children: React.ReactNode;
|
|
377
|
+
}
|
|
378
|
+
declare function TabsRoot({ value, defaultValue, onValueChange, variant, size, className, children, }: TabsProps): react_jsx_runtime.JSX.Element;
|
|
379
|
+
declare function TabsList({ className, children }: TabsListProps): react_jsx_runtime.JSX.Element;
|
|
380
|
+
declare function TabsTrigger({ value, icon, activeClassName, disabled, className, children }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
|
|
381
|
+
declare function TabsContent({ value, className, children }: TabsContentProps): react_jsx_runtime.JSX.Element | null;
|
|
382
|
+
declare const Tabs: typeof TabsRoot & {
|
|
383
|
+
List: typeof TabsList;
|
|
384
|
+
Trigger: typeof TabsTrigger;
|
|
385
|
+
Content: typeof TabsContent;
|
|
386
|
+
};
|
|
387
|
+
|
|
388
|
+
type TooltipPosition = "top" | "bottom" | "left" | "right";
|
|
389
|
+
interface TooltipProps {
|
|
390
|
+
content: React.ReactNode;
|
|
391
|
+
position?: TooltipPosition;
|
|
392
|
+
delay?: number;
|
|
393
|
+
children: React.ReactElement;
|
|
394
|
+
className?: string;
|
|
395
|
+
}
|
|
396
|
+
declare function Tooltip({ content, position, delay, children, className, }: TooltipProps): react_jsx_runtime.JSX.Element;
|
|
397
|
+
|
|
398
|
+
interface TypewriterProps {
|
|
399
|
+
texts: string[];
|
|
400
|
+
typingSpeed?: number;
|
|
401
|
+
deletingSpeed?: number;
|
|
402
|
+
pauseDuration?: number;
|
|
403
|
+
deleteMode?: "backspace" | "clear";
|
|
404
|
+
loop?: boolean;
|
|
405
|
+
startDelay?: number;
|
|
406
|
+
cursor?: boolean;
|
|
407
|
+
cursorStyle?: "line" | "block" | "underscore";
|
|
408
|
+
onComplete?: () => void;
|
|
409
|
+
className?: string;
|
|
410
|
+
}
|
|
411
|
+
declare function Typewriter({ texts, typingSpeed, deletingSpeed, pauseDuration, deleteMode, loop, startDelay, cursor, cursorStyle, onComplete, className, }: TypewriterProps): react_jsx_runtime.JSX.Element;
|
|
412
|
+
|
|
126
413
|
declare function cn(...inputs: ClassValue[]): string;
|
|
127
414
|
|
|
128
|
-
export { Button, type ButtonColor, ButtonGroup, type ButtonGroupProps, type ButtonGroupVariant, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonVariant, Checkbox, type CheckboxColor, CheckboxGroup, type CheckboxGroupProps, type CheckboxGroupVariant, type CheckboxProps, type CheckboxSize, type CheckboxVariant, Dropdown, type DropdownAlign, type DropdownContentProps, type DropdownProps, type DropdownSide, type DropdownTriggerProps, type DropdownWidth, Input, type InputColor, InputGroup, type InputGroupProps, type InputGroupVariant, type InputProps, type InputShape, type InputSize, type InputState, type InputVariant, cn };
|
|
415
|
+
export { Accordion, type AccordionProps, type AccordionSize, type AccordionVariant, Breadcrumb, type BreadcrumbItemProps, type BreadcrumbProps, Button, type ButtonColor, ButtonGroup, type ButtonGroupProps, type ButtonGroupVariant, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonVariant, Carousel, type CarouselBreakpointOptions, type CarouselProps, Checkbox, type CheckboxColor, CheckboxGroup, type CheckboxGroupProps, type CheckboxGroupVariant, type CheckboxProps, type CheckboxSize, type CheckboxVariant, Dropdown, type DropdownAlign, type DropdownContentProps, type DropdownProps, type DropdownSide, type DropdownTriggerProps, type DropdownWidth, Input, type InputColor, InputGroup, type InputGroupProps, type InputGroupVariant, type InputProps, type InputShape, type InputSize, type InputState, type InputVariant, MediaImage, type MediaImageProps, type MediaImageRatio, type MediaImageShape, type MediaImageSize, MediaVideo, type MediaVideoProps, type MediaVideoRatio, type MediaVideoShape, type MediaVideoSize, Modal, type ModalBodyProps, type ModalContentProps, type ModalFooterProps, type ModalHeaderProps, type ModalProps, type ModalSize, type ModalTriggerProps, MultiSelect, type MultiSelectOption, type MultiSelectProps, Select, type SelectOption, type SelectProps, Tabs, type TabsContentProps, type TabsListProps, type TabsProps, type TabsSize, type TabsTriggerProps, type TabsVariant, Tooltip, type TooltipPosition, type TooltipProps, Typewriter, type TypewriterProps, cn };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,43 @@
|
|
|
1
|
-
import * as React from 'react';
|
|
2
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import * as React from 'react';
|
|
3
|
+
import { EmblaOptionsType } from 'embla-carousel';
|
|
3
4
|
import { ClassValue } from 'clsx';
|
|
4
5
|
|
|
6
|
+
type AccordionVariant = "default" | "bordered" | "filled";
|
|
7
|
+
type AccordionSize = "xs" | "sm" | "md";
|
|
8
|
+
interface AccordionProps {
|
|
9
|
+
title: React.ReactNode;
|
|
10
|
+
icon?: React.ReactNode;
|
|
11
|
+
extra?: React.ReactNode;
|
|
12
|
+
defaultOpen?: boolean;
|
|
13
|
+
open?: boolean;
|
|
14
|
+
onOpenChange?: (open: boolean) => void;
|
|
15
|
+
variant?: AccordionVariant;
|
|
16
|
+
size?: AccordionSize;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
hideChevron?: boolean;
|
|
19
|
+
children: React.ReactNode;
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
declare function Accordion({ title, icon, extra, defaultOpen, open, onOpenChange, variant, size, disabled, hideChevron, children, className, }: AccordionProps): react_jsx_runtime.JSX.Element;
|
|
23
|
+
|
|
24
|
+
interface BreadcrumbProps {
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
className?: string;
|
|
27
|
+
separator?: React.ReactNode;
|
|
28
|
+
}
|
|
29
|
+
interface BreadcrumbItemProps {
|
|
30
|
+
children: React.ReactNode;
|
|
31
|
+
href?: string;
|
|
32
|
+
className?: string;
|
|
33
|
+
isActive?: boolean;
|
|
34
|
+
}
|
|
35
|
+
declare function BreadcrumbRoot({ children, className, separator }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
|
|
36
|
+
declare function BreadcrumbItem({ children, href, className, isActive }: BreadcrumbItemProps): react_jsx_runtime.JSX.Element;
|
|
37
|
+
declare const Breadcrumb: typeof BreadcrumbRoot & {
|
|
38
|
+
Item: typeof BreadcrumbItem;
|
|
39
|
+
};
|
|
40
|
+
|
|
5
41
|
type ButtonColor = "default" | "black" | "primary" | "danger" | "success" | "warning" | "info";
|
|
6
42
|
type ButtonSize = "xs" | "sm" | "md";
|
|
7
43
|
type ButtonShape = "square" | "rounded" | "circle";
|
|
@@ -20,6 +56,46 @@ interface ButtonProps extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>
|
|
|
20
56
|
}
|
|
21
57
|
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
22
58
|
|
|
59
|
+
type CarouselBreakpointOptions = EmblaOptionsType & {
|
|
60
|
+
slidesPerView?: number | "auto";
|
|
61
|
+
};
|
|
62
|
+
interface CarouselProps {
|
|
63
|
+
slides: React.ReactNode[];
|
|
64
|
+
slidesPerView?: number | "auto";
|
|
65
|
+
align?: EmblaOptionsType["align"];
|
|
66
|
+
containScroll?: EmblaOptionsType["containScroll"];
|
|
67
|
+
dragFree?: boolean;
|
|
68
|
+
loop?: boolean;
|
|
69
|
+
axis?: "x" | "y";
|
|
70
|
+
direction?: "ltr" | "rtl";
|
|
71
|
+
autoplay?: boolean | Record<string, unknown>;
|
|
72
|
+
autoScroll?: boolean | Record<string, unknown>;
|
|
73
|
+
autoHeight?: boolean | Record<string, unknown>;
|
|
74
|
+
fade?: boolean | Record<string, unknown>;
|
|
75
|
+
wheelGestures?: boolean | Record<string, unknown>;
|
|
76
|
+
classNames?: boolean | Record<string, unknown>;
|
|
77
|
+
parallax?: boolean;
|
|
78
|
+
opacity?: boolean;
|
|
79
|
+
lazyLoad?: boolean;
|
|
80
|
+
showNavigation?: boolean;
|
|
81
|
+
showPagination?: boolean;
|
|
82
|
+
scrollToIndex?: number;
|
|
83
|
+
breakpoints?: Record<string, CarouselBreakpointOptions>;
|
|
84
|
+
className?: string;
|
|
85
|
+
viewportClassName?: string;
|
|
86
|
+
containerClassName?: string;
|
|
87
|
+
slideClassName?: string;
|
|
88
|
+
styles?: {
|
|
89
|
+
controls?: string;
|
|
90
|
+
navigation?: string;
|
|
91
|
+
pagination?: string;
|
|
92
|
+
prevButton?: string;
|
|
93
|
+
nextButton?: string;
|
|
94
|
+
dot?: string;
|
|
95
|
+
};
|
|
96
|
+
}
|
|
97
|
+
declare function Carousel({ slides, slidesPerView, align, containScroll, dragFree, loop, axis, direction, autoplay, autoScroll, autoHeight, fade: fadeProp, wheelGestures: wheelGesturesProp, classNames: classNamesProp, parallax, opacity, lazyLoad, showNavigation, showPagination, scrollToIndex, breakpoints, className, viewportClassName, containerClassName, slideClassName, styles, }: CarouselProps): react_jsx_runtime.JSX.Element | null;
|
|
98
|
+
|
|
23
99
|
type ButtonGroupVariant = "bordered" | "segmented";
|
|
24
100
|
interface ButtonGroupProps {
|
|
25
101
|
variant?: ButtonGroupVariant;
|
|
@@ -123,6 +199,217 @@ interface InputGroupProps {
|
|
|
123
199
|
}
|
|
124
200
|
declare function InputGroup({ variant, className, children, }: InputGroupProps): react_jsx_runtime.JSX.Element;
|
|
125
201
|
|
|
202
|
+
type MediaImageRatio = "1:1" | "16:9" | "4:3" | "1:2" | "free";
|
|
203
|
+
type MediaImageSize = "xs" | "sm" | "md" | "lg";
|
|
204
|
+
type MediaImageShape = "square" | "rounded" | "circle";
|
|
205
|
+
interface MediaImageProps {
|
|
206
|
+
src: string;
|
|
207
|
+
alt: string;
|
|
208
|
+
caption?: string;
|
|
209
|
+
ratio?: MediaImageRatio;
|
|
210
|
+
size?: MediaImageSize;
|
|
211
|
+
shape?: MediaImageShape;
|
|
212
|
+
children?: React.ReactNode;
|
|
213
|
+
hideCaption?: boolean;
|
|
214
|
+
objectFit?: "cover" | "contain" | "fill" | "none";
|
|
215
|
+
loading?: "lazy" | "eager";
|
|
216
|
+
onError?: () => void;
|
|
217
|
+
className?: string;
|
|
218
|
+
}
|
|
219
|
+
declare function MediaImage({ src, alt, caption, ratio, size, shape, children, hideCaption, objectFit, loading, onError, className, }: MediaImageProps): react_jsx_runtime.JSX.Element;
|
|
220
|
+
|
|
221
|
+
type MediaVideoRatio = "1:1" | "16:9" | "4:3" | "1:2" | "free";
|
|
222
|
+
type MediaVideoSize = "xs" | "sm" | "md";
|
|
223
|
+
type MediaVideoShape = "square" | "rounded" | "circle";
|
|
224
|
+
interface MediaVideoProps {
|
|
225
|
+
src: string;
|
|
226
|
+
caption?: string;
|
|
227
|
+
ratio?: MediaVideoRatio;
|
|
228
|
+
size?: MediaVideoSize;
|
|
229
|
+
shape?: MediaVideoShape;
|
|
230
|
+
children?: React.ReactNode;
|
|
231
|
+
hideCaption?: boolean;
|
|
232
|
+
controls?: boolean;
|
|
233
|
+
preload?: "none" | "metadata" | "auto";
|
|
234
|
+
autoPlay?: boolean;
|
|
235
|
+
muted?: boolean;
|
|
236
|
+
loop?: boolean;
|
|
237
|
+
poster?: string;
|
|
238
|
+
onError?: () => void;
|
|
239
|
+
className?: string;
|
|
240
|
+
}
|
|
241
|
+
declare function MediaVideo({ src, caption, ratio, size, shape, children, hideCaption, controls, preload, autoPlay, muted, loop, poster, onError, className, }: MediaVideoProps): react_jsx_runtime.JSX.Element;
|
|
242
|
+
|
|
243
|
+
type ModalSize = "sm" | "md" | "lg";
|
|
244
|
+
interface ModalProps {
|
|
245
|
+
open?: boolean;
|
|
246
|
+
defaultOpen?: boolean;
|
|
247
|
+
onOpenChange?: (open: boolean) => void;
|
|
248
|
+
size?: ModalSize;
|
|
249
|
+
closeOnBackdrop?: boolean;
|
|
250
|
+
closeOnEscape?: boolean;
|
|
251
|
+
children: React.ReactNode;
|
|
252
|
+
}
|
|
253
|
+
interface ModalTriggerProps {
|
|
254
|
+
asChild?: boolean;
|
|
255
|
+
className?: string;
|
|
256
|
+
children: React.ReactNode;
|
|
257
|
+
}
|
|
258
|
+
interface ModalContentProps {
|
|
259
|
+
className?: string;
|
|
260
|
+
children: React.ReactNode;
|
|
261
|
+
}
|
|
262
|
+
interface ModalHeaderProps {
|
|
263
|
+
icon?: React.ReactNode;
|
|
264
|
+
hideClose?: boolean;
|
|
265
|
+
className?: string;
|
|
266
|
+
children: React.ReactNode;
|
|
267
|
+
}
|
|
268
|
+
interface ModalBodyProps {
|
|
269
|
+
className?: string;
|
|
270
|
+
children: React.ReactNode;
|
|
271
|
+
}
|
|
272
|
+
interface ModalFooterProps {
|
|
273
|
+
className?: string;
|
|
274
|
+
children: React.ReactNode;
|
|
275
|
+
}
|
|
276
|
+
declare function ModalRoot({ open, defaultOpen, onOpenChange, size, closeOnBackdrop, closeOnEscape, children, }: ModalProps): react_jsx_runtime.JSX.Element;
|
|
277
|
+
declare namespace ModalRoot {
|
|
278
|
+
var displayName: string;
|
|
279
|
+
}
|
|
280
|
+
declare function ModalTrigger({ asChild, className, children }: ModalTriggerProps): react_jsx_runtime.JSX.Element;
|
|
281
|
+
declare namespace ModalTrigger {
|
|
282
|
+
var displayName: string;
|
|
283
|
+
}
|
|
284
|
+
declare function ModalContent({ className, children }: ModalContentProps): React.ReactPortal | null;
|
|
285
|
+
declare namespace ModalContent {
|
|
286
|
+
var displayName: string;
|
|
287
|
+
}
|
|
288
|
+
declare function ModalHeader({ icon, hideClose, className, children }: ModalHeaderProps): react_jsx_runtime.JSX.Element;
|
|
289
|
+
declare namespace ModalHeader {
|
|
290
|
+
var displayName: string;
|
|
291
|
+
}
|
|
292
|
+
declare function ModalBody({ className, children }: ModalBodyProps): react_jsx_runtime.JSX.Element;
|
|
293
|
+
declare namespace ModalBody {
|
|
294
|
+
var displayName: string;
|
|
295
|
+
}
|
|
296
|
+
declare function ModalFooter({ className, children }: ModalFooterProps): react_jsx_runtime.JSX.Element;
|
|
297
|
+
declare namespace ModalFooter {
|
|
298
|
+
var displayName: string;
|
|
299
|
+
}
|
|
300
|
+
declare const Modal: typeof ModalRoot & {
|
|
301
|
+
Trigger: typeof ModalTrigger;
|
|
302
|
+
Content: typeof ModalContent;
|
|
303
|
+
Header: typeof ModalHeader;
|
|
304
|
+
Body: typeof ModalBody;
|
|
305
|
+
Footer: typeof ModalFooter;
|
|
306
|
+
};
|
|
307
|
+
|
|
308
|
+
interface MultiSelectOption {
|
|
309
|
+
label: string;
|
|
310
|
+
value: string;
|
|
311
|
+
[key: string]: unknown;
|
|
312
|
+
}
|
|
313
|
+
interface MultiSelectProps {
|
|
314
|
+
value?: string[];
|
|
315
|
+
onChange?: (values: string[], options?: MultiSelectOption[]) => void;
|
|
316
|
+
options?: MultiSelectOption[];
|
|
317
|
+
placeholder?: string;
|
|
318
|
+
className?: string;
|
|
319
|
+
disabled?: boolean;
|
|
320
|
+
autoFlip?: boolean;
|
|
321
|
+
maxHeight?: number;
|
|
322
|
+
searchable?: boolean;
|
|
323
|
+
searchPlaceholder?: string;
|
|
324
|
+
maxSelected?: number;
|
|
325
|
+
maxVisibleChips?: number;
|
|
326
|
+
clearLabel?: string;
|
|
327
|
+
selectedLabel?: string;
|
|
328
|
+
noResultsLabel?: string;
|
|
329
|
+
noOptionsLabel?: string;
|
|
330
|
+
}
|
|
331
|
+
declare function MultiSelect({ value, onChange, options, placeholder, className, disabled, autoFlip, maxHeight, searchable, searchPlaceholder, maxSelected, maxVisibleChips, clearLabel, selectedLabel, noResultsLabel, noOptionsLabel, }: MultiSelectProps): react_jsx_runtime.JSX.Element;
|
|
332
|
+
|
|
333
|
+
interface SelectOption {
|
|
334
|
+
label: string;
|
|
335
|
+
value: string;
|
|
336
|
+
[key: string]: unknown;
|
|
337
|
+
}
|
|
338
|
+
interface SelectProps {
|
|
339
|
+
value?: string;
|
|
340
|
+
onChange?: (value: string, option?: SelectOption) => void;
|
|
341
|
+
options?: SelectOption[];
|
|
342
|
+
placeholder?: string;
|
|
343
|
+
className?: string;
|
|
344
|
+
disabled?: boolean;
|
|
345
|
+
autoFlip?: boolean;
|
|
346
|
+
maxHeight?: number;
|
|
347
|
+
}
|
|
348
|
+
declare function Select({ value, onChange, options, placeholder, className, disabled, autoFlip, maxHeight, }: SelectProps): react_jsx_runtime.JSX.Element;
|
|
349
|
+
|
|
350
|
+
type TabsVariant = "default" | "bordered" | "segmented";
|
|
351
|
+
type TabsSize = "xs" | "sm" | "md";
|
|
352
|
+
interface TabsProps {
|
|
353
|
+
value?: string;
|
|
354
|
+
defaultValue?: string;
|
|
355
|
+
onValueChange?: (value: string) => void;
|
|
356
|
+
variant?: TabsVariant;
|
|
357
|
+
size?: TabsSize;
|
|
358
|
+
className?: string;
|
|
359
|
+
children: React.ReactNode;
|
|
360
|
+
}
|
|
361
|
+
interface TabsListProps {
|
|
362
|
+
className?: string;
|
|
363
|
+
children: React.ReactNode;
|
|
364
|
+
}
|
|
365
|
+
interface TabsTriggerProps {
|
|
366
|
+
value: string;
|
|
367
|
+
icon?: React.ReactNode;
|
|
368
|
+
activeClassName?: string;
|
|
369
|
+
disabled?: boolean;
|
|
370
|
+
className?: string;
|
|
371
|
+
children?: React.ReactNode;
|
|
372
|
+
}
|
|
373
|
+
interface TabsContentProps {
|
|
374
|
+
value: string;
|
|
375
|
+
className?: string;
|
|
376
|
+
children: React.ReactNode;
|
|
377
|
+
}
|
|
378
|
+
declare function TabsRoot({ value, defaultValue, onValueChange, variant, size, className, children, }: TabsProps): react_jsx_runtime.JSX.Element;
|
|
379
|
+
declare function TabsList({ className, children }: TabsListProps): react_jsx_runtime.JSX.Element;
|
|
380
|
+
declare function TabsTrigger({ value, icon, activeClassName, disabled, className, children }: TabsTriggerProps): react_jsx_runtime.JSX.Element;
|
|
381
|
+
declare function TabsContent({ value, className, children }: TabsContentProps): react_jsx_runtime.JSX.Element | null;
|
|
382
|
+
declare const Tabs: typeof TabsRoot & {
|
|
383
|
+
List: typeof TabsList;
|
|
384
|
+
Trigger: typeof TabsTrigger;
|
|
385
|
+
Content: typeof TabsContent;
|
|
386
|
+
};
|
|
387
|
+
|
|
388
|
+
type TooltipPosition = "top" | "bottom" | "left" | "right";
|
|
389
|
+
interface TooltipProps {
|
|
390
|
+
content: React.ReactNode;
|
|
391
|
+
position?: TooltipPosition;
|
|
392
|
+
delay?: number;
|
|
393
|
+
children: React.ReactElement;
|
|
394
|
+
className?: string;
|
|
395
|
+
}
|
|
396
|
+
declare function Tooltip({ content, position, delay, children, className, }: TooltipProps): react_jsx_runtime.JSX.Element;
|
|
397
|
+
|
|
398
|
+
interface TypewriterProps {
|
|
399
|
+
texts: string[];
|
|
400
|
+
typingSpeed?: number;
|
|
401
|
+
deletingSpeed?: number;
|
|
402
|
+
pauseDuration?: number;
|
|
403
|
+
deleteMode?: "backspace" | "clear";
|
|
404
|
+
loop?: boolean;
|
|
405
|
+
startDelay?: number;
|
|
406
|
+
cursor?: boolean;
|
|
407
|
+
cursorStyle?: "line" | "block" | "underscore";
|
|
408
|
+
onComplete?: () => void;
|
|
409
|
+
className?: string;
|
|
410
|
+
}
|
|
411
|
+
declare function Typewriter({ texts, typingSpeed, deletingSpeed, pauseDuration, deleteMode, loop, startDelay, cursor, cursorStyle, onComplete, className, }: TypewriterProps): react_jsx_runtime.JSX.Element;
|
|
412
|
+
|
|
126
413
|
declare function cn(...inputs: ClassValue[]): string;
|
|
127
414
|
|
|
128
|
-
export { Button, type ButtonColor, ButtonGroup, type ButtonGroupProps, type ButtonGroupVariant, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonVariant, Checkbox, type CheckboxColor, CheckboxGroup, type CheckboxGroupProps, type CheckboxGroupVariant, type CheckboxProps, type CheckboxSize, type CheckboxVariant, Dropdown, type DropdownAlign, type DropdownContentProps, type DropdownProps, type DropdownSide, type DropdownTriggerProps, type DropdownWidth, Input, type InputColor, InputGroup, type InputGroupProps, type InputGroupVariant, type InputProps, type InputShape, type InputSize, type InputState, type InputVariant, cn };
|
|
415
|
+
export { Accordion, type AccordionProps, type AccordionSize, type AccordionVariant, Breadcrumb, type BreadcrumbItemProps, type BreadcrumbProps, Button, type ButtonColor, ButtonGroup, type ButtonGroupProps, type ButtonGroupVariant, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonVariant, Carousel, type CarouselBreakpointOptions, type CarouselProps, Checkbox, type CheckboxColor, CheckboxGroup, type CheckboxGroupProps, type CheckboxGroupVariant, type CheckboxProps, type CheckboxSize, type CheckboxVariant, Dropdown, type DropdownAlign, type DropdownContentProps, type DropdownProps, type DropdownSide, type DropdownTriggerProps, type DropdownWidth, Input, type InputColor, InputGroup, type InputGroupProps, type InputGroupVariant, type InputProps, type InputShape, type InputSize, type InputState, type InputVariant, MediaImage, type MediaImageProps, type MediaImageRatio, type MediaImageShape, type MediaImageSize, MediaVideo, type MediaVideoProps, type MediaVideoRatio, type MediaVideoShape, type MediaVideoSize, Modal, type ModalBodyProps, type ModalContentProps, type ModalFooterProps, type ModalHeaderProps, type ModalProps, type ModalSize, type ModalTriggerProps, MultiSelect, type MultiSelectOption, type MultiSelectProps, Select, type SelectOption, type SelectProps, Tabs, type TabsContentProps, type TabsListProps, type TabsProps, type TabsSize, type TabsTriggerProps, type TabsVariant, Tooltip, type TooltipPosition, type TooltipProps, Typewriter, type TypewriterProps, cn };
|