import type { AnyIconPack, IconPackRegistry } from '@uzum-tech/icons'; import type { CNode } from 'css-render'; import type { Ref, VNodeChild } from 'vue'; import type { AccountOptionTheme } from '../../_internal/account-option/styles'; import type { SafeTopScrollbarTheme } from '../../_internal/safe-top-scrollbar/styles'; import type { ScrollbarTheme } from '../../_internal/scrollbar/styles'; import type { InternalSelectMenuTheme } from '../../_internal/select-menu/styles'; import type { SelectSize } from '../../_internal/selection'; import type { InternalSelectionTheme } from '../../_internal/selection/styles'; import type { Hljs } from '../../_mixins'; import type { ActionCardProps } from '../../action-card'; import type { ActionCardTheme } from '../../action-card/styles'; import type { AlertProps } from '../../alert'; import type { AlertTheme } from '../../alert/styles'; import type { AnchorProps } from '../../anchor'; import type { AnchorTheme } from '../../anchor/styles'; import type { AutoCompleteProps } from '../../auto-complete'; import type { AutoCompleteTheme } from '../../auto-complete/styles'; import type { AvatarProps } from '../../avatar'; import type { AvatarGroupProps } from '../../avatar-group'; import type { AvatarGroupTheme } from '../../avatar-group/styles'; import type { AvatarTheme } from '../../avatar/styles'; import type { BackTopProps } from '../../back-top'; import type { BackTopTheme } from '../../back-top/styles'; import type { BadgeProps } from '../../badge'; import type { BadgeTheme } from '../../badge/styles'; import type { BreadcrumbProps } from '../../breadcrumb'; import type { BreadcrumbTheme } from '../../breadcrumb/styles'; import type { ButtonProps } from '../../button'; import type { ButtonGroupProps } from '../../button-group'; import type { ButtonGroupTheme } from '../../button-group/styles/light'; import type { ButtonSize } from '../../button/src/public-types'; import type { ButtonTheme } from '../../button/styles'; import type { CalendarProps } from '../../calendar'; import type { CalendarTheme } from '../../calendar/styles'; import type { CardProps } from '../../card'; import type { CardListProps } from '../../card-list'; import type { CardListTheme } from '../../card-list/styles'; import type { CardTheme } from '../../card/styles'; import type { CarouselProps } from '../../carousel'; import type { CarouselTheme } from '../../carousel/styles'; import type { CascaderProps } from '../../cascader'; import type { CascaderTheme } from '../../cascader/styles'; import type { ChatProps } from '../../chat'; import type { ChatTheme } from '../../chat/styles'; import type { CheckboxProps } from '../../checkbox'; import type { CheckboxTheme } from '../../checkbox/styles'; import type { CodeProps } from '../../code'; import type { CodeTheme } from '../../code/styles'; import type { CollapseProps } from '../../collapse'; import type { CollapseTransitionProps } from '../../collapse-transition'; import type { CollapseTransitionTheme } from '../../collapse-transition/styles'; import type { CollapseTheme } from '../../collapse/styles'; import type { ColorPickerProps } from '../../color-picker'; import type { ColorPickerTheme } from '../../color-picker/styles'; import type { DatePickerV2Props, DatePickerV2Theme, KanbanProps, KanbanTheme, MappingCardProps, MappingCardTheme } from '../../components'; import type { CropTheme } from '../../crop/styles'; import type { DataTableProps, DataTableRenderFilter, DataTableRenderSorter } from '../../data-table'; import type { DataTableTheme } from '../../data-table/styles'; import type { DatePickerProps } from '../../date-picker'; import type { DatePickerTheme } from '../../date-picker/styles'; import type { DescriptionsProps } from '../../descriptions'; import type { DescriptionsTheme } from '../../descriptions/styles'; import type { DialogProps } from '../../dialog'; import type { IconPlacement } from '../../dialog/src/interface'; import type { DialogTheme } from '../../dialog/styles'; import type { DividerProps } from '../../divider'; import type { DividerTheme } from '../../divider/styles'; import type { DrawerProps } from '../../drawer'; import type { DrawerTheme } from '../../drawer/styles'; import type { DropdownProps } from '../../dropdown'; import type { DropdownTheme } from '../../dropdown/styles'; import type { DynamicInputProps } from '../../dynamic-input'; import type { DynamicInputTheme } from '../../dynamic-input/styles'; import type { DynamicTagsProps } from '../../dynamic-tags'; import type { DynamicTagsTheme } from '../../dynamic-tags/styles'; import type { ElementProps } from '../../element'; import type { ElementTheme } from '../../element/styles'; import type { EllipsisProps } from '../../ellipsis'; import type { EllipsisTheme } from '../../ellipsis/styles'; import type { EmptyProps } from '../../empty'; import type { EmptyTheme } from '../../empty/styles'; import type { EquationTheme } from '../../equation/styles'; import type { FlexProps } from '../../flex'; import type { FlexTheme } from '../../flex/styles'; import type { FloatButtonProps } from '../../float-button'; import type { FloatButtonGroupProps } from '../../float-button-group'; import type { FloatButtonGroupTheme } from '../../float-button-group/styles'; import type { FloatButtonTheme } from '../../float-button/styles'; import type { FormProps } from '../../form'; import type { FormTheme } from '../../form/styles'; import type { GradientTextProps } from '../../gradient-text'; import type { GradientTextTheme } from '../../gradient-text/styles'; import type { HeaderProps } from '../../header'; import type { HeaderTheme } from '../../header/styles'; import type { IconProps } from '../../icon'; import type { IconBarTheme } from '../../icon-bar/styles'; import type { IconWrapperProps } from '../../icon-wrapper'; import type { IconWrapperTheme } from '../../icon-wrapper/styles'; import type { IconTheme } from '../../icon/styles'; import type { ImageProps } from '../../image'; import type { ImageTheme } from '../../image/styles'; import type { InputProps, InputSize } from '../../input'; import type { InputNumberProps } from '../../input-number'; import type { InputNumberTheme } from '../../input-number/styles'; import type { InputOtpProps } from '../../input-otp'; import type { InputOtpTheme } from '../../input-otp/styles'; import type { InputTheme } from '../../input/styles'; import type { LayoutProps } from '../../layout'; import type { LayoutTheme } from '../../layout/styles'; import type { RowProps } from '../../legacy-grid'; import type { RowTheme } from '../../legacy-grid/styles'; import type { LegacyTransferTheme } from '../../legacy-transfer/styles'; import type { ListProps } from '../../list'; import type { ListTheme } from '../../list/styles'; import type { LoadingBarTheme } from '../../loading-bar/styles'; import type { UDateLocale, ULocale } from '../../locales'; import type { LogProps } from '../../log'; import type { LogTheme } from '../../log/styles'; import type { MarqueeProps } from '../../marquee'; import type { MarqueeTheme } from '../../marquee/styles'; import type { MentionProps } from '../../mention'; import type { MentionTheme } from '../../mention/styles'; import type { MenuProps } from '../../menu'; import type { MenuTheme } from '../../menu/styles'; import type { MessageTheme } from '../../message/styles'; import type { ModalProps } from '../../modal'; import type { ModalFullscreenTheme } from '../../modal-fullscreen/styles'; import type { ModalTheme } from '../../modal/styles'; import type { NotificationTheme } from '../../notification/styles'; import type { PageHeaderProps } from '../../page-header'; import type { PageHeaderTheme } from '../../page-header/styles'; import type { PaginationProps } from '../../pagination'; import type { PaginationTheme } from '../../pagination/styles'; import type { PopconfirmProps } from '../../popconfirm'; import type { PopconfirmTheme } from '../../popconfirm/styles'; import type { PopoverProps } from '../../popover'; import type { PopoverTheme } from '../../popover/styles'; import type { PopselectProps } from '../../popselect'; import type { PopselectTheme } from '../../popselect/styles'; import type { ProgressProps } from '../../progress'; import type { ProgressTheme } from '../../progress/styles'; import type { QrCodeTheme } from '../../qr-code/styles'; import type { RadioProps } from '../../radio'; import type { RadioTheme } from '../../radio/styles'; import type { RateProps } from '../../rate'; import type { RateTheme } from '../../rate/styles'; import type { ResultProps } from '../../result'; import type { ResultTheme } from '../../result/styles'; import type { ScrollbarProps } from '../../scrollbar'; import type { SelectProps } from '../../select'; import type { SelectTheme } from '../../select/styles'; import type { SkeletonProps } from '../../skeleton'; import type { SkeletonTheme } from '../../skeleton/styles'; import type { SliderProps } from '../../slider'; import type { SliderTheme } from '../../slider/styles'; import type { SpaceProps } from '../../space'; import type { SpaceTheme } from '../../space/styles'; import type { SpinProps } from '../../spin'; import type { SpinTheme } from '../../spin/styles'; import type { StatisticProps } from '../../statistic'; import type { StatisticTheme } from '../../statistic/styles'; import type { StatusProps } from '../../status'; import type { StatusTheme } from '../../status/styles'; import type { StepsProps } from '../../steps'; import type { StepsTheme } from '../../steps/styles'; import type { SwitchProps } from '../../switch'; import type { SwitchTheme } from '../../switch/styles'; import type { TableProps } from '../../table'; import type { TableTheme } from '../../table/styles'; import type { TabsProps } from '../../tabs'; import type { TabsTheme } from '../../tabs/styles'; import type { TagProps } from '../../tag'; import type { TagTheme } from '../../tag/styles'; import type { ThingProps } from '../../thing'; import type { ThingTheme } from '../../thing/styles'; import type { TimePickerProps } from '../../time-picker'; import type { TimePickerSize } from '../../time-picker/src/public-types'; import type { TimePickerTheme } from '../../time-picker/styles'; import type { TimelineProps } from '../../timeline'; import type { TimelineTheme } from '../../timeline/styles'; import type { ToggleButtonProps } from '../../toggle-button'; import type { ToggleButtonTheme } from '../../toggle-button/styles'; import type { TooltipProps } from '../../tooltip'; import type { TooltipTheme } from '../../tooltip/styles'; import type { TransferProps } from '../../transfer'; import type { TransferTheme } from '../../transfer/styles'; import type { TreeProps } from '../../tree'; import type { TreeSelectProps } from '../../tree-select'; import type { TreeSelectTheme } from '../../tree-select/styles'; import type { TreeTheme } from '../../tree/styles'; import type { TextProps } from '../../typography'; import type { TypographyTheme } from '../../typography/styles'; import type { UploadProps } from '../../upload'; import type { UploadTheme } from '../../upload/styles'; import type { WatermarkProps } from '../../watermark'; import type { WatermarkTheme } from '../../watermark/styles'; import type { GlobalTheme, GlobalThemeOverrides } from './interface'; import type { Katex } from './katex'; export interface GlobalThemeWithoutCommon { Alert?: AlertTheme; Anchor?: AnchorTheme; AutoComplete?: AutoCompleteTheme; Avatar?: AvatarTheme; AvatarGroup?: AvatarGroupTheme; BackTop?: BackTopTheme; Badge?: BadgeTheme; Breadcrumb?: BreadcrumbTheme; Button?: ButtonTheme; ButtonGroup?: ButtonGroupTheme; Calendar?: CalendarTheme; ActionCard?: ActionCardTheme; MappingCard?: MappingCardTheme; Kanban?: KanbanTheme; Card?: CardTheme; Carousel?: CarouselTheme; Cascader?: CascaderTheme; Checkbox?: CheckboxTheme; Code?: CodeTheme; Collapse?: CollapseTheme; CollapseTransition?: CollapseTransitionTheme; ColorPicker?: ColorPickerTheme; DataTable?: DataTableTheme; DatePicker?: DatePickerTheme; DatePickerV2?: DatePickerV2Theme; Descriptions?: DescriptionsTheme; Dialog?: DialogTheme; Divider?: DividerTheme; Drawer?: DrawerTheme; Dropdown?: DropdownTheme; DynamicInput?: DynamicInputTheme; DynamicTags?: DynamicTagsTheme; Element?: ElementTheme; Ellipsis?: EllipsisTheme; Empty?: EmptyTheme; Equation?: EquationTheme; FloatButton?: FloatButtonTheme; FloatButtonGroup?: FloatButtonGroupTheme; Form?: FormTheme; GradientText?: GradientTextTheme; Icon?: IconTheme; IconWrapper?: IconWrapperTheme; Image?: ImageTheme; Input?: InputTheme; InputNumber?: InputNumberTheme; Layout?: LayoutTheme; LegacyTransfer?: LegacyTransferTheme; List?: ListTheme; LoadingBar?: LoadingBarTheme; Log?: LogTheme; Marquee?: MarqueeTheme; Menu?: MenuTheme; Mention?: MentionTheme; Message?: MessageTheme; Modal?: ModalTheme; Notification?: NotificationTheme; PageHeader?: PageHeaderTheme; Pagination?: PaginationTheme & { inputSize?: InputSize; selectSize?: SelectSize; }; Popconfirm?: PopconfirmTheme; Popover?: PopoverTheme; Popselect?: PopselectTheme; Progress?: ProgressTheme; Radio?: RadioTheme; Rate?: RateTheme; Result?: ResultTheme; Scrollbar?: ScrollbarTheme; SafeTopScrollbar?: SafeTopScrollbarTheme; Select?: SelectTheme; Skeleton?: SkeletonTheme; Slider?: SliderTheme; Space?: SpaceTheme; Spin?: SpinTheme; Statistic?: StatisticTheme; Status?: StatusTheme; Steps?: StepsTheme; Switch?: SwitchTheme; Table?: TableTheme; Tabs?: TabsTheme; Tag?: TagTheme; Thing?: ThingTheme; TimePicker?: TimePickerTheme; Timeline?: TimelineTheme; Tooltip?: TooltipTheme; Transfer?: TransferTheme; Tree?: TreeTheme; TreeSelect?: TreeSelectTheme; Typography?: TypographyTheme; Upload?: UploadTheme; Watermark?: WatermarkTheme; Row?: RowTheme; ToggleButton?: ToggleButtonTheme; Flex?: FlexTheme; CardList?: CardListTheme; Chat?: ChatTheme; ModalFullscreen?: ModalFullscreenTheme; Crop?: CropTheme; IconBar?: IconBarTheme; QrCode?: QrCodeTheme; InternalSelectMenu?: InternalSelectMenuTheme; InternalSelection?: InternalSelectionTheme; AccountOption?: AccountOptionTheme; InputOtp?: InputOtpTheme; Header?: HeaderTheme; } export interface GlobalComponentConfig { Alert?: AlertProps; Anchor?: AnchorProps; AutoComplete?: AutoCompleteProps; Avatar?: AvatarProps; AvatarGroup?: AvatarGroupProps; BackTop?: BackTopProps; Badge?: BadgeProps; Breadcrumb?: BreadcrumbProps; Button?: ButtonProps; ButtonGroup?: ButtonGroupProps; Calendar?: CalendarProps; ActionCard?: ActionCardProps; MappingCard?: MappingCardProps; Kanban?: KanbanProps; Card?: CardProps; Carousel?: CarouselProps; Cascader?: CascaderProps; Checkbox?: CheckboxProps; Code?: CodeProps; Collapse?: CollapseProps; CollapseTransition?: CollapseTransitionProps; ColorPicker?: ColorPickerProps; DataTable?: DataTableProps & { renderFilter?: DataTableRenderFilter; renderSorter?: DataTableRenderSorter; }; DatePicker?: DatePickerProps & { timePickerSize?: TimePickerSize; }; DatePickerV2?: DatePickerV2Props; Descriptions?: DescriptionsProps; Dialog?: DialogProps & { iconPlacement?: IconPlacement; }; Divider?: DividerProps; Drawer?: DrawerProps; Dropdown?: DropdownProps; DynamicInput?: DynamicInputProps & { buttonSize?: ButtonSize; }; DynamicTags?: DynamicTagsProps; Element?: ElementProps; Ellipsis?: EllipsisProps; Empty?: EmptyProps; FloatButton?: FloatButtonProps; FloatButtonGroup?: FloatButtonGroupProps; Form?: FormProps; GradientText?: GradientTextProps; Icon?: IconProps; IconWrapper?: IconWrapperProps; Image?: ImageProps; Input?: InputProps; InputNumber?: InputNumberProps; Layout?: LayoutProps; List?: ListProps; Log?: LogProps; Marquee?: MarqueeProps; Menu?: MenuProps; Mention?: MentionProps; Modal?: ModalProps; PageHeader?: PageHeaderProps; Pagination?: PaginationProps & { inputSize?: InputSize; selectSize?: SelectSize; }; Popconfirm?: PopconfirmProps; Popover?: PopoverProps; Popselect?: PopselectProps; Progress?: ProgressProps; Radio?: RadioProps; Rate?: RateProps; Result?: ResultProps; Scrollbar?: ScrollbarProps; Select?: SelectProps; Skeleton?: SkeletonProps; Slider?: SliderProps; Space?: SpaceProps; Spin?: SpinProps; Statistic?: StatisticProps; Status?: StatusProps; Steps?: StepsProps; Switch?: SwitchProps; Table?: TableProps; Tabs?: TabsProps; Tag?: TagProps; Thing?: ThingProps; TimePicker?: TimePickerProps; Timeline?: TimelineProps; Tooltip?: TooltipProps; Transfer?: TransferProps; Tree?: TreeProps; TreeSelect?: TreeSelectProps; Upload?: UploadProps; Watermark?: WatermarkProps; Row?: RowProps; ToggleButton?: ToggleButtonProps; Flex?: FlexProps; CardList?: CardListProps; Chat?: ChatProps; Text?: TextProps; Header?: HeaderProps; InputOtp?: InputOtpProps; } export type IconPackName = keyof IconPackRegistry extends never ? string : keyof IconPackRegistry & string; export interface IconPacksConfig { packs: AnyIconPack[]; defaultPackName: IconPackName; async?: boolean; } export interface GlobalIconConfig { attach?: () => VNodeChild; cancel?: () => VNodeChild; clear?: () => VNodeChild; close?: () => VNodeChild; date?: () => VNodeChild; download?: () => VNodeChild; error?: () => VNodeChild; info?: () => VNodeChild; infoOutline?: () => VNodeChild; retry?: () => VNodeChild; success?: () => VNodeChild; time?: () => VNodeChild; to?: () => VNodeChild; trash?: () => VNodeChild; warning?: () => VNodeChild; rotateClockwise?: () => VNodeChild; rotateCounterclockwise?: () => VNodeChild; zoomIn?: () => VNodeChild; zoomOut?: () => VNodeChild; logout?: () => VNodeChild; burgerMenu?: () => VNodeChild; eye?: () => VNodeChild; eyeOff?: () => VNodeChild; file?: () => VNodeChild; search?: () => VNodeChild; chevronDown?: () => VNodeChild; chevronLeft?: () => VNodeChild; chevronRight?: () => VNodeChild; ozbekFlag?: () => VNodeChild; russiaFlag?: () => VNodeChild; } export interface RtlItem { name: keyof GlobalThemeWithoutCommon; style: CNode; peers?: RtlItem[]; } export type RtlProp = RtlItem[]; export type RtlEnabledState = Partial>; export type Breakpoints = Record | undefined; export type BreakpointProps = Record | undefined; export type BreakpointThemeOverrides = Record | undefined; export type BreakpointMode = 'mobile-first' | 'desktop-first'; export interface ConfigProviderInjection { mergedBreakpointsRef: Ref; mergedSsrBreakpointWidthRef: Ref; mergedClsPrefixRef: Ref; mergedBorderedRef: Ref; mergedNamespaceRef: Ref; mergedLocaleRef: Ref; mergedDateLocaleRef: Ref; mergedHljsRef: Ref; mergedKatexRef: Ref; mergedComponentPropsRef: Ref; mergedIconsRef: Ref; mergedIconPacksRef: Ref; mergedThemeRef: Ref; mergedThemeOverridesRef: Ref; mergedRtlRef: Ref; mergedThemeHashRef: Ref; mergedBreakpointPropsRef: Ref; mergedBreakpointThemeOverridesRef: Ref; mergedBreakpointModeRef: Ref; activeBreakpointPropsRef: Ref; activeBreakpointThemeOverridesRef: Ref; inlineThemeDisabled: boolean; preflightStyleDisabled: boolean; styleMountTarget: ParentNode | undefined; }