@dmitriikapustin/ui 0.2.0 → 0.2.6
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.cjs +6418 -1481
- package/dist/index.d.cts +115 -44
- package/dist/index.d.ts +115 -44
- package/dist/index.js +6414 -1482
- package/package.json +7 -11
- package/dist/index.css +0 -4596
- package/dist/styles.css +0 -175
package/dist/index.d.cts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React$1, { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, ImgHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, AnchorHTMLAttributes } from 'react';
|
|
3
3
|
|
|
4
|
-
type ButtonVariant = 'primary' | '
|
|
5
|
-
type ButtonSize = 'sm' | 'md';
|
|
4
|
+
type ButtonVariant = 'primary' | 'ghost' | 'secondary' | 'outline';
|
|
5
|
+
type ButtonSize = 'sm' | 'md' | 'hero';
|
|
6
6
|
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
7
7
|
variant?: ButtonVariant;
|
|
8
8
|
size?: ButtonSize;
|
|
@@ -76,8 +76,10 @@ interface MenuItemProps {
|
|
|
76
76
|
active?: boolean;
|
|
77
77
|
onClick?: () => void;
|
|
78
78
|
className?: string;
|
|
79
|
+
/** Optional icon rendered before the text label */
|
|
80
|
+
icon?: React.ReactNode;
|
|
79
81
|
}
|
|
80
|
-
declare function MenuItem({ text, active, onClick, className }: MenuItemProps): react_jsx_runtime.JSX.Element;
|
|
82
|
+
declare function MenuItem({ text, active, onClick, className, icon }: MenuItemProps): react_jsx_runtime.JSX.Element;
|
|
81
83
|
|
|
82
84
|
type IconButtonVariant = 'primary' | 'secondary' | 'clear' | 'disabled' | 'contrast';
|
|
83
85
|
interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
@@ -173,56 +175,83 @@ interface TicketButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
173
175
|
declare function TicketButton({ children, icon, variant, className, ...props }: TicketButtonProps): react_jsx_runtime.JSX.Element;
|
|
174
176
|
|
|
175
177
|
/**
|
|
176
|
-
* Iconly Pro Icons
|
|
178
|
+
* Iconly Pro Icons (Light style)
|
|
177
179
|
* Source: https://iconly.collaboo.co/
|
|
178
|
-
* Copy SVG code directly from the icon page into JSX.
|
|
179
180
|
*
|
|
180
|
-
* All icons
|
|
181
|
-
*
|
|
181
|
+
* All icons share the same API: { size?, color?, className? }.
|
|
182
|
+
* Style conventions: viewBox="0 0 24 24", stroke=currentColor,
|
|
183
|
+
* strokeWidth=1.5, round line caps and joins.
|
|
182
184
|
*/
|
|
183
185
|
interface IconProps {
|
|
184
186
|
size?: number;
|
|
185
187
|
color?: string;
|
|
188
|
+
className?: string;
|
|
189
|
+
}
|
|
190
|
+
declare const IconlyActivity: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
191
|
+
declare const IconlyCheck: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
192
|
+
declare const IconlyStar: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
193
|
+
declare const IconlyLock: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
194
|
+
declare const IconlyHeart: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
195
|
+
declare const IconlyClock: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
196
|
+
declare const IconlySend: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
197
|
+
declare const IconlySearch: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
198
|
+
declare const IconlyMail: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
199
|
+
declare const IconlyChevronDown: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
200
|
+
declare const IconlyChevronRight: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
201
|
+
declare const IconlyChevronLeft: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
202
|
+
declare const IconlyEye: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
203
|
+
declare const IconlyEyeOff: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
204
|
+
declare const IconlyClose: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
205
|
+
declare const IconlyMenu: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
206
|
+
declare const IconlyShield: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
207
|
+
declare const IconlySmile: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
208
|
+
declare const IconlyAttach: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
209
|
+
declare const IconlyInfo: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
210
|
+
declare const IconlySun: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
211
|
+
declare const IconlyMoon: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
212
|
+
declare const IconlyRoadmap: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
213
|
+
declare const IconlyBook: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
214
|
+
declare const IconlySandbox: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
215
|
+
declare const IconlyQuote: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
216
|
+
declare const IconlyInfoCircle: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
217
|
+
declare const IconlySuccess: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
218
|
+
declare const IconlyWarning: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
219
|
+
declare const IconlyError: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
220
|
+
declare const IconlyLink: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
221
|
+
|
|
222
|
+
type CardActionVariant = 'primary' | 'ghost' | 'secondary' | 'outline';
|
|
223
|
+
interface CardAction {
|
|
224
|
+
label: string;
|
|
225
|
+
onClick?: () => void;
|
|
226
|
+
href?: string;
|
|
227
|
+
variant?: CardActionVariant;
|
|
186
228
|
}
|
|
187
|
-
declare const IconlyActivity: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
188
|
-
declare const IconlySmile: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
189
|
-
declare const IconlyAttach: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
190
|
-
declare const IconlyInfo: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
191
|
-
declare const IconlySend: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
192
|
-
declare const IconlySearch: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
193
|
-
declare const IconlyMail: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
194
|
-
declare const IconlyLock: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
195
|
-
declare const IconlyStar: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
196
|
-
declare const IconlySun: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
197
|
-
declare const IconlyMoon: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
198
|
-
declare const IconlyRoadmap: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
199
|
-
declare const IconlyBook: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
200
|
-
declare const IconlySandbox: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
201
|
-
declare const IconlyHeart: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
202
|
-
declare const IconlyClose: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
203
|
-
declare const IconlyMenu: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
204
|
-
declare const IconlyCheck: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
205
|
-
declare const IconlyQuote: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
206
|
-
declare const IconlyInfoCircle: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
207
|
-
declare const IconlySuccess: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
208
|
-
declare const IconlyWarning: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
209
|
-
declare const IconlyError: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
210
|
-
declare const IconlyChevronDown: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
211
|
-
declare const IconlyLink: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
212
|
-
declare const IconlyEye: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
213
|
-
declare const IconlyEyeOff: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
214
|
-
declare const IconlyChevronRight: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
215
|
-
declare const IconlyChevronLeft: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
216
|
-
|
|
217
229
|
interface CardProps {
|
|
218
|
-
image?: string;
|
|
230
|
+
image?: string | ReactNode;
|
|
219
231
|
title?: string;
|
|
220
232
|
description?: string;
|
|
233
|
+
badges?: ReactNode[];
|
|
234
|
+
action?: CardAction;
|
|
221
235
|
footer?: ReactNode;
|
|
222
236
|
children?: ReactNode;
|
|
223
237
|
className?: string;
|
|
224
238
|
}
|
|
225
|
-
declare function Card({ image, title, description, footer, children, className }: CardProps): react_jsx_runtime.JSX.Element;
|
|
239
|
+
declare function Card({ image, title, description, badges, action, footer, children, className, }: CardProps): react_jsx_runtime.JSX.Element;
|
|
240
|
+
|
|
241
|
+
interface IconBadgeProps {
|
|
242
|
+
icon: ReactNode;
|
|
243
|
+
className?: string;
|
|
244
|
+
}
|
|
245
|
+
declare function IconBadge({ icon, className }: IconBadgeProps): react_jsx_runtime.JSX.Element;
|
|
246
|
+
|
|
247
|
+
type GalleryVariant = 'grid' | 'masonry';
|
|
248
|
+
interface GalleryProps {
|
|
249
|
+
variant?: GalleryVariant;
|
|
250
|
+
images: string[];
|
|
251
|
+
title?: string;
|
|
252
|
+
className?: string;
|
|
253
|
+
}
|
|
254
|
+
declare function Gallery({ variant, images, title, className, }: GalleryProps): react_jsx_runtime.JSX.Element | null;
|
|
226
255
|
|
|
227
256
|
interface FormFieldProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
228
257
|
label: string;
|
|
@@ -464,13 +493,37 @@ interface FeatureGridProps {
|
|
|
464
493
|
declare function FeatureGrid({ features, columns, className }: FeatureGridProps): react_jsx_runtime.JSX.Element;
|
|
465
494
|
|
|
466
495
|
type SidebarType = 'menu' | 'courseSubmenu';
|
|
496
|
+
/** Rich menu item with string ID, label, and optional icon. */
|
|
497
|
+
interface SidebarItem {
|
|
498
|
+
id: string;
|
|
499
|
+
label: string;
|
|
500
|
+
icon?: ReactNode;
|
|
501
|
+
}
|
|
467
502
|
interface SidebarProps {
|
|
468
503
|
type?: SidebarType;
|
|
469
|
-
|
|
470
|
-
|
|
504
|
+
/** Plain strings (backward-compat) or rich SidebarItem objects. */
|
|
505
|
+
menuItems?: string[] | SidebarItem[];
|
|
506
|
+
footer?: ReactNode;
|
|
471
507
|
className?: string;
|
|
472
|
-
|
|
473
|
-
|
|
508
|
+
/** Externally-controlled active item id. When provided, bypasses internal useState. */
|
|
509
|
+
activeId?: string;
|
|
510
|
+
/** Callback when a menu item is clicked. Receives the item id (or index-string for plain strings). */
|
|
511
|
+
onItemClick?: (id: string) => void;
|
|
512
|
+
/** Custom logo rendered above the nav area. */
|
|
513
|
+
logo?: ReactNode;
|
|
514
|
+
/**
|
|
515
|
+
* Legal text at the bottom.
|
|
516
|
+
* - `undefined` → shows default Russian legal text
|
|
517
|
+
* - `null` → hides legal text entirely
|
|
518
|
+
* - `string` → shows the provided text
|
|
519
|
+
*/
|
|
520
|
+
legalText?: string | null;
|
|
521
|
+
/** When true, the sidebar is hidden (collapsed off-screen). On mobile (<768px) this is the default state. */
|
|
522
|
+
collapsed?: boolean;
|
|
523
|
+
/** Called when the user requests toggling the sidebar (e.g. clicking the overlay backdrop). */
|
|
524
|
+
onToggle?: () => void;
|
|
525
|
+
}
|
|
526
|
+
declare function Sidebar({ type, menuItems, footer, className, activeId, onItemClick, logo, legalText, collapsed, onToggle, }: SidebarProps): react_jsx_runtime.JSX.Element;
|
|
474
527
|
|
|
475
528
|
type AppCardVariant = 'default' | 'stamp' | 'stamp-padded';
|
|
476
529
|
interface AppCardProps {
|
|
@@ -700,6 +753,24 @@ interface PromoHeroProps {
|
|
|
700
753
|
}
|
|
701
754
|
declare function PromoHero({ title, subtitle, cta, secondaryCta, media, variant, className, }: PromoHeroProps): react_jsx_runtime.JSX.Element;
|
|
702
755
|
|
|
756
|
+
type PromoHeroFormVariant = 'light' | 'dark';
|
|
757
|
+
type PromoHeroFormInputType = 'url' | 'text' | 'email';
|
|
758
|
+
interface PromoHeroFormProps {
|
|
759
|
+
title: string | ReactNode;
|
|
760
|
+
subtitle?: string;
|
|
761
|
+
inputPlaceholder?: string;
|
|
762
|
+
inputType?: PromoHeroFormInputType;
|
|
763
|
+
inputAriaLabel?: string;
|
|
764
|
+
buttonLabel: string;
|
|
765
|
+
onSubmit?: (value: string) => void | Promise<void>;
|
|
766
|
+
loading?: boolean;
|
|
767
|
+
error?: string;
|
|
768
|
+
hint?: string;
|
|
769
|
+
variant?: PromoHeroFormVariant;
|
|
770
|
+
className?: string;
|
|
771
|
+
}
|
|
772
|
+
declare function PromoHeroForm({ title, subtitle, inputPlaceholder, inputType, inputAriaLabel, buttonLabel, onSubmit, loading, error, hint, variant: _variant, className, }: PromoHeroFormProps): react_jsx_runtime.JSX.Element;
|
|
773
|
+
|
|
703
774
|
interface PromoPricingTier {
|
|
704
775
|
name: string;
|
|
705
776
|
price: string;
|
|
@@ -938,4 +1009,4 @@ interface LandingLayoutProps {
|
|
|
938
1009
|
}
|
|
939
1010
|
declare function LandingLayout({ mode, nav, children, className, }: LandingLayoutProps): react_jsx_runtime.JSX.Element;
|
|
940
1011
|
|
|
941
|
-
export { Alert, AppCard, AppTopLine, ArticleBarChart, type ArticleBarChartProps, ArticleBody, type ArticleBodyProps, ArticleChatBlock, type ArticleChatBlockProps, ArticleFigure, type ArticleFigureProps, ArticleFooter, type ArticleFooterProps, ArticleHeading, type ArticleHeadingProps, ArticleHero, type ArticleHeroProps, ArticleLayout, type ArticleLayoutProps, ArticleLineChart, type ArticleLineChartProps, ArticleLinkButton, type ArticleLinkButtonProps, ArticleList, type ArticleListProps, ArticleNarrow, ArticleNote, type ArticleNoteProps, ArticleScatterChart, type ArticleScatterChartProps, ArticleTable, type ArticleTableColumn, type ArticleTableProps, type ArticleTableRow, ArticleWide, Avatar, Badge, BentoGrid, Breadcrumbs, Button, CTASection, Card, type ChartSeries, ChatInput, ChatMessage, Checkbox, CodeInput, ComparisonTable, Divider, DropdownMenu, EmptyState, FAQSection, FeatureGrid, Footer, FormField, Header, HeroSection, IconButton, IconWithText, IconlyActivity, IconlyAttach, IconlyBook, IconlyCheck, IconlyChevronDown, IconlyChevronLeft, IconlyChevronRight, IconlyClose, IconlyError, IconlyEye, IconlyEyeOff, IconlyHeart, IconlyInfo, IconlyInfoCircle, IconlyLink, IconlyLock, IconlyMail, IconlyMenu, IconlyMoon, IconlyQuote, IconlyRoadmap, IconlySandbox, IconlySearch, IconlySend, IconlySmile, IconlyStar, IconlySuccess, IconlySun, IconlyWarning, Input, LandingLayout, Logo, LogoCloud, MenuItem, Modal, Pagination, PasswordInput, PricingCard, ProfileNav, PromoActionCards, PromoBento, PromoDevicesCTA, PromoHero, PromoPricing, PromoShowcase, PromoSplit, PromoTestimonials, PromoTrustGrid, Radio, type ScatterPoint, SearchBar, Select, Sidebar, Skeleton, Spinner, StampCard, Stat, StatBadge, StatsBar, Link as StyledLink, Tabs, Tag, TestimonialCard, Textarea, TicketButton, Toast, Toggle, Tooltip, TopPromo };
|
|
1012
|
+
export { Alert, AppCard, AppTopLine, ArticleBarChart, type ArticleBarChartProps, ArticleBody, type ArticleBodyProps, ArticleChatBlock, type ArticleChatBlockProps, ArticleFigure, type ArticleFigureProps, ArticleFooter, type ArticleFooterProps, ArticleHeading, type ArticleHeadingProps, ArticleHero, type ArticleHeroProps, ArticleLayout, type ArticleLayoutProps, ArticleLineChart, type ArticleLineChartProps, ArticleLinkButton, type ArticleLinkButtonProps, ArticleList, type ArticleListProps, ArticleNarrow, ArticleNote, type ArticleNoteProps, ArticleScatterChart, type ArticleScatterChartProps, ArticleTable, type ArticleTableColumn, type ArticleTableProps, type ArticleTableRow, ArticleWide, Avatar, Badge, BentoGrid, Breadcrumbs, Button, CTASection, Card, type ChartSeries, ChatInput, ChatMessage, Checkbox, CodeInput, ComparisonTable, Divider, DropdownMenu, EmptyState, FAQSection, FeatureGrid, Footer, FormField, Gallery, Header, HeroSection, IconBadge, IconButton, IconWithText, IconlyActivity, IconlyAttach, IconlyBook, IconlyCheck, IconlyChevronDown, IconlyChevronLeft, IconlyChevronRight, IconlyClock, IconlyClose, IconlyError, IconlyEye, IconlyEyeOff, IconlyHeart, IconlyInfo, IconlyInfoCircle, IconlyLink, IconlyLock, IconlyMail, IconlyMenu, IconlyMoon, IconlyQuote, IconlyRoadmap, IconlySandbox, IconlySearch, IconlySend, IconlyShield, IconlySmile, IconlyStar, IconlySuccess, IconlySun, IconlyWarning, Input, LandingLayout, Logo, LogoCloud, MenuItem, Modal, Pagination, PasswordInput, PricingCard, ProfileNav, PromoActionCards, PromoBento, PromoDevicesCTA, PromoHero, PromoHeroForm, PromoPricing, PromoShowcase, PromoSplit, PromoTestimonials, PromoTrustGrid, Radio, type ScatterPoint, SearchBar, Select, Sidebar, type SidebarItem, Skeleton, Spinner, StampCard, Stat, StatBadge, StatsBar, Link as StyledLink, Tabs, Tag, TestimonialCard, Textarea, TicketButton, Toast, Toggle, Tooltip, TopPromo };
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
2
|
import React$1, { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, ImgHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, AnchorHTMLAttributes } from 'react';
|
|
3
3
|
|
|
4
|
-
type ButtonVariant = 'primary' | '
|
|
5
|
-
type ButtonSize = 'sm' | 'md';
|
|
4
|
+
type ButtonVariant = 'primary' | 'ghost' | 'secondary' | 'outline';
|
|
5
|
+
type ButtonSize = 'sm' | 'md' | 'hero';
|
|
6
6
|
interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
7
7
|
variant?: ButtonVariant;
|
|
8
8
|
size?: ButtonSize;
|
|
@@ -76,8 +76,10 @@ interface MenuItemProps {
|
|
|
76
76
|
active?: boolean;
|
|
77
77
|
onClick?: () => void;
|
|
78
78
|
className?: string;
|
|
79
|
+
/** Optional icon rendered before the text label */
|
|
80
|
+
icon?: React.ReactNode;
|
|
79
81
|
}
|
|
80
|
-
declare function MenuItem({ text, active, onClick, className }: MenuItemProps): react_jsx_runtime.JSX.Element;
|
|
82
|
+
declare function MenuItem({ text, active, onClick, className, icon }: MenuItemProps): react_jsx_runtime.JSX.Element;
|
|
81
83
|
|
|
82
84
|
type IconButtonVariant = 'primary' | 'secondary' | 'clear' | 'disabled' | 'contrast';
|
|
83
85
|
interface IconButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
@@ -173,56 +175,83 @@ interface TicketButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
|
173
175
|
declare function TicketButton({ children, icon, variant, className, ...props }: TicketButtonProps): react_jsx_runtime.JSX.Element;
|
|
174
176
|
|
|
175
177
|
/**
|
|
176
|
-
* Iconly Pro Icons
|
|
178
|
+
* Iconly Pro Icons (Light style)
|
|
177
179
|
* Source: https://iconly.collaboo.co/
|
|
178
|
-
* Copy SVG code directly from the icon page into JSX.
|
|
179
180
|
*
|
|
180
|
-
* All icons
|
|
181
|
-
*
|
|
181
|
+
* All icons share the same API: { size?, color?, className? }.
|
|
182
|
+
* Style conventions: viewBox="0 0 24 24", stroke=currentColor,
|
|
183
|
+
* strokeWidth=1.5, round line caps and joins.
|
|
182
184
|
*/
|
|
183
185
|
interface IconProps {
|
|
184
186
|
size?: number;
|
|
185
187
|
color?: string;
|
|
188
|
+
className?: string;
|
|
189
|
+
}
|
|
190
|
+
declare const IconlyActivity: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
191
|
+
declare const IconlyCheck: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
192
|
+
declare const IconlyStar: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
193
|
+
declare const IconlyLock: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
194
|
+
declare const IconlyHeart: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
195
|
+
declare const IconlyClock: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
196
|
+
declare const IconlySend: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
197
|
+
declare const IconlySearch: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
198
|
+
declare const IconlyMail: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
199
|
+
declare const IconlyChevronDown: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
200
|
+
declare const IconlyChevronRight: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
201
|
+
declare const IconlyChevronLeft: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
202
|
+
declare const IconlyEye: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
203
|
+
declare const IconlyEyeOff: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
204
|
+
declare const IconlyClose: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
205
|
+
declare const IconlyMenu: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
206
|
+
declare const IconlyShield: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
207
|
+
declare const IconlySmile: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
208
|
+
declare const IconlyAttach: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
209
|
+
declare const IconlyInfo: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
210
|
+
declare const IconlySun: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
211
|
+
declare const IconlyMoon: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
212
|
+
declare const IconlyRoadmap: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
213
|
+
declare const IconlyBook: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
214
|
+
declare const IconlySandbox: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
215
|
+
declare const IconlyQuote: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
216
|
+
declare const IconlyInfoCircle: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
217
|
+
declare const IconlySuccess: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
218
|
+
declare const IconlyWarning: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
219
|
+
declare const IconlyError: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
220
|
+
declare const IconlyLink: ({ size, color, className }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
221
|
+
|
|
222
|
+
type CardActionVariant = 'primary' | 'ghost' | 'secondary' | 'outline';
|
|
223
|
+
interface CardAction {
|
|
224
|
+
label: string;
|
|
225
|
+
onClick?: () => void;
|
|
226
|
+
href?: string;
|
|
227
|
+
variant?: CardActionVariant;
|
|
186
228
|
}
|
|
187
|
-
declare const IconlyActivity: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
188
|
-
declare const IconlySmile: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
189
|
-
declare const IconlyAttach: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
190
|
-
declare const IconlyInfo: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
191
|
-
declare const IconlySend: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
192
|
-
declare const IconlySearch: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
193
|
-
declare const IconlyMail: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
194
|
-
declare const IconlyLock: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
195
|
-
declare const IconlyStar: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
196
|
-
declare const IconlySun: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
197
|
-
declare const IconlyMoon: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
198
|
-
declare const IconlyRoadmap: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
199
|
-
declare const IconlyBook: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
200
|
-
declare const IconlySandbox: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
201
|
-
declare const IconlyHeart: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
202
|
-
declare const IconlyClose: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
203
|
-
declare const IconlyMenu: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
204
|
-
declare const IconlyCheck: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
205
|
-
declare const IconlyQuote: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
206
|
-
declare const IconlyInfoCircle: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
207
|
-
declare const IconlySuccess: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
208
|
-
declare const IconlyWarning: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
209
|
-
declare const IconlyError: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
210
|
-
declare const IconlyChevronDown: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
211
|
-
declare const IconlyLink: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
212
|
-
declare const IconlyEye: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
213
|
-
declare const IconlyEyeOff: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
214
|
-
declare const IconlyChevronRight: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
215
|
-
declare const IconlyChevronLeft: ({ size, color }: IconProps) => react_jsx_runtime.JSX.Element;
|
|
216
|
-
|
|
217
229
|
interface CardProps {
|
|
218
|
-
image?: string;
|
|
230
|
+
image?: string | ReactNode;
|
|
219
231
|
title?: string;
|
|
220
232
|
description?: string;
|
|
233
|
+
badges?: ReactNode[];
|
|
234
|
+
action?: CardAction;
|
|
221
235
|
footer?: ReactNode;
|
|
222
236
|
children?: ReactNode;
|
|
223
237
|
className?: string;
|
|
224
238
|
}
|
|
225
|
-
declare function Card({ image, title, description, footer, children, className }: CardProps): react_jsx_runtime.JSX.Element;
|
|
239
|
+
declare function Card({ image, title, description, badges, action, footer, children, className, }: CardProps): react_jsx_runtime.JSX.Element;
|
|
240
|
+
|
|
241
|
+
interface IconBadgeProps {
|
|
242
|
+
icon: ReactNode;
|
|
243
|
+
className?: string;
|
|
244
|
+
}
|
|
245
|
+
declare function IconBadge({ icon, className }: IconBadgeProps): react_jsx_runtime.JSX.Element;
|
|
246
|
+
|
|
247
|
+
type GalleryVariant = 'grid' | 'masonry';
|
|
248
|
+
interface GalleryProps {
|
|
249
|
+
variant?: GalleryVariant;
|
|
250
|
+
images: string[];
|
|
251
|
+
title?: string;
|
|
252
|
+
className?: string;
|
|
253
|
+
}
|
|
254
|
+
declare function Gallery({ variant, images, title, className, }: GalleryProps): react_jsx_runtime.JSX.Element | null;
|
|
226
255
|
|
|
227
256
|
interface FormFieldProps extends InputHTMLAttributes<HTMLInputElement> {
|
|
228
257
|
label: string;
|
|
@@ -464,13 +493,37 @@ interface FeatureGridProps {
|
|
|
464
493
|
declare function FeatureGrid({ features, columns, className }: FeatureGridProps): react_jsx_runtime.JSX.Element;
|
|
465
494
|
|
|
466
495
|
type SidebarType = 'menu' | 'courseSubmenu';
|
|
496
|
+
/** Rich menu item with string ID, label, and optional icon. */
|
|
497
|
+
interface SidebarItem {
|
|
498
|
+
id: string;
|
|
499
|
+
label: string;
|
|
500
|
+
icon?: ReactNode;
|
|
501
|
+
}
|
|
467
502
|
interface SidebarProps {
|
|
468
503
|
type?: SidebarType;
|
|
469
|
-
|
|
470
|
-
|
|
504
|
+
/** Plain strings (backward-compat) or rich SidebarItem objects. */
|
|
505
|
+
menuItems?: string[] | SidebarItem[];
|
|
506
|
+
footer?: ReactNode;
|
|
471
507
|
className?: string;
|
|
472
|
-
|
|
473
|
-
|
|
508
|
+
/** Externally-controlled active item id. When provided, bypasses internal useState. */
|
|
509
|
+
activeId?: string;
|
|
510
|
+
/** Callback when a menu item is clicked. Receives the item id (or index-string for plain strings). */
|
|
511
|
+
onItemClick?: (id: string) => void;
|
|
512
|
+
/** Custom logo rendered above the nav area. */
|
|
513
|
+
logo?: ReactNode;
|
|
514
|
+
/**
|
|
515
|
+
* Legal text at the bottom.
|
|
516
|
+
* - `undefined` → shows default Russian legal text
|
|
517
|
+
* - `null` → hides legal text entirely
|
|
518
|
+
* - `string` → shows the provided text
|
|
519
|
+
*/
|
|
520
|
+
legalText?: string | null;
|
|
521
|
+
/** When true, the sidebar is hidden (collapsed off-screen). On mobile (<768px) this is the default state. */
|
|
522
|
+
collapsed?: boolean;
|
|
523
|
+
/** Called when the user requests toggling the sidebar (e.g. clicking the overlay backdrop). */
|
|
524
|
+
onToggle?: () => void;
|
|
525
|
+
}
|
|
526
|
+
declare function Sidebar({ type, menuItems, footer, className, activeId, onItemClick, logo, legalText, collapsed, onToggle, }: SidebarProps): react_jsx_runtime.JSX.Element;
|
|
474
527
|
|
|
475
528
|
type AppCardVariant = 'default' | 'stamp' | 'stamp-padded';
|
|
476
529
|
interface AppCardProps {
|
|
@@ -700,6 +753,24 @@ interface PromoHeroProps {
|
|
|
700
753
|
}
|
|
701
754
|
declare function PromoHero({ title, subtitle, cta, secondaryCta, media, variant, className, }: PromoHeroProps): react_jsx_runtime.JSX.Element;
|
|
702
755
|
|
|
756
|
+
type PromoHeroFormVariant = 'light' | 'dark';
|
|
757
|
+
type PromoHeroFormInputType = 'url' | 'text' | 'email';
|
|
758
|
+
interface PromoHeroFormProps {
|
|
759
|
+
title: string | ReactNode;
|
|
760
|
+
subtitle?: string;
|
|
761
|
+
inputPlaceholder?: string;
|
|
762
|
+
inputType?: PromoHeroFormInputType;
|
|
763
|
+
inputAriaLabel?: string;
|
|
764
|
+
buttonLabel: string;
|
|
765
|
+
onSubmit?: (value: string) => void | Promise<void>;
|
|
766
|
+
loading?: boolean;
|
|
767
|
+
error?: string;
|
|
768
|
+
hint?: string;
|
|
769
|
+
variant?: PromoHeroFormVariant;
|
|
770
|
+
className?: string;
|
|
771
|
+
}
|
|
772
|
+
declare function PromoHeroForm({ title, subtitle, inputPlaceholder, inputType, inputAriaLabel, buttonLabel, onSubmit, loading, error, hint, variant: _variant, className, }: PromoHeroFormProps): react_jsx_runtime.JSX.Element;
|
|
773
|
+
|
|
703
774
|
interface PromoPricingTier {
|
|
704
775
|
name: string;
|
|
705
776
|
price: string;
|
|
@@ -938,4 +1009,4 @@ interface LandingLayoutProps {
|
|
|
938
1009
|
}
|
|
939
1010
|
declare function LandingLayout({ mode, nav, children, className, }: LandingLayoutProps): react_jsx_runtime.JSX.Element;
|
|
940
1011
|
|
|
941
|
-
export { Alert, AppCard, AppTopLine, ArticleBarChart, type ArticleBarChartProps, ArticleBody, type ArticleBodyProps, ArticleChatBlock, type ArticleChatBlockProps, ArticleFigure, type ArticleFigureProps, ArticleFooter, type ArticleFooterProps, ArticleHeading, type ArticleHeadingProps, ArticleHero, type ArticleHeroProps, ArticleLayout, type ArticleLayoutProps, ArticleLineChart, type ArticleLineChartProps, ArticleLinkButton, type ArticleLinkButtonProps, ArticleList, type ArticleListProps, ArticleNarrow, ArticleNote, type ArticleNoteProps, ArticleScatterChart, type ArticleScatterChartProps, ArticleTable, type ArticleTableColumn, type ArticleTableProps, type ArticleTableRow, ArticleWide, Avatar, Badge, BentoGrid, Breadcrumbs, Button, CTASection, Card, type ChartSeries, ChatInput, ChatMessage, Checkbox, CodeInput, ComparisonTable, Divider, DropdownMenu, EmptyState, FAQSection, FeatureGrid, Footer, FormField, Header, HeroSection, IconButton, IconWithText, IconlyActivity, IconlyAttach, IconlyBook, IconlyCheck, IconlyChevronDown, IconlyChevronLeft, IconlyChevronRight, IconlyClose, IconlyError, IconlyEye, IconlyEyeOff, IconlyHeart, IconlyInfo, IconlyInfoCircle, IconlyLink, IconlyLock, IconlyMail, IconlyMenu, IconlyMoon, IconlyQuote, IconlyRoadmap, IconlySandbox, IconlySearch, IconlySend, IconlySmile, IconlyStar, IconlySuccess, IconlySun, IconlyWarning, Input, LandingLayout, Logo, LogoCloud, MenuItem, Modal, Pagination, PasswordInput, PricingCard, ProfileNav, PromoActionCards, PromoBento, PromoDevicesCTA, PromoHero, PromoPricing, PromoShowcase, PromoSplit, PromoTestimonials, PromoTrustGrid, Radio, type ScatterPoint, SearchBar, Select, Sidebar, Skeleton, Spinner, StampCard, Stat, StatBadge, StatsBar, Link as StyledLink, Tabs, Tag, TestimonialCard, Textarea, TicketButton, Toast, Toggle, Tooltip, TopPromo };
|
|
1012
|
+
export { Alert, AppCard, AppTopLine, ArticleBarChart, type ArticleBarChartProps, ArticleBody, type ArticleBodyProps, ArticleChatBlock, type ArticleChatBlockProps, ArticleFigure, type ArticleFigureProps, ArticleFooter, type ArticleFooterProps, ArticleHeading, type ArticleHeadingProps, ArticleHero, type ArticleHeroProps, ArticleLayout, type ArticleLayoutProps, ArticleLineChart, type ArticleLineChartProps, ArticleLinkButton, type ArticleLinkButtonProps, ArticleList, type ArticleListProps, ArticleNarrow, ArticleNote, type ArticleNoteProps, ArticleScatterChart, type ArticleScatterChartProps, ArticleTable, type ArticleTableColumn, type ArticleTableProps, type ArticleTableRow, ArticleWide, Avatar, Badge, BentoGrid, Breadcrumbs, Button, CTASection, Card, type ChartSeries, ChatInput, ChatMessage, Checkbox, CodeInput, ComparisonTable, Divider, DropdownMenu, EmptyState, FAQSection, FeatureGrid, Footer, FormField, Gallery, Header, HeroSection, IconBadge, IconButton, IconWithText, IconlyActivity, IconlyAttach, IconlyBook, IconlyCheck, IconlyChevronDown, IconlyChevronLeft, IconlyChevronRight, IconlyClock, IconlyClose, IconlyError, IconlyEye, IconlyEyeOff, IconlyHeart, IconlyInfo, IconlyInfoCircle, IconlyLink, IconlyLock, IconlyMail, IconlyMenu, IconlyMoon, IconlyQuote, IconlyRoadmap, IconlySandbox, IconlySearch, IconlySend, IconlyShield, IconlySmile, IconlyStar, IconlySuccess, IconlySun, IconlyWarning, Input, LandingLayout, Logo, LogoCloud, MenuItem, Modal, Pagination, PasswordInput, PricingCard, ProfileNav, PromoActionCards, PromoBento, PromoDevicesCTA, PromoHero, PromoHeroForm, PromoPricing, PromoShowcase, PromoSplit, PromoTestimonials, PromoTrustGrid, Radio, type ScatterPoint, SearchBar, Select, Sidebar, type SidebarItem, Skeleton, Spinner, StampCard, Stat, StatBadge, StatsBar, Link as StyledLink, Tabs, Tag, TestimonialCard, Textarea, TicketButton, Toast, Toggle, Tooltip, TopPromo };
|