@unicitylabs/sphere-ui 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +192 -0
- package/dist/canvas/index.d.ts +3 -0
- package/dist/canvas/index.js +0 -0
- package/dist/forms/index.d.ts +1 -0
- package/dist/forms/index.js +0 -0
- package/dist/hooks/index.d.ts +122 -0
- package/dist/hooks/index.js +813 -0
- package/dist/index-DMHfA7fr.d.ts +90 -0
- package/dist/index-DsEO4kM1.d.ts +126 -0
- package/dist/index.d.ts +199 -0
- package/dist/index.js +1095 -0
- package/dist/panels/index.d.ts +3 -0
- package/dist/panels/index.js +0 -0
- package/package.json +60 -0
- package/src/styles/components.css +121 -0
- package/src/styles/index.css +2 -0
- package/src/styles/tokens.css +81 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
/** Shared types for quest/track/achievement forms */
|
|
2
|
+
interface QuestData {
|
|
3
|
+
_id?: string;
|
|
4
|
+
title: string;
|
|
5
|
+
description: string;
|
|
6
|
+
points: number;
|
|
7
|
+
projectPoints?: number;
|
|
8
|
+
tags: string[];
|
|
9
|
+
platform: string | null;
|
|
10
|
+
action: string;
|
|
11
|
+
actionConfig: Record<string, unknown>;
|
|
12
|
+
status: string;
|
|
13
|
+
startDate?: string | null;
|
|
14
|
+
endDate?: string | null;
|
|
15
|
+
maxCompletions?: number | null;
|
|
16
|
+
sortOrder?: number;
|
|
17
|
+
imageUrl?: string | null;
|
|
18
|
+
backgroundUrl?: string | null;
|
|
19
|
+
trackId?: string | null;
|
|
20
|
+
isRepeatable?: boolean;
|
|
21
|
+
repeatInterval?: string | null;
|
|
22
|
+
prerequisites?: string[];
|
|
23
|
+
unlockRules?: unknown[];
|
|
24
|
+
questType?: string;
|
|
25
|
+
verificationType?: string;
|
|
26
|
+
autoApproveAfterHours?: number | null;
|
|
27
|
+
chains?: Record<string, number>;
|
|
28
|
+
[key: string]: unknown;
|
|
29
|
+
}
|
|
30
|
+
interface TrackData {
|
|
31
|
+
_id?: string;
|
|
32
|
+
title: string;
|
|
33
|
+
description: string;
|
|
34
|
+
status: string;
|
|
35
|
+
startDate?: string | null;
|
|
36
|
+
endDate?: string | null;
|
|
37
|
+
sortOrder?: number;
|
|
38
|
+
imageUrl?: string | null;
|
|
39
|
+
accentHex?: string | null;
|
|
40
|
+
glowColor?: string | null;
|
|
41
|
+
borderColor?: string | null;
|
|
42
|
+
gradient?: string | null;
|
|
43
|
+
coreColor?: string | null;
|
|
44
|
+
[key: string]: unknown;
|
|
45
|
+
}
|
|
46
|
+
interface AchievementData {
|
|
47
|
+
_id?: string;
|
|
48
|
+
title: string;
|
|
49
|
+
description: string;
|
|
50
|
+
points: number;
|
|
51
|
+
source: string;
|
|
52
|
+
dataSource: string;
|
|
53
|
+
action: string;
|
|
54
|
+
actionConfig: Record<string, unknown>;
|
|
55
|
+
target: number;
|
|
56
|
+
status: string;
|
|
57
|
+
trackId?: string | null;
|
|
58
|
+
imageUrl?: string | null;
|
|
59
|
+
backgroundUrl?: string | null;
|
|
60
|
+
sortOrder?: number;
|
|
61
|
+
chains?: Record<string, number>;
|
|
62
|
+
[key: string]: unknown;
|
|
63
|
+
}
|
|
64
|
+
/** API callbacks injected by consumers */
|
|
65
|
+
interface QuestFormApi {
|
|
66
|
+
createQuest: (data: Record<string, unknown>) => Promise<unknown>;
|
|
67
|
+
updateQuest: (id: string, data: Record<string, unknown>) => Promise<unknown>;
|
|
68
|
+
createTrack: (data: Record<string, unknown>) => Promise<unknown>;
|
|
69
|
+
getExternalApis?: () => Promise<{
|
|
70
|
+
_id: string;
|
|
71
|
+
name: string;
|
|
72
|
+
slug: string;
|
|
73
|
+
}[]>;
|
|
74
|
+
}
|
|
75
|
+
interface TrackFormApi {
|
|
76
|
+
createTrack: (data: Record<string, unknown>) => Promise<unknown>;
|
|
77
|
+
updateTrack: (id: string, data: Record<string, unknown>) => Promise<unknown>;
|
|
78
|
+
}
|
|
79
|
+
interface AchievementFormApi {
|
|
80
|
+
createAchievement: (data: Record<string, unknown>) => Promise<unknown>;
|
|
81
|
+
updateAchievement: (id: string, data: Record<string, unknown>) => Promise<unknown>;
|
|
82
|
+
}
|
|
83
|
+
/** Query key factory — consumers provide their own prefix */
|
|
84
|
+
interface QueryKeys {
|
|
85
|
+
quests: readonly unknown[];
|
|
86
|
+
tracks: readonly unknown[];
|
|
87
|
+
achievements: readonly unknown[];
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
export type { AchievementData as A, QueryKeys as Q, TrackData as T, AchievementFormApi as a, QuestData as b, QuestFormApi as c, TrackFormApi as d };
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { DragOverEvent, DragEndEvent } from '@dnd-kit/core';
|
|
3
|
+
|
|
4
|
+
/** Minimal interface for track-like objects */
|
|
5
|
+
interface CanvasTrack {
|
|
6
|
+
_id: string;
|
|
7
|
+
title: string;
|
|
8
|
+
sortOrder: number;
|
|
9
|
+
accentHex?: string | null;
|
|
10
|
+
[key: string]: unknown;
|
|
11
|
+
}
|
|
12
|
+
/** Minimal interface for quest-like objects */
|
|
13
|
+
interface CanvasQuest {
|
|
14
|
+
_id: string;
|
|
15
|
+
title: string;
|
|
16
|
+
sortOrder: number;
|
|
17
|
+
trackId?: string | null;
|
|
18
|
+
chains?: Record<string, number>;
|
|
19
|
+
[key: string]: unknown;
|
|
20
|
+
}
|
|
21
|
+
type SelectedItem = {
|
|
22
|
+
type: 'quest';
|
|
23
|
+
id: string;
|
|
24
|
+
} | {
|
|
25
|
+
type: 'track';
|
|
26
|
+
id: string;
|
|
27
|
+
} | null;
|
|
28
|
+
type PendingChange = {
|
|
29
|
+
kind: 'quest-reorder';
|
|
30
|
+
laneId: string;
|
|
31
|
+
} | {
|
|
32
|
+
kind: 'track-reorder';
|
|
33
|
+
} | {
|
|
34
|
+
kind: 'quest-field';
|
|
35
|
+
id: string;
|
|
36
|
+
fields: Record<string, unknown>;
|
|
37
|
+
} | {
|
|
38
|
+
kind: 'track-field';
|
|
39
|
+
id: string;
|
|
40
|
+
fields: Record<string, unknown>;
|
|
41
|
+
};
|
|
42
|
+
/** Deterministic color from a string — used for chain group coloring */
|
|
43
|
+
declare function chainColor(group: string): string;
|
|
44
|
+
declare function getLaneId(quest: CanvasQuest): string;
|
|
45
|
+
declare function useCanvasState<T extends CanvasTrack, Q extends CanvasQuest>(tracks: T[], quests: Q[]): {
|
|
46
|
+
orderedTracks: T[];
|
|
47
|
+
getQuestsForLane: (laneId: string) => Q[];
|
|
48
|
+
getQuest: (id: string) => Q | undefined;
|
|
49
|
+
getTrack: (id: string) => T | undefined;
|
|
50
|
+
trackOrder: string[];
|
|
51
|
+
questOrderByLane: Map<string, string[]>;
|
|
52
|
+
activeDragId: string | null;
|
|
53
|
+
handleDragStart: (id: string) => void;
|
|
54
|
+
handleDragOver: (event: DragOverEvent) => void;
|
|
55
|
+
handleDragEnd: (event: DragEndEvent) => void;
|
|
56
|
+
selectedItem: SelectedItem;
|
|
57
|
+
selectItem: (item: SelectedItem) => void;
|
|
58
|
+
activePanelTab: "chains" | "quests" | "tracks" | "settings" | "create";
|
|
59
|
+
setActivePanelTab: react.Dispatch<react.SetStateAction<"chains" | "quests" | "tracks" | "settings" | "create">>;
|
|
60
|
+
updateQuestField: (id: string, fields: Partial<Q>) => void;
|
|
61
|
+
updateTrackField: (id: string, fields: Partial<T>) => void;
|
|
62
|
+
undo: () => void;
|
|
63
|
+
pendingChanges: PendingChange[];
|
|
64
|
+
hasPendingChanges: boolean;
|
|
65
|
+
clearPendingChanges: () => void;
|
|
66
|
+
reset: () => void;
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
/** Minimal interface for achievement-like objects */
|
|
70
|
+
interface CanvasAchievement {
|
|
71
|
+
_id: string;
|
|
72
|
+
title: string;
|
|
73
|
+
sortOrder: number;
|
|
74
|
+
trackId?: string | null;
|
|
75
|
+
chains?: Record<string, number>;
|
|
76
|
+
[key: string]: unknown;
|
|
77
|
+
}
|
|
78
|
+
type AchSelectedItem = {
|
|
79
|
+
type: 'achievement';
|
|
80
|
+
id: string;
|
|
81
|
+
} | {
|
|
82
|
+
type: 'track';
|
|
83
|
+
id: string;
|
|
84
|
+
} | null;
|
|
85
|
+
type AchPendingChange = {
|
|
86
|
+
kind: 'ach-reorder';
|
|
87
|
+
laneId: string;
|
|
88
|
+
} | {
|
|
89
|
+
kind: 'track-reorder';
|
|
90
|
+
} | {
|
|
91
|
+
kind: 'ach-field';
|
|
92
|
+
id: string;
|
|
93
|
+
fields: Record<string, unknown>;
|
|
94
|
+
} | {
|
|
95
|
+
kind: 'track-field';
|
|
96
|
+
id: string;
|
|
97
|
+
fields: Record<string, unknown>;
|
|
98
|
+
};
|
|
99
|
+
declare function getAchLaneId(ach: CanvasAchievement): string;
|
|
100
|
+
declare function useAchievementCanvasState<T extends CanvasTrack, A extends CanvasAchievement>(tracks: T[], achievements: A[]): {
|
|
101
|
+
orderedTracks: T[];
|
|
102
|
+
getAchievementsForLane: (laneId: string) => A[];
|
|
103
|
+
getAchievement: (id: string) => A | undefined;
|
|
104
|
+
getTrack: (id: string) => T | undefined;
|
|
105
|
+
trackOrder: string[];
|
|
106
|
+
achOrderByLane: Map<string, string[]>;
|
|
107
|
+
groupMode: "track" | "source";
|
|
108
|
+
setGroupMode: react.Dispatch<react.SetStateAction<"track" | "source">>;
|
|
109
|
+
activeDragId: string | null;
|
|
110
|
+
handleDragStart: (id: string) => void;
|
|
111
|
+
handleDragOver: (event: DragOverEvent) => void;
|
|
112
|
+
handleDragEnd: (event: DragEndEvent) => void;
|
|
113
|
+
selectedItem: AchSelectedItem;
|
|
114
|
+
selectItem: (item: AchSelectedItem) => void;
|
|
115
|
+
activePanelTab: "chains" | "tracks" | "settings" | "create" | "achievements";
|
|
116
|
+
setActivePanelTab: react.Dispatch<react.SetStateAction<"chains" | "tracks" | "settings" | "create" | "achievements">>;
|
|
117
|
+
updateAchField: (id: string, fields: Partial<A>) => void;
|
|
118
|
+
updateTrackField: (id: string, fields: Partial<T>) => void;
|
|
119
|
+
undo: () => void;
|
|
120
|
+
pendingChanges: AchPendingChange[];
|
|
121
|
+
hasPendingChanges: boolean;
|
|
122
|
+
clearPendingChanges: () => void;
|
|
123
|
+
reset: () => void;
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
export { type AchPendingChange as A, type CanvasAchievement as C, type PendingChange as P, type SelectedItem as S, type AchSelectedItem as a, type CanvasQuest as b, type CanvasTrack as c, chainColor as d, getLaneId as e, useCanvasState as f, getAchLaneId as g, useAchievementCanvasState as u };
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, SelectHTMLAttributes, TextareaHTMLAttributes } from 'react';
|
|
3
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
4
|
+
import { ColumnDef } from '@tanstack/react-table';
|
|
5
|
+
export { A as AchievementData, a as AchievementFormApi, Q as QueryKeys, b as QuestData, c as QuestFormApi, T as TrackData, d as TrackFormApi } from './index-DMHfA7fr.js';
|
|
6
|
+
|
|
7
|
+
interface InputProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
8
|
+
error?: boolean;
|
|
9
|
+
}
|
|
10
|
+
declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>;
|
|
11
|
+
interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
|
|
12
|
+
error?: boolean;
|
|
13
|
+
}
|
|
14
|
+
declare const Textarea: react.ForwardRefExoticComponent<TextareaProps & react.RefAttributes<HTMLTextAreaElement>>;
|
|
15
|
+
interface SelectProps extends SelectHTMLAttributes<HTMLSelectElement> {
|
|
16
|
+
error?: boolean;
|
|
17
|
+
}
|
|
18
|
+
declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLSelectElement>>;
|
|
19
|
+
type ButtonVariant = 'primary' | 'secondary' | 'danger' | 'ghost';
|
|
20
|
+
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
21
|
+
variant?: ButtonVariant;
|
|
22
|
+
icon?: ReactNode;
|
|
23
|
+
}
|
|
24
|
+
declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
|
|
25
|
+
|
|
26
|
+
interface FieldProps {
|
|
27
|
+
label: string;
|
|
28
|
+
required?: boolean;
|
|
29
|
+
error?: string;
|
|
30
|
+
hint?: string;
|
|
31
|
+
className?: string;
|
|
32
|
+
children: ReactNode;
|
|
33
|
+
}
|
|
34
|
+
declare function Field({ label, required, error, hint, className, children }: FieldProps): react_jsx_runtime.JSX.Element;
|
|
35
|
+
interface SectionProps {
|
|
36
|
+
title: string;
|
|
37
|
+
children: ReactNode;
|
|
38
|
+
}
|
|
39
|
+
declare function Section({ title, children }: SectionProps): react_jsx_runtime.JSX.Element;
|
|
40
|
+
|
|
41
|
+
interface FormModalProps {
|
|
42
|
+
title: string;
|
|
43
|
+
isOpen: boolean;
|
|
44
|
+
onClose: () => void;
|
|
45
|
+
children: ReactNode;
|
|
46
|
+
maxWidth?: string;
|
|
47
|
+
}
|
|
48
|
+
declare function FormModal({ title, isOpen, onClose, children, maxWidth }: FormModalProps): react.ReactPortal | null;
|
|
49
|
+
|
|
50
|
+
interface ConfirmDialogProps {
|
|
51
|
+
isOpen: boolean;
|
|
52
|
+
title: string;
|
|
53
|
+
message: string;
|
|
54
|
+
confirmLabel?: string;
|
|
55
|
+
variant?: 'danger' | 'default';
|
|
56
|
+
onConfirm: () => void;
|
|
57
|
+
onCancel: () => void;
|
|
58
|
+
}
|
|
59
|
+
declare function ConfirmDialog({ isOpen, title, message, confirmLabel, variant, onConfirm, onCancel, }: ConfirmDialogProps): react.ReactPortal | null;
|
|
60
|
+
|
|
61
|
+
interface StatusBadgeProps {
|
|
62
|
+
status: string;
|
|
63
|
+
className?: string;
|
|
64
|
+
}
|
|
65
|
+
declare function StatusBadge({ status, className }: StatusBadgeProps): react_jsx_runtime.JSX.Element;
|
|
66
|
+
|
|
67
|
+
interface SearchInputProps {
|
|
68
|
+
value: string;
|
|
69
|
+
onChange: (value: string) => void;
|
|
70
|
+
placeholder?: string;
|
|
71
|
+
}
|
|
72
|
+
declare function SearchInput({ value, onChange, placeholder }: SearchInputProps): react_jsx_runtime.JSX.Element;
|
|
73
|
+
|
|
74
|
+
interface EmptyStateProps {
|
|
75
|
+
title: string;
|
|
76
|
+
description?: string;
|
|
77
|
+
action?: ReactNode;
|
|
78
|
+
}
|
|
79
|
+
declare function EmptyState({ title, description, action }: EmptyStateProps): react_jsx_runtime.JSX.Element;
|
|
80
|
+
|
|
81
|
+
interface SelectOption {
|
|
82
|
+
value: string;
|
|
83
|
+
label: string;
|
|
84
|
+
}
|
|
85
|
+
interface CustomSelectProps {
|
|
86
|
+
options: SelectOption[];
|
|
87
|
+
value: string;
|
|
88
|
+
onChange: (value: string) => void;
|
|
89
|
+
placeholder?: string;
|
|
90
|
+
className?: string;
|
|
91
|
+
size?: 'sm' | 'md';
|
|
92
|
+
}
|
|
93
|
+
declare function CustomSelect({ options, value, onChange, placeholder, className, size, }: CustomSelectProps): react_jsx_runtime.JSX.Element;
|
|
94
|
+
|
|
95
|
+
interface PageShellProps {
|
|
96
|
+
title: string;
|
|
97
|
+
subtitle?: string;
|
|
98
|
+
action?: ReactNode;
|
|
99
|
+
maxWidth?: string;
|
|
100
|
+
children: ReactNode;
|
|
101
|
+
}
|
|
102
|
+
declare function PageShell({ title, subtitle, action, maxWidth, children }: PageShellProps): react_jsx_runtime.JSX.Element;
|
|
103
|
+
|
|
104
|
+
interface DataTableProps<T> {
|
|
105
|
+
columns: ColumnDef<T, unknown>[];
|
|
106
|
+
data: T[];
|
|
107
|
+
isLoading?: boolean;
|
|
108
|
+
emptyMessage?: string;
|
|
109
|
+
searchPlaceholder?: string;
|
|
110
|
+
enableSearch?: boolean;
|
|
111
|
+
onRowClick?: (row: T) => void;
|
|
112
|
+
}
|
|
113
|
+
declare function DataTable<T>({ columns, data, isLoading, emptyMessage, searchPlaceholder, enableSearch, onRowClick, }: DataTableProps<T>): react_jsx_runtime.JSX.Element;
|
|
114
|
+
|
|
115
|
+
interface AlertBannerProps {
|
|
116
|
+
type: 'warning' | 'info';
|
|
117
|
+
title: string;
|
|
118
|
+
children: ReactNode;
|
|
119
|
+
}
|
|
120
|
+
declare function AlertBanner({ type, title, children }: AlertBannerProps): react_jsx_runtime.JSX.Element;
|
|
121
|
+
|
|
122
|
+
interface AddressDisplayProps {
|
|
123
|
+
address: string;
|
|
124
|
+
nametag?: string | null;
|
|
125
|
+
truncate?: boolean;
|
|
126
|
+
}
|
|
127
|
+
declare function AddressDisplay({ address, nametag, truncate }: AddressDisplayProps): react_jsx_runtime.JSX.Element;
|
|
128
|
+
|
|
129
|
+
interface JsonPanelProps<T> {
|
|
130
|
+
/** Current form state to display as JSON */
|
|
131
|
+
value: T;
|
|
132
|
+
/** Called when user edits JSON and it parses successfully */
|
|
133
|
+
onChange: (parsed: T) => void;
|
|
134
|
+
/** Fields to exclude from display (internal fields like _id, completionCount) */
|
|
135
|
+
excludeKeys?: string[];
|
|
136
|
+
/** Panel title */
|
|
137
|
+
title?: string;
|
|
138
|
+
}
|
|
139
|
+
declare function JsonPanel<T extends Record<string, unknown>>({ value, onChange, excludeKeys, title, }: JsonPanelProps<T>): react_jsx_runtime.JSX.Element;
|
|
140
|
+
declare function JsonToggleButton({ active, onClick }: {
|
|
141
|
+
active: boolean;
|
|
142
|
+
onClick: () => void;
|
|
143
|
+
}): react_jsx_runtime.JSX.Element;
|
|
144
|
+
|
|
145
|
+
declare function tagColor(tag: string): {
|
|
146
|
+
bg: string;
|
|
147
|
+
color: string;
|
|
148
|
+
border: string;
|
|
149
|
+
};
|
|
150
|
+
declare function ChainInput({ chains, suggestions, onChange, size }: {
|
|
151
|
+
chains: Record<string, number>;
|
|
152
|
+
suggestions: string[];
|
|
153
|
+
onChange: (chains: Record<string, number>) => void;
|
|
154
|
+
size?: 'sm' | 'md';
|
|
155
|
+
}): react_jsx_runtime.JSX.Element;
|
|
156
|
+
|
|
157
|
+
interface MemoCondition {
|
|
158
|
+
key: string;
|
|
159
|
+
operator: string;
|
|
160
|
+
value?: string;
|
|
161
|
+
value2?: string;
|
|
162
|
+
}
|
|
163
|
+
declare function MemoConditionsEditor({ conditions, onChange }: {
|
|
164
|
+
conditions: MemoCondition[];
|
|
165
|
+
onChange: (conditions: MemoCondition[]) => void;
|
|
166
|
+
}): react_jsx_runtime.JSX.Element;
|
|
167
|
+
|
|
168
|
+
/**
|
|
169
|
+
* Consistent SVG icon set for the admin panel.
|
|
170
|
+
* Same style as sidebar icons in App.tsx: strokeWidth 1.5, single-path, 24x24 viewBox.
|
|
171
|
+
*/
|
|
172
|
+
interface IconProps {
|
|
173
|
+
size?: number;
|
|
174
|
+
className?: string;
|
|
175
|
+
style?: React.CSSProperties;
|
|
176
|
+
}
|
|
177
|
+
declare const IconBack: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
178
|
+
declare const IconUndo: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
179
|
+
declare const IconQuests: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
180
|
+
declare const IconTracks: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
181
|
+
declare const IconSettings: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
182
|
+
declare const IconChain: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
183
|
+
declare const IconPlus: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
184
|
+
declare const IconEdit: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
185
|
+
declare const IconTrash: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
186
|
+
declare const IconX: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
187
|
+
declare const IconCheck: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
188
|
+
declare const IconSearch: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
189
|
+
declare const IconChevronUp: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
190
|
+
declare const IconChevronDown: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
191
|
+
declare const IconChevronsDown: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
192
|
+
declare const IconChevronsRight: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
193
|
+
declare const IconArrowRight: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
194
|
+
declare const IconPlay: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
195
|
+
declare const IconStar: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
196
|
+
declare const IconDiamond: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
197
|
+
declare const IconCircle: (p: IconProps) => react_jsx_runtime.JSX.Element;
|
|
198
|
+
|
|
199
|
+
export { AddressDisplay, AlertBanner, Button, type ButtonProps, type ButtonVariant, ChainInput, ConfirmDialog, CustomSelect, DataTable, EmptyState, Field, FormModal, IconArrowRight, IconBack, IconChain, IconCheck, IconChevronDown, IconChevronUp, IconChevronsDown, IconChevronsRight, IconCircle, IconDiamond, IconEdit, IconPlay, IconPlus, IconQuests, IconSearch, IconSettings, IconStar, IconTracks, IconTrash, IconUndo, IconX, Input, type InputProps, JsonPanel, JsonToggleButton, type MemoCondition, MemoConditionsEditor, PageShell, SearchInput, Section, Select, type SelectOption, type SelectProps, StatusBadge, Textarea, type TextareaProps, tagColor };
|