@once-ui-system/core 1.7.2 → 1.7.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Button.d.ts.map +1 -1
- package/dist/components/Button.js +1 -1
- package/dist/components/Button.js.map +1 -1
- package/dist/components/Button.module.scss +40 -48
- package/dist/components/Dialog.d.ts +1 -0
- package/dist/components/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog.js +3 -1
- package/dist/components/Dialog.js.map +1 -1
- package/dist/components/IconButton.d.ts.map +1 -1
- package/dist/components/IconButton.js +2 -4
- package/dist/components/IconButton.js.map +1 -1
- package/dist/components/Input.d.ts.map +1 -1
- package/dist/components/Input.js +2 -12
- package/dist/components/Input.js.map +1 -1
- package/dist/components/Input.module.scss +1 -1
- package/dist/components/Media.d.ts.map +1 -1
- package/dist/components/Media.js +2 -13
- package/dist/components/Media.js.map +1 -1
- package/dist/components/Option.d.ts.map +1 -1
- package/dist/components/Option.js +1 -3
- package/dist/components/Option.js.map +1 -1
- package/dist/components/ToggleButton.d.ts +1 -0
- package/dist/components/ToggleButton.d.ts.map +1 -1
- package/dist/components/ToggleButton.js +3 -3
- package/dist/components/ToggleButton.js.map +1 -1
- package/dist/components/ToggleButton.module.scss +5 -7
- package/dist/data/emoji-data.json +18 -0
- package/dist/modules/code/CodeBlock.impl.d.ts.map +1 -1
- package/dist/modules/code/CodeBlock.impl.js +30 -15
- package/dist/modules/code/CodeBlock.impl.js.map +1 -1
- package/dist/modules/media/MediaUpload.impl.d.ts.map +1 -1
- package/dist/modules/media/MediaUpload.impl.js +11 -4
- package/dist/modules/media/MediaUpload.impl.js.map +1 -1
- package/dist/package.json +1 -1
- package/dist/src/__tests__/Dialog.test.d.ts +1 -0
- package/dist/src/components/Accordion.d.ts +21 -0
- package/dist/src/components/AccordionGroup.d.ts +15 -0
- package/dist/src/components/Animation.d.ts +33 -0
- package/dist/src/components/Arrow.d.ts +10 -0
- package/dist/src/components/ArrowNavigationContext.d.ts +32 -0
- package/dist/src/components/AutoScroll.d.ts +13 -0
- package/dist/src/components/Avatar.d.ts +20 -0
- package/dist/src/components/AvatarGroup.d.ts +13 -0
- package/dist/src/components/Background.d.ts +48 -0
- package/dist/src/components/Badge.d.ts +16 -0
- package/dist/src/components/Banner.d.ts +5 -0
- package/dist/src/components/BlobFx.d.ts +7 -0
- package/dist/src/components/BlockQuote.d.ts +20 -0
- package/dist/src/components/Button.d.ts +26 -0
- package/dist/src/components/Card.d.ts +12 -0
- package/dist/src/components/Carousel.d.ts +31 -0
- package/dist/src/components/CelebrationFx.d.ts +16 -0
- package/dist/src/components/Checkbox.d.ts +10 -0
- package/dist/src/components/Chip.d.ts +16 -0
- package/dist/src/components/ClientFlex.d.ts +12 -0
- package/dist/src/components/ClientGrid.d.ts +12 -0
- package/dist/src/components/ColorInput.d.ts +10 -0
- package/dist/src/components/Column.d.ts +6 -0
- package/dist/src/components/CompareImage.d.ts +15 -0
- package/dist/src/components/ContextMenu.d.ts +21 -0
- package/dist/src/components/CountFx.d.ts +14 -0
- package/dist/src/components/CountdownFx.d.ts +10 -0
- package/dist/src/components/Cursor.d.ts +7 -0
- package/dist/src/components/CursorCard.d.ts +12 -0
- package/dist/src/components/DateInput.d.ts +17 -0
- package/dist/src/components/DatePicker.d.ts +32 -0
- package/dist/src/components/DateRangeInput.d.ts +14 -0
- package/dist/src/components/DateRangePicker.d.ts +16 -0
- package/dist/src/components/Dialog.d.ts +20 -0
- package/dist/src/components/Dropdown.d.ts +12 -0
- package/dist/src/components/DropdownWrapper.d.ts +28 -0
- package/dist/src/components/ElementType.d.ts +13 -0
- package/dist/src/components/EmojiPicker.d.ts +15 -0
- package/dist/src/components/EmojiPickerDropdown.d.ts +10 -0
- package/dist/src/components/Fade.d.ts +18 -0
- package/dist/src/components/Feedback.d.ts +15 -0
- package/dist/src/components/Flex.d.ts +10 -0
- package/dist/src/components/FlipFx.d.ts +16 -0
- package/dist/src/components/GlitchFx.d.ts +11 -0
- package/dist/src/components/Grid.d.ts +10 -0
- package/dist/src/components/HoloFx.d.ts +31 -0
- package/dist/src/components/Hover.d.ts +13 -0
- package/dist/src/components/HoverCard.d.ts +4 -0
- package/dist/src/components/Icon.d.ts +17 -0
- package/dist/src/components/IconButton.d.ts +22 -0
- package/dist/src/components/InfiniteScroll.d.ts +15 -0
- package/dist/src/components/InlineCode.d.ts +9 -0
- package/dist/src/components/Input.d.ts +23 -0
- package/dist/src/components/InteractiveDetails.d.ts +14 -0
- package/dist/src/components/Kbd.d.ts +11 -0
- package/dist/src/components/Line.d.ts +8 -0
- package/dist/src/components/List.d.ts +10 -0
- package/dist/src/components/ListItem.d.ts +9 -0
- package/dist/src/components/Logo.d.ts +17 -0
- package/dist/src/components/LogoCloud.d.ts +13 -0
- package/dist/src/components/Mask.d.ts +14 -0
- package/dist/src/components/MasonryGrid.d.ts +21 -0
- package/dist/src/components/MatrixFx.d.ts +26 -0
- package/dist/src/components/Media.d.ts +25 -0
- package/dist/src/components/Modal.d.ts +10 -0
- package/dist/src/components/NavIcon.d.ts +10 -0
- package/dist/src/components/NumberInput.d.ts +12 -0
- package/dist/src/components/OTPInput.d.ts +12 -0
- package/dist/src/components/OgCard.d.ts +33 -0
- package/dist/src/components/Option.d.ts +20 -0
- package/dist/src/components/Particle.d.ts +20 -0
- package/dist/src/components/PasswordInput.d.ts +3 -0
- package/dist/src/components/ProgressBar.d.ts +14 -0
- package/dist/src/components/Pulse.d.ts +12 -0
- package/dist/src/components/RadioButton.d.ts +14 -0
- package/dist/src/components/RevealFx.d.ts +15 -0
- package/dist/src/components/Row.d.ts +6 -0
- package/dist/src/components/ScrollContainer.d.ts +8 -0
- package/dist/src/components/ScrollLock.integration.test.d.ts +1 -0
- package/dist/src/components/ScrollToTop.d.ts +6 -0
- package/dist/src/components/Scroller.d.ts +13 -0
- package/dist/src/components/SegmentedControl.d.ts +17 -0
- package/dist/src/components/Select.d.ts +18 -0
- package/dist/src/components/ShineFx.d.ts +12 -0
- package/dist/src/components/Skeleton.d.ts +12 -0
- package/dist/src/components/Slider.d.ts +16 -0
- package/dist/src/components/SmartLink.d.ts +17 -0
- package/dist/src/components/Spinner.d.ts +10 -0
- package/dist/src/components/SplitView.d.ts +15 -0
- package/dist/src/components/SplitView.js +79 -0
- package/dist/src/components/StatusIndicator.d.ts +11 -0
- package/dist/src/components/StyleOverlay.d.ts +9 -0
- package/dist/src/components/StylePanel.d.ts +7 -0
- package/dist/src/components/Swiper.d.ts +16 -0
- package/dist/src/components/Switch.d.ts +16 -0
- package/dist/src/components/Table.d.ts +15 -0
- package/dist/src/components/Tag.d.ts +15 -0
- package/dist/src/components/TagInput.d.ts +8 -0
- package/dist/src/components/Textarea.d.ts +23 -0
- package/dist/src/components/ThemeSwitcher.d.ts +3 -0
- package/dist/src/components/TiltFx.d.ts +9 -0
- package/dist/src/components/Timeline.d.ts +17 -0
- package/dist/src/components/Toast.d.ts +11 -0
- package/dist/src/components/Toaster.d.ts +12 -0
- package/dist/src/components/ToggleButton.d.ts +24 -0
- package/dist/src/components/Tooltip.d.ts +12 -0
- package/dist/src/components/TypeFx.d.ts +14 -0
- package/dist/src/components/User.d.ts +15 -0
- package/dist/src/components/UserMenu.d.ts +12 -0
- package/dist/src/components/WeatherFx.d.ts +17 -0
- package/dist/src/components/index.d.ts +120 -0
- package/dist/src/contexts/DataThemeProvider.d.ts +25 -0
- package/dist/src/contexts/ThemeProvider.d.ts +48 -0
- package/dist/src/contexts/ToastProvider.d.ts +17 -0
- package/dist/src/contexts/index.d.ts +5 -0
- package/dist/src/data/emoji-data.json +16062 -0
- package/dist/src/index.d.ts +9 -0
- package/dist/src/modules/code/CodeBlock.d.ts +5 -0
- package/dist/src/modules/code/CodeBlock.impl.d.ts +33 -0
- package/dist/src/modules/data/BarChart.d.ts +5 -0
- package/dist/src/modules/data/BarChart.impl.d.ts +11 -0
- package/dist/src/modules/data/ChartHeader.d.ts +13 -0
- package/dist/src/modules/data/ChartStatus.d.ts +9 -0
- package/dist/src/modules/data/DataTooltip.d.ts +15 -0
- package/dist/src/modules/data/Gradient.d.ts +31 -0
- package/dist/src/modules/data/Legend.d.ts +14 -0
- package/dist/src/modules/data/LineBarChart.d.ts +5 -0
- package/dist/src/modules/data/LineBarChart.impl.d.ts +11 -0
- package/dist/src/modules/data/LineChart.d.ts +5 -0
- package/dist/src/modules/data/LineChart.impl.d.ts +16 -0
- package/dist/src/modules/data/LinearGauge.d.ts +17 -0
- package/dist/src/modules/data/PieChart.d.ts +5 -0
- package/dist/src/modules/data/PieChart.impl.d.ts +17 -0
- package/dist/src/modules/data/RadialGauge.d.ts +24 -0
- package/dist/src/modules/data/Swatch.d.ts +8 -0
- package/dist/src/modules/data/index.d.ts +13 -0
- package/dist/src/modules/data/interfaces.d.ts +52 -0
- package/dist/src/modules/data/utils/formatDate.d.ts +11 -0
- package/dist/src/modules/index.d.ts +7 -0
- package/dist/src/modules/media/MediaUpload.d.ts +5 -0
- package/dist/src/modules/media/MediaUpload.impl.d.ts +23 -0
- package/dist/src/modules/navigation/HeadingLink.d.ts +10 -0
- package/dist/src/modules/navigation/HeadingNav.d.ts +7 -0
- package/dist/src/modules/navigation/Kbar.d.ts +33 -0
- package/dist/src/modules/navigation/MegaMenu.d.ts +27 -0
- package/dist/src/modules/navigation/MobileMegaMenu.d.ts +27 -0
- package/dist/src/modules/navigation/index.d.ts +5 -0
- package/dist/src/utils/MissingDependency.d.ts +6 -0
- package/dist/src/utils/index.d.ts +2 -0
- package/package.json +1 -1
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
|
+
import { Row, Card, Column } from '@once-ui-system/core';
|
|
4
|
+
import { useState, useEffect, useRef } from 'react';
|
|
5
|
+
function useResizeHandle(containerRef, direction) {
|
|
6
|
+
const [splitRatio, setSplitRatio] = useState(0.3);
|
|
7
|
+
const [isDragging, setIsDragging] = useState(false);
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const handleMouseMove = (e) => {
|
|
10
|
+
if (!isDragging || !containerRef.current)
|
|
11
|
+
return;
|
|
12
|
+
const container = containerRef.current;
|
|
13
|
+
const rect = container.getBoundingClientRect();
|
|
14
|
+
let newRatio;
|
|
15
|
+
if (direction === 'row') {
|
|
16
|
+
// Horizontal split: calculate from left
|
|
17
|
+
newRatio = (e.clientX - rect.left) / rect.width;
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
// Vertical split: calculate from top
|
|
21
|
+
newRatio = (e.clientY - rect.top) / rect.height;
|
|
22
|
+
}
|
|
23
|
+
setSplitRatio(Math.max(0.2, Math.min(0.8, newRatio)));
|
|
24
|
+
};
|
|
25
|
+
const handleMouseUp = () => {
|
|
26
|
+
setIsDragging(false);
|
|
27
|
+
};
|
|
28
|
+
if (isDragging) {
|
|
29
|
+
document.addEventListener('mousemove', handleMouseMove);
|
|
30
|
+
document.addEventListener('mouseup', handleMouseUp);
|
|
31
|
+
document.body.style.cursor = direction === 'row' ? 'col-resize' : 'row-resize';
|
|
32
|
+
document.body.style.userSelect = 'none';
|
|
33
|
+
}
|
|
34
|
+
return () => {
|
|
35
|
+
document.removeEventListener('mousemove', handleMouseMove);
|
|
36
|
+
document.removeEventListener('mouseup', handleMouseUp);
|
|
37
|
+
document.body.style.cursor = '';
|
|
38
|
+
document.body.style.userSelect = '';
|
|
39
|
+
};
|
|
40
|
+
}, [isDragging, direction]);
|
|
41
|
+
return { splitRatio, isDragging, setIsDragging };
|
|
42
|
+
}
|
|
43
|
+
function SplitView({ leftPanel, rightPanel, defaultSplit = 0.3, minSplit = 0.2, maxSplit = 0.8, ...flex }) {
|
|
44
|
+
const containerRef = useRef(null);
|
|
45
|
+
const [direction, setDirection] = useState('row');
|
|
46
|
+
const { splitRatio, isDragging, setIsDragging } = useResizeHandle(containerRef, direction);
|
|
47
|
+
// Detect direction from flex props or responsive breakpoints
|
|
48
|
+
useEffect(() => {
|
|
49
|
+
const updateDirection = () => {
|
|
50
|
+
if (!containerRef.current)
|
|
51
|
+
return;
|
|
52
|
+
const computedStyle = window.getComputedStyle(containerRef.current);
|
|
53
|
+
const flexDir = computedStyle.flexDirection;
|
|
54
|
+
setDirection(flexDir === 'column' ? 'column' : 'row');
|
|
55
|
+
};
|
|
56
|
+
updateDirection();
|
|
57
|
+
window.addEventListener('resize', updateDirection);
|
|
58
|
+
return () => window.removeEventListener('resize', updateDirection);
|
|
59
|
+
}, []);
|
|
60
|
+
const isHorizontal = direction === 'row';
|
|
61
|
+
const splitPercentage = `${splitRatio * 100}%`;
|
|
62
|
+
return (_jsxs(Row, { ref: containerRef, fill: true, ...flex, children: [_jsx(Column, { fill: true, style: {
|
|
63
|
+
[isHorizontal ? 'width' : 'height']: splitPercentage,
|
|
64
|
+
[isHorizontal ? 'minWidth' : 'minHeight']: 0,
|
|
65
|
+
overflow: 'auto',
|
|
66
|
+
}, children: leftPanel }), _jsx(Row, { fillHeight: isHorizontal, fillWidth: !isHorizontal, minWidth: isHorizontal ? "12" : undefined, minHeight: !isHorizontal ? "12" : undefined, paddingX: isHorizontal ? "8" : undefined, paddingY: !isHorizontal ? "8" : undefined, center: true, onMouseDown: () => setIsDragging(true), style: {
|
|
67
|
+
cursor: isHorizontal ? 'col-resize' : 'row-resize',
|
|
68
|
+
userSelect: 'none',
|
|
69
|
+
}, children: _jsx(Row, { fillWidth: isHorizontal, fillHeight: !isHorizontal, height: isHorizontal ? 8 : undefined, width: !isHorizontal ? 8 : undefined, children: _jsx(Card, { fill: true, background: isDragging ? "neutral-strong" : "neutral-weak", border: "neutral-alpha-weak", radius: "full", style: {
|
|
70
|
+
cursor: isHorizontal ? 'col-resize' : 'row-resize',
|
|
71
|
+
transition: 'background 0.2s ease',
|
|
72
|
+
} }) }) }), _jsx(Column, { fill: true, style: {
|
|
73
|
+
[isHorizontal ? 'width' : 'height']: `${(1 - splitRatio) * 100}%`,
|
|
74
|
+
[isHorizontal ? 'minWidth' : 'minHeight']: 0,
|
|
75
|
+
overflow: 'auto',
|
|
76
|
+
}, children: rightPanel })] }));
|
|
77
|
+
}
|
|
78
|
+
SplitView.displayName = "SplitView";
|
|
79
|
+
export { SplitView };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Flex } from ".";
|
|
3
|
+
interface StatusIndicatorProps extends React.ComponentProps<typeof Flex> {
|
|
4
|
+
size?: "s" | "m" | "l";
|
|
5
|
+
color: "blue" | "indigo" | "violet" | "magenta" | "pink" | "red" | "orange" | "yellow" | "moss" | "green" | "emerald" | "aqua" | "cyan" | "gray";
|
|
6
|
+
ariaLabel?: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
style?: React.CSSProperties;
|
|
9
|
+
}
|
|
10
|
+
declare const StatusIndicator: React.ForwardRefExoticComponent<Omit<StatusIndicatorProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export { StatusIndicator };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IconButton, Flex } from ".";
|
|
2
|
+
import { DisplayProps } from "../interfaces";
|
|
3
|
+
interface StyleOverlayProps extends React.ComponentProps<typeof Flex> {
|
|
4
|
+
iconButtonProps?: Partial<React.ComponentProps<typeof IconButton>>;
|
|
5
|
+
children: React.ReactNode;
|
|
6
|
+
zIndex?: DisplayProps["zIndex"];
|
|
7
|
+
}
|
|
8
|
+
declare const StyleOverlay: import("react").ForwardRefExoticComponent<Omit<StyleOverlayProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export { StyleOverlay };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Flex } from ".";
|
|
2
|
+
interface StylePanelProps extends React.ComponentProps<typeof Flex> {
|
|
3
|
+
style?: React.CSSProperties;
|
|
4
|
+
className?: string;
|
|
5
|
+
}
|
|
6
|
+
declare const StylePanel: import("react").ForwardRefExoticComponent<Omit<StylePanelProps, "ref"> & import("react").RefAttributes<HTMLDivElement>>;
|
|
7
|
+
export { StylePanel };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Flex } from ".";
|
|
2
|
+
interface SwiperItem {
|
|
3
|
+
slide: string | React.ReactNode;
|
|
4
|
+
alt?: string;
|
|
5
|
+
}
|
|
6
|
+
interface SwiperProps extends React.ComponentProps<typeof Flex> {
|
|
7
|
+
items: SwiperItem[];
|
|
8
|
+
controls?: boolean | "contained";
|
|
9
|
+
priority?: boolean;
|
|
10
|
+
fill?: boolean;
|
|
11
|
+
aspectRatio?: string;
|
|
12
|
+
sizes?: string;
|
|
13
|
+
indicator?: boolean;
|
|
14
|
+
}
|
|
15
|
+
declare const Swiper: React.FC<SwiperProps>;
|
|
16
|
+
export { Swiper };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { InteractiveDetailsProps } from ".";
|
|
3
|
+
interface SwitchProps extends Omit<InteractiveDetailsProps, "onClick">, React.InputHTMLAttributes<HTMLInputElement> {
|
|
4
|
+
style?: React.CSSProperties;
|
|
5
|
+
className?: string;
|
|
6
|
+
isChecked: boolean;
|
|
7
|
+
loading?: boolean;
|
|
8
|
+
name?: string;
|
|
9
|
+
value?: string;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
reverse?: boolean;
|
|
12
|
+
ariaLabel?: string;
|
|
13
|
+
onToggle: () => void;
|
|
14
|
+
}
|
|
15
|
+
declare const Switch: React.FC<SwitchProps>;
|
|
16
|
+
export { Switch };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Flex } from ".";
|
|
2
|
+
import { ReactNode } from "react";
|
|
3
|
+
type TableProps = React.ComponentProps<typeof Flex> & {
|
|
4
|
+
data: {
|
|
5
|
+
headers: {
|
|
6
|
+
content: ReactNode;
|
|
7
|
+
key: string;
|
|
8
|
+
sortable?: boolean;
|
|
9
|
+
}[];
|
|
10
|
+
rows: ReactNode[][];
|
|
11
|
+
};
|
|
12
|
+
onRowClick?: (rowIndex: number) => void;
|
|
13
|
+
};
|
|
14
|
+
declare function Table({ data, onRowClick, ...flex }: TableProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export { Table };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import { Flex } from ".";
|
|
3
|
+
import { IconName } from "../icons";
|
|
4
|
+
import { ColorScheme } from "@/types";
|
|
5
|
+
interface TagProps extends React.ComponentProps<typeof Flex> {
|
|
6
|
+
variant?: ColorScheme | "gradient";
|
|
7
|
+
size?: "s" | "m" | "l";
|
|
8
|
+
label?: string;
|
|
9
|
+
prefixIcon?: IconName;
|
|
10
|
+
suffixIcon?: IconName;
|
|
11
|
+
children?: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
declare const Tag: React.ForwardRefExoticComponent<Omit<TagProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
export { Tag };
|
|
15
|
+
export type { TagProps };
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { InputProps } from ".";
|
|
2
|
+
interface TagInputProps extends Omit<InputProps, "onChange" | "value"> {
|
|
3
|
+
value: string[];
|
|
4
|
+
onChange: (value: string[]) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const TagInput: import("react").ForwardRefExoticComponent<TagInputProps & import("react").RefAttributes<HTMLInputElement>>;
|
|
7
|
+
export { TagInput };
|
|
8
|
+
export type { TagInputProps };
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React, { TextareaHTMLAttributes, ReactNode } from "react";
|
|
2
|
+
interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
3
|
+
id: string;
|
|
4
|
+
label?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
lines?: number | "auto";
|
|
7
|
+
height?: "xs" | "s" | "m" | "l" | "xl";
|
|
8
|
+
error?: boolean;
|
|
9
|
+
errorMessage?: ReactNode;
|
|
10
|
+
description?: ReactNode;
|
|
11
|
+
radius?: "none" | "top" | "right" | "bottom" | "left" | "top-left" | "top-right" | "bottom-right" | "bottom-left";
|
|
12
|
+
className?: string;
|
|
13
|
+
hasPrefix?: ReactNode;
|
|
14
|
+
hasSuffix?: ReactNode;
|
|
15
|
+
variant?: "default" | "ghost";
|
|
16
|
+
characterCount?: boolean;
|
|
17
|
+
resize?: "horizontal" | "vertical" | "both" | "none";
|
|
18
|
+
validate?: (value: ReactNode) => ReactNode | null;
|
|
19
|
+
disabled?: boolean;
|
|
20
|
+
}
|
|
21
|
+
declare const Textarea: React.ForwardRefExoticComponent<TextareaProps & React.RefAttributes<HTMLTextAreaElement>>;
|
|
22
|
+
export { Textarea };
|
|
23
|
+
export type { TextareaProps };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Flex } from ".";
|
|
3
|
+
interface TiltFxProps extends React.ComponentProps<typeof Flex> {
|
|
4
|
+
children: React.ReactNode;
|
|
5
|
+
intensity?: number;
|
|
6
|
+
reducedMotion?: boolean | "auto";
|
|
7
|
+
}
|
|
8
|
+
declare const TiltFx: React.FC<TiltFxProps>;
|
|
9
|
+
export { TiltFx };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Flex } from ".";
|
|
3
|
+
import { TShirtSizes } from "@/types";
|
|
4
|
+
export interface TimelineItem {
|
|
5
|
+
label?: React.ReactNode;
|
|
6
|
+
description?: React.ReactNode;
|
|
7
|
+
state?: "default" | "active" | "success" | "danger";
|
|
8
|
+
marker?: React.ReactNode;
|
|
9
|
+
children?: React.ReactNode;
|
|
10
|
+
}
|
|
11
|
+
interface TimelineProps extends Omit<React.ComponentProps<typeof Flex>, "children"> {
|
|
12
|
+
items: TimelineItem[];
|
|
13
|
+
alignment?: "left" | "right";
|
|
14
|
+
size?: TShirtSizes;
|
|
15
|
+
}
|
|
16
|
+
declare const Timeline: React.FC<TimelineProps>;
|
|
17
|
+
export { Timeline };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface ToastProps {
|
|
3
|
+
className?: string;
|
|
4
|
+
variant: "success" | "danger";
|
|
5
|
+
icon?: boolean;
|
|
6
|
+
onClose?: () => void;
|
|
7
|
+
action?: React.ReactNode;
|
|
8
|
+
children: React.ReactNode;
|
|
9
|
+
}
|
|
10
|
+
declare const Toast: React.ForwardRefExoticComponent<ToastProps & React.RefAttributes<HTMLDivElement>>;
|
|
11
|
+
export { Toast };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
interface ToasterProps {
|
|
3
|
+
toasts: {
|
|
4
|
+
id: string;
|
|
5
|
+
variant: "success" | "danger";
|
|
6
|
+
message: React.ReactNode;
|
|
7
|
+
action?: React.ReactNode;
|
|
8
|
+
}[];
|
|
9
|
+
removeToast: (id: string) => void;
|
|
10
|
+
}
|
|
11
|
+
declare const Toaster: React.FC<ToasterProps>;
|
|
12
|
+
export { Toaster };
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import { IconName } from "../icons";
|
|
3
|
+
interface CommonProps {
|
|
4
|
+
label?: ReactNode;
|
|
5
|
+
selected?: boolean;
|
|
6
|
+
variant?: "ghost" | "outline";
|
|
7
|
+
size?: "xs" | "s" | "m" | "l" | "xl";
|
|
8
|
+
radius?: "none" | "top" | "right" | "bottom" | "left" | "top-left" | "top-right" | "bottom-right" | "bottom-left";
|
|
9
|
+
rounded?: boolean;
|
|
10
|
+
horizontal?: "start" | "center" | "end" | "between";
|
|
11
|
+
fillWidth?: boolean;
|
|
12
|
+
weight?: "default" | "strong";
|
|
13
|
+
truncate?: boolean;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
prefixIcon?: IconName;
|
|
16
|
+
suffixIcon?: IconName;
|
|
17
|
+
className?: string;
|
|
18
|
+
style?: React.CSSProperties;
|
|
19
|
+
children?: ReactNode;
|
|
20
|
+
href?: string;
|
|
21
|
+
}
|
|
22
|
+
export type ToggleButtonProps = CommonProps & React.ButtonHTMLAttributes<HTMLButtonElement>;
|
|
23
|
+
declare const ToggleButton: React.ForwardRefExoticComponent<CommonProps & React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLElement>>;
|
|
24
|
+
export { ToggleButton };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
import { Row } from ".";
|
|
3
|
+
import { IconName } from "../icons";
|
|
4
|
+
interface TooltipProps extends React.ComponentProps<typeof Row> {
|
|
5
|
+
label: ReactNode;
|
|
6
|
+
prefixIcon?: IconName;
|
|
7
|
+
suffixIcon?: IconName;
|
|
8
|
+
className?: string;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
declare const Tooltip: React.ForwardRefExoticComponent<Omit<TooltipProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
12
|
+
export { Tooltip };
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Text } from ".";
|
|
3
|
+
export interface TypeFxProps extends Omit<React.ComponentProps<typeof Text>, 'children'> {
|
|
4
|
+
words: string | string[];
|
|
5
|
+
speed?: number;
|
|
6
|
+
delay?: number;
|
|
7
|
+
hold?: number;
|
|
8
|
+
trigger?: "instant" | "custom";
|
|
9
|
+
onTrigger?: (triggerFn: () => void) => void;
|
|
10
|
+
loop?: boolean;
|
|
11
|
+
children?: React.ReactNode;
|
|
12
|
+
}
|
|
13
|
+
declare const TypeFx: React.FC<TypeFxProps>;
|
|
14
|
+
export { TypeFx };
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { TagProps, AvatarProps } from ".";
|
|
3
|
+
interface UserProps {
|
|
4
|
+
name?: string;
|
|
5
|
+
children?: React.ReactNode;
|
|
6
|
+
subline?: React.ReactNode;
|
|
7
|
+
tag?: string;
|
|
8
|
+
tagProps?: TagProps;
|
|
9
|
+
loading?: boolean;
|
|
10
|
+
avatarProps?: AvatarProps;
|
|
11
|
+
className?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const User: React.ForwardRefExoticComponent<UserProps & React.RefAttributes<HTMLDivElement>>;
|
|
14
|
+
export { User };
|
|
15
|
+
export type { UserProps };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { UserProps, DropdownWrapperProps } from ".";
|
|
3
|
+
import { Placement } from "@floating-ui/react-dom";
|
|
4
|
+
interface UserMenuProps extends UserProps, Pick<DropdownWrapperProps, "minHeight" | "minWidth" | "maxWidth"> {
|
|
5
|
+
selected?: boolean;
|
|
6
|
+
placement?: Placement;
|
|
7
|
+
dropdown?: React.ReactNode;
|
|
8
|
+
className?: string;
|
|
9
|
+
style?: React.CSSProperties;
|
|
10
|
+
}
|
|
11
|
+
declare const UserMenu: React.FC<UserMenuProps>;
|
|
12
|
+
export { UserMenu };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from "react";
|
|
2
|
+
import { Flex } from ".";
|
|
3
|
+
type WeatherType = "rain" | "snow" | "leaves" | "lightning";
|
|
4
|
+
interface WeatherFxProps extends React.ComponentProps<typeof Flex> {
|
|
5
|
+
type?: WeatherType;
|
|
6
|
+
speed?: number;
|
|
7
|
+
colors?: string[];
|
|
8
|
+
intensity?: number;
|
|
9
|
+
angle?: number;
|
|
10
|
+
duration?: number;
|
|
11
|
+
trigger?: "mount" | "hover" | "click" | "manual";
|
|
12
|
+
active?: boolean;
|
|
13
|
+
reducedMotion?: boolean | "auto";
|
|
14
|
+
children?: React.ReactNode;
|
|
15
|
+
}
|
|
16
|
+
declare const WeatherFx: React.ForwardRefExoticComponent<Omit<WeatherFxProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
17
|
+
export { WeatherFx };
|
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
export * from "./Accordion";
|
|
2
|
+
export * from "./AccordionGroup";
|
|
3
|
+
export * from "./Animation";
|
|
4
|
+
export * from "./Arrow";
|
|
5
|
+
export * from "./ArrowNavigationContext";
|
|
6
|
+
export * from "./AutoScroll";
|
|
7
|
+
export * from "./Avatar";
|
|
8
|
+
export * from "./AvatarGroup";
|
|
9
|
+
export * from "./Badge";
|
|
10
|
+
export * from "./BlobFx";
|
|
11
|
+
export * from "./Banner";
|
|
12
|
+
export * from "./Background";
|
|
13
|
+
export * from "./BlockQuote";
|
|
14
|
+
export * from "./Button";
|
|
15
|
+
export * from "./MatrixFx";
|
|
16
|
+
export * from "./WeatherFx";
|
|
17
|
+
export * from "./Carousel";
|
|
18
|
+
export * from "./Swiper";
|
|
19
|
+
export * from "./Card";
|
|
20
|
+
export * from "./CursorCard";
|
|
21
|
+
export * from "./Cursor";
|
|
22
|
+
export * from "./CountFx";
|
|
23
|
+
export * from "./CountdownFx";
|
|
24
|
+
export * from "./Column";
|
|
25
|
+
export * from "./Checkbox";
|
|
26
|
+
export * from "./Chip";
|
|
27
|
+
export * from "./ColorInput";
|
|
28
|
+
export * from "./CompareImage";
|
|
29
|
+
export * from "./ContextMenu";
|
|
30
|
+
export * from "./DateInput";
|
|
31
|
+
export * from "./DatePicker";
|
|
32
|
+
export * from "./DateRangeInput";
|
|
33
|
+
export * from "./DateRangePicker";
|
|
34
|
+
export * from "./Dialog";
|
|
35
|
+
export * from "./Dropdown";
|
|
36
|
+
export * from "./DropdownWrapper";
|
|
37
|
+
export * from "./ElementType";
|
|
38
|
+
export * from "./EmojiPicker";
|
|
39
|
+
export * from "./EmojiPickerDropdown";
|
|
40
|
+
export * from "./Fade";
|
|
41
|
+
export * from "./Feedback";
|
|
42
|
+
export * from "./ServerFlex";
|
|
43
|
+
export * from "./ClientFlex";
|
|
44
|
+
export * from "./Flex";
|
|
45
|
+
export * from "./FlipFx";
|
|
46
|
+
export * from "./FocusTrap";
|
|
47
|
+
export * from "./GlitchFx";
|
|
48
|
+
export * from "./ServerGrid";
|
|
49
|
+
export * from "./ClientGrid";
|
|
50
|
+
export * from "./Grid";
|
|
51
|
+
export * from "./Heading";
|
|
52
|
+
export * from "./HoloFx";
|
|
53
|
+
export * from "./Hover";
|
|
54
|
+
export * from "./HoverCard";
|
|
55
|
+
export * from "./Icon";
|
|
56
|
+
export * from "./IconButton";
|
|
57
|
+
export * from "./InfiniteScroll";
|
|
58
|
+
export * from "./InlineCode";
|
|
59
|
+
export * from "./Input";
|
|
60
|
+
export * from "./InteractiveDetails";
|
|
61
|
+
export * from "./Kbd";
|
|
62
|
+
export * from "./LetterFx";
|
|
63
|
+
export * from "./Line";
|
|
64
|
+
export * from "./List";
|
|
65
|
+
export * from "./ListItem";
|
|
66
|
+
export * from "./Logo";
|
|
67
|
+
export * from "./LogoCloud";
|
|
68
|
+
export * from "./Mask";
|
|
69
|
+
export * from "./MasonryGrid";
|
|
70
|
+
export * from "./Media";
|
|
71
|
+
export * from "./Modal";
|
|
72
|
+
export * from "./NavIcon";
|
|
73
|
+
export * from "./NumberInput";
|
|
74
|
+
export * from "./OgCard";
|
|
75
|
+
export * from "./Option";
|
|
76
|
+
export * from "./OTPInput";
|
|
77
|
+
export * from "./Particle";
|
|
78
|
+
export * from "./PasswordInput";
|
|
79
|
+
export * from "./ProgressBar";
|
|
80
|
+
export * from "./Pulse";
|
|
81
|
+
export * from "./RadioButton";
|
|
82
|
+
export * from "./RevealFx";
|
|
83
|
+
export * from "./Row";
|
|
84
|
+
export * from "./Scroller";
|
|
85
|
+
export * from "./ScrollContainer";
|
|
86
|
+
export * from "./ScrollLock";
|
|
87
|
+
export * from "./ScrollToTop";
|
|
88
|
+
export * from "./SegmentedControl";
|
|
89
|
+
export * from "./Select";
|
|
90
|
+
export * from "./ServerFlex";
|
|
91
|
+
export * from "./ServerGrid";
|
|
92
|
+
export * from "./ShineFx";
|
|
93
|
+
export * from "./Skeleton";
|
|
94
|
+
export * from "./Slider";
|
|
95
|
+
export * from "./SmartLink";
|
|
96
|
+
export * from "./Spinner";
|
|
97
|
+
export * from "./SplitView";
|
|
98
|
+
export * from "./StatusIndicator";
|
|
99
|
+
export * from "./StylePanel";
|
|
100
|
+
export * from "./StyleOverlay";
|
|
101
|
+
export * from "./Switch";
|
|
102
|
+
export * from "./Table";
|
|
103
|
+
export * from "./Tag";
|
|
104
|
+
export * from "./TagInput";
|
|
105
|
+
export * from "./Text";
|
|
106
|
+
export * from "./Textarea";
|
|
107
|
+
export * from "./TiltFx";
|
|
108
|
+
export * from "./Timeline";
|
|
109
|
+
export * from "./Toast";
|
|
110
|
+
export * from "./Toaster";
|
|
111
|
+
export * from "./ToggleButton";
|
|
112
|
+
export * from "./Tooltip";
|
|
113
|
+
export * from "./TypeFx";
|
|
114
|
+
export * from "./ThemeInit";
|
|
115
|
+
export * from "./ThemeSwitcher";
|
|
116
|
+
export * from "./User";
|
|
117
|
+
export * from "./UserMenu";
|
|
118
|
+
export * from "./Pulse";
|
|
119
|
+
export * from "./CelebrationFx";
|
|
120
|
+
export * from "./FadingLettersFx";
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { ReactNode } from "react";
|
|
2
|
+
import { ChartMode, ChartVariant } from "../modules/data";
|
|
3
|
+
interface ChartOptions {
|
|
4
|
+
variant: ChartVariant;
|
|
5
|
+
mode: ChartMode;
|
|
6
|
+
height: number;
|
|
7
|
+
axis: {
|
|
8
|
+
stroke: string;
|
|
9
|
+
};
|
|
10
|
+
tick: {
|
|
11
|
+
fill: string;
|
|
12
|
+
fontSize: number;
|
|
13
|
+
line: boolean;
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
interface DataThemeState extends ChartOptions {
|
|
17
|
+
setChartOptions: (options: Partial<ChartOptions>) => void;
|
|
18
|
+
}
|
|
19
|
+
interface DataThemeProviderProps extends Partial<ChartOptions> {
|
|
20
|
+
children: ReactNode;
|
|
21
|
+
}
|
|
22
|
+
declare const defaultChartOptions: ChartOptions;
|
|
23
|
+
export declare function DataThemeProvider({ children, variant, mode, height, axis, tick, ...rest }: DataThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
24
|
+
export declare const useDataTheme: () => DataThemeState;
|
|
25
|
+
export { defaultChartOptions };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { Schemes } from "../types";
|
|
2
|
+
export type Theme = "dark" | "light" | "system";
|
|
3
|
+
export type NeutralColor = "sand" | "gray" | "slate";
|
|
4
|
+
export type SolidType = "color" | "contrast" | "inverse";
|
|
5
|
+
export type SolidStyle = "flat" | "plastic";
|
|
6
|
+
export type BorderStyle = "rounded" | "playful" | "conservative";
|
|
7
|
+
export type SurfaceStyle = "filled" | "translucent";
|
|
8
|
+
export type TransitionStyle = "all" | "micro" | "macro" | "none";
|
|
9
|
+
export type ScalingSize = "90" | "95" | "100" | "105" | "110";
|
|
10
|
+
export type DataStyle = "categorical" | "divergent" | "sequential";
|
|
11
|
+
interface StyleOptions {
|
|
12
|
+
theme: Theme;
|
|
13
|
+
neutral: NeutralColor | "custom";
|
|
14
|
+
brand: Schemes | "custom";
|
|
15
|
+
accent: Schemes | "custom";
|
|
16
|
+
solid: SolidType;
|
|
17
|
+
solidStyle: SolidStyle;
|
|
18
|
+
border: BorderStyle;
|
|
19
|
+
surface: SurfaceStyle;
|
|
20
|
+
transition: TransitionStyle;
|
|
21
|
+
scaling: ScalingSize;
|
|
22
|
+
}
|
|
23
|
+
type ThemeProviderState = {
|
|
24
|
+
theme: Theme;
|
|
25
|
+
resolvedTheme: "light" | "dark";
|
|
26
|
+
setTheme: (theme: Theme) => void;
|
|
27
|
+
};
|
|
28
|
+
type StyleProviderState = StyleOptions & {
|
|
29
|
+
setStyle: (style: Partial<StyleOptions>) => void;
|
|
30
|
+
};
|
|
31
|
+
type ThemeProviderProps = {
|
|
32
|
+
children: React.ReactNode;
|
|
33
|
+
theme?: Theme;
|
|
34
|
+
neutral?: NeutralColor | "custom";
|
|
35
|
+
brand?: Schemes | "custom";
|
|
36
|
+
accent?: Schemes | "custom";
|
|
37
|
+
solid?: SolidType;
|
|
38
|
+
solidStyle?: SolidStyle;
|
|
39
|
+
border?: BorderStyle;
|
|
40
|
+
surface?: SurfaceStyle;
|
|
41
|
+
transition?: TransitionStyle;
|
|
42
|
+
scaling?: ScalingSize;
|
|
43
|
+
};
|
|
44
|
+
declare const defaultStyleOptions: StyleOptions;
|
|
45
|
+
export declare function ThemeProvider({ children, theme: propTheme, neutral, brand, accent, solid, solidStyle, border, surface, transition, scaling, }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
46
|
+
export declare const useTheme: () => ThemeProviderState;
|
|
47
|
+
export declare const useStyle: () => StyleProviderState;
|
|
48
|
+
export { defaultStyleOptions };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React, { ReactNode } from "react";
|
|
2
|
+
interface Toast {
|
|
3
|
+
id: string;
|
|
4
|
+
variant: "success" | "danger";
|
|
5
|
+
message: ReactNode;
|
|
6
|
+
action?: ReactNode;
|
|
7
|
+
}
|
|
8
|
+
interface ToastContextProps {
|
|
9
|
+
toasts: Toast[];
|
|
10
|
+
addToast: (toast: Omit<Toast, "id">) => void;
|
|
11
|
+
removeToast: (id: string) => void;
|
|
12
|
+
}
|
|
13
|
+
export declare const useToast: () => ToastContextProps;
|
|
14
|
+
declare const ToastProvider: React.FC<{
|
|
15
|
+
children: ReactNode;
|
|
16
|
+
}>;
|
|
17
|
+
export { ToastProvider };
|