@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.
Files changed (185) hide show
  1. package/dist/components/Button.d.ts.map +1 -1
  2. package/dist/components/Button.js +1 -1
  3. package/dist/components/Button.js.map +1 -1
  4. package/dist/components/Button.module.scss +40 -48
  5. package/dist/components/Dialog.d.ts +1 -0
  6. package/dist/components/Dialog.d.ts.map +1 -1
  7. package/dist/components/Dialog.js +3 -1
  8. package/dist/components/Dialog.js.map +1 -1
  9. package/dist/components/IconButton.d.ts.map +1 -1
  10. package/dist/components/IconButton.js +2 -4
  11. package/dist/components/IconButton.js.map +1 -1
  12. package/dist/components/Input.d.ts.map +1 -1
  13. package/dist/components/Input.js +2 -12
  14. package/dist/components/Input.js.map +1 -1
  15. package/dist/components/Input.module.scss +1 -1
  16. package/dist/components/Media.d.ts.map +1 -1
  17. package/dist/components/Media.js +2 -13
  18. package/dist/components/Media.js.map +1 -1
  19. package/dist/components/Option.d.ts.map +1 -1
  20. package/dist/components/Option.js +1 -3
  21. package/dist/components/Option.js.map +1 -1
  22. package/dist/components/ToggleButton.d.ts +1 -0
  23. package/dist/components/ToggleButton.d.ts.map +1 -1
  24. package/dist/components/ToggleButton.js +3 -3
  25. package/dist/components/ToggleButton.js.map +1 -1
  26. package/dist/components/ToggleButton.module.scss +5 -7
  27. package/dist/data/emoji-data.json +18 -0
  28. package/dist/modules/code/CodeBlock.impl.d.ts.map +1 -1
  29. package/dist/modules/code/CodeBlock.impl.js +30 -15
  30. package/dist/modules/code/CodeBlock.impl.js.map +1 -1
  31. package/dist/modules/media/MediaUpload.impl.d.ts.map +1 -1
  32. package/dist/modules/media/MediaUpload.impl.js +11 -4
  33. package/dist/modules/media/MediaUpload.impl.js.map +1 -1
  34. package/dist/package.json +1 -1
  35. package/dist/src/__tests__/Dialog.test.d.ts +1 -0
  36. package/dist/src/components/Accordion.d.ts +21 -0
  37. package/dist/src/components/AccordionGroup.d.ts +15 -0
  38. package/dist/src/components/Animation.d.ts +33 -0
  39. package/dist/src/components/Arrow.d.ts +10 -0
  40. package/dist/src/components/ArrowNavigationContext.d.ts +32 -0
  41. package/dist/src/components/AutoScroll.d.ts +13 -0
  42. package/dist/src/components/Avatar.d.ts +20 -0
  43. package/dist/src/components/AvatarGroup.d.ts +13 -0
  44. package/dist/src/components/Background.d.ts +48 -0
  45. package/dist/src/components/Badge.d.ts +16 -0
  46. package/dist/src/components/Banner.d.ts +5 -0
  47. package/dist/src/components/BlobFx.d.ts +7 -0
  48. package/dist/src/components/BlockQuote.d.ts +20 -0
  49. package/dist/src/components/Button.d.ts +26 -0
  50. package/dist/src/components/Card.d.ts +12 -0
  51. package/dist/src/components/Carousel.d.ts +31 -0
  52. package/dist/src/components/CelebrationFx.d.ts +16 -0
  53. package/dist/src/components/Checkbox.d.ts +10 -0
  54. package/dist/src/components/Chip.d.ts +16 -0
  55. package/dist/src/components/ClientFlex.d.ts +12 -0
  56. package/dist/src/components/ClientGrid.d.ts +12 -0
  57. package/dist/src/components/ColorInput.d.ts +10 -0
  58. package/dist/src/components/Column.d.ts +6 -0
  59. package/dist/src/components/CompareImage.d.ts +15 -0
  60. package/dist/src/components/ContextMenu.d.ts +21 -0
  61. package/dist/src/components/CountFx.d.ts +14 -0
  62. package/dist/src/components/CountdownFx.d.ts +10 -0
  63. package/dist/src/components/Cursor.d.ts +7 -0
  64. package/dist/src/components/CursorCard.d.ts +12 -0
  65. package/dist/src/components/DateInput.d.ts +17 -0
  66. package/dist/src/components/DatePicker.d.ts +32 -0
  67. package/dist/src/components/DateRangeInput.d.ts +14 -0
  68. package/dist/src/components/DateRangePicker.d.ts +16 -0
  69. package/dist/src/components/Dialog.d.ts +20 -0
  70. package/dist/src/components/Dropdown.d.ts +12 -0
  71. package/dist/src/components/DropdownWrapper.d.ts +28 -0
  72. package/dist/src/components/ElementType.d.ts +13 -0
  73. package/dist/src/components/EmojiPicker.d.ts +15 -0
  74. package/dist/src/components/EmojiPickerDropdown.d.ts +10 -0
  75. package/dist/src/components/Fade.d.ts +18 -0
  76. package/dist/src/components/Feedback.d.ts +15 -0
  77. package/dist/src/components/Flex.d.ts +10 -0
  78. package/dist/src/components/FlipFx.d.ts +16 -0
  79. package/dist/src/components/GlitchFx.d.ts +11 -0
  80. package/dist/src/components/Grid.d.ts +10 -0
  81. package/dist/src/components/HoloFx.d.ts +31 -0
  82. package/dist/src/components/Hover.d.ts +13 -0
  83. package/dist/src/components/HoverCard.d.ts +4 -0
  84. package/dist/src/components/Icon.d.ts +17 -0
  85. package/dist/src/components/IconButton.d.ts +22 -0
  86. package/dist/src/components/InfiniteScroll.d.ts +15 -0
  87. package/dist/src/components/InlineCode.d.ts +9 -0
  88. package/dist/src/components/Input.d.ts +23 -0
  89. package/dist/src/components/InteractiveDetails.d.ts +14 -0
  90. package/dist/src/components/Kbd.d.ts +11 -0
  91. package/dist/src/components/Line.d.ts +8 -0
  92. package/dist/src/components/List.d.ts +10 -0
  93. package/dist/src/components/ListItem.d.ts +9 -0
  94. package/dist/src/components/Logo.d.ts +17 -0
  95. package/dist/src/components/LogoCloud.d.ts +13 -0
  96. package/dist/src/components/Mask.d.ts +14 -0
  97. package/dist/src/components/MasonryGrid.d.ts +21 -0
  98. package/dist/src/components/MatrixFx.d.ts +26 -0
  99. package/dist/src/components/Media.d.ts +25 -0
  100. package/dist/src/components/Modal.d.ts +10 -0
  101. package/dist/src/components/NavIcon.d.ts +10 -0
  102. package/dist/src/components/NumberInput.d.ts +12 -0
  103. package/dist/src/components/OTPInput.d.ts +12 -0
  104. package/dist/src/components/OgCard.d.ts +33 -0
  105. package/dist/src/components/Option.d.ts +20 -0
  106. package/dist/src/components/Particle.d.ts +20 -0
  107. package/dist/src/components/PasswordInput.d.ts +3 -0
  108. package/dist/src/components/ProgressBar.d.ts +14 -0
  109. package/dist/src/components/Pulse.d.ts +12 -0
  110. package/dist/src/components/RadioButton.d.ts +14 -0
  111. package/dist/src/components/RevealFx.d.ts +15 -0
  112. package/dist/src/components/Row.d.ts +6 -0
  113. package/dist/src/components/ScrollContainer.d.ts +8 -0
  114. package/dist/src/components/ScrollLock.integration.test.d.ts +1 -0
  115. package/dist/src/components/ScrollToTop.d.ts +6 -0
  116. package/dist/src/components/Scroller.d.ts +13 -0
  117. package/dist/src/components/SegmentedControl.d.ts +17 -0
  118. package/dist/src/components/Select.d.ts +18 -0
  119. package/dist/src/components/ShineFx.d.ts +12 -0
  120. package/dist/src/components/Skeleton.d.ts +12 -0
  121. package/dist/src/components/Slider.d.ts +16 -0
  122. package/dist/src/components/SmartLink.d.ts +17 -0
  123. package/dist/src/components/Spinner.d.ts +10 -0
  124. package/dist/src/components/SplitView.d.ts +15 -0
  125. package/dist/src/components/SplitView.js +79 -0
  126. package/dist/src/components/StatusIndicator.d.ts +11 -0
  127. package/dist/src/components/StyleOverlay.d.ts +9 -0
  128. package/dist/src/components/StylePanel.d.ts +7 -0
  129. package/dist/src/components/Swiper.d.ts +16 -0
  130. package/dist/src/components/Switch.d.ts +16 -0
  131. package/dist/src/components/Table.d.ts +15 -0
  132. package/dist/src/components/Tag.d.ts +15 -0
  133. package/dist/src/components/TagInput.d.ts +8 -0
  134. package/dist/src/components/Textarea.d.ts +23 -0
  135. package/dist/src/components/ThemeSwitcher.d.ts +3 -0
  136. package/dist/src/components/TiltFx.d.ts +9 -0
  137. package/dist/src/components/Timeline.d.ts +17 -0
  138. package/dist/src/components/Toast.d.ts +11 -0
  139. package/dist/src/components/Toaster.d.ts +12 -0
  140. package/dist/src/components/ToggleButton.d.ts +24 -0
  141. package/dist/src/components/Tooltip.d.ts +12 -0
  142. package/dist/src/components/TypeFx.d.ts +14 -0
  143. package/dist/src/components/User.d.ts +15 -0
  144. package/dist/src/components/UserMenu.d.ts +12 -0
  145. package/dist/src/components/WeatherFx.d.ts +17 -0
  146. package/dist/src/components/index.d.ts +120 -0
  147. package/dist/src/contexts/DataThemeProvider.d.ts +25 -0
  148. package/dist/src/contexts/ThemeProvider.d.ts +48 -0
  149. package/dist/src/contexts/ToastProvider.d.ts +17 -0
  150. package/dist/src/contexts/index.d.ts +5 -0
  151. package/dist/src/data/emoji-data.json +16062 -0
  152. package/dist/src/index.d.ts +9 -0
  153. package/dist/src/modules/code/CodeBlock.d.ts +5 -0
  154. package/dist/src/modules/code/CodeBlock.impl.d.ts +33 -0
  155. package/dist/src/modules/data/BarChart.d.ts +5 -0
  156. package/dist/src/modules/data/BarChart.impl.d.ts +11 -0
  157. package/dist/src/modules/data/ChartHeader.d.ts +13 -0
  158. package/dist/src/modules/data/ChartStatus.d.ts +9 -0
  159. package/dist/src/modules/data/DataTooltip.d.ts +15 -0
  160. package/dist/src/modules/data/Gradient.d.ts +31 -0
  161. package/dist/src/modules/data/Legend.d.ts +14 -0
  162. package/dist/src/modules/data/LineBarChart.d.ts +5 -0
  163. package/dist/src/modules/data/LineBarChart.impl.d.ts +11 -0
  164. package/dist/src/modules/data/LineChart.d.ts +5 -0
  165. package/dist/src/modules/data/LineChart.impl.d.ts +16 -0
  166. package/dist/src/modules/data/LinearGauge.d.ts +17 -0
  167. package/dist/src/modules/data/PieChart.d.ts +5 -0
  168. package/dist/src/modules/data/PieChart.impl.d.ts +17 -0
  169. package/dist/src/modules/data/RadialGauge.d.ts +24 -0
  170. package/dist/src/modules/data/Swatch.d.ts +8 -0
  171. package/dist/src/modules/data/index.d.ts +13 -0
  172. package/dist/src/modules/data/interfaces.d.ts +52 -0
  173. package/dist/src/modules/data/utils/formatDate.d.ts +11 -0
  174. package/dist/src/modules/index.d.ts +7 -0
  175. package/dist/src/modules/media/MediaUpload.d.ts +5 -0
  176. package/dist/src/modules/media/MediaUpload.impl.d.ts +23 -0
  177. package/dist/src/modules/navigation/HeadingLink.d.ts +10 -0
  178. package/dist/src/modules/navigation/HeadingNav.d.ts +7 -0
  179. package/dist/src/modules/navigation/Kbar.d.ts +33 -0
  180. package/dist/src/modules/navigation/MegaMenu.d.ts +27 -0
  181. package/dist/src/modules/navigation/MobileMegaMenu.d.ts +27 -0
  182. package/dist/src/modules/navigation/index.d.ts +5 -0
  183. package/dist/src/utils/MissingDependency.d.ts +6 -0
  184. package/dist/src/utils/index.d.ts +2 -0
  185. 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,3 @@
1
+ import React from "react";
2
+ declare const ThemeSwitcher: React.ForwardRefExoticComponent<Omit<Omit<import("./Row").RowProps, "ref"> & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
3
+ export { ThemeSwitcher };
@@ -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 };
@@ -0,0 +1,5 @@
1
+ export * from "./IconProvider";
2
+ export * from "./ThemeProvider";
3
+ export * from "./ToastProvider";
4
+ export * from "./DataThemeProvider";
5
+ export * from "./LayoutProvider";