@snowbomb1/nova-ui 1.0.10 → 1.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +307 -23
- package/dist/nova-ui.css +1 -1
- package/package.json +1 -1
- package/dist/components/Accordion/Accordion.d.ts +0 -6
- package/dist/components/Accordion/index.d.ts +0 -1
- package/dist/components/ActionSheet/ActionSheet.d.ts +0 -15
- package/dist/components/ActionSheet/index.d.ts +0 -1
- package/dist/components/Alert/Alert.d.ts +0 -6
- package/dist/components/Alert/index.d.ts +0 -1
- package/dist/components/AppLayout/AppLayout.d.ts +0 -10
- package/dist/components/AppLayout/index.d.ts +0 -1
- package/dist/components/Box/Box.d.ts +0 -8
- package/dist/components/Box/index.d.ts +0 -1
- package/dist/components/Button/Button.d.ts +0 -10
- package/dist/components/Button/index.d.ts +0 -1
- package/dist/components/Checkbox/Checkbox.d.ts +0 -8
- package/dist/components/Checkbox/index.d.ts +0 -1
- package/dist/components/Container/Container.d.ts +0 -12
- package/dist/components/Container/index.d.ts +0 -1
- package/dist/components/FloatingMenuButton/FloatingMenuButton.d.ts +0 -7
- package/dist/components/FloatingMenuButton/index.d.ts +0 -1
- package/dist/components/Form field/FormField.d.ts +0 -10
- package/dist/components/Form field/index.d.ts +0 -1
- package/dist/components/Header/Header.d.ts +0 -6
- package/dist/components/Header/index.d.ts +0 -1
- package/dist/components/Input/Input.d.ts +0 -12
- package/dist/components/Input/index.d.ts +0 -1
- package/dist/components/Modal/Modal.d.ts +0 -10
- package/dist/components/Modal/index.d.ts +0 -1
- package/dist/components/Select/Select.d.ts +0 -28
- package/dist/components/Select/index.d.ts +0 -1
- package/dist/components/SideNav/SideNav.d.ts +0 -15
- package/dist/components/SideNav/index.d.ts +0 -1
- package/dist/components/Stepper/Stepper.d.ts +0 -10
- package/dist/components/Stepper/index.d.ts +0 -1
- package/dist/components/Toast/Toast.d.ts +0 -12
- package/dist/components/Toast/index.d.ts +0 -1
- package/dist/components/Toggle/Toggle.d.ts +0 -7
- package/dist/components/Toggle/index.d.ts +0 -1
- package/dist/components/Tooltip/Tooltip.d.ts +0 -7
- package/dist/components/Tooltip/index.d.ts +0 -1
- package/dist/components/TopNav/ThemeToggler.d.ts +0 -1
- package/dist/components/TopNav/TopNav.d.ts +0 -7
- package/dist/components/TopNav/index.d.ts +0 -1
- package/dist/components/Viewer/Viewer.d.ts +0 -16
- package/dist/components/Viewer/ViewerLoader.d.ts +0 -9
- package/dist/components/Viewer/index.d.ts +0 -1
- package/dist/hooks/useKeyboardShortcuts.d.ts +0 -7
- package/dist/hooks/useMediaLoader.d.ts +0 -11
- package/dist/hooks/useTheme.d.ts +0 -8
package/dist/index.d.ts
CHANGED
|
@@ -1,23 +1,307 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
export
|
|
15
|
-
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
1
|
+
import { JSX } from 'react/jsx-runtime';
|
|
2
|
+
import { LabelHTMLAttributes } from 'react';
|
|
3
|
+
import { MouseEvent as MouseEvent_2 } from 'react';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
|
|
6
|
+
export declare const Accordion: ({ title, children, defaultOpen }: AccordionProps) => JSX.Element;
|
|
7
|
+
|
|
8
|
+
export declare interface AccordionProps {
|
|
9
|
+
title: string;
|
|
10
|
+
children: React.ReactNode;
|
|
11
|
+
defaultOpen?: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export declare const ActionSheet: ({ isOpen, onClose, title, message, actions }: ActionSheetProps) => JSX.Element;
|
|
15
|
+
|
|
16
|
+
export declare interface ActionSheetAction {
|
|
17
|
+
label: string;
|
|
18
|
+
icon?: React.ReactNode;
|
|
19
|
+
onClick: () => void;
|
|
20
|
+
destructive?: boolean;
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
export declare interface ActionSheetProps {
|
|
25
|
+
isOpen: boolean;
|
|
26
|
+
onClose: () => void;
|
|
27
|
+
title?: string;
|
|
28
|
+
message?: string;
|
|
29
|
+
actions: ActionSheetAction[];
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export declare const Alert: ({ type, children }: AlertProps) => JSX.Element;
|
|
33
|
+
|
|
34
|
+
export declare interface AlertProps {
|
|
35
|
+
type?: AlertType;
|
|
36
|
+
children: React.ReactNode;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
export declare type AlertType = 'success' | 'warning' | 'error' | 'info';
|
|
40
|
+
|
|
41
|
+
export declare const AppLayout: ({ topNav, sideNav, sideNavOpen, sideNavExpandedWidth, sideNavCollapsedWidth, children }: AppLayoutProps) => JSX.Element;
|
|
42
|
+
|
|
43
|
+
export declare interface AppLayoutProps {
|
|
44
|
+
topNav?: ReactNode;
|
|
45
|
+
sideNav?: ReactNode;
|
|
46
|
+
sideNavOpen?: boolean;
|
|
47
|
+
sideNavExpandedWidth?: string;
|
|
48
|
+
sideNavCollapsedWidth?: string;
|
|
49
|
+
children: ReactNode;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export declare const Box: ({ children, position, direction }: BoxProps) => JSX.Element;
|
|
53
|
+
|
|
54
|
+
export declare type BoxPosition = 'left' | 'right' | 'center';
|
|
55
|
+
|
|
56
|
+
export declare interface BoxProps {
|
|
57
|
+
children: React.ReactNode;
|
|
58
|
+
position?: BoxPosition;
|
|
59
|
+
direction?: FlexDirection;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export declare const Button: ({ children, onClick, variant, disabled, disabledMessage, tooltipPosition, ...props }: ButtonProps) => JSX.Element;
|
|
63
|
+
|
|
64
|
+
export declare interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
65
|
+
children: React.ReactNode;
|
|
66
|
+
variant?: ButtonVariant;
|
|
67
|
+
disabled?: boolean;
|
|
68
|
+
disabledMessage?: string;
|
|
69
|
+
tooltipPosition?: TooltipPosition;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
export declare type ButtonVariant = 'primary' | 'secondary' | 'icon';
|
|
73
|
+
|
|
74
|
+
export declare const Checkbox: ({ checked, onChange, label, disabled, indeterminate }: CheckboxProps) => JSX.Element;
|
|
75
|
+
|
|
76
|
+
export declare interface CheckboxProps {
|
|
77
|
+
checked: boolean;
|
|
78
|
+
onChange: (checked: boolean) => void;
|
|
79
|
+
label?: string;
|
|
80
|
+
disabled?: boolean;
|
|
81
|
+
indeterminate?: boolean;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
export declare const Container: ({ children, header, headerActions, footer, variant, padding, fullWidth }: ContainerProps) => JSX.Element;
|
|
85
|
+
|
|
86
|
+
export declare type ContainerPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
87
|
+
|
|
88
|
+
export declare interface ContainerProps {
|
|
89
|
+
children: React.ReactNode;
|
|
90
|
+
header?: React.ReactNode;
|
|
91
|
+
headerActions?: React.ReactNode;
|
|
92
|
+
footer?: React.ReactNode;
|
|
93
|
+
variant?: ContainerVariant;
|
|
94
|
+
padding?: ContainerPadding;
|
|
95
|
+
fullWidth?: boolean;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export declare type ContainerVariant = 'default' | 'outlined' | 'elevated' | 'flat';
|
|
99
|
+
|
|
100
|
+
export declare type FlexDirection = 'horizontal' | 'vertical';
|
|
101
|
+
|
|
102
|
+
export declare const FloatingButton: ({ onClick, variant, ariaLabel }: FloatingButtonProps) => JSX.Element;
|
|
103
|
+
|
|
104
|
+
export declare interface FloatingButtonProps {
|
|
105
|
+
variant: FloatingButtonVariant;
|
|
106
|
+
ariaLabel: string;
|
|
107
|
+
onClick: () => void;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
export declare type FloatingButtonVariant = 'menu' | 'action';
|
|
111
|
+
|
|
112
|
+
export declare const FormField: ({ label, helperText, error, required, disabled, children }: FormFieldProps) => JSX.Element;
|
|
113
|
+
|
|
114
|
+
export declare interface FormFieldProps extends LabelHTMLAttributes<HTMLLabelElement> {
|
|
115
|
+
label?: string;
|
|
116
|
+
helperText?: string;
|
|
117
|
+
error?: string;
|
|
118
|
+
required?: boolean;
|
|
119
|
+
disabled?: boolean;
|
|
120
|
+
children: React.ReactNode;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
export declare const Header: ({ children, variant }: HeaderProps) => JSX.Element;
|
|
124
|
+
|
|
125
|
+
export declare interface HeaderProps {
|
|
126
|
+
children: React.ReactNode;
|
|
127
|
+
variant?: HeaderVariant;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export declare type HeaderVariant = 'h1' | 'h2' | 'h3' | 'h4';
|
|
131
|
+
|
|
132
|
+
export declare const Input: ({ value, onChange, disabled, suggestions, placeholder, hideClear, label, error, required, helperText, ...props }: InputProps) => JSX.Element;
|
|
133
|
+
|
|
134
|
+
export declare interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
|
|
135
|
+
value: string | undefined;
|
|
136
|
+
onChange?: (newValue: string) => void;
|
|
137
|
+
disabled?: boolean;
|
|
138
|
+
suggestions?: string[];
|
|
139
|
+
hideClear?: boolean;
|
|
140
|
+
required?: boolean;
|
|
141
|
+
label?: string;
|
|
142
|
+
error?: string;
|
|
143
|
+
helperText?: string;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export declare const Modal: ({ isVisible, onClose, size, header, footer, children }: ModalProps) => JSX.Element;
|
|
147
|
+
|
|
148
|
+
export declare interface ModalProps {
|
|
149
|
+
isVisible: boolean;
|
|
150
|
+
onClose: () => void;
|
|
151
|
+
children: React.ReactNode;
|
|
152
|
+
size?: ModalSize;
|
|
153
|
+
header?: React.ReactNode;
|
|
154
|
+
footer?: React.ReactNode;
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
export declare type ModalSize = 's' | 'm' | 'l' | 'xl';
|
|
158
|
+
|
|
159
|
+
declare interface MultiSelectProps extends SharedProps {
|
|
160
|
+
selectType: 'multi';
|
|
161
|
+
selectedOption?: Option_2[];
|
|
162
|
+
onChange: (options: Option_2[]) => void;
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
export declare type NavItem = {
|
|
166
|
+
label: string;
|
|
167
|
+
icon?: React.ReactNode;
|
|
168
|
+
onClick: () => void;
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
export declare type NavPosition = 'left' | 'right';
|
|
172
|
+
|
|
173
|
+
declare type Option_2 = {
|
|
174
|
+
label: string;
|
|
175
|
+
value: string | number;
|
|
176
|
+
};
|
|
177
|
+
export { Option_2 as Option }
|
|
178
|
+
|
|
179
|
+
export declare const Select: (props: SelectProps) => JSX.Element;
|
|
180
|
+
|
|
181
|
+
export declare type SelectProps = SingleSelectProps | MultiSelectProps;
|
|
182
|
+
|
|
183
|
+
declare interface SharedProps {
|
|
184
|
+
options: Option_2[];
|
|
185
|
+
autoFilter?: boolean;
|
|
186
|
+
placeholder?: string;
|
|
187
|
+
disabled?: boolean;
|
|
188
|
+
name?: string;
|
|
189
|
+
required?: boolean;
|
|
190
|
+
label?: string;
|
|
191
|
+
helperText?: string;
|
|
192
|
+
error?: string;
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
export declare const SideNav: ({ isOpen, items, onToggle, expandedWidth, collapsedWidth, position }: SideNavProps) => JSX.Element;
|
|
196
|
+
|
|
197
|
+
export declare interface SideNavProps {
|
|
198
|
+
isOpen: boolean;
|
|
199
|
+
onToggle: () => void;
|
|
200
|
+
items: NavItem[];
|
|
201
|
+
expandedWidth?: string;
|
|
202
|
+
collapsedWidth?: string;
|
|
203
|
+
position?: NavPosition;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
declare interface SingleSelectProps extends SharedProps {
|
|
207
|
+
selectType?: 'single';
|
|
208
|
+
selectedOption?: Option_2;
|
|
209
|
+
onChange: (option: Option_2) => void;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
export declare const Stepper: ({ label, helperText, error, required, value, onChange, min, max, step, disabled }: StepperProps) => JSX.Element;
|
|
213
|
+
|
|
214
|
+
export declare interface StepperProps extends Pick<FormFieldProps, 'label' | 'helperText' | 'error' | 'required'> {
|
|
215
|
+
value: number;
|
|
216
|
+
onChange: (value: number) => void;
|
|
217
|
+
min?: number;
|
|
218
|
+
max?: number;
|
|
219
|
+
step?: number;
|
|
220
|
+
disabled?: boolean;
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
declare type Theme = 'light' | 'dark';
|
|
224
|
+
|
|
225
|
+
export declare const Toast: ({ visible, onDismiss, timeout, position, status, children, dismissible }: ToastProps) => JSX.Element;
|
|
226
|
+
|
|
227
|
+
export declare type ToastPosition = 'top' | 'bottom';
|
|
228
|
+
|
|
229
|
+
export declare interface ToastProps {
|
|
230
|
+
visible: boolean;
|
|
231
|
+
onDismiss: () => void;
|
|
232
|
+
timeout?: number;
|
|
233
|
+
position?: ToastPosition;
|
|
234
|
+
status?: ToastStatus;
|
|
235
|
+
children: React.ReactNode;
|
|
236
|
+
dismissible?: boolean;
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
export declare type ToastStatus = 'success' | 'warning' | 'error' | 'info';
|
|
240
|
+
|
|
241
|
+
export declare const Toggle: ({ label, value, onChange, disabled }: ToggleProps) => JSX.Element;
|
|
242
|
+
|
|
243
|
+
export declare interface ToggleProps {
|
|
244
|
+
label: string;
|
|
245
|
+
value: boolean;
|
|
246
|
+
onChange: (enabled: boolean) => void;
|
|
247
|
+
disabled?: boolean;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
export declare const Tooltip: ({ children, message, position }: TooltipProps) => JSX.Element;
|
|
251
|
+
|
|
252
|
+
export declare type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
253
|
+
|
|
254
|
+
export declare interface TooltipProps {
|
|
255
|
+
children: React.ReactNode;
|
|
256
|
+
message?: string;
|
|
257
|
+
position?: TooltipPosition;
|
|
258
|
+
}
|
|
259
|
+
|
|
260
|
+
export declare const TopNav: ({ header, logo, logoClick, search }: TopNavProps) => JSX.Element;
|
|
261
|
+
|
|
262
|
+
export declare interface TopNavProps {
|
|
263
|
+
header: React.ReactNode;
|
|
264
|
+
logo?: React.ReactNode;
|
|
265
|
+
logoClick?: () => void;
|
|
266
|
+
search?: React.ReactNode;
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
export declare const useMediaLoader: ({ src, onError }: UseMediaLoaderProps) => {
|
|
270
|
+
isLoading: boolean;
|
|
271
|
+
hasError: boolean;
|
|
272
|
+
isVideo: boolean;
|
|
273
|
+
reload: () => void;
|
|
274
|
+
};
|
|
275
|
+
|
|
276
|
+
declare interface UseMediaLoaderProps {
|
|
277
|
+
src: string;
|
|
278
|
+
onError?: (error: Error) => void;
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
export declare const useTheme: () => {
|
|
282
|
+
theme: Theme;
|
|
283
|
+
isTransitioning: boolean;
|
|
284
|
+
toggleTheme: (event: MouseEvent_2) => void;
|
|
285
|
+
};
|
|
286
|
+
|
|
287
|
+
export declare interface VideoProps {
|
|
288
|
+
controls?: boolean;
|
|
289
|
+
loop?: boolean;
|
|
290
|
+
autoPlay?: boolean;
|
|
291
|
+
muted?: boolean;
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
export declare const Viewer: ({ src, alt, video, thumbnailWidth, onError, aspectRatio }: ViewerProps) => JSX.Element;
|
|
295
|
+
|
|
296
|
+
export declare type ViewerAspectRatio = '16/9' | '9/16' | '1/1' | '4/3' | '3/2' | '21/19';
|
|
297
|
+
|
|
298
|
+
export declare interface ViewerProps {
|
|
299
|
+
src: string;
|
|
300
|
+
alt: string;
|
|
301
|
+
video?: VideoProps;
|
|
302
|
+
thumbnailWidth?: string;
|
|
303
|
+
aspectRatio?: ViewerAspectRatio;
|
|
304
|
+
onError?: (error: Error) => void;
|
|
305
|
+
}
|
|
306
|
+
|
|
307
|
+
export { }
|
package/dist/nova-ui.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.accordion-module__container___M1a4P{width:100%;border:2px solid var(--color-border);border-radius:.5rem;overflow:hidden;align-self:flex-start}.accordion-module__accordion___C0eUc{width:100%;background-color:var(--color-surface);color:#fff;cursor:pointer;display:flex;flex-direction:row;padding:1rem;text-align:left;align-items:center;border:none}.accordion-module__header___NFLuh{font-size:medium;font-weight:600;color:var(--color-text)}.accordion-module__icon___Mjff1{margin-left:auto;color:var(--color-text)}.accordion-module__content___18iAN{position:relative;background-color:var(--color-surface);transition:max-height .2s ease-out;max-height:0}.accordion-module__content___18iAN.accordion-module__open___acchR{padding:1rem;max-height:500px}.accordion-module__container___M1a4P:hover:not(:has(.accordion-module__content___18iAN.accordion-module__open___acchR)){border-color:var(--color-primary)}.action-sheet-module__backdrop___E-oM5{position:fixed;top:0;right:0;bottom:0;left:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998}.action-sheet-module__sheet___zFFdl{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-radius:1rem 1rem 0 0;z-index:9999;max-height:80vh;display:flex;flex-direction:column;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.action-sheet-module__handle___1dYRp{display:flex;justify-content:center;padding:.75rem}.action-sheet-module__handleBar___3lmQ1{width:36px;height:4px;background:var(--color-border);border-radius:2px}.action-sheet-module__header___oMW-U{padding:1rem 1.5rem;text-align:center;border-bottom:1px solid var(--color-border)}.action-sheet-module__title___k5RM2{font-size:1.125rem;font-weight:600;color:var(--color-text);margin:0 0 .25rem}.action-sheet-module__message___jsCQT{font-size:.875rem;color:var(--color-text-secondary);margin:0}.action-sheet-module__actions___vgr-N{overflow-y:auto;max-height:60vh}.action-sheet-module__action___kV71S{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.5rem;background:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:1rem;cursor:pointer;transition:background-color .15s;min-height:56px}.action-sheet-module__action___kV71S:active{background-color:#0000000d}.action-sheet-module__action___kV71S:disabled{opacity:.5;cursor:not-allowed}.action-sheet-module__action___kV71S.action-sheet-module__destructive___N5M9i{color:var(--color-error)}.action-sheet-module__actionIcon___MXc9U{font-size:1.5rem;width:28px;display:flex;align-items:center;justify-content:center}.action-sheet-module__actionLabel___dPWqE{flex:1;text-align:left}.action-sheet-module__cancel___Oncun{width:100%;padding:1rem;background:var(--color-surface);border:none;color:var(--color-primary);font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem}.action-sheet-module__cancel___Oncun:active{opacity:.7}.alert-module__alert___phXsH{pointer-events:auto;width:100%;padding:1rem 1.25rem;background:var(--toast-bg);border-radius:12px;color:var(--color-text);display:flex;align-items:center;gap:.75rem;position:relative;overflow:hidden;border:2px solid var(--status-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.alert-module__iconWrapper___5mthT{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--status-color);display:flex;align-items:center;justify-content:center;margin-left:.5rem}.alert-module__statusIcon___Tyvx3{color:#fff}.alert-module__content___IvPaU{flex:1;font-size:.9375rem;line-height:1.5}.alert-module__success___lM3GI{--status-color: var(--color-success);--toast-bg: var(--toast-bg-success)}.alert-module__warning___DfOAf{--status-color: var(--color-warning);--toast-bg: var(--toast-bg-warning)}.alert-module__error___9GnhN{--status-color: var(--color-error);--toast-bg: var(--toast-bg-error)}.alert-module__info___SotSQ{--status-color: var(--color-info);--toast-bg: var(--toast-bg-info)}@media(max-width:768px){.alert-module__container___SGTJP{width:calc(100% - 2rem)}.alert-module__alert___phXsH{padding:.875rem 1rem}}.applayout-module__layout___d2c6J{position:relative;display:flex;min-height:100vh;background-color:var(--color-background)}.applayout-module__mainArea___Q4Yhu{flex:1;min-height:100vh;display:flex;flex-direction:column;min-width:0}.applayout-module__content___lok2L{flex:1;padding:2rem;max-width:1400px}@media(max-width:768px){.applayout-module__mainArea___Q4Yhu{margin-left:0!important}.applayout-module__content___lok2L{padding:1rem}}.box-module__box___FP5Js{display:flex;width:100%;gap:1rem}.box-module__box___FP5Js[data-direction=vertical]{flex-direction:column}.box-module__box___FP5Js[data-direction=vertical][data-position=left]{align-items:flex-start}.box-module__box___FP5Js[data-direction=vertical][data-position=center]{align-items:center}.box-module__box___FP5Js[data-direction=vertical][data-position=right]{align-items:flex-end}.box-module__box___FP5Js[data-direction=horizontal]{flex-direction:row;align-items:center}.box-module__box___FP5Js[data-direction=horizontal][data-position=left]{justify-content:flex-start}.box-module__box___FP5Js[data-direction=horizontal][data-position=center]{justify-content:center}.box-module__box___FP5Js[data-direction=horizontal][data-position=right]{justify-content:flex-end}.tooltip-module__triggerWrapper___mvvzS{display:inline-block;width:fit-content;text-decoration:underline dashed var(--color-accent)}.tooltip-module__tooltip___mEmui{position:fixed;left:var(--tooltip-x, 0);top:var(--tooltip-y, 0);padding:8px 12px;border-radius:4px;font-size:14px;z-index:1000;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text);pointer-events:none;white-space:nowrap;display:flex;flex-direction:column;align-items:center;will-change:transform}.tooltip-module__arrow___Kjrs-{position:absolute;width:0;height:0;border-style:solid;border-width:6px}.tooltip-module__tooltip___mEmui[data-position=top] .tooltip-module__arrow___Kjrs-{top:100%;border-color:var(--color-primary) transparent transparent transparent}.tooltip-module__tooltip___mEmui[data-position=bottom] .tooltip-module__arrow___Kjrs-{bottom:100%;border-color:transparent transparent var(--color-primary) transparent}.tooltip-module__tooltip___mEmui[data-position=left] .tooltip-module__arrow___Kjrs-{left:100%;border-color:transparent transparent transparent var(--color-primary)}.tooltip-module__tooltip___mEmui[data-position=right] .tooltip-module__arrow___Kjrs-{right:100%;border-color:transparent var(--color-primary) transparent transparent}.button-module__button___JyfZW{border:none;border-radius:.75rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;color:var(--color-text)}.button-module__button___JyfZW:active{opacity:.8}.button-module__button___JyfZW:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.button-module__button___JyfZW:focus-visible{outline:2px solid var(--color-accent)}.button-module__primary___ggjlO{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-on-primary)}.button-module__secondary___Q4I1z{background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-secondary-dark) 100%);color:var(--color-text-on-secondary)}.button-module__icon___zcUnX{padding:.75rem;border-radius:.5rem;background:transparent;object-fit:cover}.button-module__primary___ggjlO:hover:not(:disabled),.button-module__secondary___Q4I1z:hover:not(:disabled),.button-module__icon___zcUnX:hover:not(:disabled){outline:2px solid var(--color-accent)}.checkbox-module__container___26-ah{display:inline-flex;align-items:center}.checkbox-module__hiddenInput___X-HH-{position:absolute;opacity:0;width:0;height:0}.checkbox-module__label___dV34E{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-module__box___UQZjc{width:20px;height:20px;border:2px solid var(--color-border);border-radius:.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.checkbox-module__box___UQZjc:hover{border-color:var(--color-primary)}.checkbox-module__checked___mqwdo{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-module__labelText___ORrnL{color:var(--color-text);font-size:.9375rem}.checkbox-module__disabled___E2BaQ{opacity:.5;pointer-events:none}.checkbox-module__disabled___E2BaQ .checkbox-module__label___dV34E{cursor:not-allowed}.container-module__container___g2I0w{display:flex;flex-direction:column;background:var(--color-surface);border-radius:.75rem;overflow:visible;min-width:0;width:fit-content}.container-module__fullWidth___C7E9O{width:100%}.container-module__default___VLaR3{border:1px solid var(--color-border)}.container-module__outlined___V7eh0{border:2px solid var(--color-border)}.container-module__elevated___TdnlI{border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.container-module__flat___VVl-e{background:transparent;border:none}.container-module__header___EUrkl{display:flex;align-items:center;border-bottom:1px solid var(--color-border);background:var(--color-background);gap:1rem}.container-module__headerContent___E9O0H{flex:1}.container-module__headerActions___PZYbZ{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.container-module__content___U-qAz{flex:1;overflow:auto}.container-module__footer___TrwGJ{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;border-top:1px solid var(--color-border);background:var(--color-background)}.container-module__padding-none___eH2bc .container-module__header___EUrkl,.container-module__padding-none___eH2bc .container-module__footer___TrwGJ{padding:.75rem 0}.container-module__padding-none___eH2bc .container-module__content___U-qAz{padding:0}.container-module__padding-sm___mUJyq .container-module__header___EUrkl,.container-module__padding-sm___mUJyq .container-module__footer___TrwGJ{padding:.75rem 1rem}.container-module__padding-sm___mUJyq .container-module__content___U-qAz{padding:1rem}.container-module__padding-md___tOs5h .container-module__header___EUrkl,.container-module__padding-md___tOs5h .container-module__footer___TrwGJ{padding:1rem 1.5rem}.container-module__padding-md___tOs5h .container-module__content___U-qAz{padding:1.5rem}.container-module__padding-lg___-J-K1 .container-module__header___EUrkl,.container-module__padding-lg___-J-K1 .container-module__footer___TrwGJ{padding:1.25rem 2rem}.container-module__padding-lg___-J-K1 .container-module__content___U-qAz{padding:2rem}@media(max-width:768px){.container-module__header___EUrkl{flex-direction:column;gap:1rem}.container-module__headerActions___PZYbZ{width:100%;margin-left:0;justify-content:flex-start}.container-module__padding-md___tOs5h .container-module__content___U-qAz,.container-module__padding-lg___-J-K1 .container-module__content___U-qAz{padding:1rem}}.floating-menu-button-module__floatingButton___aAEgo{position:fixed;bottom:calc(2rem + env(safe-area-inset-bottom,0));right:calc(2rem + env(safe-area-inset-right,0));z-index:998;background:var(--color-primary);color:#fff;border:none;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer}@media(min-width:769px){.floating-menu-button-module__floatingButton___aAEgo{display:none}}.styles-module__wrapper___-K643{display:flex;flex-direction:column;gap:.25rem;width:100%}.styles-module__container___rhMhO{position:relative;width:100%;margin-top:.65rem}.styles-module__containerNoLabel___BoOt6{margin-top:0}.styles-module__border___Jsi91{position:relative;display:inline-flex;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:.5rem;transition:border-color .2s ease;padding-top:.25rem}.styles-module__border___Jsi91:focus-within{border-color:var(--color-accent)}.styles-module__container___rhMhO:focus-within .styles-module__label___gBE41{border-color:var(--color-accent);color:var(--color-accent)}.styles-module__borderError___WH34m{border-color:var(--color-error);background-color:var(--toast-bg-error)}.styles-module__borderDisabled___wc6lw{opacity:.5;filter:grayscale(.3);cursor:not-allowed}.styles-module__border___Jsi91:hover:not(.styles-module__borderDisabled___wc6lw):not(.styles-module__borderError___WH34m){border-color:var(--color-accent)}.styles-module__label___gBE41{position:absolute;top:-.65rem;left:.75rem;background:var(--color-surface);padding:.1rem .6rem;border-radius:999px;font-size:.7rem;font-weight:500;letter-spacing:.03em;border:1.5px solid var(--color-border);color:var(--color-text-secondary);pointer-events:none;transition:border-color .2s ease,color .2s ease;white-space:nowrap;z-index:1}.styles-module__labelFocused___Q36TT{border-color:var(--color-accent);color:var(--color-accent)}.styles-module__labelError___m0PRR{border-color:var(--color-error);color:var(--color-error)}.styles-module__required___dp8xu{color:var(--color-error);margin-left:.25rem}.styles-module__helperText___cA3Se{font-size:.75rem;color:var(--color-text-secondary)}.styles-module__errorText___QZJ5F{font-size:.75rem;color:var(--color-error);margin:0;display:flex;align-items:center;gap:.25rem}.styles-module__errorText___QZJ5F:before{content:"⚠";font-size:1rem}.styles-module__header___XLj-v{color:var(--color-text)}.input-module__inputContainer___ulqhQ{position:relative;width:100%;min-width:250px}.input-module__input___tBoBs{width:100%;padding:.8rem 2.5rem .8rem 1.2rem;font-size:.875rem;color:var(--color-text);background:transparent;border:none;outline:none}.input-module__input___tBoBs::placeholder{color:var(--color-text-secondary);opacity:.6}.input-module__input___tBoBs:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.input-module__clearButton___GmMYO{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center}.input-module__clearButton___GmMYO:hover{color:var(--color-primary);transform:translateY(-50%) scale(1.1)}.input-module__suggestionsList___ym2TV{position:absolute;top:calc(100% + .5rem);left:0;right:0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;list-style:none;padding:.4rem;margin:0;z-index:1000;max-height:200px;overflow-y:auto}.input-module__suggestionItem___xtYWE{padding:.6rem 1rem;font-size:.75rem;color:var(--color-text);border-radius:.3rem;cursor:pointer;min-height:44px;display:flex;align-items:center}.input-module__suggestionItem___xtYWE:hover{background-color:var(--color-primary);color:#fff}.input-module__suggestionsList___ym2TV::-webkit-scrollbar{width:4px}.input-module__suggestionsList___ym2TV::-webkit-scrollbar-thumb{background:var(--color-text-secondary);border-radius:10px}@media(max-width:768px){.input-module__input___tBoBs{font-size:16px}}.modal-module__overlay___z2GxJ{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-module__modal___RJmct{background-color:var(--color-surface);border-radius:.75rem;width:100%;max-height:90vh;overflow:hidden}.modal-module__modal___RJmct[data-size=s]{max-width:400px}.modal-module__modal___RJmct[data-size=m]{max-width:600px}.modal-module__modal___RJmct[data-size=l]{max-width:800px}.modal-module__modal___RJmct[data-size=xl]{max-width:1140px}.modal-module__header___KlpKY{display:flex;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-module__close___ELArH{margin-left:auto;background:none;border:none}.modal-module__content___OMS8T{padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 140px)}.modal-module__footer___rF7ly{border-top:1px solid var(--color-border);display:flex;gap:.75rem}@media(max-width:768px){.modal-module__modal___RJmct{width:100%;max-height:90vh;border-radius:1rem 1rem 0 0;margin-top:auto}}.select-module__container___U4BrV{position:relative;width:100%;min-width:250px;outline:none}.select-module__container___U4BrV:focus-within{outline:none}.select-module__hiddenSelect___qRfKA{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.select-module__control___qogxN{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;color:var(--color-text)}.select-module__control___qogxN:focus{outline:2px solid var(--color-primary);outline-offset:2px}.select-module__control___qogxN:focus:not(:focus-visible){outline:none}.select-module__disabled___kYpJI{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.select-module__value___sRnlS{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:.5rem}.select-module__placeholder___qhzG5{color:var(--color-text-secondary)}.select-module__arrow___LWj9s{font-size:.75rem;color:var(--color-text-secondary);flex-shrink:0}.select-module__menu___MHmhv{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;z-index:1000;max-height:300px;overflow:hidden}.select-module__searchWrapper___gI2ic{padding:.5rem;border-bottom:1px solid var(--color-border)}.select-module__list___XICSu{max-height:250px;overflow-y:auto;padding:.25rem}.select-module__list___XICSu::-webkit-scrollbar{width:8px}.select-module__list___XICSu::-webkit-scrollbar-track{background:transparent}.select-module__list___XICSu::-webkit-scrollbar-thumb{background:var(--color-text-secondary);border-radius:4px}.select-module__list___XICSu::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.select-module__item___XHREC{padding:10px;cursor:pointer;border-radius:.375rem;display:flex;align-items:center;gap:.5rem;color:var(--color-text);min-height:44px}.select-module__selected___iSbaR{background:var(--color-primary-dark);color:var(--color-text-on-primary);font-weight:600}.select-module__item___XHREC:hover,.select-module__highlighted___OhCJO:not(.select-module__selected___iSbaR){background:var(--color-secondary);color:var(--color-text-on-secondary)}.select-module__checkbox___dD2H5{font-size:1.25rem;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center}.select-module__empty___i6OgM{padding:1rem;text-align:center;color:var(--color-text-secondary);font-size:.875rem}@media(max-width:768px){.select-module__menu___MHmhv{max-height:200px}.select-module__list___XICSu{max-height:150px}}.sidenav-module__overlay___QDdKo{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}.sidenav-module__sidenav___CnZmU{position:fixed;height:100vh;top:0;background-color:var(--color-surface);display:flex;flex-direction:column;overflow:hidden;z-index:1000}.sidenav-module__sidenav___CnZmU.sidenav-module__left___Qa1xG{left:0;border-right:2px solid var(--color-border)}.sidenav-module__sidenav___CnZmU.sidenav-module__right___4BYR2{right:0;border-left:2px solid var(--color-border)}.sidenav-module__sidenav___CnZmU.sidenav-module__collapsed___jltGX .sidenav-module__header___f3Sc9{justify-content:center}.sidenav-module__sidenav___CnZmU.sidenav-module__collapsed___jltGX .sidenav-module__item___5B09S{justify-content:center;padding:1rem .5rem}.sidenav-module__header___f3Sc9{display:flex;align-items:center;justify-content:flex-end;padding:1.5rem;border-bottom:1px solid var(--color-border);height:4rem}.sidenav-module__toggleButton___8Z7kQ{background:transparent;border:none;cursor:pointer;color:var(--color-text);align-items:center;justify-content:center;border-radius:.5rem;transition:background-color .2s ease}.sidenav-module__items___Az0kh{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;overflow-x:hidden}.sidenav-module__item___5B09S{display:flex;align-items:center;gap:.75rem;padding:1rem;background:transparent;border:2px solid var(--color-border);border-radius:.5rem;color:var(--color-text);font-size:1rem;font-weight:500;cursor:pointer;text-align:left;white-space:nowrap}.sidenav-module__item___5B09S:hover,.sidenav-module__active___Lo-AM{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.sidenav-module__itemIcon___i6GWq{display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;width:24px}.sidenav-module__items___Az0kh::-webkit-scrollbar{width:6px}.sidenav-module__items___Az0kh::-webkit-scrollbar-track{background:transparent}.sidenav-module__items___Az0kh::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.sidenav-module__items___Az0kh::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.stepper-module__container___GYIxN{display:inline-flex;align-items:center;width:8rem}.stepper-module__stepper___44JDp{display:flex;align-items:center;justify-content:center;background:none;color:var(--color-primary);border:none;cursor:pointer;flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:.5rem}.stepper-module__stepper___44JDp:hover:not(:disabled){background-color:var(--color-border);color:var(--color-primary-dark)}.stepper-module__stepper___44JDp:active:not(:disabled){transform:scale(.9)}.stepper-module__stepper___44JDp:disabled{opacity:.3;cursor:not-allowed}.stepper-module__input___9ZI6O{flex:1;min-width:0;text-align:center;border:none!important;background:transparent!important;padding:0!important;font-weight:600;font-size:1rem;color:var(--color-text)}.stepper-module__input___9ZI6O:focus{outline:none}.toast-module__container___7m6vr{position:fixed;z-index:10000;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:500px;width:90%;bottom:calc(1rem + env(safe-area-inset-bottom,0))}.toast-module__top___iVpue{top:2rem}.toast-module__bottom___Bt3N0{bottom:2rem}.toast-module__toast___SOSDh{pointer-events:auto;width:100%;padding:1rem 1.25rem;background:var(--toast-bg);border-radius:12px;color:var(--color-text);display:flex;align-items:center;gap:.75rem;position:relative;overflow:hidden;border:2px solid var(--status-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast-module__iconWrapper___F-4yg{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--status-color);display:flex;align-items:center;justify-content:center;margin-left:.5rem}.toast-module__statusIcon___KjJ56{font-size:1.125rem;font-weight:700;color:#fff}.toast-module__content___9ufP5{flex:1;font-size:.9375rem;line-height:1.5}.toast-module__closeButton___eMXm-{flex-shrink:0;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.toast-module__closeButton___eMXm-:hover{background:#0000001a;color:var(--color-text)}.toast-module__success___FYQI3{--status-color: var(--color-success);--toast-bg: var(--toast-bg-success)}.toast-module__warning___2XrO1{--status-color: var(--color-warning);--toast-bg: var(--toast-bg-warning)}.toast-module__error___v44fd{--status-color: var(--color-error);--toast-bg: var(--toast-bg-error)}.toast-module__info___tOY3D{--status-color: var(--color-info);--toast-bg: var(--toast-bg-info)}@media(prefers-color-scheme:dark){.toast-module__closeButton___eMXm-:hover{background:#ffffff1a}}@media(max-width:768px){.toast-module__container___7m6vr{width:calc(100% - 2rem)}.toast-module__toast___SOSDh{padding:.875rem 1rem}}.toggle-module__wrapper___xb91q{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem 0;width:100%}.toggle-module__label___8-AlI{font-size:.875rem;font-weight:500;color:var(--color-text)}.toggle-module__switch___9e0np{position:relative;flex-shrink:0;width:3rem;height:1.5rem;background-color:var(--color-disabled);display:flex;align-items:center;border-radius:100px;padding:3px;cursor:pointer;border:2px solid var(--color-border);transition:background-color .3s ease;outline:none}.toggle-module__switch___9e0np.toggle-module__enabled___3jPo5{background-color:var(--color-primary)}.toggle-module__switch___9e0np.toggle-module__enabled___3jPo5 .toggle-module__handle___fiWwj{margin-left:auto}.toggle-module__handle___fiWwj{width:1rem;height:1rem;background-color:var(--color-surface);border-radius:50%}.toggle-module__switch___9e0np:hover:not(:disabled){border-color:var(--color-accent)}.toggle-module__switch___9e0np:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.topnav-module__topnavContainer___TXXB4{position:sticky;width:100%;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;gap:1rem;max-height:60px;top:env(safe-area-inset-top,0);padding-left:env(safe-area-inset-left,1rem);padding-right:env(safe-area-inset-right,1rem)}.topnav-module__topRow___s-Ohm,.topnav-module__header___r3Y52{display:flex;align-items:center;gap:.75rem}.topnav-module__header___r3Y52 h1{font-size:1.25rem;margin:0;white-space:nowrap}.topnav-module__collapsibleContent___oulCx{display:flex;align-items:center;gap:1rem;margin-left:auto}.topnav-module__searchWrapper___Rdox0{display:none}.topnav-module__themeWrapper___gx0Yd{display:flex;align-items:center}@media(min-width:769px){.topnav-module__topnavContainer___TXXB4{padding:0 2rem;min-height:4rem;gap:2rem}.topnav-module__header___r3Y52 h1{font-size:1.5rem}.topnav-module__searchWrapper___Rdox0{display:flex;flex:1;max-width:450px}.topnav-module__collapsibleContent___oulCx{flex:1;justify-content:flex-end;gap:2rem}}.viewer-module__thumbnailWrapper___iV-AM{position:relative;width:var(--thumbnail-size, 300px);max-width:100%;height:auto;display:inline-block}.viewer-module__thumbnail___pk9Jf{width:100%;height:auto;border-radius:.5rem;object-fit:cover;display:block;cursor:zoom-in}.viewer-module__hoverOverlay___k04ev{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;border-radius:.5rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.viewer-module__expandIcon___xm6pk{font-size:3rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.viewer-module__skeleton___h3Hzv{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border-radius:.5rem;cursor:default;background:linear-gradient(90deg,var(--color-border) 0%,var(--color-surface) 50%,var(--color-border) 100%);background-size:200% 100%;animation:viewer-module__shimmer___Lapfq 1.5s ease-in-out infinite}.viewer-module__skeleton___h3Hzv:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0000001a;pointer-events:none}@keyframes viewer-module__shimmer___Lapfq{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-color-scheme:dark){.viewer-module__skeleton___h3Hzv{background-color:#ffffff0d}.viewer-module__skeleton___h3Hzv:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1),transparent 100%)}}.viewer-module__errorState___gXQxU{width:var(--thumbnail-size);height:250px;border-radius:.5rem;background-color:var(--color-surface);border:2px dashed var(--color-text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.viewer-module__errorIcon___-qPTV{font-size:2rem}.viewer-module__errorText___UT4dg{color:var(--color-text-secondary);font-size:.875rem;margin:0}.viewer-module__retryButton___L-B3U{margin-top:.5rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.viewer-module__retryButton___L-B3U:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.viewer-module__lightboxOverlay___jP4rl{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem}.viewer-module__closeButton___0rBK1{position:absolute;top:1rem;right:1rem;width:48px;height:48px;border:none;background-color:#ffffff1a;border-radius:50%;cursor:pointer;font-size:24px;color:#fff;z-index:10000;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.viewer-module__closeButton___0rBK1:hover{background-color:#fff3}.viewer-module__lightboxContent___i-2FK{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:1rem}.viewer-module__lightboxMedia___ZBgR-{max-width:100%;max-height:80vh;width:auto;height:auto;border-radius:8px}@media(max-width:768px){.viewer-module__lightboxOverlay___jP4rl{padding:1rem}.viewer-module__closeButton___0rBK1{top:.5rem;right:.5rem;width:40px;height:40px;font-size:20px}.viewer-module__lightboxMedia___ZBgR-{max-height:70vh}}
|
|
1
|
+
.accordion-module__container___M1a4P{width:100%;border:2px solid var(--color-border);border-radius:.5rem;overflow:hidden;align-self:flex-start}.accordion-module__accordion___C0eUc{width:100%;background-color:var(--color-surface);color:#fff;cursor:pointer;display:flex;flex-direction:row;padding:1rem;text-align:left;align-items:center;border:none}.accordion-module__header___NFLuh{font-size:medium;font-weight:600;color:var(--color-text)}.accordion-module__icon___Mjff1{margin-left:auto;color:var(--color-text)}.accordion-module__content___18iAN{position:relative;background-color:var(--color-surface);transition:max-height .2s ease-out;max-height:0}.accordion-module__content___18iAN.accordion-module__open___acchR{padding:1rem;max-height:500px}.accordion-module__container___M1a4P:hover:not(:has(.accordion-module__content___18iAN.accordion-module__open___acchR)){border-color:var(--color-primary)}.action-sheet-module__backdrop___E-oM5{position:fixed;top:0;right:0;bottom:0;left:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9998}.action-sheet-module__sheet___zFFdl{position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-radius:1rem 1rem 0 0;z-index:9999;max-height:80vh;display:flex;flex-direction:column;padding-bottom:calc(1rem + env(safe-area-inset-bottom,0))}.action-sheet-module__handle___1dYRp{display:flex;justify-content:center;padding:.75rem}.action-sheet-module__handleBar___3lmQ1{width:36px;height:4px;background:var(--color-border);border-radius:2px}.action-sheet-module__header___oMW-U{padding:1rem 1.5rem;text-align:center;border-bottom:1px solid var(--color-border)}.action-sheet-module__title___k5RM2{font-size:1.125rem;font-weight:600;color:var(--color-text);margin:0 0 .25rem}.action-sheet-module__message___jsCQT{font-size:.875rem;color:var(--color-text-secondary);margin:0}.action-sheet-module__actions___vgr-N{overflow-y:auto;max-height:60vh}.action-sheet-module__action___kV71S{display:flex;align-items:center;gap:1rem;width:100%;padding:1rem 1.5rem;background:transparent;border:none;border-bottom:1px solid var(--color-border);color:var(--color-text);font-size:1rem;cursor:pointer;transition:background-color .15s;min-height:56px}.action-sheet-module__action___kV71S:active{background-color:#0000000d}.action-sheet-module__action___kV71S:disabled{opacity:.5;cursor:not-allowed}.action-sheet-module__action___kV71S.action-sheet-module__destructive___N5M9i{color:var(--color-error)}.action-sheet-module__actionIcon___MXc9U{font-size:1.5rem;width:28px;display:flex;align-items:center;justify-content:center}.action-sheet-module__actionLabel___dPWqE{flex:1;text-align:left}.action-sheet-module__cancel___Oncun{width:100%;padding:1rem;background:var(--color-surface);border:none;color:var(--color-primary);font-size:1rem;font-weight:600;cursor:pointer;margin-top:.5rem}.action-sheet-module__cancel___Oncun:active{opacity:.7}.alert-module__alert___phXsH{pointer-events:auto;width:100%;padding:1rem 1.25rem;background:var(--toast-bg);border-radius:12px;color:var(--color-text);display:flex;align-items:center;gap:.75rem;position:relative;overflow:hidden;border:2px solid var(--status-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.alert-module__iconWrapper___5mthT{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--status-color);display:flex;align-items:center;justify-content:center;margin-left:.5rem}.alert-module__statusIcon___Tyvx3{color:#fff}.alert-module__content___IvPaU{flex:1;font-size:.9375rem;line-height:1.5}.alert-module__success___lM3GI{--status-color: var(--color-success);--toast-bg: var(--toast-bg-success)}.alert-module__warning___DfOAf{--status-color: var(--color-warning);--toast-bg: var(--toast-bg-warning)}.alert-module__error___9GnhN{--status-color: var(--color-error);--toast-bg: var(--toast-bg-error)}.alert-module__info___SotSQ{--status-color: var(--color-info);--toast-bg: var(--toast-bg-info)}@media(max-width:768px){.alert-module__container___SGTJP{width:calc(100% - 2rem)}.alert-module__alert___phXsH{padding:.875rem 1rem}}.applayout-module__layout___d2c6J{position:relative;display:flex;min-height:100vh;background-color:var(--color-background)}.applayout-module__mainArea___Q4Yhu{flex:1;min-height:100vh;display:flex;flex-direction:column;min-width:0}.applayout-module__content___lok2L{flex:1;padding:2rem;max-width:1400px}@media(max-width:768px){.applayout-module__mainArea___Q4Yhu{margin-left:0!important}.applayout-module__content___lok2L{padding:1rem}}.box-module__box___FP5Js{display:flex;width:100%;gap:1rem}.box-module__box___FP5Js[data-direction=vertical]{flex-direction:column}.box-module__box___FP5Js[data-direction=vertical][data-position=left]{align-items:flex-start}.box-module__box___FP5Js[data-direction=vertical][data-position=center]{align-items:center}.box-module__box___FP5Js[data-direction=vertical][data-position=right]{align-items:flex-end}.box-module__box___FP5Js[data-direction=horizontal]{flex-direction:row;align-items:center}.box-module__box___FP5Js[data-direction=horizontal][data-position=left]{justify-content:flex-start}.box-module__box___FP5Js[data-direction=horizontal][data-position=center]{justify-content:center}.box-module__box___FP5Js[data-direction=horizontal][data-position=right]{justify-content:flex-end}.tooltip-module__triggerWrapper___mvvzS{display:inline-block;width:fit-content;text-decoration:underline dashed var(--color-accent)}.tooltip-module__tooltip___mEmui{position:fixed;left:var(--tooltip-x, 0);top:var(--tooltip-y, 0);padding:8px 12px;border-radius:4px;font-size:14px;z-index:1000;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text);pointer-events:none;white-space:nowrap;display:flex;flex-direction:column;align-items:center;will-change:transform}.tooltip-module__arrow___Kjrs-{position:absolute;width:0;height:0;border-style:solid;border-width:6px}.tooltip-module__tooltip___mEmui[data-position=top] .tooltip-module__arrow___Kjrs-{top:100%;border-color:var(--color-primary) transparent transparent transparent}.tooltip-module__tooltip___mEmui[data-position=bottom] .tooltip-module__arrow___Kjrs-{bottom:100%;border-color:transparent transparent var(--color-primary) transparent}.tooltip-module__tooltip___mEmui[data-position=left] .tooltip-module__arrow___Kjrs-{left:100%;border-color:transparent transparent transparent var(--color-primary)}.tooltip-module__tooltip___mEmui[data-position=right] .tooltip-module__arrow___Kjrs-{right:100%;border-color:transparent var(--color-primary) transparent transparent}.button-module__button___JyfZW{border:none;border-radius:.75rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;cursor:pointer;color:var(--color-text)}.button-module__button___JyfZW:active{opacity:.8}.button-module__button___JyfZW:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.button-module__button___JyfZW:focus-visible{outline:2px solid var(--color-accent)}.button-module__primary___ggjlO{background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-primary-dark) 100%);color:var(--color-text-on-primary)}.button-module__secondary___Q4I1z{background:linear-gradient(135deg,var(--color-secondary) 0%,var(--color-secondary-dark) 100%);color:var(--color-text-on-secondary)}.button-module__icon___zcUnX{padding:.75rem;border-radius:.5rem;background:transparent;object-fit:cover}.button-module__primary___ggjlO:hover:not(:disabled),.button-module__secondary___Q4I1z:hover:not(:disabled),.button-module__icon___zcUnX:hover:not(:disabled){outline:2px solid var(--color-accent)}.checkbox-module__container___26-ah{display:inline-flex;align-items:center}.checkbox-module__hiddenInput___X-HH-{position:absolute;opacity:0;width:0;height:0}.checkbox-module__label___dV34E{display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.checkbox-module__box___UQZjc{width:20px;height:20px;border:2px solid var(--color-border);border-radius:.25rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.checkbox-module__box___UQZjc:hover{border-color:var(--color-primary)}.checkbox-module__checked___mqwdo{background-color:var(--color-primary);border-color:var(--color-primary)}.checkbox-module__labelText___ORrnL{color:var(--color-text);font-size:.9375rem}.checkbox-module__disabled___E2BaQ{opacity:.5;pointer-events:none}.checkbox-module__disabled___E2BaQ .checkbox-module__label___dV34E{cursor:not-allowed}.container-module__container___g2I0w{display:flex;flex-direction:column;background:var(--color-surface);border-radius:.75rem;overflow:visible;min-width:0;width:fit-content}.container-module__fullWidth___C7E9O{width:100%}.container-module__default___VLaR3{border:1px solid var(--color-border)}.container-module__outlined___V7eh0{border:2px solid var(--color-border)}.container-module__elevated___TdnlI{border:1px solid var(--color-border);box-shadow:var(--shadow-md)}.container-module__flat___VVl-e{background:transparent;border:none}.container-module__header___EUrkl{display:flex;align-items:center;border-bottom:1px solid var(--color-border);background:var(--color-background);gap:1rem}.container-module__headerContent___E9O0H{flex:1}.container-module__headerActions___PZYbZ{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}.container-module__content___U-qAz{flex:1;overflow:auto}.container-module__footer___TrwGJ{display:flex;justify-content:flex-end;align-items:center;gap:.75rem;border-top:1px solid var(--color-border);background:var(--color-background)}.container-module__padding-none___eH2bc .container-module__header___EUrkl,.container-module__padding-none___eH2bc .container-module__footer___TrwGJ{padding:.75rem 0}.container-module__padding-none___eH2bc .container-module__content___U-qAz{padding:0}.container-module__padding-sm___mUJyq .container-module__header___EUrkl,.container-module__padding-sm___mUJyq .container-module__footer___TrwGJ{padding:.75rem 1rem}.container-module__padding-sm___mUJyq .container-module__content___U-qAz{padding:1rem}.container-module__padding-md___tOs5h .container-module__header___EUrkl,.container-module__padding-md___tOs5h .container-module__footer___TrwGJ{padding:1rem 1.5rem}.container-module__padding-md___tOs5h .container-module__content___U-qAz{padding:1.5rem}.container-module__padding-lg___-J-K1 .container-module__header___EUrkl,.container-module__padding-lg___-J-K1 .container-module__footer___TrwGJ{padding:1.25rem 2rem}.container-module__padding-lg___-J-K1 .container-module__content___U-qAz{padding:2rem}@media(max-width:768px){.container-module__header___EUrkl{flex-direction:column;gap:1rem}.container-module__headerActions___PZYbZ{width:100%;margin-left:0;justify-content:flex-start}.container-module__padding-md___tOs5h .container-module__content___U-qAz,.container-module__padding-lg___-J-K1 .container-module__content___U-qAz{padding:1rem}}.floating-menu-button-module__floatingButton___aAEgo{position:fixed;bottom:calc(2rem + env(safe-area-inset-bottom,0));right:calc(2rem + env(safe-area-inset-right,0));z-index:998;background:var(--color-primary);color:#fff;border:none;border-radius:50%;width:56px;height:56px;display:flex;align-items:center;justify-content:center;cursor:pointer}@media(min-width:769px){.floating-menu-button-module__floatingButton___aAEgo{display:none}}.styles-module__wrapper___-K643{display:flex;flex-direction:column;gap:.25rem;width:100%}.styles-module__container___rhMhO{position:relative;width:100%;margin-top:.65rem}.styles-module__containerNoLabel___BoOt6{margin-top:0}.styles-module__border___Jsi91{position:relative;display:inline-flex;background:var(--color-surface);border:1.5px solid var(--color-border);border-radius:.5rem;transition:border-color .2s ease;padding-top:.25rem}.styles-module__border___Jsi91:focus-within{border-color:var(--color-accent)}.styles-module__container___rhMhO:focus-within .styles-module__label___gBE41{border-color:var(--color-accent);color:var(--color-accent)}.styles-module__borderError___WH34m{border-color:var(--color-error);background-color:var(--toast-bg-error)}.styles-module__borderDisabled___wc6lw{opacity:.5;filter:grayscale(.3);cursor:not-allowed}.styles-module__border___Jsi91:hover:not(.styles-module__borderDisabled___wc6lw):not(.styles-module__borderError___WH34m){border-color:var(--color-accent)}.styles-module__label___gBE41{position:absolute;top:-.65rem;left:.75rem;background:var(--color-surface);padding:.1rem .6rem;border-radius:999px;font-size:.7rem;font-weight:500;letter-spacing:.03em;border:1.5px solid var(--color-border);color:var(--color-text-secondary);pointer-events:none;transition:border-color .2s ease,color .2s ease;white-space:nowrap;z-index:1}.styles-module__labelFocused___Q36TT{border-color:var(--color-accent);color:var(--color-accent)}.styles-module__labelError___m0PRR{border-color:var(--color-error);color:var(--color-error)}.styles-module__required___dp8xu{color:var(--color-error);margin-left:.25rem}.styles-module__helperText___cA3Se{font-size:.75rem;color:var(--color-text-secondary)}.styles-module__errorText___QZJ5F{font-size:.75rem;color:var(--color-error);margin:0;display:flex;align-items:center;gap:.25rem}.styles-module__errorText___QZJ5F:before{content:"⚠";font-size:1rem}.styles-module__header___XLj-v{color:var(--color-text)}.input-module__inputContainer___ulqhQ{position:relative;width:100%;min-width:250px}.input-module__input___tBoBs{width:100%;padding:.8rem 2.5rem .8rem 1.2rem;font-size:.875rem;color:var(--color-text);background:transparent;border:none;outline:none}.input-module__input___tBoBs::placeholder{color:var(--color-text-secondary);opacity:.6}.input-module__input___tBoBs:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.input-module__clearButton___GmMYO{position:absolute;right:.8rem;top:50%;transform:translateY(-50%);background:transparent;border:none;cursor:pointer;padding:.5rem;display:flex;align-items:center;justify-content:center}.input-module__clearButton___GmMYO:hover{color:var(--color-primary);transform:translateY(-50%) scale(1.1)}.input-module__suggestionsList___ym2TV{position:absolute;top:calc(100% + .5rem);left:0;right:0;background-color:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;list-style:none;padding:.4rem;margin:0;z-index:1000;max-height:200px;overflow-y:auto}.input-module__suggestionItem___xtYWE{padding:.6rem 1rem;font-size:.75rem;color:var(--color-text);border-radius:.3rem;cursor:pointer;min-height:44px;display:flex;align-items:center}.input-module__suggestionItem___xtYWE:hover{background-color:var(--color-primary);color:#fff}.input-module__suggestionsList___ym2TV::-webkit-scrollbar{width:4px}.input-module__suggestionsList___ym2TV::-webkit-scrollbar-thumb{background:var(--color-text-secondary);border-radius:10px}@media(max-width:768px){.input-module__input___tBoBs{font-size:16px}}.modal-module__overlay___z2GxJ{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#0009;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem}.modal-module__modal___RJmct{background-color:var(--color-surface);border-radius:.75rem;width:100%;max-height:90vh;overflow:hidden}.modal-module__modal___RJmct[data-size=s]{max-width:400px}.modal-module__modal___RJmct[data-size=m]{max-width:600px}.modal-module__modal___RJmct[data-size=l]{max-width:800px}.modal-module__modal___RJmct[data-size=xl]{max-width:1140px}.modal-module__header___KlpKY{display:flex;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-border)}.modal-module__close___ELArH{margin-left:auto;background:none;border:none}.modal-module__content___OMS8T{padding:1.5rem;overflow-y:auto;max-height:calc(90vh - 140px)}.modal-module__footer___rF7ly{border-top:1px solid var(--color-border);display:flex;gap:.75rem}@media(max-width:768px){.modal-module__modal___RJmct{width:100%;max-height:90vh;border-radius:1rem 1rem 0 0;margin-top:auto}}.select-module__container___U4BrV{position:relative;width:100%;min-width:250px;outline:none}.select-module__container___U4BrV:focus-within{outline:none}.select-module__hiddenSelect___qRfKA{position:absolute;opacity:0;pointer-events:none;width:0;height:0}.select-module__control___qogxN{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;cursor:pointer;color:var(--color-text)}.select-module__control___qogxN:focus{outline:2px solid var(--color-primary);outline-offset:2px}.select-module__control___qogxN:focus:not(:focus-visible){outline:none}.select-module__disabled___kYpJI{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.select-module__value___sRnlS{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-right:.5rem}.select-module__placeholder___qhzG5{color:var(--color-text-secondary)}.select-module__arrow___LWj9s{font-size:.75rem;color:var(--color-text-secondary);flex-shrink:0}.select-module__menu___MHmhv{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:.5rem;z-index:1000;max-height:300px;overflow:hidden}.select-module__searchWrapper___gI2ic{padding:.5rem;border-bottom:1px solid var(--color-border)}.select-module__list___XICSu{max-height:250px;overflow-y:auto;padding:.25rem}.select-module__list___XICSu::-webkit-scrollbar{width:8px}.select-module__list___XICSu::-webkit-scrollbar-track{background:transparent}.select-module__list___XICSu::-webkit-scrollbar-thumb{background:var(--color-text-secondary);border-radius:4px}.select-module__list___XICSu::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.select-module__item___XHREC{padding:10px;cursor:pointer;border-radius:.375rem;display:flex;align-items:center;gap:.5rem;color:var(--color-text);min-height:44px}.select-module__selected___iSbaR{background:var(--color-primary-dark);color:var(--color-text-on-primary);font-weight:600}.select-module__item___XHREC:hover,.select-module__highlighted___OhCJO:not(.select-module__selected___iSbaR){background:var(--color-secondary);color:var(--color-text-on-secondary)}.select-module__checkbox___dD2H5{font-size:1.25rem;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center}.select-module__empty___i6OgM{padding:1rem;text-align:center;color:var(--color-text-secondary);font-size:.875rem}@media(max-width:768px){.select-module__menu___MHmhv{max-height:200px}.select-module__list___XICSu{max-height:150px}}.sidenav-module__overlay___QDdKo{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999}.sidenav-module__sidenav___CnZmU{position:fixed;height:100vh;top:0;background-color:var(--color-surface);display:flex;flex-direction:column;overflow:hidden;z-index:1000}.sidenav-module__sidenav___CnZmU.sidenav-module__left___Qa1xG{left:0;border-right:2px solid var(--color-border)}.sidenav-module__sidenav___CnZmU.sidenav-module__right___4BYR2{right:0;border-left:2px solid var(--color-border)}.sidenav-module__sidenav___CnZmU.sidenav-module__collapsed___jltGX .sidenav-module__header___f3Sc9{justify-content:center}.sidenav-module__sidenav___CnZmU.sidenav-module__collapsed___jltGX .sidenav-module__item___5B09S{justify-content:center;padding:1rem .5rem}.sidenav-module__header___f3Sc9{display:flex;align-items:center;justify-content:flex-end;padding:1.5rem;border-bottom:1px solid var(--color-border);height:4rem}.sidenav-module__toggleButton___8Z7kQ{background:transparent;border:none;cursor:pointer;color:var(--color-text);align-items:center;justify-content:center;border-radius:.5rem;transition:background-color .2s ease}.sidenav-module__items___Az0kh{flex:1;padding:1rem;display:flex;flex-direction:column;gap:.75rem;overflow-y:auto;overflow-x:hidden}.sidenav-module__item___5B09S{display:flex;align-items:center;gap:.75rem;padding:1rem;background:transparent;border:2px solid var(--color-border);border-radius:.5rem;color:var(--color-text);font-size:1rem;font-weight:500;cursor:pointer;text-align:left;white-space:nowrap}.sidenav-module__item___5B09S:hover,.sidenav-module__active___Lo-AM{background-color:var(--color-primary);border-color:var(--color-primary);color:#fff}.sidenav-module__itemIcon___i6GWq{display:flex;align-items:center;justify-content:center;font-size:1.25rem;flex-shrink:0;width:24px}.sidenav-module__items___Az0kh::-webkit-scrollbar{width:6px}.sidenav-module__items___Az0kh::-webkit-scrollbar-track{background:transparent}.sidenav-module__items___Az0kh::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:3px}.sidenav-module__items___Az0kh::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.stepper-module__container___GYIxN{display:inline-flex;align-items:center;width:8rem}.stepper-module__stepper___44JDp{display:flex;align-items:center;justify-content:center;background:none;color:var(--color-primary);border:none;cursor:pointer;flex-shrink:0;width:2.5rem;height:2.5rem;border-radius:.5rem}.stepper-module__stepper___44JDp:hover:not(:disabled){background-color:var(--color-border);color:var(--color-primary-dark)}.stepper-module__stepper___44JDp:active:not(:disabled){transform:scale(.9)}.stepper-module__stepper___44JDp:disabled{opacity:.3;cursor:not-allowed}.stepper-module__input___9ZI6O{flex:1;min-width:0;text-align:center;border:none!important;background:transparent!important;padding:0!important;font-weight:600;font-size:1rem;color:var(--color-text)}.stepper-module__input___9ZI6O:focus{outline:none}.toast-module__container___7m6vr{position:fixed;z-index:10000;left:50%;transform:translate(-50%);display:flex;flex-direction:column;gap:.75rem;pointer-events:none;max-width:500px;width:90%;bottom:calc(1rem + env(safe-area-inset-bottom,0))}.toast-module__top___iVpue{top:2rem}.toast-module__bottom___Bt3N0{bottom:2rem}.toast-module__toast___SOSDh{pointer-events:auto;width:100%;padding:1rem 1.25rem;background:var(--toast-bg);border-radius:12px;color:var(--color-text);display:flex;align-items:center;gap:.75rem;position:relative;overflow:hidden;border:2px solid var(--status-color);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.toast-module__iconWrapper___F-4yg{flex-shrink:0;width:32px;height:32px;border-radius:50%;background:var(--status-color);display:flex;align-items:center;justify-content:center;margin-left:.5rem}.toast-module__statusIcon___KjJ56{font-size:1.125rem;font-weight:700;color:#fff}.toast-module__content___9ufP5{flex:1;font-size:.9375rem;line-height:1.5}.toast-module__closeButton___eMXm-{flex-shrink:0;background:transparent;border:none;cursor:pointer;color:var(--color-text-secondary);padding:.25rem;display:flex;align-items:center;justify-content:center;border-radius:4px}.toast-module__closeButton___eMXm-:hover{background:#0000001a;color:var(--color-text)}.toast-module__success___FYQI3{--status-color: var(--color-success);--toast-bg: var(--toast-bg-success)}.toast-module__warning___2XrO1{--status-color: var(--color-warning);--toast-bg: var(--toast-bg-warning)}.toast-module__error___v44fd{--status-color: var(--color-error);--toast-bg: var(--toast-bg-error)}.toast-module__info___tOY3D{--status-color: var(--color-info);--toast-bg: var(--toast-bg-info)}@media(prefers-color-scheme:dark){.toast-module__closeButton___eMXm-:hover{background:#ffffff1a}}@media(max-width:768px){.toast-module__container___7m6vr{width:calc(100% - 2rem)}.toast-module__toast___SOSDh{padding:.875rem 1rem}}.toggle-module__wrapper___xb91q{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.25rem 0;width:100%}.toggle-module__label___8-AlI{font-size:.875rem;font-weight:500;color:var(--color-text)}.toggle-module__switch___9e0np{position:relative;flex-shrink:0;width:3rem;height:1.5rem;background-color:var(--color-disabled);display:flex;align-items:center;border-radius:100px;padding:3px;cursor:pointer;border:2px solid var(--color-border);transition:background-color .3s ease;outline:none}.toggle-module__switch___9e0np.toggle-module__enabled___3jPo5{background-color:var(--color-primary)}.toggle-module__switch___9e0np.toggle-module__enabled___3jPo5 .toggle-module__handle___fiWwj{margin-left:auto}.toggle-module__handle___fiWwj{width:1rem;height:1rem;background-color:var(--color-surface);border-radius:50%}.toggle-module__switch___9e0np:hover:not(:disabled){border-color:var(--color-accent)}.toggle-module__switch___9e0np:disabled{opacity:.5;cursor:not-allowed;filter:grayscale(.3)}.topnav-module__topnavContainer___TXXB4{position:sticky;width:100%;background-color:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:100;display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;gap:1rem;max-height:60px;top:env(safe-area-inset-top,0);padding-left:env(safe-area-inset-left,1rem);padding-right:env(safe-area-inset-right,1rem)}.topnav-module__topRow___s-Ohm,.topnav-module__header___r3Y52{display:flex;align-items:center;gap:.75rem}.topnav-module__header___r3Y52 h1{font-size:1.25rem;margin:0;white-space:nowrap}.topnav-module__collapsibleContent___oulCx{display:flex;align-items:center;gap:1rem;margin-left:auto}.topnav-module__searchWrapper___Rdox0{display:none}.topnav-module__themeWrapper___gx0Yd{display:flex;align-items:center}@media(min-width:769px){.topnav-module__topnavContainer___TXXB4{padding:0 2rem;min-height:4rem;gap:2rem}.topnav-module__header___r3Y52 h1{font-size:1.5rem}.topnav-module__searchWrapper___Rdox0{display:flex;flex:1;max-width:450px}.topnav-module__collapsibleContent___oulCx{flex:1;justify-content:flex-end;gap:2rem}}.viewer-module__thumbnailWrapper___iV-AM{position:relative;width:var(--thumbnail-size, 300px);max-width:100%;height:auto;display:inline-block}.viewer-module__thumbnail___pk9Jf{width:100%;height:auto;border-radius:.5rem;object-fit:cover;display:block;cursor:zoom-in}.viewer-module__hoverOverlay___k04ev{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;border-radius:.5rem;display:flex;align-items:center;justify-content:center;pointer-events:none}.viewer-module__expandIcon___xm6pk{font-size:3rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.viewer-module__skeleton___h3Hzv{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;border-radius:.5rem;cursor:default;background:linear-gradient(90deg,var(--color-border) 0%,var(--color-surface) 50%,var(--color-border) 100%);background-size:200% 100%;animation:viewer-module__shimmer___Lapfq 1.5s ease-in-out infinite}.viewer-module__skeleton___h3Hzv:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background-color:#0000001a;pointer-events:none}@keyframes viewer-module__shimmer___Lapfq{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-color-scheme:dark){.viewer-module__skeleton___h3Hzv{background-color:#ffffff0d}.viewer-module__skeleton___h3Hzv:after{background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.1),transparent 100%)}}.viewer-module__errorState___gXQxU{width:var(--thumbnail-size);height:250px;border-radius:.5rem;background-color:var(--color-surface);border:2px dashed var(--color-text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem}.viewer-module__errorIcon___-qPTV{font-size:2rem}.viewer-module__errorText___UT4dg{color:var(--color-text-secondary);font-size:.875rem;margin:0}.viewer-module__retryButton___L-B3U{margin-top:.5rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:.875rem}.viewer-module__retryButton___L-B3U:hover{background:var(--color-primary-dark);transform:translateY(-1px)}.viewer-module__lightboxOverlay___jP4rl{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:9999;display:flex;align-items:center;justify-content:center;padding:2rem}.viewer-module__closeButton___0rBK1{position:absolute;top:1rem;right:1rem;width:48px;height:48px;border:none;background-color:#ffffff1a;border-radius:50%;cursor:pointer;font-size:24px;color:#fff;z-index:10000;transition:background-color .2s ease;display:flex;align-items:center;justify-content:center}.viewer-module__closeButton___0rBK1:hover{background-color:#fff3}.viewer-module__lightboxContent___i-2FK{max-width:90vw;max-height:90vh;display:flex;flex-direction:column;align-items:center;gap:1rem}.viewer-module__lightboxMedia___ZBgR-{max-width:100%;max-height:80vh;width:auto;height:auto;border-radius:8px}@media(max-width:768px){.viewer-module__lightboxOverlay___jP4rl{padding:1rem}.viewer-module__closeButton___0rBK1{top:.5rem;right:.5rem;width:40px;height:40px;font-size:20px}.viewer-module__lightboxMedia___ZBgR-{max-height:70vh}}:root{--color-primary: #1A6B7A;--color-primary-dark: #0F4F5C;--color-secondary: #7A4A1E;--color-secondary-dark: #5C3412;--color-accent: #C2185B;--color-background: #F0F4F7;--color-surface: #FFFFFF;--color-surface-elevated: #E8EEF3;--color-text: #0F1E2E;--color-text-secondary: #3D5166;--color-text-on-primary: #FFFFFF;--color-text-on-secondary: #FFFFFF;--color-text-on-accent: #FFFFFF;--color-disabled: #9CA3AF;--color-border: rgba(0, 0, 0, .12);--shadow-sm: 0 2px 8px rgba(26, 107, 122, .12);--shadow-md: 0 4px 12px rgba(26, 107, 122, .2);--shadow-lg: 0 8px 24px rgba(26, 107, 122, .28);--color-success: #1B5E45;--color-warning: #B45309;--color-error: #B91C1C;--color-info: #1A5276;--toast-bg-success: rgba(27, 94, 69, .1);--toast-bg-warning: rgba(180, 83, 9, .1);--toast-bg-error: rgba(185, 28, 28, .1);--toast-bg-info: rgba(26, 82, 118, .1)}.dark{--color-primary: #FF8B66;--color-primary-dark: #FF6E40;--color-secondary: #FF3DDB;--color-secondary-dark: #D600B3;--color-accent: #00E5FF;--color-background: #050508;--color-surface: #0D0D14;--color-surface-elevated: #141420;--color-text: #F0F6FF;--color-text-secondary: #9BAAB8;--color-disabled: #4A5568;--color-border: rgba(255, 255, 255, .25);--color-text-on-primary: #FFFFFF;--color-text-on-secondary: #FFFFFF;--color-text-on-accent: #FFFFFF;--shadow-sm: 0 2px 8px rgba(255, 110, 64, .25);--shadow-md: 0 4px 16px rgba(255, 110, 64, .35);--shadow-lg: 0 8px 32px rgba(255, 110, 64, .45);--color-success: #34D399;--color-warning: #FBBF24;--color-error: #F87171;--color-info: #60A5FA;--toast-bg-success: rgba(52, 211, 153, .12);--toast-bg-warning: rgba(251, 191, 36, .12);--toast-bg-error: rgba(248, 113, 113, .12);--toast-bg-info: rgba(96, 165, 250, .12)}@media(prefers-color-scheme:dark){:root:not(.light):not(.dark){--color-primary: #FF8B66;--color-primary-dark: #FF6E40;--color-secondary: #FFB84D;--color-secondary-dark: #FF8C42;--color-accent: #00E5FF;--color-background: #0A0118;--color-surface: #1F0F3D;--color-surface-elevated: #2A1850;--color-text: #E8F4FD;--color-text-secondary: #B0BEC5;--color-disabled: #6B7280;--color-border: rgba(255, 255, 255, .15);--shadow-sm: 0 2px 8px rgba(255, 110, 64, .2);--shadow-md: 0 4px 12px rgba(255, 110, 64, .3);--shadow-lg: 0 8px 24px rgba(255, 110, 64, .4);--color-success: #34D399;--color-warning: #FBBF24;--color-error: #F87171;--color-info: #60A5FA;--toast-bg-success: rgba(52, 211, 153, .15);--toast-bg-warning: rgba(251, 191, 36, .15);--toast-bg-error: rgba(248, 113, 113, .15);--toast-bg-info: rgba(96, 165, 250, .15)}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-background);color:var(--color-text);transition:background-color .3s ease,color .3s ease;min-height:100vh}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-new(root){animation:reveal .75s ease-out}@keyframes reveal{0%{clip-path:circle(0% at var(--x) var(--y))}to{clip-path:circle(150% at var(--x) var(--y))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}::view-transition-new(root){animation:none}}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Accordion';
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface ActionSheetAction {
|
|
2
|
-
label: string;
|
|
3
|
-
icon?: React.ReactNode;
|
|
4
|
-
onClick: () => void;
|
|
5
|
-
destructive?: boolean;
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export interface ActionSheetProps {
|
|
9
|
-
isOpen: boolean;
|
|
10
|
-
onClose: () => void;
|
|
11
|
-
title?: string;
|
|
12
|
-
message?: string;
|
|
13
|
-
actions: ActionSheetAction[];
|
|
14
|
-
}
|
|
15
|
-
export declare const ActionSheet: ({ isOpen, onClose, title, message, actions }: ActionSheetProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './ActionSheet';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Alert';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ReactNode } from 'react';
|
|
2
|
-
export interface AppLayoutProps {
|
|
3
|
-
topNav?: ReactNode;
|
|
4
|
-
sideNav?: ReactNode;
|
|
5
|
-
sideNavOpen?: boolean;
|
|
6
|
-
sideNavExpandedWidth?: string;
|
|
7
|
-
sideNavCollapsedWidth?: string;
|
|
8
|
-
children: ReactNode;
|
|
9
|
-
}
|
|
10
|
-
export declare const AppLayout: ({ topNav, sideNav, sideNavOpen, sideNavExpandedWidth, sideNavCollapsedWidth, children }: AppLayoutProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './AppLayout';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export type BoxPosition = 'left' | 'right' | 'center';
|
|
2
|
-
export type FlexDirection = 'horizontal' | 'vertical';
|
|
3
|
-
export interface BoxProps {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
position?: BoxPosition;
|
|
6
|
-
direction?: FlexDirection;
|
|
7
|
-
}
|
|
8
|
-
export declare const Box: ({ children, position, direction }: BoxProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Box';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { TooltipPosition } from '../Tooltip/Tooltip';
|
|
2
|
-
export type ButtonVariant = 'primary' | 'secondary' | 'icon';
|
|
3
|
-
export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
variant?: ButtonVariant;
|
|
6
|
-
disabled?: boolean;
|
|
7
|
-
disabledMessage?: string;
|
|
8
|
-
tooltipPosition?: TooltipPosition;
|
|
9
|
-
}
|
|
10
|
-
export declare const Button: ({ children, onClick, variant, disabled, disabledMessage, tooltipPosition, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Button';
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export interface CheckboxProps {
|
|
2
|
-
checked: boolean;
|
|
3
|
-
onChange: (checked: boolean) => void;
|
|
4
|
-
label?: string;
|
|
5
|
-
disabled?: boolean;
|
|
6
|
-
indeterminate?: boolean;
|
|
7
|
-
}
|
|
8
|
-
export declare const Checkbox: ({ checked, onChange, label, disabled, indeterminate }: CheckboxProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Checkbox';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type ContainerVariant = 'default' | 'outlined' | 'elevated' | 'flat';
|
|
2
|
-
export type ContainerPadding = 'none' | 'sm' | 'md' | 'lg';
|
|
3
|
-
export interface ContainerProps {
|
|
4
|
-
children: React.ReactNode;
|
|
5
|
-
header?: React.ReactNode;
|
|
6
|
-
headerActions?: React.ReactNode;
|
|
7
|
-
footer?: React.ReactNode;
|
|
8
|
-
variant?: ContainerVariant;
|
|
9
|
-
padding?: ContainerPadding;
|
|
10
|
-
fullWidth?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export declare const Container: ({ children, header, headerActions, footer, variant, padding, fullWidth }: ContainerProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Container';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type FloatingButtonVariant = 'menu' | 'action';
|
|
2
|
-
export interface FloatingButtonProps {
|
|
3
|
-
variant: FloatingButtonVariant;
|
|
4
|
-
ariaLabel: string;
|
|
5
|
-
onClick: () => void;
|
|
6
|
-
}
|
|
7
|
-
export declare const FloatingButton: ({ onClick, variant, ariaLabel }: FloatingButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './FloatingMenuButton';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { LabelHTMLAttributes } from 'react';
|
|
2
|
-
export interface FormFieldProps extends LabelHTMLAttributes<HTMLLabelElement> {
|
|
3
|
-
label?: string;
|
|
4
|
-
helperText?: string;
|
|
5
|
-
error?: string;
|
|
6
|
-
required?: boolean;
|
|
7
|
-
disabled?: boolean;
|
|
8
|
-
children: React.ReactNode;
|
|
9
|
-
}
|
|
10
|
-
export declare const FormField: ({ label, helperText, error, required, disabled, children }: FormFieldProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './FormField';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Header';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export interface InputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
|
|
2
|
-
value: string | undefined;
|
|
3
|
-
onChange?: (newValue: string) => void;
|
|
4
|
-
disabled?: boolean;
|
|
5
|
-
suggestions?: string[];
|
|
6
|
-
hideClear?: boolean;
|
|
7
|
-
required?: boolean;
|
|
8
|
-
label?: string;
|
|
9
|
-
error?: string;
|
|
10
|
-
helperText?: string;
|
|
11
|
-
}
|
|
12
|
-
export declare const Input: ({ value, onChange, disabled, suggestions, placeholder, hideClear, label, error, required, helperText, ...props }: InputProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Input';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export type ModalSize = 's' | 'm' | 'l' | 'xl';
|
|
2
|
-
export interface ModalProps {
|
|
3
|
-
isVisible: boolean;
|
|
4
|
-
onClose: () => void;
|
|
5
|
-
children: React.ReactNode;
|
|
6
|
-
size?: ModalSize;
|
|
7
|
-
header?: React.ReactNode;
|
|
8
|
-
footer?: React.ReactNode;
|
|
9
|
-
}
|
|
10
|
-
export declare const Modal: ({ isVisible, onClose, size, header, footer, children }: ModalProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Modal';
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
export type Option = {
|
|
2
|
-
label: string;
|
|
3
|
-
value: string | number;
|
|
4
|
-
};
|
|
5
|
-
interface SharedProps {
|
|
6
|
-
options: Option[];
|
|
7
|
-
autoFilter?: boolean;
|
|
8
|
-
placeholder?: string;
|
|
9
|
-
disabled?: boolean;
|
|
10
|
-
name?: string;
|
|
11
|
-
required?: boolean;
|
|
12
|
-
label?: string;
|
|
13
|
-
helperText?: string;
|
|
14
|
-
error?: string;
|
|
15
|
-
}
|
|
16
|
-
interface SingleSelectProps extends SharedProps {
|
|
17
|
-
selectType?: 'single';
|
|
18
|
-
selectedOption?: Option;
|
|
19
|
-
onChange: (option: Option) => void;
|
|
20
|
-
}
|
|
21
|
-
interface MultiSelectProps extends SharedProps {
|
|
22
|
-
selectType: 'multi';
|
|
23
|
-
selectedOption?: Option[];
|
|
24
|
-
onChange: (options: Option[]) => void;
|
|
25
|
-
}
|
|
26
|
-
export type SelectProps = SingleSelectProps | MultiSelectProps;
|
|
27
|
-
export declare const Select: (props: SelectProps) => import("react/jsx-runtime").JSX.Element;
|
|
28
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Select';
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export type NavItem = {
|
|
2
|
-
label: string;
|
|
3
|
-
icon?: React.ReactNode;
|
|
4
|
-
onClick: () => void;
|
|
5
|
-
};
|
|
6
|
-
export type NavPosition = 'left' | 'right';
|
|
7
|
-
export interface SideNavProps {
|
|
8
|
-
isOpen: boolean;
|
|
9
|
-
onToggle: () => void;
|
|
10
|
-
items: NavItem[];
|
|
11
|
-
expandedWidth?: string;
|
|
12
|
-
collapsedWidth?: string;
|
|
13
|
-
position?: NavPosition;
|
|
14
|
-
}
|
|
15
|
-
export declare const SideNav: ({ isOpen, items, onToggle, expandedWidth, collapsedWidth, position }: SideNavProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './SideNav';
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { FormFieldProps } from '../Form field';
|
|
2
|
-
export interface StepperProps extends Pick<FormFieldProps, 'label' | 'helperText' | 'error' | 'required'> {
|
|
3
|
-
value: number;
|
|
4
|
-
onChange: (value: number) => void;
|
|
5
|
-
min?: number;
|
|
6
|
-
max?: number;
|
|
7
|
-
step?: number;
|
|
8
|
-
disabled?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare const Stepper: ({ label, helperText, error, required, value, onChange, min, max, step, disabled }: StepperProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Stepper';
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export type ToastPosition = 'top' | 'bottom';
|
|
2
|
-
export type ToastStatus = 'success' | 'warning' | 'error' | 'info';
|
|
3
|
-
export interface ToastProps {
|
|
4
|
-
visible: boolean;
|
|
5
|
-
onDismiss: () => void;
|
|
6
|
-
timeout?: number;
|
|
7
|
-
position?: ToastPosition;
|
|
8
|
-
status?: ToastStatus;
|
|
9
|
-
children: React.ReactNode;
|
|
10
|
-
dismissible?: boolean;
|
|
11
|
-
}
|
|
12
|
-
export declare const Toast: ({ visible, onDismiss, timeout, position, status, children, dismissible }: ToastProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Toast';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Toggle';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export type TooltipPosition = 'top' | 'bottom' | 'left' | 'right';
|
|
2
|
-
export interface TooltipProps {
|
|
3
|
-
children: React.ReactNode;
|
|
4
|
-
message?: string;
|
|
5
|
-
position?: TooltipPosition;
|
|
6
|
-
}
|
|
7
|
-
export declare const Tooltip: ({ children, message, position }: TooltipProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Tooltip';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const ThemeToggler: () => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './TopNav';
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
export interface VideoProps {
|
|
2
|
-
controls?: boolean;
|
|
3
|
-
loop?: boolean;
|
|
4
|
-
autoPlay?: boolean;
|
|
5
|
-
muted?: boolean;
|
|
6
|
-
}
|
|
7
|
-
export type ViewerAspectRatio = '16/9' | '9/16' | '1/1' | '4/3' | '3/2' | '21/19';
|
|
8
|
-
export interface ViewerProps {
|
|
9
|
-
src: string;
|
|
10
|
-
alt: string;
|
|
11
|
-
video?: VideoProps;
|
|
12
|
-
thumbnailWidth?: string;
|
|
13
|
-
aspectRatio?: ViewerAspectRatio;
|
|
14
|
-
onError?: (error: Error) => void;
|
|
15
|
-
}
|
|
16
|
-
export declare const Viewer: ({ src, alt, video, thumbnailWidth, onError, aspectRatio }: ViewerProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { RefObject } from 'react';
|
|
2
|
-
import { ViewerAspectRatio } from './Viewer';
|
|
3
|
-
interface ViewerLoderProps {
|
|
4
|
-
divRef: RefObject<HTMLDivElement | null>;
|
|
5
|
-
width: string;
|
|
6
|
-
aspectRatio: ViewerAspectRatio;
|
|
7
|
-
}
|
|
8
|
-
export declare const ViewerLoader: ({ divRef, width, aspectRatio }: ViewerLoderProps) => import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export {};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './Viewer';
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
interface UseMediaLoaderProps {
|
|
2
|
-
src: string;
|
|
3
|
-
onError?: (error: Error) => void;
|
|
4
|
-
}
|
|
5
|
-
export declare const useMediaLoader: ({ src, onError }: UseMediaLoaderProps) => {
|
|
6
|
-
isLoading: boolean;
|
|
7
|
-
hasError: boolean;
|
|
8
|
-
isVideo: boolean;
|
|
9
|
-
reload: () => void;
|
|
10
|
-
};
|
|
11
|
-
export {};
|