flikkui 0.2.0-beta.1 → 0.2.0-beta.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/README.md +12 -539
- package/dist/components/ai/PromptInput/PromptInput.js +94 -4
- package/dist/components/ai/PromptSuggestions/PromptSuggestion.d.ts +27 -0
- package/dist/components/ai/PromptSuggestions/PromptSuggestion.js +62 -0
- package/dist/components/ai/PromptSuggestions/PromptSuggestion.theme.d.ts +10 -0
- package/dist/components/ai/PromptSuggestions/PromptSuggestion.theme.js +12 -0
- package/dist/components/ai/PromptSuggestions/PromptSuggestion.types.d.ts +53 -0
- package/dist/components/ai/PromptSuggestions/index.d.ts +4 -2
- package/dist/components/ai/index.d.ts +2 -12
- package/dist/components/charts/ActivityRings/ActivityRings.js +70 -58
- package/dist/components/charts/ActivityRings/ActivityRings.theme.js +0 -1
- package/dist/components/charts/ActivityRings/ActivityRings.types.d.ts +17 -0
- package/dist/components/charts/BarChart/BarChart.js +8 -4
- package/dist/components/charts/BarChart/BarChart.types.d.ts +14 -0
- package/dist/components/charts/DonutChart/DonutChart.js +11 -8
- package/dist/components/charts/DonutChart/DonutChart.theme.d.ts +3 -0
- package/dist/components/charts/DonutChart/DonutChart.theme.js +5 -4
- package/dist/components/charts/DonutChart/donut-utils.d.ts +5 -0
- package/dist/components/charts/DonutChart/donut-utils.js +26 -1
- package/dist/components/charts/Heatmap/Heatmap.theme.js +2 -2
- package/dist/components/charts/shared/ChartAxis/XAxis.d.ts +2 -2
- package/dist/components/charts/shared/ChartAxis/XAxis.js +4 -4
- package/dist/components/charts/shared/ChartAxis/YAxis.d.ts +2 -2
- package/dist/components/charts/shared/ChartAxis/YAxis.js +8 -7
- package/dist/components/charts/shared/ChartGrid/HorizontalGrid.d.ts +1 -1
- package/dist/components/charts/shared/ChartGrid/HorizontalGrid.js +2 -2
- package/dist/components/charts/theme/chart.theme.d.ts +1 -1
- package/dist/components/charts/theme/chart.theme.js +39 -39
- package/dist/components/core/Accordion/Accordion.d.ts +1 -1
- package/dist/components/core/Accordion/Accordion.js +2 -2
- package/dist/components/core/Accordion/Accordion.types.d.ts +8 -0
- package/dist/components/core/Badge/Badge.js +11 -15
- package/dist/components/core/Badge/Badge.theme.js +7 -21
- package/dist/components/core/Badge/Badge.types.d.ts +9 -1
- package/dist/components/core/Button/Button.js +2 -2
- package/dist/components/core/Button/Button.theme.js +1 -1
- package/dist/components/core/Button/Button.types.d.ts +8 -0
- package/dist/components/core/Card/Card.js +8 -2
- package/dist/components/core/Card/Card.theme.js +1 -1
- package/dist/components/core/Card/Card.types.d.ts +24 -1
- package/dist/components/core/Drawer/Drawer.d.ts +1 -1
- package/dist/components/core/Drawer/Drawer.js +10 -40
- package/dist/components/core/Drawer/Drawer.theme.js +2 -1
- package/dist/components/core/Drawer/Drawer.types.d.ts +8 -0
- package/dist/components/core/Dropdown/Dropdown.d.ts +1 -1
- package/dist/components/core/Dropdown/Dropdown.js +2 -2
- package/dist/components/core/Dropdown/Dropdown.types.d.ts +8 -0
- package/dist/components/core/Metric/Metric.d.ts +1 -1
- package/dist/components/core/Metric/Metric.js +9 -5
- package/dist/components/core/Metric/Metric.theme.d.ts +1 -1
- package/dist/components/core/Metric/Metric.theme.js +38 -28
- package/dist/components/core/Metric/Metric.types.d.ts +27 -8
- package/dist/components/core/Modal/Modal.d.ts +1 -1
- package/dist/components/core/Modal/Modal.js +17 -40
- package/dist/components/core/Modal/Modal.theme.js +8 -3
- package/dist/components/core/Modal/Modal.types.d.ts +18 -0
- package/dist/components/core/Modal/index.d.ts +1 -1
- package/dist/components/core/Notification/Notification.js +67 -0
- package/dist/components/core/Pill/Pill.d.ts +6 -11
- package/dist/components/core/Pill/Pill.theme.d.ts +2 -2
- package/dist/components/core/Pill/Pill.types.d.ts +9 -22
- package/dist/components/core/Pill/index.d.ts +1 -1
- package/dist/components/core/Popover/Popover.d.ts +1 -1
- package/dist/components/core/Popover/Popover.js +2 -2
- package/dist/components/core/Popover/Popover.types.d.ts +8 -0
- package/dist/components/core/Progress/Progress.d.ts +28 -0
- package/dist/components/core/Progress/Progress.js +114 -0
- package/dist/components/core/Progress/Progress.theme.d.ts +5 -0
- package/dist/components/core/Progress/Progress.theme.js +33 -0
- package/dist/components/core/Progress/Progress.types.d.ts +92 -0
- package/dist/components/core/Progress/index.d.ts +2 -0
- package/dist/components/core/Tabs/Tabs.js +2 -2
- package/dist/components/core/Tabs/Tabs.types.d.ts +8 -0
- package/dist/components/core/Tag/Tag.animations.d.ts +3 -0
- package/dist/components/core/Tag/Tag.animations.js +31 -0
- package/dist/components/core/Tag/Tag.d.ts +14 -0
- package/dist/components/core/Tag/Tag.js +45 -0
- package/dist/components/core/Tag/Tag.theme.d.ts +2 -0
- package/dist/components/core/Tag/Tag.theme.js +21 -0
- package/dist/components/core/Tag/Tag.types.d.ts +40 -0
- package/dist/components/core/Tag/index.d.ts +3 -0
- package/dist/components/core/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/core/Tooltip/Tooltip.js +3 -3
- package/dist/components/core/Tooltip/Tooltip.theme.js +1 -1
- package/dist/components/core/Tooltip/Tooltip.types.d.ts +17 -0
- package/dist/components/core/index.d.ts +2 -1
- package/dist/components/core/index.js +3 -2
- package/dist/components/effects/CustomCursor/CustomCursor.d.ts +0 -13
- package/dist/components/effects/CustomCursor/CustomCursor.js +26 -2
- package/dist/components/effects/CustomCursor/CustomCursor.theme.js +12 -1
- package/dist/components/effects/CustomCursor/CustomCursor.types.d.ts +14 -1
- package/dist/components/forms/Combobox/Combobox.d.ts +25 -0
- package/dist/components/forms/Combobox/Combobox.js +412 -0
- package/dist/components/forms/Combobox/Combobox.theme.d.ts +6 -0
- package/dist/components/forms/Combobox/Combobox.theme.js +60 -0
- package/dist/components/forms/Combobox/Combobox.types.d.ts +111 -0
- package/dist/components/forms/Combobox/index.d.ts +3 -0
- package/dist/components/forms/FileUpload/FileUpload.js +68 -0
- package/dist/components/forms/Input/Input.js +25 -28
- package/dist/components/forms/Input/inputMasks.d.ts +15 -0
- package/dist/components/forms/Input/inputMasks.js +72 -1
- package/dist/components/forms/InputTag/InputTag.d.ts +40 -0
- package/dist/components/forms/InputTag/InputTag.js +491 -0
- package/dist/components/forms/InputTag/InputTag.theme.d.ts +2 -0
- package/dist/components/forms/InputTag/InputTag.theme.js +16 -0
- package/dist/components/forms/InputTag/InputTag.types.d.ts +107 -0
- package/dist/components/forms/InputTag/index.d.ts +3 -0
- package/dist/components/forms/Select/Select.d.ts +101 -2
- package/dist/components/forms/Select/Select.js +128 -132
- package/dist/components/forms/Select/Select.theme.js +10 -14
- package/dist/components/forms/Select/Select.types.d.ts +6 -2
- package/dist/components/forms/Select/index.d.ts +7 -4
- package/dist/components/forms/Select/useSelectState.d.ts +66 -0
- package/dist/components/forms/Select/useSelectState.js +134 -0
- package/dist/components/forms/SelectExpand/SelectExpand.animations.d.ts +20 -0
- package/dist/components/forms/SelectExpand/SelectExpand.animations.js +74 -0
- package/dist/components/forms/SelectExpand/SelectExpand.d.ts +9 -0
- package/dist/components/forms/SelectExpand/SelectExpand.js +223 -0
- package/dist/components/forms/SelectExpand/SelectExpand.theme.d.ts +5 -0
- package/dist/components/forms/SelectExpand/SelectExpand.theme.js +74 -0
- package/dist/components/forms/SelectExpand/SelectExpand.types.d.ts +126 -0
- package/dist/components/forms/SelectExpand/index.d.ts +4 -0
- package/dist/components/forms/Switch/Switch.js +3 -3
- package/dist/components/forms/Switch/Switch.theme.d.ts +1 -1
- package/dist/components/forms/Switch/Switch.theme.js +2 -2
- package/dist/components/forms/TimePicker/TimePicker.animations.d.ts +0 -46
- package/dist/components/forms/TimePicker/TimePicker.d.ts +15 -6
- package/dist/components/forms/TimePicker/TimePicker.js +285 -124
- package/dist/components/forms/TimePicker/TimePicker.theme.d.ts +1 -1
- package/dist/components/forms/TimePicker/TimePicker.theme.js +39 -22
- package/dist/components/forms/TimePicker/TimePicker.types.d.ts +88 -34
- package/dist/components/forms/TimePicker/TimePickerContent.d.ts +7 -10
- package/dist/components/forms/TimePicker/TimePickerContent.js +149 -16
- package/dist/components/forms/TimePicker/TimePickerTrigger.d.ts +3 -3
- package/dist/components/forms/TimePicker/TimePickerTrigger.js +22 -19
- package/dist/components/forms/TimePicker/WheelColumn.d.ts +14 -0
- package/dist/components/forms/TimePicker/WheelColumn.js +90 -0
- package/dist/components/forms/TimePicker/index.d.ts +4 -1
- package/dist/components/forms/TimePicker/useWheelPicker.d.ts +37 -0
- package/dist/components/forms/TimePicker/useWheelPicker.js +138 -0
- package/dist/components/forms/forms.theme.d.ts +14 -0
- package/dist/components/forms/forms.theme.js +31 -0
- package/dist/components/forms/index.d.ts +9 -3
- package/dist/components/forms/index.js +73 -2
- package/dist/hooks/index.d.ts +0 -4
- package/dist/icons/Icon.d.ts +7 -0
- package/dist/icons/Icon.js +6 -2
- package/dist/index.js +62 -63
- package/dist/styles.css +1 -1
- package/dist/utils/index.d.ts +0 -1
- package/dist/utils/optimisticErrors.js +1 -70
- package/package.json +1 -1
- package/dist/components/ai/EditingIndicator/EditingIndicator.animations.d.ts +0 -31
- package/dist/components/ai/EditingIndicator/EditingIndicator.animations.js +0 -115
- package/dist/components/ai/EditingIndicator/EditingIndicator.d.ts +0 -35
- package/dist/components/ai/EditingIndicator/EditingIndicator.js +0 -94
- package/dist/components/ai/EditingIndicator/EditingIndicator.theme.d.ts +0 -2
- package/dist/components/ai/EditingIndicator/EditingIndicator.theme.js +0 -13
- package/dist/components/ai/EditingIndicator/EditingIndicator.types.d.ts +0 -54
- package/dist/components/ai/EditingIndicator/index.d.ts +0 -9
- package/dist/components/ai/GenerativeRenderer/GenerativeRenderer.d.ts +0 -3
- package/dist/components/ai/GenerativeRenderer/GenerativeRenderer.js +0 -126
- package/dist/components/ai/GenerativeRenderer/GenerativeRenderer.theme.d.ts +0 -2
- package/dist/components/ai/GenerativeRenderer/GenerativeRenderer.theme.js +0 -8
- package/dist/components/ai/GenerativeRenderer/GenerativeRenderer.types.d.ts +0 -45
- package/dist/components/ai/GenerativeRenderer/index.d.ts +0 -3
- package/dist/components/ai/PresenceIndicator/PresenceIndicator.animations.d.ts +0 -17
- package/dist/components/ai/PresenceIndicator/PresenceIndicator.animations.js +0 -56
- package/dist/components/ai/PresenceIndicator/PresenceIndicator.d.ts +0 -38
- package/dist/components/ai/PresenceIndicator/PresenceIndicator.js +0 -110
- package/dist/components/ai/PresenceIndicator/PresenceIndicator.theme.d.ts +0 -2
- package/dist/components/ai/PresenceIndicator/PresenceIndicator.theme.js +0 -13
- package/dist/components/ai/PresenceIndicator/PresenceIndicator.types.d.ts +0 -53
- package/dist/components/ai/PresenceIndicator/index.d.ts +0 -8
- package/dist/components/ai/PresenceProvider/PresenceContext.d.ts +0 -24
- package/dist/components/ai/PresenceProvider/PresenceContext.js +0 -34
- package/dist/components/ai/PresenceProvider/PresenceProvider.d.ts +0 -32
- package/dist/components/ai/PresenceProvider/PresenceProvider.js +0 -321
- package/dist/components/ai/PresenceProvider/PresenceProvider.types.d.ts +0 -140
- package/dist/components/ai/PresenceProvider/adapters/MockAdapter.d.ts +0 -102
- package/dist/components/ai/PresenceProvider/adapters/MockAdapter.js +0 -331
- package/dist/components/ai/PresenceProvider/adapters/PresenceAdapter.d.ts +0 -93
- package/dist/components/ai/PresenceProvider/adapters/SupabaseAdapter.d.ts +0 -134
- package/dist/components/ai/PresenceProvider/adapters/WebSocketAdapter.d.ts +0 -149
- package/dist/components/ai/PresenceProvider/adapters/index.d.ts +0 -11
- package/dist/components/ai/PresenceProvider/index.d.ts +0 -10
- package/dist/components/ai/PromptSuggestions/PromptSuggestions.d.ts +0 -27
- package/dist/components/ai/PromptSuggestions/PromptSuggestions.js +0 -61
- package/dist/components/ai/PromptSuggestions/PromptSuggestions.types.d.ts +0 -65
- package/dist/components/ai/VersionSlider/VersionSlider.d.ts +0 -3
- package/dist/components/ai/VersionSlider/VersionSlider.js +0 -97
- package/dist/components/ai/VersionSlider/VersionSlider.theme.d.ts +0 -2
- package/dist/components/ai/VersionSlider/VersionSlider.theme.js +0 -18
- package/dist/components/ai/VersionSlider/VersionSlider.types.d.ts +0 -77
- package/dist/components/ai/VersionSlider/index.d.ts +0 -3
- package/dist/components/core/Pill/Pill.animations.js +0 -25
- package/dist/components/core/Pill/Pill.js +0 -145
- package/dist/components/core/Pill/Pill.theme.js +0 -65
- package/dist/components/core/RetryBoundary/RetryBoundary.d.ts +0 -35
- package/dist/components/core/RetryBoundary/RetryBoundary.js +0 -154
- package/dist/components/core/RetryBoundary/RetryBoundary.theme.d.ts +0 -2
- package/dist/components/core/RetryBoundary/RetryBoundary.theme.js +0 -7
- package/dist/components/core/RetryBoundary/RetryBoundary.types.d.ts +0 -51
- package/dist/components/core/RetryBoundary/index.d.ts +0 -3
- package/dist/components/forms/OptimisticForm/OptimisticForm.d.ts +0 -33
- package/dist/components/forms/OptimisticForm/OptimisticForm.js +0 -87
- package/dist/components/forms/OptimisticForm/OptimisticForm.theme.d.ts +0 -2
- package/dist/components/forms/OptimisticForm/OptimisticForm.theme.js +0 -8
- package/dist/components/forms/OptimisticForm/OptimisticForm.types.d.ts +0 -74
- package/dist/components/forms/OptimisticForm/index.d.ts +0 -3
- package/dist/hooks/useOptimisticMutation.d.ts +0 -109
- package/dist/hooks/useOptimisticMutation.js +0 -171
- package/dist/hooks/usePresence.d.ts +0 -88
- package/dist/utils/presenceUtils.d.ts +0 -66
- package/dist/utils/presenceUtils.js +0 -107
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for the useWheelPicker hook
|
|
3
|
+
*/
|
|
4
|
+
export interface UseWheelPickerOptions<T> {
|
|
5
|
+
/** Array of options to display in the wheel */
|
|
6
|
+
options: T[];
|
|
7
|
+
/** Currently selected value */
|
|
8
|
+
value: T;
|
|
9
|
+
/** Callback when value changes */
|
|
10
|
+
onChange: (value: T) => void;
|
|
11
|
+
/** Height of each item in pixels */
|
|
12
|
+
itemHeight?: number;
|
|
13
|
+
/** Number of visible items (should be odd for center selection) */
|
|
14
|
+
visibleItems?: number;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Return type for the useWheelPicker hook
|
|
18
|
+
*/
|
|
19
|
+
export interface UseWheelPickerReturn {
|
|
20
|
+
/** Ref to attach to the scrollable container */
|
|
21
|
+
containerRef: React.RefObject<HTMLDivElement | null>;
|
|
22
|
+
/** Scroll to a specific value programmatically */
|
|
23
|
+
scrollToValue: (value: number | string, behavior?: ScrollBehavior) => void;
|
|
24
|
+
/** Current scroll position index */
|
|
25
|
+
currentIndex: number;
|
|
26
|
+
/** Padding needed at top/bottom to center first/last items */
|
|
27
|
+
paddingY: number;
|
|
28
|
+
/** Whether the user is currently dragging */
|
|
29
|
+
isDragging: boolean;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Custom hook for iOS-style wheel picker scroll behavior
|
|
33
|
+
*
|
|
34
|
+
* Uses CSS scroll-snap for native snapping behavior and
|
|
35
|
+
* detects scroll end to trigger onChange callback.
|
|
36
|
+
*/
|
|
37
|
+
export declare function useWheelPicker<T>({ options, value, onChange, itemHeight, visibleItems, }: UseWheelPickerOptions<T>): UseWheelPickerReturn;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { useRef, useState, useCallback, useEffect } from 'react';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Custom hook for iOS-style wheel picker scroll behavior
|
|
5
|
+
*
|
|
6
|
+
* Uses CSS scroll-snap for native snapping behavior and
|
|
7
|
+
* detects scroll end to trigger onChange callback.
|
|
8
|
+
*/
|
|
9
|
+
function useWheelPicker({ options, value, onChange, itemHeight = 40, visibleItems = 5, }) {
|
|
10
|
+
const containerRef = useRef(null);
|
|
11
|
+
const scrollTimeoutRef = useRef(null);
|
|
12
|
+
const isScrollingRef = useRef(false);
|
|
13
|
+
const lastScrollTopRef = useRef(0);
|
|
14
|
+
// Mouse drag state
|
|
15
|
+
const [isDragging, setIsDragging] = useState(false);
|
|
16
|
+
const isDraggingRef = useRef(false);
|
|
17
|
+
const dragStartYRef = useRef(0);
|
|
18
|
+
const dragStartScrollTopRef = useRef(0);
|
|
19
|
+
// Calculate padding to center first/last items
|
|
20
|
+
const paddingY = Math.floor((visibleItems - 1) / 2) * itemHeight;
|
|
21
|
+
// Find current index based on value
|
|
22
|
+
const currentIndex = options.findIndex(opt => opt === value);
|
|
23
|
+
// Scroll to a specific value
|
|
24
|
+
const scrollToValue = useCallback((targetValue, behavior = 'smooth') => {
|
|
25
|
+
if (!containerRef.current)
|
|
26
|
+
return;
|
|
27
|
+
const targetIndex = options.findIndex(opt => opt === targetValue);
|
|
28
|
+
if (targetIndex === -1)
|
|
29
|
+
return;
|
|
30
|
+
const scrollTop = targetIndex * itemHeight;
|
|
31
|
+
containerRef.current.scrollTo({
|
|
32
|
+
top: scrollTop,
|
|
33
|
+
behavior,
|
|
34
|
+
});
|
|
35
|
+
}, [options, itemHeight]);
|
|
36
|
+
// Handle scroll end detection with debounce
|
|
37
|
+
const handleScrollEnd = useCallback(() => {
|
|
38
|
+
if (!containerRef.current)
|
|
39
|
+
return;
|
|
40
|
+
const scrollTop = containerRef.current.scrollTop;
|
|
41
|
+
const nearestIndex = Math.round(scrollTop / itemHeight);
|
|
42
|
+
const clampedIndex = Math.max(0, Math.min(nearestIndex, options.length - 1));
|
|
43
|
+
// Only trigger onChange if the index actually changed
|
|
44
|
+
if (options[clampedIndex] !== value) {
|
|
45
|
+
onChange(options[clampedIndex]);
|
|
46
|
+
}
|
|
47
|
+
isScrollingRef.current = false;
|
|
48
|
+
}, [itemHeight, options, value, onChange]);
|
|
49
|
+
// Handle scroll event with debounced end detection
|
|
50
|
+
const handleScroll = useCallback(() => {
|
|
51
|
+
if (!containerRef.current)
|
|
52
|
+
return;
|
|
53
|
+
isScrollingRef.current = true;
|
|
54
|
+
lastScrollTopRef.current = containerRef.current.scrollTop;
|
|
55
|
+
// Clear existing timeout
|
|
56
|
+
if (scrollTimeoutRef.current) {
|
|
57
|
+
clearTimeout(scrollTimeoutRef.current);
|
|
58
|
+
}
|
|
59
|
+
// Set new timeout for scroll end detection
|
|
60
|
+
// 100ms debounce to detect when scrolling stops
|
|
61
|
+
scrollTimeoutRef.current = setTimeout(() => {
|
|
62
|
+
handleScrollEnd();
|
|
63
|
+
}, 100);
|
|
64
|
+
}, [handleScrollEnd]);
|
|
65
|
+
// Attach scroll listener
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
const container = containerRef.current;
|
|
68
|
+
if (!container)
|
|
69
|
+
return;
|
|
70
|
+
container.addEventListener('scroll', handleScroll, { passive: true });
|
|
71
|
+
return () => {
|
|
72
|
+
container.removeEventListener('scroll', handleScroll);
|
|
73
|
+
if (scrollTimeoutRef.current) {
|
|
74
|
+
clearTimeout(scrollTimeoutRef.current);
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
}, [handleScroll]);
|
|
78
|
+
// Scroll to initial value on mount and when value changes externally
|
|
79
|
+
useEffect(() => {
|
|
80
|
+
if (!isScrollingRef.current && containerRef.current) {
|
|
81
|
+
const targetIndex = options.findIndex(opt => opt === value);
|
|
82
|
+
if (targetIndex !== -1) {
|
|
83
|
+
// Use instant scroll on initial mount to avoid jarring animation
|
|
84
|
+
const scrollTop = targetIndex * itemHeight;
|
|
85
|
+
containerRef.current.scrollTo({
|
|
86
|
+
top: scrollTop,
|
|
87
|
+
behavior: 'instant',
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
}, [value, options, itemHeight]);
|
|
92
|
+
// Mouse drag-to-scroll support (desktop)
|
|
93
|
+
useEffect(() => {
|
|
94
|
+
const container = containerRef.current;
|
|
95
|
+
if (!container)
|
|
96
|
+
return;
|
|
97
|
+
const handleMouseDown = (e) => {
|
|
98
|
+
isDraggingRef.current = false;
|
|
99
|
+
dragStartYRef.current = e.clientY;
|
|
100
|
+
dragStartScrollTopRef.current = container.scrollTop;
|
|
101
|
+
const handleMouseMove = (e) => {
|
|
102
|
+
const deltaY = dragStartYRef.current - e.clientY;
|
|
103
|
+
// Only start dragging after a small threshold to allow clicks
|
|
104
|
+
if (!isDraggingRef.current && Math.abs(deltaY) > 3) {
|
|
105
|
+
isDraggingRef.current = true;
|
|
106
|
+
setIsDragging(true);
|
|
107
|
+
}
|
|
108
|
+
if (isDraggingRef.current) {
|
|
109
|
+
container.scrollTop = dragStartScrollTopRef.current + deltaY;
|
|
110
|
+
}
|
|
111
|
+
};
|
|
112
|
+
const handleMouseUp = () => {
|
|
113
|
+
document.removeEventListener('mousemove', handleMouseMove);
|
|
114
|
+
document.removeEventListener('mouseup', handleMouseUp);
|
|
115
|
+
// Reset dragging state after a tick so click handlers can check it
|
|
116
|
+
requestAnimationFrame(() => {
|
|
117
|
+
isDraggingRef.current = false;
|
|
118
|
+
setIsDragging(false);
|
|
119
|
+
});
|
|
120
|
+
};
|
|
121
|
+
document.addEventListener('mousemove', handleMouseMove);
|
|
122
|
+
document.addEventListener('mouseup', handleMouseUp);
|
|
123
|
+
};
|
|
124
|
+
container.addEventListener('mousedown', handleMouseDown);
|
|
125
|
+
return () => {
|
|
126
|
+
container.removeEventListener('mousedown', handleMouseDown);
|
|
127
|
+
};
|
|
128
|
+
}, []);
|
|
129
|
+
return {
|
|
130
|
+
containerRef,
|
|
131
|
+
scrollToValue,
|
|
132
|
+
currentIndex,
|
|
133
|
+
paddingY,
|
|
134
|
+
isDragging,
|
|
135
|
+
};
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
export { useWheelPicker };
|
|
@@ -51,4 +51,18 @@ export declare const formsBaseTheme: {
|
|
|
51
51
|
right: string;
|
|
52
52
|
};
|
|
53
53
|
};
|
|
54
|
+
dropdownStyles: {
|
|
55
|
+
container: string;
|
|
56
|
+
option: string;
|
|
57
|
+
optionSelected: string;
|
|
58
|
+
optionHighlighted: string;
|
|
59
|
+
optionDisabled: string;
|
|
60
|
+
optionCreate: string;
|
|
61
|
+
emptyMessage: string;
|
|
62
|
+
};
|
|
63
|
+
placeholderStyle: string;
|
|
64
|
+
helperTextStates: {
|
|
65
|
+
default: string;
|
|
66
|
+
disabled: string;
|
|
67
|
+
};
|
|
54
68
|
};
|
|
@@ -85,6 +85,37 @@ const formsBaseTheme = {
|
|
|
85
85
|
right: "pr-10",
|
|
86
86
|
},
|
|
87
87
|
},
|
|
88
|
+
// Dropdown/listbox styles for Select, Combobox, and similar components
|
|
89
|
+
dropdownStyles: {
|
|
90
|
+
// Container for dropdown panel
|
|
91
|
+
container: "fixed z-[1000] max-h-[var(--select-content-available-height,20rem)] overflow-auto overscroll-contain " +
|
|
92
|
+
"rounded-[var(--form-rounded)] bg-white/90 backdrop-blur-md text-sm border border-[var(--color-border)] " +
|
|
93
|
+
"shadow-real-lg ring-1 ring-[var(--color-border)] focus:outline-none " +
|
|
94
|
+
"dark:bg-[var(--color-neutral-900)]/90 dark:ring-[var(--color-neutral-700)]",
|
|
95
|
+
// Base option style
|
|
96
|
+
option: "relative cursor-pointer select-none py-2 px-3 text-[var(--color-text-primary)] " +
|
|
97
|
+
"hover:text-[var(--color-primary)] hover:bg-[var(--color-primary-50)]/50 " +
|
|
98
|
+
"dark:text-[var(--color-neutral-200)] dark:hover:text-[var(--color-primary-400)] " +
|
|
99
|
+
"dark:hover:bg-[var(--color-primary-900)]/50",
|
|
100
|
+
// Selected option modifier
|
|
101
|
+
optionSelected: "font-medium text-[var(--color-primary)] dark:text-[var(--color-primary-400)]",
|
|
102
|
+
// Highlighted option (keyboard navigation)
|
|
103
|
+
optionHighlighted: "text-[var(--color-primary)] bg-[var(--color-primary-50)]/50 " +
|
|
104
|
+
"dark:text-[var(--color-primary-400)] dark:bg-[var(--color-primary-900)]/50",
|
|
105
|
+
// Disabled option modifier
|
|
106
|
+
optionDisabled: "cursor-not-allowed opacity-50 hover:bg-transparent hover:text-[var(--color-text-primary)]",
|
|
107
|
+
// Create new option style
|
|
108
|
+
optionCreate: "font-medium text-[var(--color-primary)] dark:text-[var(--color-primary-400)]",
|
|
109
|
+
// Empty state message
|
|
110
|
+
emptyMessage: "py-3 px-3 text-center text-[var(--color-text-muted)] dark:text-[var(--color-neutral-500)]",
|
|
111
|
+
},
|
|
112
|
+
// Placeholder text style (shared across input-like components)
|
|
113
|
+
placeholderStyle: "text-[var(--color-text-placeholder)] dark:text-[var(--color-neutral-500)]",
|
|
114
|
+
// Helper text state variants (beyond base helperText)
|
|
115
|
+
helperTextStates: {
|
|
116
|
+
default: "text-[var(--color-text-muted)] dark:text-[var(--color-neutral-400)]",
|
|
117
|
+
disabled: "text-[var(--color-text-disabled)] dark:text-[var(--color-neutral-600)]",
|
|
118
|
+
},
|
|
88
119
|
};
|
|
89
120
|
|
|
90
121
|
export { formsBaseTheme };
|
|
@@ -53,7 +53,13 @@ export { InputCounter } from "./InputCounter";
|
|
|
53
53
|
export type { InputCounterProps, InputCounterTheme } from "./InputCounter";
|
|
54
54
|
export { inputCounterTheme } from "./InputCounter";
|
|
55
55
|
export { formsBaseTheme } from "./forms.theme";
|
|
56
|
-
export { OptimisticForm } from "./OptimisticForm";
|
|
57
|
-
export type { OptimisticFormProps, OptimisticFormState, OptimisticFormStatus, OptimisticFormTheme, } from "./OptimisticForm";
|
|
58
|
-
export { optimisticFormTheme } from "./OptimisticForm";
|
|
59
56
|
export * from "./StepperForm";
|
|
57
|
+
export { SelectExpand } from "./SelectExpand";
|
|
58
|
+
export type { SelectExpandProps, SelectExpandOption, SelectExpandSize, SelectExpandState, SelectExpandTheme, SelectExpandThemeOverrides, } from "./SelectExpand";
|
|
59
|
+
export { selectExpandTheme } from "./SelectExpand";
|
|
60
|
+
export { InputTag } from "./InputTag";
|
|
61
|
+
export type { InputTagProps, InputTagSize, InputTagState, InputTagTheme, InputTagThemeOverrides, InputTagOption, } from "./InputTag";
|
|
62
|
+
export { inputTagTheme } from "./InputTag";
|
|
63
|
+
export { Combobox } from "./Combobox";
|
|
64
|
+
export type { ComboboxProps, ComboboxOption, ComboboxSize, ComboboxState, ComboboxTheme, ComboboxThemeOverrides, } from "./Combobox";
|
|
65
|
+
export { comboboxTheme } from "./Combobox";
|
|
@@ -23,6 +23,73 @@ import 'clsx';
|
|
|
23
23
|
import 'tailwind-merge';
|
|
24
24
|
import 'motion/react';
|
|
25
25
|
import 'react-dom';
|
|
26
|
+
import '../core/Accordion/Accordion.js';
|
|
27
|
+
import '../core/AlertDialog/AlertDialog.js';
|
|
28
|
+
import '../core/Avatar/Avatar.js';
|
|
29
|
+
import '../core/AvatarGroup/AvatarGroup.js';
|
|
30
|
+
import '../core/Badge/Badge.js';
|
|
31
|
+
import '../core/Breadcrumbs/Breadcrumbs.js';
|
|
32
|
+
import '../core/Breadcrumbs/Breadcrumbs.theme.js';
|
|
33
|
+
import '../core/Button/Button.js';
|
|
34
|
+
import '../core/ButtonGroup/ButtonGroup.js';
|
|
35
|
+
import '../core/ButtonGroup/ButtonGroupSeparator.js';
|
|
36
|
+
import '../core/ButtonGroup/ButtonGroupText.js';
|
|
37
|
+
import '../core/Calendar/CalendarMini/CalendarMini.js';
|
|
38
|
+
import '../core/Card/Card.js';
|
|
39
|
+
import '../core/CardStack/CardStack.js';
|
|
40
|
+
import '../core/Carousel/Carousel.js';
|
|
41
|
+
import '../core/Kbd/Kbd.js';
|
|
42
|
+
import '../effects/Overlay/Overlay.js';
|
|
43
|
+
import '../core/Divider/Divider.js';
|
|
44
|
+
import '../core/Drawer/Drawer.js';
|
|
45
|
+
import '../core/Dropdown/Dropdown.js';
|
|
46
|
+
import '../core/Dropdown/DropdownTrigger.js';
|
|
47
|
+
import '../core/Dropdown/DropdownMenu.js';
|
|
48
|
+
import '../core/Dropdown/DropdownItem.js';
|
|
49
|
+
import '../core/Dropdown/DropdownSection.js';
|
|
50
|
+
import '../core/Dropdown/DropdownSeparator.js';
|
|
51
|
+
import '../core/Link/Link.js';
|
|
52
|
+
import '../core/Loader/Loader.js';
|
|
53
|
+
import '../core/Modal/Modal.js';
|
|
54
|
+
import '../core/Pagination/Pagination.js';
|
|
55
|
+
import '../core/Popover/Popover.js';
|
|
56
|
+
import '../core/Popover/PopoverContext.js';
|
|
57
|
+
import '../core/Progress/Progress.js';
|
|
58
|
+
import '../core/ProgressiveBlur/ProgressiveBlur.js';
|
|
59
|
+
import '../core/Segmented/Segmented.js';
|
|
60
|
+
import '../core/Skeleton/Skeleton.js';
|
|
61
|
+
import '../core/SlidingNumber/SlidingNumber.js';
|
|
62
|
+
import '../core/Stepper/Stepper.js';
|
|
63
|
+
import '../core/Tabs/Tabs.js';
|
|
64
|
+
import '../core/Tabs/TabsList.js';
|
|
65
|
+
import '../core/Tabs/TabsTrigger.js';
|
|
66
|
+
import '../core/Tabs/TabsContent.js';
|
|
67
|
+
import '../core/Tabs/TabsContext.js';
|
|
68
|
+
import '../core/Tooltip/Tooltip.js';
|
|
69
|
+
import '../core/Tooltip/Tooltip.animations.js';
|
|
70
|
+
import '../core/Tree/Tree.js';
|
|
71
|
+
import '../core/Tag/Tag.js';
|
|
72
|
+
import '../core/Alert/Alert.js';
|
|
73
|
+
import '../core/Toast/Toast.js';
|
|
74
|
+
import '../core/Toast/ToastProvider.js';
|
|
75
|
+
import '../core/Notification/Notification.js';
|
|
76
|
+
import '@heroicons/react/24/solid';
|
|
77
|
+
import '../core/Message/Message.js';
|
|
78
|
+
import '../core/Message/TypeWriter.js';
|
|
79
|
+
import '../core/Empty/Empty.js';
|
|
80
|
+
import '../core/Table/index.js';
|
|
81
|
+
import '../core/DragDrop/DragDrop.js';
|
|
82
|
+
import '../core/Sortable/Sortable.js';
|
|
83
|
+
import '../core/NavItem/NavItem.js';
|
|
84
|
+
import '../core/Sidebar/Sidebar.js';
|
|
85
|
+
import '../core/Sidebar/SidebarHeader.js';
|
|
86
|
+
import '../core/Sidebar/SidebarContent.js';
|
|
87
|
+
import '../core/Sidebar/SidebarFooter.js';
|
|
88
|
+
import '../core/Sidebar/SidebarNav.js';
|
|
89
|
+
import '../core/Sidebar/SidebarNavGroup.js';
|
|
90
|
+
import '../core/Sidebar/SidebarToggle.js';
|
|
91
|
+
import '../core/Sidebar/SidebarContext.js';
|
|
92
|
+
import './TimePicker/WheelColumn.js';
|
|
26
93
|
export { timePickerTheme } from './TimePicker/TimePicker.theme.js';
|
|
27
94
|
export { Slider } from './Slider/Slider.js';
|
|
28
95
|
export { sliderTheme } from './Slider/Slider.theme.js';
|
|
@@ -41,11 +108,15 @@ export { inputDateTheme } from './InputDate/InputDate.theme.js';
|
|
|
41
108
|
export { InputCounter } from './InputCounter/InputCounter.js';
|
|
42
109
|
export { inputCounterTheme } from './InputCounter/InputCounter.theme.js';
|
|
43
110
|
export { formsBaseTheme } from './forms.theme.js';
|
|
44
|
-
export { OptimisticForm } from './OptimisticForm/OptimisticForm.js';
|
|
45
|
-
export { optimisticFormTheme } from './OptimisticForm/OptimisticForm.theme.js';
|
|
46
111
|
export { StepperForm } from './StepperForm/StepperForm.js';
|
|
47
112
|
export { StepperFormContext, useStepperFormContext } from './StepperForm/StepperForm.types.js';
|
|
48
113
|
export { stepperFormTheme } from './StepperForm/StepperForm.theme.js';
|
|
114
|
+
export { SelectExpand } from './SelectExpand/SelectExpand.js';
|
|
115
|
+
export { selectExpandTheme } from './SelectExpand/SelectExpand.theme.js';
|
|
116
|
+
export { InputTag } from './InputTag/InputTag.js';
|
|
117
|
+
export { inputTagTheme } from './InputTag/InputTag.theme.js';
|
|
118
|
+
export { Combobox } from './Combobox/Combobox.js';
|
|
119
|
+
export { comboboxTheme } from './Combobox/Combobox.theme.js';
|
|
49
120
|
export { DatePickerTrigger } from './DatePicker/DatePickerTrigger.js';
|
|
50
121
|
export { DatePickerContent } from './DatePicker/DatePickerContent.js';
|
|
51
122
|
export { DatePickerPresets } from './DatePicker/DatePickerPresets.js';
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -7,8 +7,4 @@ export { useStreamingSSE } from "./useStreamingSSE";
|
|
|
7
7
|
export type { UseStreamingSSEOptions, UseStreamingSSEReturn, } from "./useStreamingSSE";
|
|
8
8
|
export { useNetworkStatus } from "./useNetworkStatus";
|
|
9
9
|
export type { NetworkStatusReturn } from "./useNetworkStatus";
|
|
10
|
-
export { useOptimisticMutation } from "./useOptimisticMutation";
|
|
11
10
|
export * from "./useFormStateMachine";
|
|
12
|
-
export type { OptimisticMutationOptions, OptimisticMutationReturn, MutationStatus, } from "./useOptimisticMutation";
|
|
13
|
-
export { usePresence } from "./usePresence";
|
|
14
|
-
export type { UsePresenceOptions, UsePresenceReturn } from "./usePresence";
|
package/dist/icons/Icon.d.ts
CHANGED
|
@@ -4,6 +4,13 @@ export interface IconProps extends React.SVGProps<SVGSVGElement> {
|
|
|
4
4
|
color?: string;
|
|
5
5
|
strokeWidth?: number;
|
|
6
6
|
className?: string;
|
|
7
|
+
/**
|
|
8
|
+
* Force dark mode styling for the icon. Use when placing the icon
|
|
9
|
+
* on a dark background while the page is in light mode. This applies the
|
|
10
|
+
* 'dark' class to the container, making the icon use light colors for visibility.
|
|
11
|
+
* @default false
|
|
12
|
+
*/
|
|
13
|
+
darkMode?: boolean;
|
|
7
14
|
}
|
|
8
15
|
export interface IconComponent extends React.FC<IconProps> {
|
|
9
16
|
displayName?: string;
|
package/dist/icons/Icon.js
CHANGED
|
@@ -7,7 +7,7 @@ import React__default from 'react';
|
|
|
7
7
|
* @returns A standardized Icon component
|
|
8
8
|
*/
|
|
9
9
|
function createIcon(Svg, displayName) {
|
|
10
|
-
const Icon = ({ size = 'md', color = 'currentColor', strokeWidth = 2, className = '', ...props }) => {
|
|
10
|
+
const Icon = ({ size = 'md', color = 'currentColor', strokeWidth = 2, className = '', darkMode = false, ...props }) => {
|
|
11
11
|
// Map size names to pixel values
|
|
12
12
|
const sizeMap = {
|
|
13
13
|
xs: '16px',
|
|
@@ -17,7 +17,11 @@ function createIcon(Svg, displayName) {
|
|
|
17
17
|
xl: '40px',
|
|
18
18
|
};
|
|
19
19
|
const pixelSize = typeof size === 'string' ? sizeMap[size] || '24px' : `${size}px`;
|
|
20
|
-
|
|
20
|
+
const svg = (React__default.createElement(Svg, { width: pixelSize, height: pixelSize, fill: "none", stroke: color, strokeWidth: strokeWidth, className: className, "aria-hidden": "true", style: { width: pixelSize, height: pixelSize, ...props.style }, ...props }));
|
|
21
|
+
if (darkMode) {
|
|
22
|
+
return (React__default.createElement("span", { className: "dark inline-flex" }, svg));
|
|
23
|
+
}
|
|
24
|
+
return svg;
|
|
21
25
|
};
|
|
22
26
|
Icon.displayName = displayName;
|
|
23
27
|
return Icon;
|
package/dist/index.js
CHANGED
|
@@ -1,48 +1,3 @@
|
|
|
1
|
-
export { ChatInterface } from './components/ai/ChatInterface/ChatInterface.js';
|
|
2
|
-
export { chatInterfaceTheme } from './components/ai/ChatInterface/ChatInterface.theme.js';
|
|
3
|
-
export { useChatInterfaceContext } from './components/ai/ChatInterface/ChatInterface.types.js';
|
|
4
|
-
export { Message } from './components/core/Message/Message.js';
|
|
5
|
-
export { messageTheme } from './components/core/Message/Message.theme.js';
|
|
6
|
-
export { TypeWriter } from './components/core/Message/TypeWriter.js';
|
|
7
|
-
export { MessageHistory } from './components/ai/MessageHistory/MessageHistory.js';
|
|
8
|
-
export { messageHistoryTheme } from './components/ai/MessageHistory/MessageHistory.theme.js';
|
|
9
|
-
export { PromptInput } from './components/ai/PromptInput/PromptInput.js';
|
|
10
|
-
export { promptInputTheme } from './components/ai/PromptInput/PromptInput.theme.js';
|
|
11
|
-
export { ThinkingIndicator } from './components/ai/ThinkingIndicator/ThinkingIndicator.js';
|
|
12
|
-
export { thinkingIndicatorTheme } from './components/ai/ThinkingIndicator/ThinkingIndicator.theme.js';
|
|
13
|
-
export { TokenCounter } from './components/ai/TokenCounter/TokenCounter.js';
|
|
14
|
-
export { tokenCounterTheme } from './components/ai/TokenCounter/TokenCounter.theme.js';
|
|
15
|
-
export { MODEL_CONFIGS, calculateCost, estimateTokens, formatCost, formatTokenCount } from './components/ai/TokenCounter/tokenUtils.js';
|
|
16
|
-
export { PromptSuggestions } from './components/ai/PromptSuggestions/PromptSuggestions.js';
|
|
17
|
-
export { StreamingResponse } from './components/ai/StreamingResponse/StreamingResponse.js';
|
|
18
|
-
export { ErrorDisplay } from './components/ai/StreamingResponse/ErrorDisplay.js';
|
|
19
|
-
export { MarkdownRenderer } from './components/ai/StreamingResponse/MarkdownRenderer.js';
|
|
20
|
-
export { streamingResponseTheme } from './components/ai/StreamingResponse/StreamingResponse.theme.js';
|
|
21
|
-
export { CodeBlock } from './components/ai/CodeBlock/CodeBlock.js';
|
|
22
|
-
export { codeBlockTheme } from './components/ai/CodeBlock/CodeBlock.theme.js';
|
|
23
|
-
export { ApprovalCard } from './components/ai/ApprovalCard/ApprovalCard.js';
|
|
24
|
-
export { approvalCardTheme } from './components/ai/ApprovalCard/ApprovalCard.theme.js';
|
|
25
|
-
export { EditingIndicator } from './components/ai/EditingIndicator/EditingIndicator.js';
|
|
26
|
-
export { editingIndicatorTheme } from './components/ai/EditingIndicator/EditingIndicator.theme.js';
|
|
27
|
-
export { PresenceIndicator } from './components/ai/PresenceIndicator/PresenceIndicator.js';
|
|
28
|
-
export { presenceIndicatorTheme } from './components/ai/PresenceIndicator/PresenceIndicator.theme.js';
|
|
29
|
-
export { PresenceProvider } from './components/ai/PresenceProvider/PresenceProvider.js';
|
|
30
|
-
export { PresenceContext, usePresenceContext } from './components/ai/PresenceProvider/PresenceContext.js';
|
|
31
|
-
export { MockPresenceAdapter } from './components/ai/PresenceProvider/adapters/MockAdapter.js';
|
|
32
|
-
export { ArtifactContainer } from './components/ai/ArtifactContainer/ArtifactContainer.js';
|
|
33
|
-
export { artifactContainerTheme, handleSizes } from './components/ai/ArtifactContainer/ArtifactContainer.theme.js';
|
|
34
|
-
export { GenerativeRenderer } from './components/ai/GenerativeRenderer/GenerativeRenderer.js';
|
|
35
|
-
export { generativeRendererTheme } from './components/ai/GenerativeRenderer/GenerativeRenderer.theme.js';
|
|
36
|
-
export { VersionSlider } from './components/ai/VersionSlider/VersionSlider.js';
|
|
37
|
-
export { versionSliderTheme } from './components/ai/VersionSlider/VersionSlider.theme.js';
|
|
38
|
-
export { cn } from './utils/cn.js';
|
|
39
|
-
export { debounce } from './utils/debounce.js';
|
|
40
|
-
export { useClickOutside } from './utils/useClickOutside.js';
|
|
41
|
-
export { useOverlay } from './hooks/useOverlay.js';
|
|
42
|
-
export { useSlidingNumber } from './hooks/useSlidingNumber.js';
|
|
43
|
-
export { useTypewriter } from './hooks/useTypewriter.js';
|
|
44
|
-
export { default as Metric } from './components/core/Metric/Metric.js';
|
|
45
|
-
export { default as ProgressiveBlur } from './components/core/ProgressiveBlur/ProgressiveBlur.js';
|
|
46
1
|
export { Accordion } from './components/core/Accordion/Accordion.js';
|
|
47
2
|
export { AlertDialog } from './components/core/AlertDialog/AlertDialog.js';
|
|
48
3
|
export { Avatar } from './components/core/Avatar/Avatar.js';
|
|
@@ -59,11 +14,6 @@ export { calendarTheme } from './components/core/Calendar/Calendar.theme.js';
|
|
|
59
14
|
export { calendarAnimations } from './components/core/Calendar/Calendar.animations.js';
|
|
60
15
|
export { CalendarMini } from './components/core/Calendar/CalendarMini/CalendarMini.js';
|
|
61
16
|
export { Card } from './components/core/Card/Card.js';
|
|
62
|
-
export { CardHeader } from './components/core/Card/CardHeader.js';
|
|
63
|
-
export { CardTitle } from './components/core/Card/CardTitle.js';
|
|
64
|
-
export { CardDescription } from './components/core/Card/CardDescription.js';
|
|
65
|
-
export { CardContent } from './components/core/Card/CardContent.js';
|
|
66
|
-
export { CardFooter } from './components/core/Card/CardFooter.js';
|
|
67
17
|
export { CardStack } from './components/core/CardStack/CardStack.js';
|
|
68
18
|
export { Carousel } from './components/core/Carousel/Carousel.js';
|
|
69
19
|
export { CommandPalette } from './components/core/CommandPalette/CommandPalette.js';
|
|
@@ -80,11 +30,14 @@ export { dropdownTheme } from './components/core/Dropdown/Dropdown.theme.js';
|
|
|
80
30
|
export { Kbd } from './components/core/Kbd/Kbd.js';
|
|
81
31
|
export { Link } from './components/core/Link/Link.js';
|
|
82
32
|
export { Loader } from './components/core/Loader/Loader.js';
|
|
33
|
+
export { default as Metric } from './components/core/Metric/Metric.js';
|
|
83
34
|
export { metricTheme } from './components/core/Metric/Metric.theme.js';
|
|
84
35
|
export { Modal } from './components/core/Modal/Modal.js';
|
|
85
36
|
export { Pagination } from './components/core/Pagination/Pagination.js';
|
|
86
37
|
export { Popover } from './components/core/Popover/Popover.js';
|
|
87
38
|
export { PopoverContext, usePopoverContext } from './components/core/Popover/PopoverContext.js';
|
|
39
|
+
export { Progress } from './components/core/Progress/Progress.js';
|
|
40
|
+
export { default as ProgressiveBlur } from './components/core/ProgressiveBlur/ProgressiveBlur.js';
|
|
88
41
|
export { Segmented } from './components/core/Segmented/Segmented.js';
|
|
89
42
|
export { Skeleton } from './components/core/Skeleton/Skeleton.js';
|
|
90
43
|
export { SlidingNumber } from './components/core/SlidingNumber/SlidingNumber.js';
|
|
@@ -98,6 +51,8 @@ export { Tooltip } from './components/core/Tooltip/Tooltip.js';
|
|
|
98
51
|
export { baseTooltipVariants, getTooltipVariants, tooltipSpringConfig } from './components/core/Tooltip/Tooltip.animations.js';
|
|
99
52
|
export { Tree } from './components/core/Tree/Tree.js';
|
|
100
53
|
export { treeTheme } from './components/core/Tree/Tree.theme.js';
|
|
54
|
+
export { Tag } from './components/core/Tag/Tag.js';
|
|
55
|
+
export { tagTheme } from './components/core/Tag/Tag.theme.js';
|
|
101
56
|
export { Alert } from './components/core/Alert/Alert.js';
|
|
102
57
|
export { alertTheme } from './components/core/Alert/Alert.theme.js';
|
|
103
58
|
export { Toast } from './components/core/Toast/Toast.js';
|
|
@@ -107,16 +62,15 @@ export { toastTheme } from './components/core/Toast/Toast.theme.js';
|
|
|
107
62
|
export { Notification } from './components/core/Notification/Notification.js';
|
|
108
63
|
export { notificationTheme } from './components/core/Notification/Notification.theme.js';
|
|
109
64
|
export { Spinner } from './components/core/Spinner/Spinner.js';
|
|
65
|
+
export { Message } from './components/core/Message/Message.js';
|
|
66
|
+
export { messageTheme } from './components/core/Message/Message.theme.js';
|
|
67
|
+
export { TypeWriter } from './components/core/Message/TypeWriter.js';
|
|
110
68
|
export { Empty } from './components/core/Empty/Empty.js';
|
|
111
69
|
export { emptyTheme } from './components/core/Empty/Empty.theme.js';
|
|
112
70
|
export { Masonry } from './components/core/Masonry/Masonry.js';
|
|
113
71
|
export { getMasonryTheme, masonryTheme } from './components/core/Masonry/Masonry.theme.js';
|
|
114
72
|
export { Table } from './components/core/Table/index.js';
|
|
115
|
-
export { TableActions } from './components/core/Table/components/TableActions/TableActions.js';
|
|
116
|
-
export { TableActionsMenu } from './components/core/Table/components/TableActions/TableActionsMenu.js';
|
|
117
|
-
export { TablePagination } from './components/core/Table/components/TablePagination/TablePagination.js';
|
|
118
73
|
export { DragDropProvider, Draggable, Droppable } from './components/core/DragDrop/DragDrop.js';
|
|
119
|
-
export { AnimatePresence } from 'motion/react';
|
|
120
74
|
export { Sortable, SortableItem } from './components/core/Sortable/Sortable.js';
|
|
121
75
|
export { NavItem } from './components/core/NavItem/NavItem.js';
|
|
122
76
|
export { Sidebar } from './components/core/Sidebar/Sidebar.js';
|
|
@@ -128,8 +82,6 @@ export { SidebarNavGroup } from './components/core/Sidebar/SidebarNavGroup.js';
|
|
|
128
82
|
export { SidebarSubmenu } from './components/core/Sidebar/SidebarSubmenu.js';
|
|
129
83
|
export { SidebarToggle } from './components/core/Sidebar/SidebarToggle.js';
|
|
130
84
|
export { useSidebarContext } from './components/core/Sidebar/SidebarContext.js';
|
|
131
|
-
export { RetryBoundary } from './components/core/RetryBoundary/RetryBoundary.js';
|
|
132
|
-
export { retryBoundaryTheme } from './components/core/RetryBoundary/RetryBoundary.theme.js';
|
|
133
85
|
export { OfflineIndicator } from './components/core/OfflineIndicator/OfflineIndicator.js';
|
|
134
86
|
export { offlineIndicatorTheme } from './components/core/OfflineIndicator/OfflineIndicator.theme.js';
|
|
135
87
|
export { Input } from './components/forms/Input/Input.js';
|
|
@@ -147,13 +99,16 @@ export { checkboxTheme } from './components/forms/Checkbox/Checkbox.theme.js';
|
|
|
147
99
|
export { Switch } from './components/forms/Switch/Switch.js';
|
|
148
100
|
export { switchTheme } from './components/forms/Switch/Switch.theme.js';
|
|
149
101
|
export { DatePicker } from './components/forms/DatePicker/DatePicker.js';
|
|
150
|
-
export { DatePickerTrigger } from './components/forms/DatePicker/DatePickerTrigger.js';
|
|
151
|
-
export { DatePickerContent } from './components/forms/DatePicker/DatePickerContent.js';
|
|
152
|
-
export { DatePickerPresets } from './components/forms/DatePicker/DatePickerPresets.js';
|
|
153
102
|
export { datePickerTheme } from './components/forms/DatePicker/DatePicker.theme.js';
|
|
154
103
|
export { FileUpload } from './components/forms/FileUpload/FileUpload.js';
|
|
155
104
|
export { fileUploadTheme } from './components/forms/FileUpload/FileUpload.theme.js';
|
|
156
105
|
export { TimePicker } from './components/forms/TimePicker/TimePicker.js';
|
|
106
|
+
import 'react';
|
|
107
|
+
import '@heroicons/react/24/outline';
|
|
108
|
+
export { cn } from './utils/cn.js';
|
|
109
|
+
export { AnimatePresence } from 'motion/react';
|
|
110
|
+
import 'react-dom';
|
|
111
|
+
import './components/forms/TimePicker/WheelColumn.js';
|
|
157
112
|
export { timePickerTheme } from './components/forms/TimePicker/TimePicker.theme.js';
|
|
158
113
|
export { Slider } from './components/forms/Slider/Slider.js';
|
|
159
114
|
export { sliderTheme } from './components/forms/Slider/Slider.theme.js';
|
|
@@ -172,19 +127,25 @@ export { inputDateTheme } from './components/forms/InputDate/InputDate.theme.js'
|
|
|
172
127
|
export { InputCounter } from './components/forms/InputCounter/InputCounter.js';
|
|
173
128
|
export { inputCounterTheme } from './components/forms/InputCounter/InputCounter.theme.js';
|
|
174
129
|
export { formsBaseTheme } from './components/forms/forms.theme.js';
|
|
175
|
-
export { OptimisticForm } from './components/forms/OptimisticForm/OptimisticForm.js';
|
|
176
|
-
export { optimisticFormTheme } from './components/forms/OptimisticForm/OptimisticForm.theme.js';
|
|
177
130
|
export { StepperForm } from './components/forms/StepperForm/StepperForm.js';
|
|
178
131
|
export { StepperFormContext, useStepperFormContext } from './components/forms/StepperForm/StepperForm.types.js';
|
|
179
132
|
export { stepperFormTheme } from './components/forms/StepperForm/StepperForm.theme.js';
|
|
133
|
+
export { SelectExpand } from './components/forms/SelectExpand/SelectExpand.js';
|
|
134
|
+
export { selectExpandTheme } from './components/forms/SelectExpand/SelectExpand.theme.js';
|
|
135
|
+
export { InputTag } from './components/forms/InputTag/InputTag.js';
|
|
136
|
+
export { inputTagTheme } from './components/forms/InputTag/InputTag.theme.js';
|
|
137
|
+
export { Combobox } from './components/forms/Combobox/Combobox.js';
|
|
138
|
+
export { comboboxTheme } from './components/forms/Combobox/Combobox.theme.js';
|
|
180
139
|
export { ChartContainer } from './components/charts/ChartContainer.js';
|
|
181
140
|
export { BarChart } from './components/charts/BarChart/BarChart.js';
|
|
182
141
|
export { StackedBarChart } from './components/charts/StackedBarChart/StackedBarChart.js';
|
|
142
|
+
export { STACKED_BAR_CHART_DEFAULTS } from './components/charts/StackedBarChart/StackedBarChart.types.js';
|
|
183
143
|
export { LineChart } from './components/charts/LineChart/LineChart.js';
|
|
184
144
|
export { AreaChart } from './components/charts/AreaChart/AreaChart.js';
|
|
185
145
|
export { DonutChart } from './components/charts/DonutChart/DonutChart.js';
|
|
186
146
|
export { MultiSegmentDonutChart } from './components/charts/DonutChart/MultiSegmentDonutChart.js';
|
|
187
147
|
export { Heatmap } from './components/charts/Heatmap/Heatmap.js';
|
|
148
|
+
export { calculateIntensity, createGridMatrix, formatAxisLabel, generateSampleData, getDefaultTooltipContent, processHeatmapData } from './components/charts/Heatmap/utils/heatmapUtils.js';
|
|
188
149
|
export { FunnelChart } from './components/charts/FunnelChart/FunnelChart.js';
|
|
189
150
|
export { ScatterPlot } from './components/charts/ScatterPlot/ScatterPlot.js';
|
|
190
151
|
export { ComboChart } from './components/charts/ComboChart/ComboChart.js';
|
|
@@ -203,11 +164,9 @@ export { useTooltipPosition } from './components/charts/hooks/useTooltipPosition
|
|
|
203
164
|
export { useChartAccessibility } from './components/charts/hooks/useChartAccessibility.js';
|
|
204
165
|
export { useChartValidation } from './components/charts/hooks/useChartValidation.js';
|
|
205
166
|
export { DEFAULT_CHART_COLORS, EXTENDED_CHART_COLORS, MINIMAL_CHART_COLORS, colorClassToVariable, combineClasses, createColorClass, extractFillClass, extractStrokeClass, generateColorPalette, generateSeriesColors, getContrastColor } from './components/charts/utils/color-utils.js';
|
|
206
|
-
export { calculateIntensity, createGridMatrix, formatAxisLabel, generateSampleData, getDefaultTooltipContent, processHeatmapData } from './components/charts/Heatmap/utils/heatmapUtils.js';
|
|
207
167
|
export { chartTheme } from './components/charts/theme/chart.theme.js';
|
|
208
168
|
export { SafeMath, calculateSafeScaleRange, sanitizeChartData, validateChart, validateChartConfig, validateChartData } from './components/charts/utils/chart-validation.js';
|
|
209
169
|
export { BAR_CHART_DEFAULTS } from './components/charts/BarChart/BarChart.types.js';
|
|
210
|
-
export { STACKED_BAR_CHART_DEFAULTS } from './components/charts/StackedBarChart/StackedBarChart.types.js';
|
|
211
170
|
export { LINE_CHART_DEFAULTS } from './components/charts/LineChart/LineChart.types.js';
|
|
212
171
|
export { AREA_CHART_DEFAULTS } from './components/charts/AreaChart/AreaChart.types.js';
|
|
213
172
|
export { ChartErrorBoundary } from './components/charts/shared/ChartErrorBoundary/ChartErrorBoundary.js';
|
|
@@ -216,3 +175,43 @@ export { GlassEffect } from './components/effects/GlassEffect/GlassEffect.js';
|
|
|
216
175
|
export { Overlay } from './components/effects/Overlay/Overlay.js';
|
|
217
176
|
export { SpotlightBorder } from './components/effects/SpotlightBorder/SpotlightBorder.js';
|
|
218
177
|
export { GlassSurface } from './components/effects/GlassSurface/GlassSurface.js';
|
|
178
|
+
export { ChatInterface } from './components/ai/ChatInterface/ChatInterface.js';
|
|
179
|
+
export { chatInterfaceTheme } from './components/ai/ChatInterface/ChatInterface.theme.js';
|
|
180
|
+
export { useChatInterfaceContext } from './components/ai/ChatInterface/ChatInterface.types.js';
|
|
181
|
+
export { MessageHistory } from './components/ai/MessageHistory/MessageHistory.js';
|
|
182
|
+
export { messageHistoryTheme } from './components/ai/MessageHistory/MessageHistory.theme.js';
|
|
183
|
+
export { PromptInput } from './components/ai/PromptInput/PromptInput.js';
|
|
184
|
+
export { promptInputTheme } from './components/ai/PromptInput/PromptInput.theme.js';
|
|
185
|
+
export { ThinkingIndicator } from './components/ai/ThinkingIndicator/ThinkingIndicator.js';
|
|
186
|
+
export { thinkingIndicatorTheme } from './components/ai/ThinkingIndicator/ThinkingIndicator.theme.js';
|
|
187
|
+
export { TokenCounter } from './components/ai/TokenCounter/TokenCounter.js';
|
|
188
|
+
export { tokenCounterTheme } from './components/ai/TokenCounter/TokenCounter.theme.js';
|
|
189
|
+
export { MODEL_CONFIGS, calculateCost, estimateTokens, formatCost, formatTokenCount } from './components/ai/TokenCounter/tokenUtils.js';
|
|
190
|
+
export { PromptSuggestion } from './components/ai/PromptSuggestions/PromptSuggestion.js';
|
|
191
|
+
export { promptSuggestionTheme } from './components/ai/PromptSuggestions/PromptSuggestion.theme.js';
|
|
192
|
+
export { StreamingResponse } from './components/ai/StreamingResponse/StreamingResponse.js';
|
|
193
|
+
export { ErrorDisplay } from './components/ai/StreamingResponse/ErrorDisplay.js';
|
|
194
|
+
export { MarkdownRenderer } from './components/ai/StreamingResponse/MarkdownRenderer.js';
|
|
195
|
+
export { streamingResponseTheme } from './components/ai/StreamingResponse/StreamingResponse.theme.js';
|
|
196
|
+
export { CodeBlock } from './components/ai/CodeBlock/CodeBlock.js';
|
|
197
|
+
export { codeBlockTheme } from './components/ai/CodeBlock/CodeBlock.theme.js';
|
|
198
|
+
export { ApprovalCard } from './components/ai/ApprovalCard/ApprovalCard.js';
|
|
199
|
+
export { approvalCardTheme } from './components/ai/ApprovalCard/ApprovalCard.theme.js';
|
|
200
|
+
export { ArtifactContainer } from './components/ai/ArtifactContainer/ArtifactContainer.js';
|
|
201
|
+
export { artifactContainerTheme, handleSizes } from './components/ai/ArtifactContainer/ArtifactContainer.theme.js';
|
|
202
|
+
export { debounce } from './utils/debounce.js';
|
|
203
|
+
export { useClickOutside } from './utils/useClickOutside.js';
|
|
204
|
+
export { useOverlay } from './hooks/useOverlay.js';
|
|
205
|
+
export { useSlidingNumber } from './hooks/useSlidingNumber.js';
|
|
206
|
+
export { useTypewriter } from './hooks/useTypewriter.js';
|
|
207
|
+
export { CardHeader } from './components/core/Card/CardHeader.js';
|
|
208
|
+
export { CardTitle } from './components/core/Card/CardTitle.js';
|
|
209
|
+
export { CardDescription } from './components/core/Card/CardDescription.js';
|
|
210
|
+
export { CardContent } from './components/core/Card/CardContent.js';
|
|
211
|
+
export { CardFooter } from './components/core/Card/CardFooter.js';
|
|
212
|
+
export { TableActions } from './components/core/Table/components/TableActions/TableActions.js';
|
|
213
|
+
export { TableActionsMenu } from './components/core/Table/components/TableActions/TableActionsMenu.js';
|
|
214
|
+
export { TablePagination } from './components/core/Table/components/TablePagination/TablePagination.js';
|
|
215
|
+
export { DatePickerTrigger } from './components/forms/DatePicker/DatePickerTrigger.js';
|
|
216
|
+
export { DatePickerContent } from './components/forms/DatePicker/DatePickerContent.js';
|
|
217
|
+
export { DatePickerPresets } from './components/forms/DatePicker/DatePickerPresets.js';
|