{
  "libraryInfo": {
    "name": "TGUI Angular",
    "packageName": "tgui-angular",
    "version": "1.0.x",
    "description": "Comprehensive Angular UI library for building Telegram Web Apps",
    "framework": "Angular 14+",
    "architecture": "Standalone Components",
    "stateManagement": "Angular Signals",
    "styling": "CSS Variables + Platform-specific",
    "generatedAt": "2025-06-15T23:11:39.970Z"
  },
  "installation": {
    "command": "npm install tgui-angular",
    "requirements": [
      "Angular 14+",
      "TypeScript 4.7+"
    ]
  },
  "coreSetup": {
    "required": true,
    "component": "RootComponent",
    "selector": "tgui-root",
    "import": "import { RootComponent } from 'tgui-angular';",
    "usage": "<tgui-root [platform]=\"'ios'\" [appearance]=\"'dark'\"><!-- content --></tgui-root>"
  },
  "components": {
    "AccordionComponent": {
      "name": "AccordionComponent",
      "selector": "tgui-accordion",
      "description": "<p>This component serves as an accordion container with built-in summary and content sections.\nIt uses a signal-based approach to manage its state.</p>\n<h2>Usage</h2>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- With string summary --&gt;\n&lt;tgui-accordion\n  summary=&quot;Simple string title&quot;\n  [(expanded)]=&quot;isExpanded&quot;&gt;\n  Accordion content here\n&lt;/tgui-accordion&gt;\n\n&lt;!-- With template summary --&gt;\n&lt;tgui-accordion\n  [summary]=&quot;summaryTemplate&quot;\n  [afterTemplate]=&quot;afterTemplate&quot;\n  [(expanded)]=&quot;isExpanded&quot;&gt;\n  Accordion content here\n&lt;/tgui-accordion&gt;</code></pre></div>",
      "file": "src/lib/components/blocks/accordion/accordion.component.ts",
      "properties": {
        "expanded": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Model value for expanded state with two-way binding support</p>\n",
          "optional": true
        }
      }
    },
    "AccordionContentComponent": {
      "name": "AccordionContentComponent",
      "selector": "tgui-accordion-content",
      "description": "<p>Renders the content part of an accordion, leveraging signals to control visibility and animation.\nUtilizes element measurements for smooth height transitions during expand/collapse actions.</p>\n",
      "file": "src/lib/components/blocks/accordion/components/accordion-content/accordion-content.component.ts",
      "properties": {}
    },
    "AccordionSummaryComponent": {
      "name": "AccordionSummaryComponent",
      "selector": "tgui-accordion-summary",
      "description": "<p><code>AccordionSummary</code> serves as the clickable header for an accordion section, toggling the visibility of the content.\nIt incorporates an expand/collapse icon to visually indicate state. This component extends <code>Cell</code> to provide\na consistent UI and accessibility features.</p>\n<h2>Usage</h2>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Using default chevron icon --&gt;\n&lt;tgui-accordion-summary&gt;\n  Accordion title\n&lt;/tgui-accordion-summary&gt;\n\n&lt;!-- Using custom after template --&gt;\n&lt;tgui-accordion-summary [afterTemplate]=&quot;customAfterTemplate&quot;&gt;\n  Accordion title\n&lt;/tgui-accordion-summary&gt;\n\n&lt;ng-template #customAfterTemplate&gt;\n  &lt;tgui-badge type=&quot;number&quot;&gt;5&lt;/tgui-badge&gt;\n&lt;/ng-template&gt;</code></pre></div><h2>Template Inputs</h2>\n<p>The component accepts the following template inputs:</p>\n<ul>\n<li><code>afterTemplate</code>: Optional template displayed on the right side of the cell (replaces the default chevron)</li>\n</ul>\n",
      "file": "src/lib/components/blocks/accordion/components/accordion-summary/accordion-summary.component.ts",
      "properties": {}
    },
    "AvatarAcronymComponent": {
      "name": "AvatarAcronymComponent",
      "selector": "tgui-avatar-acronym",
      "description": "<p>The AvatarAcronym component displays initials for an avatar,\nautomatically selecting the appropriate font size and typography component.</p>\n",
      "file": "src/lib/components/blocks/avatar/components/avatar-acronym/avatar-acronym.component.ts",
      "properties": {}
    },
    "AvatarBadgeComponent": {
      "name": "AvatarBadgeComponent",
      "selector": "tgui-avatar-badge",
      "description": "<p>The AvatarBadge component displays a numeric badge on the avatar,\nallowing to show the number of unread messages, notifications, etc.</p>\n",
      "file": "src/lib/components/blocks/avatar/components/avatar-badge/avatar-badge.component.ts",
      "properties": {
        "count": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>Numeric value to display in the badge</p>\n",
          "optional": true
        }
      }
    },
    "AvatarComponent": {
      "name": "AvatarComponent",
      "selector": "tgui-avatar",
      "description": "<p>The Avatar component displays an avatar with optional initials or image.\nThe component supports various sizes and shapes, as well as an online status indicator.</p>\n",
      "file": "src/lib/components/blocks/avatar/avatar.component.ts",
      "properties": {
        "online": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Online status indicator</p>\n",
          "optional": true
        }
      }
    },
    "AvatarStackComponent": {
      "name": "AvatarStackComponent",
      "selector": "tgui-avatar-stack",
      "description": "<p>The AvatarStack component displays a container for avatars in a stack format.\nIt allows to visually group avatars, often used to represent\nmultiple users or participants.</p>\n<p>Avatars are displayed with overlap, which is adjusted through the offset property.</p>\n",
      "file": "src/lib/components/blocks/avatar-stack/avatar-stack.component.ts",
      "properties": {
        "offset": {
          "type": "any",
          "defaultValue": "-12",
          "description": "<p>Offset between avatars in pixels (default -12px).\nNegative value determines the degree of overlap between avatars.\nThe smaller the value (e.g., -18px), the greater the overlap between avatars.\nThe larger the value (e.g., -6px), the less the overlap between avatars.</p>\n",
          "optional": true
        }
      }
    },
    "BadgeComponent": {
      "name": "BadgeComponent",
      "selector": "tgui-badge",
      "description": "<p>Badge component displays a small numeric or dot indicator,\ntypically used for notifications, statuses, or counters.\nSupports multiple visual modes for different contexts (e.g., critical, primary),\nand can be regular or large size.</p>\n",
      "file": "src/lib/components/blocks/badge/badge.component.ts",
      "properties": {
        "large": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Increases the badge size. Applied only when type=&#39;number&#39;.</p>\n",
          "optional": true
        }
      }
    },
    "BannerComponent": {
      "name": "BannerComponent",
      "selector": "tgui-banner",
      "description": "<p>The <code>Banner</code> component renders a prominent graphical element, typically displayed at the top of a page or section,\ndesigned to grab the user&#39;s attention and convey important information.\nIt is a versatile tool used for various purposes such as branding, promotion, announcements, or navigation.</p>\n<h2>Usage</h2>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;tgui-banner\n  type=&quot;inline&quot;\n  (onCloseIcon)=&quot;onCloseIcon($event)&quot;\n  [beforeTemplate]=&quot;beforeTemplate&quot;\n  [calloutTemplate]=&quot;calloutTemplate&quot;\n  [headerTemplate]=&quot;headerTemplate&quot;\n  [descriptionTemplate]=&quot;descriptionTemplate&quot;\n  [buttonsTemplate]=&quot;buttonsTemplate&quot;\n  [backgroundTemplate]=&quot;backgroundTemplate&quot;&gt;\n&lt;/tgui-banner&gt;\n\n&lt;ng-template #beforeTemplate&gt;\n  &lt;tgui-icon24-qr&gt;&lt;/tgui-icon24-qr&gt;\n&lt;/ng-template&gt;\n\n&lt;ng-template #calloutTemplate&gt;\n  Urgent notification\n&lt;/ng-template&gt;\n\n&lt;ng-template #headerTemplate&gt;\n  Introducing TON Space\n&lt;/ng-template&gt;\n\n&lt;ng-template #descriptionTemplate&gt;\n  Start exploring TON in a new, better way\n&lt;/ng-template&gt;\n\n&lt;ng-template #buttonsTemplate&gt;\n  &lt;tgui-button size=&quot;s&quot;&gt;Try it out&lt;/tgui-button&gt;\n  &lt;tgui-button size=&quot;s&quot; mode=&quot;plain&quot;&gt;Maybe later&lt;/tgui-button&gt;\n&lt;/ng-template&gt;</code></pre></div><h2>Template Inputs</h2>\n<p>The component accepts the following template inputs:</p>\n<ul>\n<li><code>beforeTemplate</code>: Optional template displayed at the start of the banner, useful for icons</li>\n<li><code>calloutTemplate</code>: Optional template for callout text displayed above the header</li>\n<li><code>headerTemplate</code>: Template for main header/title of the banner</li>\n<li><code>subheaderTemplate</code>: Optional template for text displayed below the header</li>\n<li><code>descriptionTemplate</code>: Optional template for descriptive text</li>\n<li><code>backgroundTemplate</code>: Optional template for background content</li>\n<li><code>buttonsTemplate</code>: Optional template for action buttons</li>\n</ul>\n",
      "file": "src/lib/components/blocks/banner/banner.component.ts",
      "properties": {}
    },
    "BaseSpinnerComponent": {
      "name": "BaseSpinnerComponent",
      "selector": "tgui-base-spinner",
      "description": "",
      "file": "src/lib/components/feedback/spinner/components/base-spinner/base-spinner.component.ts",
      "properties": {}
    },
    "BlockquoteComponent": {
      "name": "BlockquoteComponent",
      "selector": "tgui-blockquote",
      "description": "<p>Renders a stylized blockquote element, typically used for quotations or special text.\nThe component can display a text in the subheadline and content below it.\nThe component can include a customizable icon in the top right corner.</p>\n<h2>Usage</h2>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;tgui-blockquote icon=&quot;quote&quot; text=&quot;Optional headline text&quot;&gt;\n  Content of the blockquote\n&lt;/tgui-blockquote&gt;</code></pre></div><h3>Properties</h3>\n<ul>\n<li><p><code>icon</code>: Optional input to specify which icon to display in the top-right corner.\nDefault is &quot;quote&quot; icon. Uses the dynamic icon component.</p>\n</li>\n<li><p><code>text</code>: Optional text to be displayed as a headline above the content.\nIf provided, it will be wrapped in the subheadline component.</p>\n</li>\n</ul>\n",
      "file": "src/lib/components/blocks/blockquote/blockquote.component.ts",
      "properties": {}
    },
    "BreadcrumbsComponent": {
      "name": "BreadcrumbsComponent",
      "selector": "tgui-breadcrumbs",
      "description": "<p>The Breadcrumbs component displays a navigation trail for users to follow back to the starting or entry point.\nIt supports customizable dividers to fit different design needs.</p>\n<p>Usage:</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;tgui-breadcrumbs\n  [items]=&quot;[\n    { label: &#39;Home&#39;, url: &#39;/&#39; },\n    { label: &#39;Catalog&#39;, url: &#39;/catalog&#39; },\n    { label: &#39;Product&#39; }\n  ]&quot;\n  divider=&quot;slash&quot;\n&gt;&lt;/tgui-breadcrumbs&gt;</code></pre></div>",
      "file": "src/lib/components/navigation/breadcrumbs/breadcrumbs.component.ts",
      "properties": {}
    },
    "BreadcrumbsDotIconComponent": {
      "name": "BreadcrumbsDotIconComponent",
      "selector": "tgui-breadcrumbs-dot-icon",
      "description": "<p>Dot icon used in breadcrumb navigation as a separator</p>\n",
      "file": "src/lib/components/navigation/breadcrumbs/icons/dot-icon.component.ts",
      "properties": {}
    },
    "BreadcrumbsItemComponent": {
      "name": "BreadcrumbsItemComponent",
      "selector": "tgui-breadcrumbs-item",
      "description": "<p>A component that represents a single item within a breadcrumb navigation.\nIt can be used standalone or as part of a BreadCrumbs collection.</p>\n",
      "file": "src/lib/components/navigation/breadcrumbs/breadcrumbs-item.component.ts",
      "properties": {}
    },
    "BreadcrumbsSlashIconComponent": {
      "name": "BreadcrumbsSlashIconComponent",
      "selector": "tgui-breadcrumbs-slash-icon",
      "description": "<p>Slash icon used in breadcrumb navigation as a separator</p>\n",
      "file": "src/lib/components/navigation/breadcrumbs/icons/slash-icon.component.ts",
      "properties": {}
    },
    "ButtonCellComponent": {
      "name": "ButtonCellComponent",
      "selector": "tgui-button-cell",
      "description": "<p>Renders an interactive cell component with optional leading and trailing elements.\nDesigned to be flexible, supporting various content structures and interaction models within UI designs.</p>\n",
      "file": "src/lib/components/blocks/cell/components/button-cell/button-cell.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Disables button interaction</p>\n",
          "optional": true
        }
      }
    },
    "ButtonComponent": {
      "name": "ButtonComponent",
      "selector": "tgui-button",
      "description": "<p>The Button component provides a customizable button with various styles and states.\nSupports different sizes, display modes, loading state, etc.</p>\n",
      "file": "src/lib/components/blocks/button/button.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>If true, the button will be disabled</p>\n",
          "optional": true
        },
        "loading": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>If true, shows a loading indicator instead of button content</p>\n",
          "optional": true
        },
        "stretched": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>If true, the button will stretch to the width of its container</p>\n",
          "optional": true
        }
      }
    },
    "CaptionComponent": {
      "name": "CaptionComponent",
      "selector": "tgui-caption",
      "description": "<p>The Caption component is a text wrapper that applies specific typographic styles,\nbased on the provided <code>level</code> prop. It&#39;s built on top of the Typography component,\nensuring consistent text styling across the application. It primarily serves for text\nthat acts as a small, descriptive label or annotation.</p>\n",
      "file": "src/lib/components/typography/caption/caption.component.ts",
      "properties": {
        "caps": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "plain": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        }
      }
    },
    "CardCellComponent": {
      "name": "CardCellComponent",
      "selector": "tgui-card-cell",
      "description": "<p>CardCell component that represents a content section within a Card.</p>\n",
      "file": "src/lib/components/blocks/card/components/card-cell/card-cell.component.ts",
      "properties": {
        "header": {
          "type": "string",
          "description": "<p>Optional header text for the cell</p>\n",
          "optional": true
        },
        "isImage": {
          "type": "boolean",
          "defaultValue": "false",
          "description": "<p>Whether the cell contains image content</p>\n",
          "optional": true
        },
        "subtitle": {
          "type": "string",
          "description": "<p>Optional subtitle text for the cell</p>\n",
          "optional": true
        }
      }
    },
    "CardChipComponent": {
      "name": "CardChipComponent",
      "selector": "tgui-card-chip",
      "description": "<p>CardChip component that displays a small actionable or informational element on the Card\nLeverages the ChipComponent with fixed positioning for use within cards</p>\n",
      "file": "src/lib/components/blocks/card/components/card-chip/card-chip.component.ts",
      "properties": {
        "after": {
          "type": "any",
          "description": "<p>Content to be placed after the main text</p>\n",
          "optional": true
        },
        "before": {
          "type": "any",
          "description": "<p>Content to be placed before the main text</p>\n",
          "optional": true
        }
      }
    },
    "CardComponent": {
      "name": "CardComponent",
      "selector": "tgui-card",
      "description": "<p>Serves as a container for card-styled UI elements, providing context for its child components.\nIt supports different visual styles and can encapsulate various content types.</p>\n",
      "file": "src/lib/components/blocks/card/card.component.ts",
      "properties": {
        "image": {
          "type": "any",
          "description": "<p>URL of the image to display at the top of the card</p>\n",
          "optional": true
        }
      }
    },
    "CellComponent": {
      "name": "CellComponent",
      "selector": "tgui-cell",
      "description": "<p><code>Cell</code> component acts as a flexible and interactive container for various types of content,\nenabling the creation of complex list items, form fields, and more. It leverages the <code>Tappable</code>\ncomponent for interaction and is designed to be flexible and extensible.</p>\n<h2>Usage</h2>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;!-- Using input properties and template references --&gt;\n&lt;tgui-cell\n  subhead=&quot;Subhead text&quot;\n  title=&quot;Title text&quot;\n  hint=&quot;Hint text&quot;\n  subtitle=&quot;Subtitle text&quot;\n  description=&quot;Description text&quot;\n  [titleBadge]=&quot;badgeTemplate&quot;\n  [beforeTemplate]=&quot;beforeTemplate&quot;\n  [afterTemplate]=&quot;afterTemplate&quot;&gt;\n  Main content\n&lt;/tgui-cell&gt;\n\n&lt;!-- Using with event propagation for form controls (combines semantic label with tappable effects) --&gt;\n&lt;tgui-cell\n  [propagateEvents]=&quot;true&quot;\n  description=&quot;Click anywhere to toggle - includes ripple effects!&quot;\n  [afterTemplate]=&quot;switchTemplate&quot;&gt;\n  Toggle option\n&lt;/tgui-cell&gt;\n\n&lt;ng-template #beforeTemplate&gt;\n  &lt;tgui-avatar size=&quot;l&quot;&gt;&lt;/tgui-avatar&gt;\n&lt;/ng-template&gt;\n\n&lt;ng-template #afterTemplate&gt;\n  &lt;tgui-badge type=&quot;number&quot;&gt;99&lt;/tgui-badge&gt;\n&lt;/ng-template&gt;\n\n&lt;ng-template #switchTemplate&gt;\n  &lt;tgui-switch [checked]=&quot;true&quot;&gt;&lt;/tgui-switch&gt;\n&lt;/ng-template&gt;\n\n&lt;ng-template #badgeTemplate&gt;\n  &lt;tgui-badge type=&quot;dot&quot;&gt;&lt;/tgui-badge&gt;\n&lt;/ng-template&gt;</code></pre></div><h2>Template Inputs</h2>\n<p>The component accepts the following template inputs:</p>\n<ul>\n<li><code>beforeTemplate</code>: Optional template displayed on the left side of the cell</li>\n<li><code>afterTemplate</code>: Optional template displayed on the right side of the cell</li>\n<li><code>titleBadge</code>: Badge template displayed next to the title</li>\n</ul>\n<p>All other content should be provided via input properties:</p>\n<ul>\n<li><code>subhead</code>: Optional content displayed above the main title</li>\n<li><code>title</code>: Main title/header content</li>\n<li><code>hint</code>: Optional content displayed next to the title</li>\n<li><code>subtitle</code>: Optional content displayed below the title</li>\n<li><code>description</code>: Optional descriptive text below the subtitle</li>\n<li><code>propagateEvents</code>: When true, wraps content in semantic label for form control interaction</li>\n</ul>\n",
      "file": "src/lib/components/blocks/cell/cell.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Disabled state</p>\n",
          "optional": true
        },
        "hovered": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Controls the hover state of the component externally, useful for keyboard navigation</p>\n",
          "optional": true
        },
        "multiline": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Allows for multiline content without truncation</p>\n",
          "optional": true
        },
        "propagateEvents": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>When true, wraps content in semantic label for form control interaction</p>\n",
          "optional": true
        },
        "readonly": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Readonly state</p>\n",
          "optional": true
        }
      }
    },
    "CheckboxComponent": {
      "name": "CheckboxComponent",
      "selector": "tgui-checkbox",
      "description": "<p>Renders a checkbox input with custom styling and optional indeterminate state.\nThe component visually hides the actual input element for accessibility\nwhile providing a custom styled appearance.</p>\n",
      "file": "src/lib/components/form/checkbox/checkbox.component.ts",
      "properties": {
        "checked": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Set checked state</p>\n",
          "optional": true
        },
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Set disabled state</p>\n",
          "optional": true
        },
        "indeterminate": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Set indeterminate state</p>\n",
          "optional": true
        }
      }
    },
    "ChipComponent": {
      "name": "ChipComponent",
      "selector": "tgui-chip",
      "description": "<p>Renders a compact element representing an input, attribute, or action.\nChips can include icons, text, or both, and are used to trigger actions,\ninput information, or represent a complex piece of information in a compact form.</p>\n",
      "file": "src/lib/components/form/chip/chip.component.ts",
      "properties": {
        "after": {
          "type": "any",
          "defaultValue": "null",
          "description": "<p>Content or component to be placed after the main text, such as an icon indicating an action.</p>\n",
          "optional": true
        },
        "before": {
          "type": "any",
          "defaultValue": "null",
          "description": "<p>Content or component to be placed before the main text, typically an icon or avatar.</p>\n",
          "optional": true
        }
      }
    },
    "CircularProgressComponent": {
      "name": "CircularProgressComponent",
      "selector": "tgui-circular-progress",
      "description": "<p>Renders a circular progress indicator, useful for displaying loading states or progress metrics.\nThe component dynamically adjusts its size and stroke based on the provided <code>size</code> input and visually represents\nthe <code>progress</code> input as a percentage of the circle&#39;s circumference.</p>\n",
      "file": "src/lib/components/feedback/circular-progress/circular-progress.component.ts",
      "properties": {
        "progress": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>Current progress of the circular indicator, expressed as a percentage from 0 to 100.</p>\n",
          "optional": true
        }
      }
    },
    "ColorInputComponent": {
      "name": "ColorInputComponent",
      "selector": "tgui-color-input",
      "description": "<p>Renders a color picker input within a form structure, displaying the selected color value.\nIt adapts the text style based on the platform and supports additional properties like header and status.</p>\n",
      "file": "src/lib/components/form/color-input/color-input.component.ts",
      "properties": {
        "before": {
          "type": "any",
          "defaultValue": "null",
          "description": "<p>Content to be displayed before the color input</p>\n",
          "optional": true
        },
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Whether the input is disabled</p>\n",
          "optional": true
        }
      }
    },
    "CompactPaginationComponent": {
      "name": "CompactPaginationComponent",
      "selector": "tgui-compact-pagination",
      "description": "<p>CompactPagination component displays a set of dots for pagination.\nIt&#39;s typically used in carousels, sliders, or any component requiring compact pagination controls.</p>\n<p>The component supports different visual modes and manages the state of its pagination items.</p>\n",
      "file": "src/lib/components/navigation/compact-pagination/compact-pagination.component.ts",
      "properties": {
        "selectedIndex": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>Selected index</p>\n",
          "optional": true
        }
      }
    },
    "CompactPaginationItemComponent": {
      "name": "CompactPaginationItemComponent",
      "selector": "tgui-compact-pagination-item",
      "description": "<p>CompactPaginationItem component represents an individual dot in a compact pagination.\nIt visually indicates whether it is selected and provides accessibility features.</p>\n",
      "file": "src/lib/components/navigation/compact-pagination/compact-pagination-item.component.ts",
      "properties": {
        "selected": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>External selected state</p>\n",
          "optional": true
        }
      }
    },
    "CustomAfterTemplateStoryComponent": {
      "name": "CustomAfterTemplateStoryComponent",
      "selector": "tgui-custom-after-template-story",
      "description": "",
      "file": "src/lib/components/blocks/accordion/stories/accordion.stories.ts",
      "properties": {}
    },
    "DemoControlsComponent": {
      "name": "DemoControlsComponent",
      "selector": "tgui-demo-controls",
      "description": "",
      "file": "src/lib/components/utils/tgui-root/story/tgui-root.stories.ts",
      "properties": {}
    },
    "DemoSnackbarComponent": {
      "name": "DemoSnackbarComponent",
      "selector": "demo-snackbar",
      "description": "",
      "file": "src/lib/components/feedback/snackbar/story/snackbar.stories.ts",
      "properties": {}
    },
    "DividerComponent": {
      "name": "DividerComponent",
      "selector": "tgui-divider",
      "description": "<p>Represents a horizontal line used to separate content within a layout or component.\nThe component allows customization through custom CSS classes.</p>\n",
      "file": "src/lib/components/misc/divider/divider.component.ts",
      "properties": {}
    },
    "FileInputComponent": {
      "name": "FileInputComponent",
      "selector": "tgui-file-input",
      "description": "<p>Renders a file input disguised as a button, enhancing the user interface and improving usability.\nIt leverages the <code>ButtonCell</code> component for consistent styling across the application.</p>\n",
      "file": "src/lib/components/form/file-input/file-input.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Whether the input is disabled</p>\n",
          "optional": true
        },
        "multiple": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Whether multiple files can be selected</p>\n",
          "optional": true
        }
      }
    },
    "FixedLayoutComponent": {
      "name": "FixedLayoutComponent",
      "selector": "tgui-fixed-layout",
      "description": "<p>This component provides a flexible way to create a layout that is fixed to either the top or bottom of its parent container.\nIt&#39;s useful for creating headers, footers, or any element that should remain in view regardless of the scrolling content.</p>\n",
      "file": "src/lib/components/layout/fixed-layout/fixed-layout.component.ts",
      "properties": {}
    },
    "FloatingArrowComponent": {
      "name": "FloatingArrowComponent",
      "selector": "tgui-floating-arrow",
      "description": "<p>FloatingArrow dynamically positions an arrow indicator relative to a floating element,\nsuch as a tooltip to signify its association with a target element.\nSupports custom arrow icons and positioning adjustments.</p>\n",
      "file": "src/lib/components/overlays/popper/components/floating-arrow/floating-arrow.component.ts",
      "properties": {
        "isStaticOffset": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        }
      }
    },
    "FormInputComponent": {
      "name": "FormInputComponent",
      "selector": "tgui-form-input",
      "description": "<p>FormInput is a base wrapper component for form elements.\nIt provides common styling, layout, and behavior for form inputs.</p>\n<p>Features:</p>\n<ul>\n<li>Platform-specific styling (iOS vs base)</li>\n<li>Status handling (default, error, focused)</li>\n<li>Support for content before and after the input (as string or TemplateRef)</li>\n<li>Optional header display</li>\n<li>Focus and blur handling</li>\n</ul>\n",
      "file": "src/lib/components/form/form-input/form-input.component.ts",
      "properties": {
        "after": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Indicates if there&#39;s content to be displayed after the form input (legacy support)</p>\n",
          "optional": true
        },
        "before": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Indicates if there&#39;s content to be displayed before the form input (legacy support)</p>\n",
          "optional": true
        },
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Indicates if the form input is disabled</p>\n",
          "optional": true
        }
      }
    },
    "FormInputTitleComponent": {
      "name": "FormInputTitleComponent",
      "selector": "tgui-form-input-title",
      "description": "<p>FormInputTitle component that displays appropriate typography based on platform\nUsed internally by FormInput to display the header</p>\n",
      "file": "src/lib/components/form/form-input/components/form-input-title.component.ts",
      "properties": {}
    },
    "HeadlineComponent": {
      "name": "HeadlineComponent",
      "selector": "tgui-headline",
      "description": "<p>The Headline component serves as a wrapper for text that is intended to be displayed prominently,\ntypically used for section headings or important titles within the application. It leverages the Typography\ncomponent for consistent typographic styling, offering a range of customization options through its props.\nThe component defaults to an <code>&lt;h5&gt;</code> HTML tag, providing semantic meaning and ensuring good SEO practices,\nbut can be customized as needed.</p>\n",
      "file": "src/lib/components/typography/headline/headline.component.ts",
      "properties": {
        "caps": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "plain": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        }
      }
    },
    "IconButtonComponent": {
      "name": "IconButtonComponent",
      "selector": "tgui-icon-button",
      "description": "<p>Renders an icon button with customizable size and mode. It utilizes the <code>Tappable</code> component for enhanced\ntouch interaction, allowing it to serve various UI actions efficiently.</p>\n",
      "file": "src/lib/components/blocks/icon-button/icon-button.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Disables the button</p>\n",
          "optional": true
        }
      }
    },
    "IconCheckboxCheckedComponent": {
      "name": "IconCheckboxCheckedComponent",
      "selector": "tgui-icon-checkbox-checked",
      "description": "<p>Icon component for checkbox in checked state</p>\n",
      "file": "src/lib/components/form/checkbox/icons/checkbox-checked.component.ts",
      "properties": {}
    },
    "IconCheckboxComponent": {
      "name": "IconCheckboxComponent",
      "selector": "tgui-icon-checkbox",
      "description": "<p>Icon component for checkbox in unchecked state</p>\n",
      "file": "src/lib/components/form/checkbox/icons/checkbox.component.ts",
      "properties": {}
    },
    "IconCheckboxIndeterminateComponent": {
      "name": "IconCheckboxIndeterminateComponent",
      "selector": "tgui-icon-checkbox-indeterminate",
      "description": "<p>Icon component for checkbox in indeterminate state</p>\n",
      "file": "src/lib/components/form/checkbox/icons/checkbox-indeterminate.component.ts",
      "properties": {}
    },
    "IconContainerComponent": {
      "name": "IconContainerComponent",
      "selector": "tgui-icon-container",
      "description": "<p>Icon container component provides a wrapper for icons with proper styling</p>\n",
      "file": "src/lib/components/blocks/icon-container/icon-container.component.ts",
      "properties": {}
    },
    "IconHeartComponent": {
      "name": "IconHeartComponent",
      "selector": "tgui-icon-heart",
      "description": "<p>This is a placeholder component for demonstrating custom icons in the Rating component.\nIn the future, you could replace the star icon with this or any other SVG icon.</p>\n",
      "file": "src/lib/components/form/rating/story/custom-icon.component.ts",
      "properties": {}
    },
    "IconRadioCheckedComponent": {
      "name": "IconRadioCheckedComponent",
      "selector": "tgui-icon-radio-checked",
      "description": "<p>Icon component for radio button in checked state</p>\n",
      "file": "src/lib/components/form/radio/icons/radio-checked.component.ts",
      "properties": {}
    },
    "IconRadioComponent": {
      "name": "IconRadioComponent",
      "selector": "tgui-icon-radio",
      "description": "<p>Icon component for radio button in unchecked state</p>\n",
      "file": "src/lib/components/form/radio/icons/radio.component.ts",
      "properties": {}
    },
    "IconsShowcaseComponent": {
      "name": "IconsShowcaseComponent",
      "selector": "tgui-icons-showcase",
      "description": "",
      "file": "src/lib/icons/story/icons.stories.ts",
      "properties": {}
    },
    "ImageBadgeComponent": {
      "name": "ImageBadgeComponent",
      "selector": "tgui-image-badge",
      "description": "<p>Badge component specifically designed to be used with Image component.\nOnly supports number type badges.</p>\n",
      "file": "src/lib/components/blocks/image/components/image-badge/image-badge.component.ts",
      "properties": {
        "count": {
          "type": "number",
          "defaultValue": "0",
          "description": "<p>Badge count number</p>\n",
          "optional": true
        },
        "maxCount": {
          "type": "number",
          "defaultValue": "99",
          "description": "<p>Maximum count to display before showing &quot;maxCount+&quot;</p>\n",
          "optional": true
        }
      }
    },
    "ImageComponent": {
      "name": "ImageComponent",
      "selector": "tgui-image",
      "description": "<p>Renders an image with optional fallback content. It supports custom sizing and will automatically\nhandle loading states and errors by optionally displaying a fallback icon. This component can also\ninclude additional content, such as badges or overlays, as children.</p>\n",
      "file": "src/lib/components/blocks/image/image.component.ts",
      "properties": {
        "size": {
          "type": "any",
          "defaultValue": "40",
          "description": "<p>Specifies the size of the image, with a default of 40. Sizes are defined in pixels.</p>\n",
          "optional": true
        }
      }
    },
    "InlineButtonsComponent": {
      "name": "InlineButtonsComponent",
      "selector": "tgui-inline-buttons",
      "description": "<p><code>InlineButtons</code> acts as a container for <code>InlineButtonsItem</code> components.\nThis component provides a unified context for styling and interaction,\nleveraging the <code>mode</code> to apply consistent styling across all child components.\nIt ensures visual consistency across different platforms and supports custom styling modes.</p>\n",
      "file": "src/lib/components/blocks/inline-buttons/inline-buttons.component.ts",
      "properties": {}
    },
    "InlineButtonsItemComponent": {
      "name": "InlineButtonsItemComponent",
      "selector": "tgui-inline-buttons-item",
      "description": "<p><code>InlineButtonsItem</code> is designed for use within an InlineButtons container but can also serve\nas a standalone button if used by itself. It supports displaying optional text and can inherit\na styling mode from its parent InlineButtons context or utilize a locally defined mode.</p>\n",
      "file": "src/lib/components/blocks/inline-buttons/components/inline-buttons-item.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Disables the button</p>\n",
          "optional": true
        }
      }
    },
    "InputComponent": {
      "name": "InputComponent",
      "selector": "tgui-input",
      "description": "<p>Renders a text input field with enhanced styling and integration into a form structure.\nIt automatically adapts typography and layout based on the platform, ensuring a consistent user experience across devices.</p>\n",
      "file": "src/lib/components/form/input/input.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Whether the input is disabled</p>\n",
          "optional": true
        }
      }
    },
    "IOSSpinnerComponent": {
      "name": "IOSSpinnerComponent",
      "selector": "tgui-ios-spinner",
      "description": "",
      "file": "src/lib/components/feedback/spinner/components/ios-spinner/ios-spinner.component.ts",
      "properties": {}
    },
    "LargeTitleComponent": {
      "name": "LargeTitleComponent",
      "selector": "tgui-large-title",
      "description": "<p>The LargeTitle component is designed for prominent display text, typically used for major headings\nor titles within an application. It encapsulates the Typography component&#39;s features, offering\nextensive styling and semantic customization options while defaulting to an <code>&lt;h1&gt;</code> HTML element.\nThis choice of default component underscores the importance and hierarchy of the text it encapsulates,\nmaking it suitable for primary page titles or significant headings.</p>\n",
      "file": "src/lib/components/typography/large-title/large-title.component.ts",
      "properties": {
        "caps": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "plain": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        }
      }
    },
    "LinkComponent": {
      "name": "LinkComponent",
      "selector": "tgui-link",
      "description": "<p>Link component provides a customizable anchor element.\nUsed for navigation with proper styling following the Telegram UI guidelines.</p>\n",
      "file": "src/lib/components/navigation/link/link.component.ts",
      "properties": {}
    },
    "ListComponent": {
      "name": "ListComponent",
      "selector": "tgui-list",
      "description": "<p>Renders a container for list items, applying platform-specific styles for consistency\nacross different operating systems. This component serves as a foundational element\nfor creating lists in a user interface.</p>\n",
      "file": "src/lib/components/blocks/list/list.component.ts",
      "properties": {}
    },
    "ModalCloseComponent": {
      "name": "ModalCloseComponent",
      "selector": "tgui-modal-close",
      "description": "<p>Modal close button component providing accessible close functionality.\nMust be used within a Modal component to function properly.\nSupports custom content and interactive animations.</p>\n",
      "file": "src/lib/components/overlays/modal/modal-close.component.ts",
      "properties": {}
    },
    "ModalComponent": {
      "name": "ModalComponent",
      "selector": "tgui-modal",
      "description": "<p>Modal component providing a flexible dialog framework with customizable content.\nSupports swipe gestures, snap points, and portal rendering for mobile-optimized experience.\nBased on React TGUI Modal component but implemented with Angular Signal API.</p>\n",
      "file": "src/lib/components/overlays/modal/modal.component.ts",
      "properties": {
        "dismissible": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "modal": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "nested": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "open": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "preventScrollRestoration": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "scrollLockTimeout": {
          "type": "any",
          "defaultValue": "500",
          "description": "",
          "optional": true
        }
      }
    },
    "ModalDemoComponent": {
      "name": "ModalDemoComponent",
      "selector": "tgui-modal-demo",
      "description": "",
      "file": "src/lib/components/overlays/modal/story/modal.stories.ts",
      "properties": {
        "dismissible": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "modal": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "preventScrollRestoration": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "scrollLockTimeout": {
          "type": "any",
          "defaultValue": "500",
          "description": "",
          "optional": true
        },
        "showCloseButton": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "showHeader": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        }
      }
    },
    "ModalHeaderComponent": {
      "name": "ModalHeaderComponent",
      "selector": "tgui-modal-header",
      "description": "<p>Modal header component providing a title area with drag handle indicator.\nSupports before/after content slots for additional elements like close buttons.\nOnly visible on iOS platform following design guidelines.</p>\n",
      "file": "src/lib/components/overlays/modal/modal-header.component.ts",
      "properties": {
        "forceHide": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Force hide header regardless of platform</p>\n",
          "optional": true
        },
        "forceShow": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Force show header regardless of platform</p>\n",
          "optional": true
        }
      }
    },
    "ModalOverlayComponent": {
      "name": "ModalOverlayComponent",
      "selector": "tgui-modal-overlay",
      "description": "<p>Modal overlay component providing a backdrop behind the modal content.\nSupports theme-aware background colors and customizable opacity.</p>\n",
      "file": "src/lib/components/overlays/modal/modal-overlay.component.ts",
      "properties": {}
    },
    "ModalStoryWrapperComponent": {
      "name": "ModalStoryWrapperComponent",
      "selector": "tgui-modal-story-wrapper",
      "description": "",
      "file": "src/lib/components/overlays/modal/story/modal.stories.ts",
      "properties": {
        "closeThreshold": {
          "type": "number",
          "defaultValue": "0.5",
          "description": "",
          "optional": true
        },
        "dismissible": {
          "type": "boolean",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "headerText": {
          "type": "string",
          "defaultValue": "'Modal Header'",
          "description": "",
          "optional": true
        },
        "modal": {
          "type": "boolean",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "preventScrollRestoration": {
          "type": "boolean",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "scrollLockTimeout": {
          "type": "number",
          "defaultValue": "500",
          "description": "",
          "optional": true
        },
        "showCloseButton": {
          "type": "boolean",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "showHeader": {
          "type": "boolean",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "snapPoints": {
          "type": "(number | string)[]",
          "defaultValue": "[]",
          "description": "",
          "optional": true
        },
        "theme": {
          "type": "\"light\" | \"dark\"",
          "defaultValue": "'light'",
          "description": "",
          "optional": true
        }
      }
    },
    "MultipleAccordionsStoryComponent": {
      "name": "MultipleAccordionsStoryComponent",
      "selector": "tgui-multiple-accordions-story",
      "description": "",
      "file": "src/lib/components/blocks/accordion/stories/accordion.stories.ts",
      "properties": {}
    },
    "MultiselectableComponent": {
      "name": "MultiselectableComponent",
      "selector": "tgui-multiselectable",
      "description": "<p>Renders a custom multiselectable checkbox input, adapting its icons based on the current platform (iOS or others).\nSupports all standard input checkbox properties.</p>\n",
      "file": "src/lib/components/form/multiselectable/multiselectable.component.ts",
      "properties": {
        "checked": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Set checked state</p>\n",
          "optional": true
        },
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Set disabled state</p>\n",
          "optional": true
        }
      }
    },
    "PaginationComponent": {
      "name": "PaginationComponent",
      "selector": "tgui-pagination",
      "description": "<p>The Pagination component displays a set of navigation controls allowing users to navigate through pages of content.\nIt is built on top of a custom hook that manages pagination logic and state.\nThis component can be customized to hide next/previous buttons, specify boundary and sibling count for pagination items,\nand handle page changes through a pageChange output.</p>\n",
      "file": "src/lib/components/navigation/pagination/pagination.component.ts",
      "properties": {
        "boundaryCount": {
          "type": "any",
          "defaultValue": "1",
          "description": "<p>Number of always visible pages at the beginning and end.</p>\n",
          "optional": true
        },
        "count": {
          "type": "any",
          "defaultValue": "1",
          "description": "<p>The total number of pages.</p>\n",
          "optional": true
        },
        "defaultPage": {
          "type": "any",
          "defaultValue": "1",
          "description": "<p>The page selected by default when the component is uncontrolled.</p>\n",
          "optional": true
        },
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Controls whether the Pagination component is interactive.</p>\n",
          "optional": true
        },
        "hideNextButton": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>If <code>true</code>, hide the next-page button.</p>\n",
          "optional": true
        },
        "hidePrevButton": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>If <code>true</code>, hide the previous-page button.</p>\n",
          "optional": true
        },
        "siblingCount": {
          "type": "any",
          "defaultValue": "1",
          "description": "<p>Number of always visible pages before and after the current page.</p>\n",
          "optional": true
        }
      }
    },
    "PinInputButtonComponent": {
      "name": "PinInputButtonComponent",
      "selector": "tgui-pin-input-button",
      "description": "<p>PinInputButton component for PIN code entry\nProvides a button optimized for number entry in PIN inputs\nSupports both content input property and ng-content projection</p>\n",
      "file": "src/lib/components/form/pin-input/components/pin-input-button/pin-input-button.component.ts",
      "properties": {}
    },
    "PinInputCellComponent": {
      "name": "PinInputCellComponent",
      "selector": "tgui-pin-input-cell",
      "description": "<p>Individual cell component for PIN input.\nDisplays a field for a single digit of a PIN code.</p>\n",
      "file": "src/lib/components/form/pin-input/components/pin-input-cell/pin-input-cell.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Sets the disabled state</p>\n",
          "optional": true
        },
        "isTyped": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Whether the cell has a value typed</p>\n",
          "optional": true
        }
      }
    },
    "PinInputComponent": {
      "name": "PinInputComponent",
      "selector": "tgui-pin-input",
      "description": "<p>Renders a set of input fields for entering pin codes with a virtual keypad for value entry and deletion.</p>\n",
      "file": "src/lib/components/form/pin-input/pin-input.component.ts",
      "properties": {
        "debug": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Enable debug mode to show platform information</p>\n",
          "optional": true
        },
        "pinCount": {
          "type": "any",
          "defaultValue": "4",
          "description": "<p>The number of pin input fields to display, with a minimum of 2.</p>\n",
          "optional": true
        }
      }
    },
    "PinInputStoryWrapperComponent": {
      "name": "PinInputStoryWrapperComponent",
      "selector": "tgui-pin-input-story-wrapper",
      "description": "",
      "file": "src/lib/components/form/pin-input/story/pin-input.stories.ts",
      "properties": {}
    },
    "PinStoryRootComponent": {
      "name": "PinStoryRootComponent",
      "selector": "tgui-pin-story-root",
      "description": "",
      "file": "src/lib/components/form/pin-input/story/pin-input.stories.ts",
      "properties": {
        "appearance": {
          "type": "AppearanceType",
          "defaultValue": "'light'",
          "description": "",
          "optional": true
        },
        "followSystemTheme": {
          "type": "boolean",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "platform": {
          "type": "PlatformType",
          "defaultValue": "'base'",
          "description": "",
          "optional": true
        }
      }
    },
    "PlaceholderComponent": {
      "name": "PlaceholderComponent",
      "selector": "tgui-placeholder",
      "description": "<p>A versatile component designed to display a placeholder with optional text, images, and actions.</p>\n",
      "file": "src/lib/components/blocks/placeholder/placeholder.component.ts",
      "properties": {
        "description": {
          "type": "string",
          "description": "<p>Additional descriptive text to provide more details or context.</p>\n",
          "optional": true
        },
        "header": {
          "type": "string",
          "description": "<p>The primary text, usually a title or a header, for the placeholder.</p>\n",
          "optional": true
        }
      }
    },
    "PlaygroundStoryComponent": {
      "name": "PlaygroundStoryComponent",
      "selector": "tgui-playground-story",
      "description": "",
      "file": "src/lib/components/blocks/accordion/stories/accordion.stories.ts",
      "properties": {}
    },
    "PopperComponent": {
      "name": "PopperComponent",
      "selector": "tgui-popper",
      "description": "<p>Renders a Popper component, leveraging floating UI for dynamic, responsive positioning.\nSupports advanced configurations like virtual elements, custom arrows, and auto-position updates.</p>\n",
      "file": "src/lib/components/overlays/popper/popper.component.ts",
      "properties": {
        "autoUpdateOnTargetResize": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "offsetByCrossAxis": {
          "type": "any",
          "defaultValue": "0",
          "description": "",
          "optional": true
        },
        "offsetByMainAxis": {
          "type": "any",
          "defaultValue": "8",
          "description": "",
          "optional": true
        },
        "sameWidth": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "withArrow": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        }
      }
    },
    "PopperDemoComponent": {
      "name": "PopperDemoComponent",
      "selector": "tgui-popper-demo",
      "description": "",
      "file": "src/lib/components/overlays/popper/story/popper.stories.ts",
      "properties": {
        "offsetByCrossAxis": {
          "type": "number",
          "defaultValue": "0",
          "description": "",
          "optional": true
        },
        "offsetByMainAxis": {
          "type": "number",
          "defaultValue": "8",
          "description": "",
          "optional": true
        },
        "placement": {
          "type": "string",
          "defaultValue": "'auto'",
          "description": "",
          "optional": true
        },
        "sameWidth": {
          "type": "boolean",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "withArrow": {
          "type": "boolean",
          "defaultValue": "true",
          "description": "",
          "optional": true
        }
      }
    },
    "PopperStoryWrapperComponent": {
      "name": "PopperStoryWrapperComponent",
      "selector": "tgui-popper-story-wrapper",
      "description": "",
      "file": "src/lib/components/overlays/popper/story/popper.stories.ts",
      "properties": {}
    },
    "ProgressComponent": {
      "name": "ProgressComponent",
      "selector": "tgui-progress",
      "description": "<p>Renders a linear progress bar that visually represents completion percentage towards a goal.\nThe component respects accessibility standards by including appropriate ARIA attributes.</p>\n",
      "file": "src/lib/components/feedback/progress/progress.component.ts",
      "properties": {
        "value": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>The current value of the progress bar, expressed as a percentage.\nThe value should be between 0 and 100.</p>\n",
          "optional": true
        }
      }
    },
    "RadioComponent": {
      "name": "RadioComponent",
      "selector": "tgui-radio",
      "description": "<p>Renders a radio button input with custom styling.\nThe component visually hides the actual input element for accessibility\nwhile providing a custom styled appearance.</p>\n",
      "file": "src/lib/components/form/radio/radio.component.ts",
      "properties": {
        "checked": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Sets the checked state</p>\n",
          "optional": true
        },
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Sets the disabled state</p>\n",
          "optional": true
        }
      }
    },
    "RatingComponent": {
      "name": "RatingComponent",
      "selector": "tgui-rating",
      "description": "<p>Renders a customizable rating component, allowing users to provide a rating by selecting a value using stars.\nSupports fractional ratings through precision control.</p>\n<b>Example :</b><div><pre class=\"line-numbers\"><code class=\"language-html\">&lt;tgui-rating\n  [(ratingValue)]=&quot;userRating&quot;\n  [precision]=&quot;0.5&quot;\n  [max]=&quot;5&quot;&gt;\n&lt;/tgui-rating&gt;</code></pre></div>",
      "file": "src/lib/components/form/rating/rating.component.ts",
      "properties": {
        "max": {
          "type": "any",
          "defaultValue": "5",
          "description": "<p>The maximum rating value, representing the number of icons displayed.</p>\n",
          "optional": true
        },
        "ratingValue": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>The current value of the rating using Angular&#39;s two-way binding with model().</p>\n",
          "optional": true
        }
      }
    },
    "RippleComponent": {
      "name": "RippleComponent",
      "selector": "tgui-ripple",
      "description": "",
      "file": "src/lib/components/utils/tappable/components/ripple/ripple.component.ts",
      "properties": {}
    },
    "RootComponent": {
      "name": "RootComponent",
      "selector": "tgui-root",
      "description": "<p>Root component for the TGUI library\nProvides theming, platform detection, and portal container functionality\nShould be used at the root of your application</p>\n",
      "file": "src/lib/components/utils/tgui-root/tgui-root.component.ts",
      "properties": {
        "appearance": {
          "type": "any",
          "description": "<p>Application appearance, determined automatically if nothing passed</p>\n",
          "optional": true
        },
        "followSystemTheme": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Whether to follow system theme changes when appearance is set manually</p>\n",
          "optional": true
        },
        "platform": {
          "type": "any",
          "description": "<p>Application platform, determined automatically if nothing passed</p>\n",
          "optional": true
        }
      }
    },
    "RootPortalComponent": {
      "name": "RootPortalComponent",
      "selector": "tgui-root-portal",
      "description": "<p>Component for rendering content in the portal container\nSimilar to RootRenderer in React version</p>\n",
      "file": "src/lib/components/utils/portal/root-portal.component.ts",
      "properties": {}
    },
    "RootRendererComponent": {
      "name": "RootRendererComponent",
      "selector": "tgui-root-renderer",
      "description": "<p>Component for rendering content in the portal container\nEquivalent to RootRenderer in React version\nUsed for rendering content outside of normal DOM hierarchy (modals, popups, etc.)</p>\n",
      "file": "src/lib/components/utils/root-renderer/root-renderer.component.ts",
      "properties": {}
    },
    "SectionComponent": {
      "name": "SectionComponent",
      "selector": "tgui-section",
      "description": "<p>The Section component organizes content into separate sections with optional\nheaders and footers. It automatically wraps strings and numbers in appropriate\nSectionHeader and SectionFooter components, and inserts dividers between\nchild elements.</p>\n",
      "file": "src/lib/components/blocks/section/section.component.ts",
      "properties": {
        "footer": {
          "type": "string | number | TemplateRef<any>",
          "description": "<p>Content for the section footer. If a string is passed, SectionFooter is automatically used.\nFor centered footer, use <tgui-section-footer centered>...</tgui-section-footer>.</p>\n",
          "optional": true
        },
        "header": {
          "type": "string | number | TemplateRef<any>",
          "description": "<p>Content for the section header. If a string is passed, SectionHeader is automatically used.\nFor more control or a large header, use <tgui-section-header large>...</tgui-section-header>.</p>\n",
          "optional": true
        }
      }
    },
    "SectionFooterComponent": {
      "name": "SectionFooterComponent",
      "selector": "tgui-section-footer",
      "description": "<p>The SectionFooter component represents a footer for the Section component.\nSupports centered mode for centered text.</p>\n",
      "file": "src/lib/components/blocks/section/components/section-footer/section-footer.component.ts",
      "properties": {
        "centered": {
          "type": "boolean",
          "defaultValue": "false",
          "description": "<p>Text centering, adding additional padding</p>\n",
          "optional": true
        }
      }
    },
    "SectionHeaderComponent": {
      "name": "SectionHeaderComponent",
      "selector": "tgui-section-header",
      "description": "<p>The SectionHeader component represents a header for the Section component.\nSupports large mode for an enlarged header.</p>\n",
      "file": "src/lib/components/blocks/section/components/section-header/section-header.component.ts",
      "properties": {
        "large": {
          "type": "boolean",
          "defaultValue": "false",
          "description": "<p>Enlarged header, changes font size, padding and color</p>\n",
          "optional": true
        }
      }
    },
    "SegmentedControlComponent": {
      "name": "SegmentedControlComponent",
      "selector": "tgui-segmented-control",
      "description": "<p>The SegmentedControl component renders a set of options as a segmented control,\ncommonly used for toggling between views or filtering content.\nIt is designed to adapt its appearance based on the platform,\noffering a native look and feel.</p>\n",
      "file": "src/lib/components/navigation/segmented-control/segmented-control.component.ts",
      "properties": {
        "selectedIndex": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>Selected tab index</p>\n",
          "optional": true
        }
      }
    },
    "SegmentedControlDemoComponent": {
      "name": "SegmentedControlDemoComponent",
      "selector": "tgui-segmented-control-demo",
      "description": "",
      "file": "src/lib/components/navigation/segmented-control/story/segmented-control.stories.ts",
      "properties": {}
    },
    "SegmentedControlItemComponent": {
      "name": "SegmentedControlItemComponent",
      "selector": "tgui-segmented-control-item",
      "description": "<p>SegmentedControlItem component represents an individual item within a SegmentedControl.\nIt can be interactively selected to display associated content.</p>\n",
      "file": "src/lib/components/navigation/segmented-control/segmented-control-item.component.ts",
      "properties": {
        "selected": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>External parameter to mark item as selected</p>\n",
          "optional": true
        }
      }
    },
    "SelectComponent": {
      "name": "SelectComponent",
      "selector": "tgui-select",
      "description": "<p>Renders a custom styled select input within a <code>FormInput</code> container. This component is designed to integrate seamlessly\nwith the form input styles, providing a consistent look and enhanced features such as a custom dropdown arrow and support\nfor platform-specific typography. The <code>FormInput</code> wrapper facilitates the inclusion of headers and status messages.</p>\n",
      "file": "src/lib/components/form/select/select.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Whether the input is disabled</p>\n",
          "optional": true
        }
      }
    },
    "SkeletonComponent": {
      "name": "SkeletonComponent",
      "selector": "tgui-skeleton",
      "description": "<p>Used as a placeholder during the loading state of a component or page.\nIt can visually mimic the layout that will be replaced by the actual content once loaded,\nimproving user experience by reducing perceived loading times.</p>\n",
      "file": "src/lib/components/feedback/skeleton/skeleton.component.ts",
      "properties": {
        "visible": {
          "type": "any",
          "defaultValue": "true",
          "description": "<p>If true, the skeleton overlay is shown above the content.\nWhen false, the skeleton is hidden, showing any underlying content.</p>\n",
          "optional": true
        },
        "withoutAnimation": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>If true, disables the shimmering animation of the skeleton.</p>\n",
          "optional": true
        }
      }
    },
    "SnackbarButtonComponent": {
      "name": "SnackbarButtonComponent",
      "selector": "tgui-snackbar-button",
      "description": "",
      "file": "src/lib/components/feedback/snackbar/components/snackbar-button/snackbar-button.component.ts",
      "properties": {}
    },
    "SnackbarComponent": {
      "name": "SnackbarComponent",
      "selector": "tgui-snackbar",
      "description": "",
      "file": "src/lib/components/feedback/snackbar/snackbar.component.ts",
      "properties": {
        "description": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "duration": {
          "type": "number",
          "defaultValue": "4000",
          "description": "",
          "optional": true
        },
        "onClose": {
          "type": "function",
          "description": "",
          "optional": true
        }
      }
    },
    "SpinnerComponent": {
      "name": "SpinnerComponent",
      "selector": "tgui-spinner",
      "description": "<p>Spinner component displays a loading indicator.\nAutomatically selects the appropriate indicator style based on the platform.</p>\n",
      "file": "src/lib/components/feedback/spinner/spinner.component.ts",
      "properties": {}
    },
    "SpoilerComponent": {
      "name": "SpoilerComponent",
      "selector": "tgui-spoiler",
      "description": "<p>Provides a way to hide or show content, such as details or spoilers, with a simple click.\nThe visibility state can be controlled externally via props or toggled by user interaction.</p>\n",
      "file": "src/lib/components/feedback/spoiler/spoiler.component.ts",
      "properties": {
        "visible": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        }
      }
    },
    "StepsComponent": {
      "name": "StepsComponent",
      "selector": "tgui-steps",
      "description": "<p>Renders a visual indicator of steps or progress in a process, such as a tutorial or a multi-step form.\nIt visually represents total steps and current progress.</p>\n",
      "file": "src/lib/components/blocks/steps/steps.component.ts",
      "properties": {
        "count": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>Total number of steps.</p>\n",
          "optional": true
        },
        "progress": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>Current progress, indicating how many steps have been completed.\nProgress is 0-indexed and goes up to <code>count</code>.</p>\n",
          "optional": true
        }
      }
    },
    "StoryRootComponent": {
      "name": "StoryRootComponent",
      "selector": "tgui-story-root",
      "description": "",
      "file": "src/lib/components/overlays/tooltip/story/tooltip.stories.ts",
      "properties": {
        "appearance": {
          "type": "AppearanceType",
          "defaultValue": "'light'",
          "description": "",
          "optional": true
        },
        "followSystemTheme": {
          "type": "boolean",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "platform": {
          "type": "PlatformType",
          "defaultValue": "'base'",
          "description": "",
          "optional": true
        }
      }
    },
    "SubheadlineComponent": {
      "name": "SubheadlineComponent",
      "selector": "tgui-subheadline",
      "description": "<p>The Subheadline component is designed to render text that serves as a secondary heading\nor subheading within content. It leverages the Typography component for consistent text styling,\noffering additional control over the text&#39;s size through the <code>level</code> prop. By default, it renders\nas an <code>&lt;h6&gt;</code> element but can be customized with the <code>tag</code> property.</p>\n",
      "file": "src/lib/components/typography/subheadline/subheadline.component.ts",
      "properties": {
        "caps": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "plain": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        }
      }
    },
    "SwitchComponent": {
      "name": "SwitchComponent",
      "selector": "tgui-switch",
      "description": "<p>A custom switch component that mimics the behavior of a checkbox input but with enhanced styling.\nIt supports all the standard attributes of an HTML input element of type &quot;checkbox&quot;.\nThe appearance of the switch can be customized to match either a base or iOS platform style.</p>\n",
      "file": "src/lib/components/form/switch/switch.component.ts",
      "properties": {
        "checked": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Sets the checked state</p>\n",
          "optional": true
        },
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Sets the disabled state</p>\n",
          "optional": true
        }
      }
    },
    "TabbarComponent": {
      "name": "TabbarComponent",
      "selector": "tgui-tabbar",
      "description": "<p>Serves as a container for <code>TabbarItem</code> components, rendering a navigational tab bar.\nUtilizes a <code>FixedLayout</code> to ensure the tab bar remains positioned at a specific area within a view,\ntypically at the bottom of the screen, making it ideal for mobile or web application navigation menus.</p>\n<p>The component adapts its styling based on the platform, providing a consistent look and feel across different devices.</p>\n",
      "file": "src/lib/components/layout/tabbar/tabbar.component.ts",
      "properties": {
        "selectedIndex": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>Index of the selected tab</p>\n",
          "optional": true
        }
      }
    },
    "TabbarItemComponent": {
      "name": "TabbarItemComponent",
      "selector": "tgui-tabbar-item",
      "description": "<p>Represents an individual tab within a <code>Tabbar</code>.\nEach <code>TabbarItem</code> typically contains an icon and optional text.\nWhen selected, the tab exhibits different visual styles to indicate its active state.</p>\n<p>The component adapts its styling based on the platform, providing a consistent look and feel across different devices.</p>\n",
      "file": "src/lib/components/layout/tabbar/tabbar-item.component.ts",
      "properties": {}
    },
    "TabsItemComponent": {
      "name": "TabsItemComponent",
      "selector": "tgui-tabs-item",
      "description": "<p>TabsItem component represents an individual tab within a TabsList.\nIt can be interactively selected to display associated content.</p>\n",
      "file": "src/lib/components/navigation/tabs-list/tabs-item.component.ts",
      "properties": {
        "selected": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>External parameter for tab selection</p>\n",
          "optional": true
        }
      }
    },
    "TabsListComponent": {
      "name": "TabsListComponent",
      "selector": "tgui-tabs-list",
      "description": "<p>The TabsList component renders a list of tabs, typically used for navigating between different views\nor filtering content. It visually indicates the currently active tab and supports custom styling.</p>\n",
      "file": "src/lib/components/navigation/tabs-list/tabs-list.component.ts",
      "properties": {
        "selectedIndex": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>Index of selected tab</p>\n",
          "optional": true
        }
      }
    },
    "TabsListDemoComponent": {
      "name": "TabsListDemoComponent",
      "selector": "tgui-tabs-list-demo",
      "description": "",
      "file": "src/lib/components/navigation/tabs-list/story/tabs-list.stories.ts",
      "properties": {}
    },
    "TabsListWithContentDemoComponent": {
      "name": "TabsListWithContentDemoComponent",
      "selector": "tgui-tabs-list-content-demo",
      "description": "",
      "file": "src/lib/components/navigation/tabs-list/story/tabs-list-with-content.stories.ts",
      "properties": {}
    },
    "TappableComponent": {
      "name": "TappableComponent",
      "selector": "tgui-tappable",
      "description": "",
      "file": "src/lib/components/utils/tappable/tappable.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Disable component</p>\n",
          "optional": true
        },
        "readonly": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Make component read-only</p>\n",
          "optional": true
        }
      }
    },
    "TextareaComponent": {
      "name": "TextareaComponent",
      "selector": "tgui-textarea",
      "description": "<p>Wraps a standard HTML textarea element within a <code>FormInput</code> container, applying custom styles and functionality.\nThis component inherits the flexible design of the <code>FormInput</code>, allowing it to display a header and reflect different status styles.\nThe appearance and behavior of the textarea can be customized through various props, providing a seamless integration with forms.</p>\n",
      "file": "src/lib/components/form/textarea/textarea.component.ts",
      "properties": {
        "disabled": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Whether the textarea is disabled</p>\n",
          "optional": true
        }
      }
    },
    "TextComponent": {
      "name": "TextComponent",
      "selector": "tgui-text",
      "description": "<p>Text component is designed for general-purpose text rendering,\noffering a wide range of typographic options. It extends the Typography\ncomponent, inheriting its flexibility and styling capabilities.\nThis component is ideal for paragraphs, labels, or any textual content, providing\nconsistent styling across the application.</p>\n",
      "file": "src/lib/components/typography/text/text.component.ts",
      "properties": {
        "plain": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        },
        "caps": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        }
      }
    },
    "TguiComponent": {
      "name": "TguiComponent",
      "selector": "tgui-root",
      "description": "",
      "file": "src/lib/tgui.component.ts",
      "properties": {}
    },
    "TguiDynamicIconComponent": {
      "name": "TguiDynamicIconComponent",
      "selector": "tgui-dynamic-icon",
      "description": "",
      "file": "src/lib/icons/dynamic-icon.component.ts",
      "properties": {
        "icon": {
          "type": "string",
          "description": "",
          "optional": true
        }
      }
    },
    "TguiIcon12Quote": {
      "name": "TguiIcon12Quote",
      "selector": "tgui-icon12-quote",
      "description": "",
      "file": "src/lib/icons/icon12/tgui-icon12-quote.ts",
      "properties": {}
    },
    "TguiIcon16Cancel": {
      "name": "TguiIcon16Cancel",
      "selector": "tgui-icon16-cancel",
      "description": "",
      "file": "src/lib/icons/icon16/tgui-icon16-cancel.ts",
      "properties": {}
    },
    "TguiIcon16Chevron": {
      "name": "TguiIcon16Chevron",
      "selector": "tgui-icon16-chevron",
      "description": "",
      "file": "src/lib/icons/icon16/tgui-icon16-chevron.ts",
      "properties": {}
    },
    "TguiIcon20ChevronDown": {
      "name": "TguiIcon20ChevronDown",
      "selector": "tgui-icon20-chevron-down",
      "description": "",
      "file": "src/lib/icons/icon20/tgui-icon20-chevron-down.ts",
      "properties": {}
    },
    "TguiIcon20Copy": {
      "name": "TguiIcon20Copy",
      "selector": "tgui-icon20-copy",
      "description": "",
      "file": "src/lib/icons/icon20/tgui-icon20-copy.ts",
      "properties": {}
    },
    "TguiIcon20QuestionMark": {
      "name": "TguiIcon20QuestionMark",
      "selector": "tgui-icon20-question-mark",
      "description": "",
      "file": "src/lib/icons/icon20/tgui-icon20-question-mark.ts",
      "properties": {}
    },
    "TguiIcon20Select": {
      "name": "TguiIcon20Select",
      "selector": "tgui-icon20-select",
      "description": "",
      "file": "src/lib/icons/icon20/tgui-icon20-select.ts",
      "properties": {}
    },
    "TguiIcon20SelectIos": {
      "name": "TguiIcon20SelectIos",
      "selector": "tgui-icon20-select-ios",
      "description": "",
      "file": "src/lib/icons/icon20/tgui-icon20-select-ios.ts",
      "properties": {}
    },
    "TguiIcon24Cancel": {
      "name": "TguiIcon24Cancel",
      "selector": "tgui-icon24-cancel",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-cancel.ts",
      "properties": {}
    },
    "TguiIcon24Channel": {
      "name": "TguiIcon24Channel",
      "selector": "tgui-icon24-channel",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-channel.ts",
      "properties": {}
    },
    "TguiIcon24Chat": {
      "name": "TguiIcon24Chat",
      "selector": "tgui-icon24-chat",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-chat.ts",
      "properties": {}
    },
    "TguiIcon24ChevronDown": {
      "name": "TguiIcon24ChevronDown",
      "selector": "tgui-icon24-chevron-down",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-chevron-down.ts",
      "properties": {}
    },
    "TguiIcon24ChevronLeft": {
      "name": "TguiIcon24ChevronLeft",
      "selector": "tgui-icon24-chevron-left",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-chevron-left.ts",
      "properties": {}
    },
    "TguiIcon24ChevronRight": {
      "name": "TguiIcon24ChevronRight",
      "selector": "tgui-icon24-chevron-right",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-chevron-right.ts",
      "properties": {}
    },
    "TguiIcon24Close": {
      "name": "TguiIcon24Close",
      "selector": "tgui-icon24-close",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-close.ts",
      "properties": {}
    },
    "TguiIcon24Notifications": {
      "name": "TguiIcon24Notifications",
      "selector": "tgui-icon24-notifications",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-notifications.ts",
      "properties": {}
    },
    "TguiIcon24PersonRemove": {
      "name": "TguiIcon24PersonRemove",
      "selector": "tgui-icon24-person-remove",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-person-remove.ts",
      "properties": {}
    },
    "TguiIcon24Qr": {
      "name": "TguiIcon24Qr",
      "selector": "tgui-icon24-qr",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-qr.ts",
      "properties": {}
    },
    "TguiIcon24SunLow": {
      "name": "TguiIcon24SunLow",
      "selector": "tgui-icon24-sun-low",
      "description": "",
      "file": "src/lib/icons/icon24/tgui-icon24-sun-low.ts",
      "properties": {}
    },
    "TguiIcon28AddCircle": {
      "name": "TguiIcon28AddCircle",
      "selector": "tgui-icon28-add-circle",
      "description": "",
      "file": "src/lib/icons/icon28/tgui-icon28-add-circle.ts",
      "properties": {}
    },
    "TguiIcon28Archive": {
      "name": "TguiIcon28Archive",
      "selector": "tgui-icon28-archive",
      "description": "",
      "file": "src/lib/icons/icon28/tgui-icon28-archive.ts",
      "properties": {}
    },
    "TguiIcon28Attach": {
      "name": "TguiIcon28Attach",
      "selector": "tgui-icon28-attach",
      "description": "",
      "file": "src/lib/icons/icon28/tgui-icon28-attach.ts",
      "properties": {}
    },
    "TguiIcon28Chat": {
      "name": "TguiIcon28Chat",
      "selector": "tgui-icon28-chat",
      "description": "",
      "file": "src/lib/icons/icon28/tgui-icon28-chat.ts",
      "properties": {}
    },
    "TguiIcon28Close": {
      "name": "TguiIcon28Close",
      "selector": "tgui-icon28-close",
      "description": "",
      "file": "src/lib/icons/icon28/tgui-icon28-close.ts",
      "properties": {}
    },
    "TguiIcon28CloseAmbient": {
      "name": "TguiIcon28CloseAmbient",
      "selector": "tgui-icon28-close-ambient",
      "description": "",
      "file": "src/lib/icons/icon28/tgui-icon28-close-ambient.ts",
      "properties": {}
    },
    "TguiIcon28Devices": {
      "name": "TguiIcon28Devices",
      "selector": "tgui-icon28-devices",
      "description": "",
      "file": "src/lib/icons/icon28/tgui-icon28-devices.ts",
      "properties": {}
    },
    "TguiIcon28Edit": {
      "name": "TguiIcon28Edit",
      "selector": "tgui-icon28-edit",
      "description": "",
      "file": "src/lib/icons/icon28/tgui-icon28-edit.ts",
      "properties": {}
    },
    "TguiIcon28Heart": {
      "name": "TguiIcon28Heart",
      "selector": "tgui-icon28-heart",
      "description": "",
      "file": "src/lib/icons/icon28/tgui-icon28-heart.ts",
      "properties": {}
    },
    "TguiIcon28Stats": {
      "name": "TguiIcon28Stats",
      "selector": "tgui-icon28-stats",
      "description": "",
      "file": "src/lib/icons/icon28/tgui-icon28-stats.ts",
      "properties": {}
    },
    "TguiIcon32ProfileColoredSquare": {
      "name": "TguiIcon32ProfileColoredSquare",
      "selector": "tgui-icon32-profile-colored-square",
      "description": "",
      "file": "src/lib/icons/icon32/tgui-icon32-profile-colored-square.ts",
      "properties": {}
    },
    "TguiIcon36Backspace": {
      "name": "TguiIcon36Backspace",
      "selector": "tgui-icon36-backspace",
      "description": "",
      "file": "src/lib/icons/icon36/tgui-icon36-backspace.ts",
      "properties": {}
    },
    "TguiIconBase": {
      "name": "TguiIconBase",
      "description": "",
      "file": "src/lib/icons/icon-base.component.ts",
      "properties": {}
    },
    "ThemeDemoComponent": {
      "name": "ThemeDemoComponent",
      "selector": "tgui-theme-demo",
      "description": "",
      "file": "src/lib/services/story/theme-demo.component.ts",
      "properties": {}
    },
    "ThemeSwitchComponent": {
      "name": "ThemeSwitchComponent",
      "selector": "tgui-theme-switch",
      "description": "",
      "file": "src/lib/services/story/theme-switch.component.ts",
      "properties": {}
    },
    "TimelineComponent": {
      "name": "TimelineComponent",
      "selector": "tgui-timeline",
      "description": "",
      "file": "src/lib/components/blocks/timeline/timeline.component.ts",
      "properties": {}
    },
    "TimelineItemComponent": {
      "name": "TimelineItemComponent",
      "selector": "tgui-timeline-item",
      "description": "",
      "file": "src/lib/components/blocks/timeline/components/timeline-item/timeline-item.component.ts",
      "properties": {
        "header": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "horizontal": {
          "type": "boolean",
          "description": "",
          "optional": true
        },
        "mode": {
          "type": "\"active\" | \"pre-active\"",
          "description": "",
          "optional": true
        }
      }
    },
    "TitleComponent": {
      "name": "TitleComponent",
      "selector": "tgui-title",
      "description": "<p>The Title component is designed to render text as a page or section heading,\nproviding clear hierarchy and structure within content. It supports three levels of emphasis,\nallowing for flexibility in design while maintaining semantic integrity. By default, it uses <code>h3</code>\nfor its semantic HTML element but can be customized via the <code>level</code> prop or explicitly with the <code>tag</code> property.</p>\n",
      "file": "src/lib/components/typography/title/title.component.ts",
      "properties": {
        "caps": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "plain": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        }
      }
    },
    "TooltipComponent": {
      "name": "TooltipComponent",
      "selector": "tgui-tooltip",
      "description": "<p>TODO: Implement as a directive to allow usage like:\n&lt;tgui-button tguiTooltip [tguiTooltipContent]=&quot;TEMPLATE OR STRING CONTENT&quot;&gt;</p>\n<p>The Tooltip component provides text labels that appear when the user hovers over, focuses on,\nor touches an element. It&#39;s built on top of the Popper component for automatic positioning\nrelative to the target element. The tooltip supports light and dark modes for different visual\ncontexts and uses the Caption component for its content to ensure consistent typography.</p>\n",
      "file": "src/lib/components/overlays/tooltip/tooltip.component.ts",
      "properties": {
        "autoUpdateOnTargetResize": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Whether to update tooltip position when target element resizes</p>\n",
          "optional": true
        },
        "offsetByCrossAxis": {
          "type": "any",
          "defaultValue": "0",
          "description": "<p>Offset along the cross axis</p>\n",
          "optional": true
        },
        "offsetByMainAxis": {
          "type": "any",
          "defaultValue": "8",
          "description": "<p>Offset along the main axis</p>\n",
          "optional": true
        },
        "sameWidth": {
          "type": "any",
          "defaultValue": "false",
          "description": "<p>Match width of the tooltip with target element</p>\n",
          "optional": true
        }
      }
    },
    "TooltipDemoComponent": {
      "name": "TooltipDemoComponent",
      "selector": "tgui-tooltip-demo",
      "description": "",
      "file": "src/lib/components/overlays/tooltip/story/tooltip.stories.ts",
      "properties": {
        "mode": {
          "type": "\"light\" | \"dark\"",
          "defaultValue": "'light'",
          "description": "",
          "optional": true
        },
        "placement": {
          "type": "string",
          "defaultValue": "'auto'",
          "description": "",
          "optional": true
        },
        "sameWidth": {
          "type": "boolean",
          "defaultValue": "false",
          "description": "",
          "optional": true
        }
      }
    },
    "TooltipStoryWrapperComponent": {
      "name": "TooltipStoryWrapperComponent",
      "selector": "tgui-tooltip-story-wrapper",
      "description": "",
      "file": "src/lib/components/overlays/tooltip/story/tooltip.stories.ts",
      "properties": {
        "mode": {
          "type": "\"light\" | \"dark\"",
          "defaultValue": "'light'",
          "description": "",
          "optional": true
        },
        "placement": {
          "type": "string",
          "defaultValue": "'auto'",
          "description": "",
          "optional": true
        },
        "sameWidth": {
          "type": "boolean",
          "defaultValue": "false",
          "description": "",
          "optional": true
        }
      }
    },
    "TouchComponent": {
      "name": "TouchComponent",
      "selector": "tgui-touch",
      "description": "<p>Component for handling touch and gesture events</p>\n<p>This component is ported from the VKUI library for convenient handling of pointer events\n<a href=\"https://github.com/VKCOM/VKUI/blob/master/packages/vkui/src/components/Touch/Touch.tsx\">https://github.com/VKCOM/VKUI/blob/master/packages/vkui/src/components/Touch/Touch.tsx</a></p>\n",
      "file": "src/lib/components/utils/touch/touch.component.ts",
      "properties": {
        "noSlideClick": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "slideThreshold": {
          "type": "any",
          "defaultValue": "5",
          "description": "",
          "optional": true
        },
        "stopPropagation": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "useCapture": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "usePointerHover": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        }
      }
    },
    "TypographyComponent": {
      "name": "TypographyComponent",
      "selector": "tgui-typography",
      "description": "<p>The Typography component is a versatile wrapper for text content, offering\ncustomizable styling options such as weight, capitalization, and HTML tag. It&#39;s designed\nto facilitate consistent text styling across your application, with support for customization\nthrough inputs.</p>\n",
      "file": "src/lib/components/typography/typography.component.ts",
      "properties": {
        "caps": {
          "type": "any",
          "defaultValue": "false",
          "description": "",
          "optional": true
        },
        "plain": {
          "type": "any",
          "defaultValue": "true",
          "description": "",
          "optional": true
        }
      }
    }
  },
  "services": {
    "FloatingMiddlewaresService": {
      "name": "FloatingMiddlewaresService",
      "description": "",
      "file": "src/lib/components/overlays/popper/hooks/use-floating-middlewares.ts",
      "methods": {
        "getMiddlewares": {
          "description": "",
          "returnType": "{ middlewares: {}; strictPlacement: any; }",
          "parameters": [
            {
              "name": "options",
              "type": "UseFloatingMiddlewaresOptions",
              "deprecated": false,
              "deprecationMessage": ""
            }
          ]
        }
      }
    },
    "PinInputService": {
      "name": "PinInputService",
      "description": "<p>Service that provides functionality for PIN input component\nSimilar to the React usePinInput hook</p>\n",
      "file": "src/lib/components/form/pin-input/hooks/use-pin-input.ts",
      "methods": {
        "create": {
          "description": "<p>Creates a PIN input controller with the specified parameters</p>\n",
          "returnType": "{ value: any; setInputRefByIndex: (index: number, ref: any) => void; handleClickValue: (enteredValue: number) => void; handleClickBackspace: () => void; handleButton: (index: number, button: string) => void; }",
          "parameters": [
            {
              "name": "params",
              "type": "UsePinInputParams",
              "deprecated": false,
              "deprecationMessage": ""
            }
          ]
        }
      }
    },
    "PlatformService": {
      "name": "PlatformService",
      "description": "",
      "file": "src/lib/services/platform.service.ts",
      "methods": {
        "isIOS": {
          "description": "<p>Checks if current platform is iOS\nUses DOM class to determine platform, caches result for better performance</p>\n",
          "returnType": "boolean",
          "parameters": []
        },
        "setPlatform": {
          "description": "<p>Set platform manually</p>\n",
          "returnType": "void",
          "parameters": [
            {
              "name": "platform",
              "type": "PlatformType",
              "deprecated": false,
              "deprecationMessage": ""
            }
          ]
        }
      }
    },
    "PortalService": {
      "name": "PortalService",
      "description": "<p>Service for managing portal container references\nProvides functionality for components to render content outside of their DOM hierarchy</p>\n",
      "file": "src/lib/services/portal.service.ts",
      "methods": {
        "clearPortalContainer": {
          "description": "<p>Clear the portal container reference\nThis should be called when the container is destroyed</p>\n",
          "returnType": "void",
          "parameters": []
        },
        "getPortalContainerElement": {
          "description": "<p>Get the current portal container element\nReturns the native DOM element or null if not set</p>\n",
          "returnType": "HTMLElement | null",
          "parameters": []
        },
        "isPortalReady": {
          "description": "<p>Check if portal container is ready for use</p>\n",
          "returnType": "boolean",
          "parameters": []
        },
        "setPortalContainer": {
          "description": "<p>Set the portal container reference\nThis is typically called by the TGUIRootComponent</p>\n",
          "returnType": "void",
          "parameters": [
            {
              "name": "elementRef",
              "type": "ElementRef<HTMLElement>",
              "deprecated": false,
              "deprecationMessage": ""
            }
          ]
        }
      }
    },
    "RippleService": {
      "name": "RippleService",
      "description": "",
      "file": "src/lib/services/ripple.service.ts",
      "methods": {
        "addWave": {
          "description": "<p>Add a new ripple wave effect at the specified coordinates</p>\n",
          "returnType": "RippleWave[]",
          "parameters": [
            {
              "name": "x",
              "type": "number",
              "deprecated": false,
              "deprecationMessage": ""
            },
            {
              "name": "y",
              "type": "number",
              "deprecated": false,
              "deprecationMessage": ""
            },
            {
              "name": "pointerId",
              "type": "number",
              "deprecated": false,
              "deprecationMessage": ""
            },
            {
              "name": "currentWaves",
              "type": "RippleWave[]",
              "deprecated": false,
              "deprecationMessage": ""
            }
          ]
        },
        "handlePointerCancel": {
          "description": "<p>Handle pointer cancel/up event</p>\n",
          "returnType": "void",
          "parameters": [
            {
              "name": "pointerId",
              "type": "number",
              "deprecated": false,
              "deprecationMessage": ""
            }
          ]
        },
        "handlePointerDown": {
          "description": "<p>Handle pointer down event</p>\n",
          "returnType": "void",
          "parameters": [
            {
              "name": "event",
              "type": "PointerEvent",
              "deprecated": false,
              "deprecationMessage": ""
            },
            {
              "name": "wavesSignal",
              "type": "ReturnType<<RippleWave[]>>",
              "deprecated": false,
              "deprecationMessage": ""
            }
          ]
        }
      }
    },
    "SnackbarService": {
      "name": "SnackbarService",
      "description": "",
      "file": "src/lib/components/feedback/snackbar/snackbar.service.ts",
      "methods": {
        "closeAll": {
          "description": "",
          "returnType": "void",
          "parameters": []
        },
        "show": {
          "description": "",
          "returnType": "void",
          "parameters": [
            {
              "name": "message",
              "type": "string",
              "deprecated": false,
              "deprecationMessage": ""
            },
            {
              "name": "options",
              "type": "SnackbarOptions",
              "deprecated": false,
              "deprecationMessage": "",
              "defaultValue": "{}"
            }
          ]
        }
      }
    },
    "SystemThemeService": {
      "name": "SystemThemeService",
      "description": "<p>Angular service for using system themes\nUses signals to track theme changes</p>\n",
      "file": "src/lib/utils/theme-helper.ts",
      "methods": {
        "disableSystemTheme": {
          "description": "",
          "returnType": "void",
          "parameters": []
        },
        "enableSystemTheme": {
          "description": "",
          "returnType": "void",
          "parameters": []
        },
        "setTheme": {
          "description": "",
          "returnType": "void",
          "parameters": [
            {
              "name": "theme",
              "type": "AppearanceType",
              "deprecated": false,
              "deprecationMessage": ""
            }
          ]
        }
      }
    },
    "TelegramService": {
      "name": "TelegramService",
      "description": "",
      "file": "src/lib/services/telegram.service.ts",
      "methods": {
        "getTelegramData": {
          "description": "",
          "returnType": "WebApp | undefined",
          "parameters": []
        },
        "hexToRGB": {
          "description": "",
          "returnType": "void",
          "parameters": [
            {
              "name": "hex",
              "type": "string",
              "deprecated": false,
              "deprecationMessage": ""
            }
          ]
        }
      }
    },
    "TguiService": {
      "name": "TguiService",
      "description": "",
      "file": "src/lib/tgui.service.ts",
      "methods": {}
    },
    "ThemeService": {
      "name": "ThemeService",
      "description": "",
      "file": "src/lib/services/theme.service.ts",
      "methods": {
        "detectSystemTheme": {
          "description": "<p>Detect and apply system theme</p>\n",
          "returnType": "void",
          "parameters": []
        },
        "loadGlobalStyles": {
          "description": "<p>Load global CSS variables to make them available for all components</p>\n",
          "returnType": "void",
          "parameters": []
        },
        "setTheme": {
          "description": "<p>Change the theme manually</p>\n",
          "returnType": "void",
          "parameters": [
            {
              "name": "theme",
              "type": "AppearanceType",
              "deprecated": false,
              "deprecationMessage": ""
            },
            {
              "name": "followSystem",
              "type": "",
              "deprecated": false,
              "deprecationMessage": "",
              "defaultValue": "false"
            }
          ]
        },
        "setupTheme": {
          "description": "<p>Setup theme based on inputs and system preferences</p>\n",
          "returnType": "void",
          "parameters": [
            {
              "name": "appearance",
              "type": "AppearanceType",
              "deprecated": false,
              "deprecationMessage": "",
              "optional": true
            },
            {
              "name": "followSystem",
              "type": "boolean",
              "deprecated": false,
              "deprecationMessage": "",
              "defaultValue": "false"
            }
          ]
        }
      }
    },
    "TypographyCellService": {
      "name": "TypographyCellService",
      "description": "<p>Service that provides platform-specific typography components for Cell\nSimilar to the React useTypographyCellComponents hook</p>\n",
      "file": "src/lib/components/blocks/cell/services/typography-cell.service.ts",
      "methods": {
        "getDescriptionComponent": {
          "description": "<p>Returns the appropriate component type for the description based on platform\niOS: CaptionComponent\nAndroid/Web: SubheadlineComponent with level 2</p>\n",
          "returnType": "Type<any>",
          "parameters": []
        },
        "getDescriptionLevel": {
          "description": "<p>Returns the level to use for description component if it&#39;s a SubheadlineComponent</p>\n",
          "returnType": "string",
          "parameters": []
        },
        "getTitleComponent": {
          "description": "<p>Returns the appropriate component type for the title based on platform\niOS: TextComponent\nAndroid/Web: SubheadlineComponent with level 1</p>\n",
          "returnType": "Type<any>",
          "parameters": []
        },
        "getTitleLevel": {
          "description": "<p>Returns the level to use for title component if it&#39;s a SubheadlineComponent</p>\n",
          "returnType": "string",
          "parameters": []
        }
      }
    }
  },
  "directives": {
    "HorizontalScrollDirective": {
      "name": "HorizontalScrollDirective",
      "selector": "[tguiHorizontalScroll]",
      "description": "",
      "file": "src/lib/directives/horizontal-scroll.directive.ts"
    },
    "PortalOutletDirective": {
      "name": "PortalOutletDirective",
      "selector": "[tguiPortalOutlet]",
      "description": "<p>Directive that renders content into a portal container\nUse it to project content outside of its normal DOM hierarchy</p>\n",
      "file": "src/lib/directives/portal-outlet.directive.ts"
    },
    "TguiSvgPropsDirective": {
      "name": "TguiSvgPropsDirective",
      "selector": "[tguiSvgProps]",
      "description": "<p>Directive for automatic passing of icon properties to SVG element\nAllows using an approach similar to {...props} in React</p>\n",
      "file": "src/lib/icons/directives/svg-props.directive.ts"
    },
    "ThemeDirective": {
      "name": "ThemeDirective",
      "selector": "[tguiTheme]",
      "description": "<p>Directive that automatically loads the TGUI styles\nThis should be applied once on a root element (typically body or app-root)</p>\n",
      "file": "src/lib/directives/tgui-theme.directive.ts"
    },
    "VisuallyHiddenDirective": {
      "name": "VisuallyHiddenDirective",
      "selector": "[tguiVisuallyHidden]",
      "description": "<p>Directive that visually hides an element while keeping it accessible for screen readers.\nUsed for improving accessibility by providing context for screen reader users\nwithout affecting the visual presentation.</p>\n",
      "file": "src/lib/directives/visually-hidden.directive.ts"
    }
  },
  "interfaces": {
    "BreadcrumbItem": {
      "name": "BreadcrumbItem",
      "description": "<p>Interface for a breadcrumb item</p>\n",
      "file": "src/lib/components/navigation/breadcrumbs/breadcrumbs.component.ts",
      "properties": {
        "href": {
          "type": "string",
          "description": "<p>Optional URL for external links (href attribute)</p>\n",
          "optional": true
        },
        "label": {
          "type": "string",
          "description": "<p>Display text for the breadcrumb item</p>\n",
          "optional": false
        },
        "routerLink": {
          "type": "string | any[]",
          "description": "<p>Optional URL for internal navigation (routerLink)</p>\n",
          "optional": true
        },
        "target": {
          "type": "string",
          "description": "<p>Optional target attribute for external links</p>\n",
          "optional": true
        }
      }
    },
    "CircleAttributes": {
      "name": "CircleAttributes",
      "description": "",
      "file": "src/lib/components/feedback/circular-progress/utils/get-circle-attributes.ts",
      "properties": {
        "radius": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "size": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "strokeWidth": {
          "type": "number",
          "description": "",
          "optional": false
        }
      }
    },
    "Coords": {
      "name": "Coords",
      "description": "",
      "file": "src/lib/components/overlays/popper/components/floating-arrow/floating-arrow.component.ts",
      "properties": {
        "x": {
          "type": "number",
          "description": "",
          "optional": true
        },
        "y": {
          "type": "number",
          "description": "",
          "optional": true
        }
      }
    },
    "CustomTouchEvent": {
      "name": "CustomTouchEvent",
      "description": "<p>Custom touch event type combining MouseEvent and TouchEvent properties</p>\n",
      "file": "src/lib/components/utils/touch/touch.component.ts",
      "properties": {
        "changedTouches": {
          "type": "TouchList",
          "description": "",
          "optional": true
        },
        "touches": {
          "type": "TouchList",
          "description": "",
          "optional": true
        }
      }
    },
    "Gesture": {
      "name": "Gesture",
      "description": "<p>Interface for a touch/gesture event</p>\n",
      "file": "src/lib/components/utils/touch/touch.component.ts",
      "properties": {
        "clientX": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "clientY": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "duration": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "isPressed": {
          "type": "boolean",
          "description": "",
          "optional": false
        },
        "isSlide": {
          "type": "boolean",
          "description": "",
          "optional": false
        },
        "isSlideX": {
          "type": "boolean",
          "description": "",
          "optional": false
        },
        "isSlideY": {
          "type": "boolean",
          "description": "",
          "optional": false
        },
        "isX": {
          "type": "boolean",
          "description": "",
          "optional": false
        },
        "isY": {
          "type": "boolean",
          "description": "",
          "optional": false
        },
        "shiftX": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "shiftXAbs": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "shiftY": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "shiftYAbs": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "startT": {
          "type": "Date",
          "description": "",
          "optional": false
        },
        "startX": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "startY": {
          "type": "number",
          "description": "",
          "optional": false
        }
      }
    },
    "ModalSnapPoint": {
      "name": "ModalSnapPoint",
      "description": "",
      "file": "src/lib/components/overlays/modal/modal.component.ts",
      "properties": {
        "headerHeight": {
          "type": "number",
          "description": "",
          "optional": true
        },
        "height": {
          "type": "number | string",
          "description": "",
          "optional": false
        }
      }
    },
    "PaginationItem": {
      "name": "PaginationItem",
      "description": "<p>Represents a single item in the pagination control</p>\n",
      "file": "src/lib/components/navigation/pagination/hooks/pagination.types.ts",
      "properties": {
        "aria-current": {
          "type": "\"true\" | undefined",
          "description": "<p>ARIA current attribute</p>\n",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "description": "<p>Whether this item is disabled</p>\n",
          "optional": false
        },
        "onClick": {
          "type": "function",
          "description": "<p>Handler for when the item is clicked</p>\n",
          "optional": false
        },
        "page": {
          "type": "number | null",
          "description": "<p>Page number, or null for special items like ellipsis</p>\n",
          "optional": false
        },
        "selected": {
          "type": "boolean",
          "description": "<p>Whether this item is currently selected</p>\n",
          "optional": false
        },
        "type": {
          "type": "PaginationType",
          "description": "<p>Type of pagination item</p>\n",
          "optional": false
        }
      }
    },
    "PaginationProps": {
      "name": "PaginationProps",
      "description": "<p>Properties for the pagination component</p>\n",
      "file": "src/lib/components/navigation/pagination/hooks/pagination.types.ts",
      "properties": {
        "boundaryCount": {
          "type": "number",
          "description": "<p>Number of always visible pages at the beginning and end.</p>\n",
          "optional": true
        },
        "count": {
          "type": "number",
          "description": "<p>The total number of pages.</p>\n",
          "optional": true
        },
        "defaultPage": {
          "type": "number",
          "description": "<p>The page selected by default when the component is uncontrolled</p>\n",
          "optional": true
        },
        "disabled": {
          "type": "boolean",
          "description": "<p>Controls whether the Pagination component is interactive.</p>\n",
          "optional": true
        },
        "hideNextButton": {
          "type": "boolean",
          "description": "<p>If <code>true</code>, hide the next-page button.</p>\n",
          "optional": true
        },
        "hidePrevButton": {
          "type": "boolean",
          "description": "<p>If <code>true</code>, hide the previous-page button.</p>\n",
          "optional": true
        },
        "page": {
          "type": "number",
          "description": "<p>The current page.</p>\n",
          "optional": true
        },
        "siblingCount": {
          "type": "number",
          "description": "<p>Number of always visible pages before and after the current page.</p>\n",
          "optional": true
        }
      }
    },
    "PopperProps": {
      "name": "PopperProps",
      "description": "",
      "file": "src/lib/components/overlays/popper/popper.component.ts",
      "properties": {
        "arrowProps": {
          "type": "literal type",
          "description": "<p>Configuration and customization options for the floating arrow component.</p>\n",
          "optional": true
        },
        "autoUpdateOnTargetResize": {
          "type": "boolean",
          "description": "<p>Opt-in feature to automatically update Popper&#39;s position when the target element resizes.</p>\n",
          "optional": true
        },
        "targetRef": {
          "type": "HTMLElement | VirtualElement | null",
          "description": "<p>Reference to the target element or virtual element for precise positioning.</p>\n",
          "optional": false
        }
      }
    },
    "RatingProps": {
      "name": "RatingProps",
      "description": "",
      "file": "src/lib/components/form/rating/rating.component.ts",
      "properties": {
        "max": {
          "type": "number",
          "description": "<p>The maximum rating value, representing the number of icons displayed.</p>\n",
          "optional": true
        },
        "onChange": {
          "type": "function",
          "description": "<p>Callback function invoked when the rating value changes.</p>\n",
          "optional": true
        },
        "precision": {
          "type": "\"0.1\" | \"0.2\" | \"0.25\" | \"0.5\" | \"1\"",
          "description": "<p>The precision of the rating, determining the fraction of the star that can be selected.</p>\n",
          "optional": true
        },
        "value": {
          "type": "number",
          "description": "<p>The current value of the rating.</p>\n",
          "optional": true
        }
      }
    },
    "RippleDemoProps": {
      "name": "RippleDemoProps",
      "description": "",
      "file": "src/lib/components/utils/tappable/components/ripple/story/ripple.stories.ts",
      "properties": {
        "addRipple": {
          "type": "function",
          "description": "",
          "optional": false
        },
        "waves": {
          "type": "RippleWave[]",
          "description": "",
          "optional": false
        }
      }
    },
    "RippleWave": {
      "name": "RippleWave",
      "description": "",
      "file": "src/lib/services/ripple.service.ts",
      "properties": {
        "date": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "pointerId": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "x": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "y": {
          "type": "number",
          "description": "",
          "optional": false
        }
      }
    },
    "SegmentedOption": {
      "name": "SegmentedOption",
      "description": "",
      "file": "src/lib/components/navigation/segmented-control/story/segmented-control.stories.ts",
      "properties": {
        "label": {
          "type": "string",
          "description": "",
          "optional": false
        },
        "value": {
          "type": "string",
          "description": "",
          "optional": false
        }
      }
    },
    "SnackbarOptions": {
      "name": "SnackbarOptions",
      "description": "",
      "file": "src/lib/components/feedback/snackbar/snackbar.service.ts",
      "properties": {
        "afterTemplate": {
          "type": "TemplateRef<any>",
          "description": "",
          "optional": true
        },
        "beforeTemplate": {
          "type": "TemplateRef<any>",
          "description": "",
          "optional": true
        },
        "description": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "duration": {
          "type": "number",
          "description": "",
          "optional": true
        },
        "linkTemplate": {
          "type": "TemplateRef<any>",
          "description": "",
          "optional": true
        }
      }
    },
    "StoryComponentProps": {
      "name": "StoryComponentProps",
      "description": "",
      "file": "src/lib/components/utils/touch/story/touch.stories.ts",
      "properties": {
        "lastEvent": {
          "type": "WritableSignal<string>",
          "description": "",
          "optional": false
        },
        "swipePosition": {
          "type": "WritableSignal<number>",
          "description": "",
          "optional": false
        }
      }
    },
    "TguiIconProps": {
      "name": "TguiIconProps",
      "description": "<p>Base interface for icon components, compatible with React version</p>\n",
      "file": "src/lib/icons/icon.interface.ts",
      "properties": {
        "ariaLabel": {
          "type": "string",
          "description": "<p>Aria label for accessibility</p>\n",
          "optional": true
        },
        "autoFocus": {
          "type": "boolean",
          "description": "<p>Whether the element should get focus on load</p>\n",
          "optional": true
        },
        "class": {
          "type": "string",
          "description": "<p>CSS class to apply to the icon</p>\n",
          "optional": true
        },
        "fill": {
          "type": "string",
          "description": "<p>Fill color of the icon</p>\n",
          "optional": true
        },
        "height": {
          "type": "string | number",
          "description": "<p>Height of the icon (can be CSS units or number)</p>\n",
          "optional": true
        },
        "id": {
          "type": "string",
          "description": "<p>ID of the element</p>\n",
          "optional": true
        },
        "onBlur": {
          "type": "EventEmitter<FocusEvent>",
          "description": "<p>Blur event handler</p>\n",
          "optional": true
        },
        "onClick": {
          "type": "EventEmitter<MouseEvent>",
          "description": "<p>Click event handler</p>\n",
          "optional": true
        },
        "onFocus": {
          "type": "EventEmitter<FocusEvent>",
          "description": "<p>Focus event handler</p>\n",
          "optional": true
        },
        "onKeyDown": {
          "type": "EventEmitter<KeyboardEvent>",
          "description": "<p>Key down event handler</p>\n",
          "optional": true
        },
        "onMouseEnter": {
          "type": "EventEmitter<MouseEvent>",
          "description": "<p>Mouse enter event handler</p>\n",
          "optional": true
        },
        "onMouseLeave": {
          "type": "EventEmitter<MouseEvent>",
          "description": "<p>Mouse leave event handler</p>\n",
          "optional": true
        },
        "onPointerDown": {
          "type": "EventEmitter<PointerEvent>",
          "description": "<p>Pointer down event handler</p>\n",
          "optional": true
        },
        "onPointerUp": {
          "type": "EventEmitter<PointerEvent>",
          "description": "<p>Pointer up event handler</p>\n",
          "optional": true
        },
        "role": {
          "type": "string",
          "description": "<p>Role attribute for accessibility</p>\n",
          "optional": true
        },
        "stroke": {
          "type": "string",
          "description": "<p>Stroke color of the icon</p>\n",
          "optional": true
        },
        "style": {
          "type": "literal type",
          "description": "<p>Additional styles to apply to the icon</p>\n",
          "optional": true
        },
        "tabIndex": {
          "type": "number",
          "description": "<p>Tab index for keyboard navigation</p>\n",
          "optional": true
        },
        "title": {
          "type": "string",
          "description": "<p>Title for the icon</p>\n",
          "optional": true
        },
        "width": {
          "type": "string | number",
          "description": "<p>Width of the icon (can be CSS units or number)</p>\n",
          "optional": true
        }
      }
    },
    "ThemeParams": {
      "name": "ThemeParams",
      "description": "",
      "file": "src/lib/services/telegram.service.ts",
      "properties": {
        "accent_text_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "bg_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "button_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "button_text_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "destructive_text_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "header_bg_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "hint_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "link_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "secondary_bg_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "section_bg_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "section_header_text_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "subtitle_text_color": {
          "type": "string",
          "description": "",
          "optional": true
        },
        "text_color": {
          "type": "string",
          "description": "",
          "optional": true
        }
      }
    },
    "TouchEvent": {
      "name": "TouchEvent",
      "description": "<p>Touch event with gesture information</p>\n",
      "file": "src/lib/components/utils/touch/touch.component.ts",
      "properties": {
        "originalEvent": {
          "type": "CustomTouchEvent",
          "description": "",
          "optional": false
        }
      }
    },
    "UseFloatingMiddlewaresOptions": {
      "name": "UseFloatingMiddlewaresOptions",
      "description": "",
      "file": "src/lib/components/overlays/popper/hooks/use-floating-middlewares.ts",
      "properties": {
        "arrowHeight": {
          "type": "number",
          "description": "<p>The height of the arrow. This is added to <code>mainAxis</code> to prevent the arrow from overlapping the anchor element.</p>\n",
          "optional": true
        },
        "arrowPadding": {
          "type": "number",
          "description": "<p>A safe zone around the arrow to prevent it from exceeding the content bounds.</p>\n",
          "optional": true
        },
        "arrowRef": {
          "type": "HTMLElement | null",
          "description": "<p>Ref for arrow element</p>\n",
          "optional": true
        },
        "customMiddlewares": {
          "type": "Middleware[]",
          "description": "<p>An array of custom modifiers for Popper.</p>\n",
          "optional": true
        },
        "offsetByCrossAxis": {
          "type": "number",
          "description": "<p>Offset along the cross axis.</p>\n",
          "optional": true
        },
        "offsetByMainAxis": {
          "type": "number",
          "description": "<p>Offset along the main axis.</p>\n",
          "optional": true
        },
        "placement": {
          "type": "PlacementWithAuto",
          "description": "<p>By default, the component will automatically choose the best placement</p>\n",
          "optional": true
        },
        "sameWidth": {
          "type": "boolean",
          "description": "<p>Sets the width to match the target element.</p>\n",
          "optional": true
        },
        "withArrow": {
          "type": "boolean",
          "description": "<p>Whether to display an arrow pointing to the anchor element.</p>\n",
          "optional": true
        }
      }
    },
    "UsePinInputParams": {
      "name": "UsePinInputParams",
      "description": "",
      "file": "src/lib/components/form/pin-input/hooks/use-pin-input.ts",
      "properties": {
        "onChange": {
          "type": "function",
          "description": "",
          "optional": true
        },
        "pinCount": {
          "type": "number",
          "description": "",
          "optional": false
        },
        "value": {
          "type": "number[]",
          "description": "",
          "optional": true
        }
      }
    },
    "WebApp": {
      "name": "WebApp",
      "description": "",
      "file": "src/lib/services/telegram.service.ts",
      "properties": {
        "colorScheme": {
          "type": "\"light\" | \"dark\"",
          "description": "",
          "optional": false
        },
        "themeParams": {
          "type": "ThemeParams",
          "description": "",
          "optional": false
        }
      }
    },
    "Window": {
      "name": "Window",
      "description": "",
      "file": "src/lib/services/telegram.service.ts",
      "properties": {
        "Telegram": {
          "type": "literal type",
          "description": "",
          "optional": true
        }
      }
    }
  }
}