/* eslint-disable */ /* tslint:disable */ /** * This is an autogenerated file created by the Stencil compiler. * It contains typing information for all components that exist in this project. */ import { HTMLStencilElement, JSXBase } from "./stencil-public-runtime"; import { Theme } from "./utils/styles"; import { AccordionHeadingTag } from "./components/diwa-accordion/types"; import { BadgeSize, BadgeVariant } from "./components/diwa-badge/types"; import { BannerState } from "./components/diwa-banner/types"; import { ButtonSize, ButtonType, ButtonVariant } from "./components/diwa-button/types"; import { ButtonPureAlignLabel, ButtonPureColor, ButtonPureSize, ButtonPureType } from "./components/diwa-button-pure/types"; import { CheckboxState } from "./components/diwa-checkbox/types"; import { DividerOrientation } from "./components/diwa-divider/types"; import { DropdownPlacement, DropdownSelectEventDetail, DropdownStrategy, DropdownToggleEventDetail, Theme as Theme1 } from "./components/diwa-dropdown/types"; import { FlyoutBackdrop, FlyoutPosition } from "./components/diwa-flyout/types"; import { HeadingAlign, HeadingColor, HeadingSize, HeadingTag, HeadingWeight } from "./components/diwa-heading/types"; import { InlineNotificationState } from "./components/diwa-inline-notification/types"; import { InputFieldState, InputState, InputType } from "./components/diwa-input/types"; import { LinkSize, LinkTarget, LinkVariant } from "./components/diwa-link/types"; import { LinkPureAlignLabel, LinkPureColor, LinkPureSize, LinkTarget as LinkTarget1 } from "./components/diwa-link-pure/types"; import { ModalBackdrop } from "./components/diwa-modal/types"; import { MultiSelectChangeEventDetail, MultiSelectDropdownDirection, MultiSelectState, MultiSelectTheme, MultiSelectToggleEventDetail } from "./components/diwa-multi-select/types"; import { PaginationIntl, PaginationUpdateEventDetail } from "./components/diwa-pagination/types"; import { PinCodeType, PinCodeUpdateEventDetail } from "./components/diwa-pin-code/types"; import { PopoverDirection } from "./components/diwa-popover/types"; import { RadioGroupDirection, RadioGroupState, RadioGroupUpdateEventDetail } from "./components/diwa-radio-group/types"; import { ScrollerScrollIndicatorPosition } from "./components/diwa-scroller/types"; import { SegmentedControlUpdateEventDetail } from "./components/diwa-segmented-control/types"; import { SelectChangeEventDetail, SelectDropdownDirection, SelectState, SelectTheme, SelectToggleEventDetail } from "./components/diwa-select/types"; import { SpinnerSize } from "./components/diwa-spinner/types"; import { StepperHorizontalUpdateEventDetail } from "./components/diwa-stepper-horizontal/types"; import { StepState } from "./components/diwa-stepper-horizontal-item/types"; import { SwitchAlignLabel, SwitchUpdateEventDetail } from "./components/diwa-switch/types"; import { TableHeadCellSort, TableUpdateEventDetail } from "./components/diwa-table-head-cell/types"; import { TabsUpdateEventDetail } from "./components/diwa-tabs/types"; import { TabsBarUpdateEventDetail } from "./components/diwa-tabs-bar/types"; import { TagVariant } from "./components/diwa-tag/types"; import { TagVariant as TagVariant1 } from "./components/diwa-tag-dismissible/types"; import { TextAlign, TextColor, TextSize, TextTag, TextWeight } from "./components/diwa-text/types"; import { TextListType } from "./components/diwa-text-list/types"; import { TextareaResize } from "./components/diwa-textarea/types"; import { ToastMessage } from "./components/diwa-toast/types"; import { ToastState } from "./components/diwa-toast-item/types"; export { Theme } from "./utils/styles"; export { AccordionHeadingTag } from "./components/diwa-accordion/types"; export { BadgeSize, BadgeVariant } from "./components/diwa-badge/types"; export { BannerState } from "./components/diwa-banner/types"; export { ButtonSize, ButtonType, ButtonVariant } from "./components/diwa-button/types"; export { ButtonPureAlignLabel, ButtonPureColor, ButtonPureSize, ButtonPureType } from "./components/diwa-button-pure/types"; export { CheckboxState } from "./components/diwa-checkbox/types"; export { DividerOrientation } from "./components/diwa-divider/types"; export { DropdownPlacement, DropdownSelectEventDetail, DropdownStrategy, DropdownToggleEventDetail, Theme as Theme1 } from "./components/diwa-dropdown/types"; export { FlyoutBackdrop, FlyoutPosition } from "./components/diwa-flyout/types"; export { HeadingAlign, HeadingColor, HeadingSize, HeadingTag, HeadingWeight } from "./components/diwa-heading/types"; export { InlineNotificationState } from "./components/diwa-inline-notification/types"; export { InputFieldState, InputState, InputType } from "./components/diwa-input/types"; export { LinkSize, LinkTarget, LinkVariant } from "./components/diwa-link/types"; export { LinkPureAlignLabel, LinkPureColor, LinkPureSize, LinkTarget as LinkTarget1 } from "./components/diwa-link-pure/types"; export { ModalBackdrop } from "./components/diwa-modal/types"; export { MultiSelectChangeEventDetail, MultiSelectDropdownDirection, MultiSelectState, MultiSelectTheme, MultiSelectToggleEventDetail } from "./components/diwa-multi-select/types"; export { PaginationIntl, PaginationUpdateEventDetail } from "./components/diwa-pagination/types"; export { PinCodeType, PinCodeUpdateEventDetail } from "./components/diwa-pin-code/types"; export { PopoverDirection } from "./components/diwa-popover/types"; export { RadioGroupDirection, RadioGroupState, RadioGroupUpdateEventDetail } from "./components/diwa-radio-group/types"; export { ScrollerScrollIndicatorPosition } from "./components/diwa-scroller/types"; export { SegmentedControlUpdateEventDetail } from "./components/diwa-segmented-control/types"; export { SelectChangeEventDetail, SelectDropdownDirection, SelectState, SelectTheme, SelectToggleEventDetail } from "./components/diwa-select/types"; export { SpinnerSize } from "./components/diwa-spinner/types"; export { StepperHorizontalUpdateEventDetail } from "./components/diwa-stepper-horizontal/types"; export { StepState } from "./components/diwa-stepper-horizontal-item/types"; export { SwitchAlignLabel, SwitchUpdateEventDetail } from "./components/diwa-switch/types"; export { TableHeadCellSort, TableUpdateEventDetail } from "./components/diwa-table-head-cell/types"; export { TabsUpdateEventDetail } from "./components/diwa-tabs/types"; export { TabsBarUpdateEventDetail } from "./components/diwa-tabs-bar/types"; export { TagVariant } from "./components/diwa-tag/types"; export { TagVariant as TagVariant1 } from "./components/diwa-tag-dismissible/types"; export { TextAlign, TextColor, TextSize, TextTag, TextWeight } from "./components/diwa-text/types"; export { TextListType } from "./components/diwa-text-list/types"; export { TextareaResize } from "./components/diwa-textarea/types"; export { ToastMessage } from "./components/diwa-toast/types"; export { ToastState } from "./components/diwa-toast-item/types"; export namespace Components { /** * @component diwa-accordion * A controlled, animated accordion panel. The consumer is responsible * for toggling the `open` prop in response to the `update` event — * the same controlled pattern used throughout PDS. * Accessibility: * - Heading tag wraps the toggle button (ARIA Authoring Practices §3.1) * - Button has `aria-expanded` and `aria-controls` pointing to the panel * - Panel has `role="region"` and `aria-labelledby` the button id * - `visibility: hidden` when closed keeps interactive slot content * out of the keyboard tab order * Usage: * open = e.detail.open}> * Content here. * */ interface DiwaAccordion { /** * Reduces padding and font size for denser UI contexts. * @default false */ "compact": boolean; /** * Visible heading text rendered inside the toggle button. * @default '' */ "heading": string; /** * Semantic heading level for the toggle button wrapper. * @default 'h2' */ "headingTag": AccordionHeadingTag; /** * Whether the accordion panel is currently open. This is a **controlled** prop: the component always reflects its `open` state outward via the `update` event, but never mutates the prop internally. The consumer must update it. * @default false */ "open": boolean; /** * Per-component theme override (`light` / `dark`). * @default 'dark' */ "theme": Theme; } /** * @component diwa-badge * A compact, pill-shaped status indicator with an optional animated dot. * Use for live status, counts, counts, and key callouts. * Prefer DiwaTag for category labels and filters — Tag has square corners and a * visible border; Badge is always fully rounded with a subtler, muted border. * Design token override API (set on :root or any ancestor): * --diwa-badge-radius Border radius (defaults to --diwa-radius-full) * --diwa-badge-border-color Override the auto-computed border colour * --diwa-badge-padding-x Horizontal padding for md size * --diwa-badge-padding-x-sm Horizontal padding for sm size * --diwa-badge-font-size Font size for md size * --diwa-badge-font-size-sm Font size for sm size * --diwa-badge-font-weight Font weight * Usage: * Live * 3 errors * Draft */ interface DiwaBadge { /** * When true, renders a small animated pulsing dot before the slot content. Use to indicate live status or active processes. * @default false */ "dot": boolean; /** * Accessible label. Use when slot content alone is insufficient (e.g., a numeric count without surrounding context). */ "label"?: string; /** * Size tier — controls height, padding, and font-size. * @default "md" */ "size": BadgeSize; /** * Per-component theme override. * @default 'dark' */ "theme": Theme; /** * Semantic colour variant. Determines background and text colour. * @default "neutral" */ "variant": BadgeVariant; } /** * @component diwa-banner * A floating notification bar fixed to the top of the viewport. * Slides in from the top with a CSS transition, stays visible for a * configurable duration (or indefinitely when `persistent`), and slides * out on dismiss. * Shares the semantic state colour system with `diwa-inline-notification`. * Accessibility: * - state="error" uses role="alert" (assertive live region) * - All other states use role="status" (polite live region) * - The status icon is aria-hidden * - The dismiss button has an accessible label * Usage: * */ interface DiwaBanner { /** * Optional label for a secondary action button. When set, a diwa-button-pure emits the `action` event on click. */ "actionLabel"?: string; /** * Shows a loading indicator on the action button. Has no effect when `actionLabel` is not set. * @default false */ "actionLoading": boolean; /** * Description text. When empty, the default slot is rendered instead — allowing rich markup. * @default '' */ "description": string; /** * Whether to show the dismiss (×) button. * @default true */ "dismissButton": boolean; /** * Auto-dismiss delay in milliseconds. Ignored when `persistent` is `true`. Defaults to 6000ms. * @default DEFAULT_DURATION */ "duration": number; /** * Bold heading text rendered before the description. * @default '' */ "heading": string; /** * Programmatically dismiss the banner. */ "hide": () => Promise; /** * Controls visibility. Set to `true` to slide the banner in, `false` to slide it out. The component always renders in the DOM so that the CSS transition can animate both entry and exit. * @default false */ "open": boolean; /** * When `true`, the banner stays visible until explicitly dismissed. When `false` (default), the banner auto-dismisses after `duration` ms. * @default false */ "persistent": boolean; /** * Programmatically open the banner. */ "show": () => Promise; /** * Semantic state — governs colour treatment, icon, and ARIA live role. - `info` — neutral informational (role="status", polite) - `success` — positive confirmation (role="status", polite) - `warning` — non-blocking caution (role="status", polite) - `error` — critical or blocking (role="alert", assertive) * @default 'info' */ "state": BannerState; /** * Per-component theme override (`light` / `dark`). * @default 'dark' */ "theme": Theme; } /** * @component diwa-button * A fully encapsulated, accessible button primitive. * Renders as a native * * * */ interface DiwaTabsBar { /** * Zero-based index of the active tab. * @default 0 */ "activeTabIndex": number; /** * Per-component theme override. * @default 'dark' */ "theme": Theme; } /** * @component diwa-tabs-item * A single panel used inside `diwa-tabs`. The parent renders the tab button * from the `label` prop, and shows/hides this panel via `active`. * Usage: * Panel content here */ interface DiwaTabsItem { /** * Whether this panel is currently visible. Managed by the parent diwa-tabs. * @default false */ "active": boolean; /** * Tab button label. Rendered by the parent diwa-tabs component. * @default '' */ "label": string; /** * Per-component theme override. * @default 'dark' */ "theme": Theme; } /** * @cssprop [--diwa-tag-color] — Overrides the text (and border) color. Falls back to the variant color. * @cssprop [--diwa-tag-bg] — Overrides the background color. Falls back to the variant background. */ interface DiwaTag { /** * Renders a compact (smaller) version of the tag. * @default false */ "compact": boolean; /** * Lucide icon name to display before the label, or omit for no icon. */ "icon"?: string; /** * Adapts the color when used on a light or dark background. * @default 'dark' */ "theme": Theme; /** * Visual style variant. * @default 'neutral' */ "variant": TagVariant; } /** * @cssprop [--diwa-tag-color] — Overrides the text (and border) color. Falls back to the variant color. * @cssprop [--diwa-tag-bg] — Overrides the background color. Falls back to the variant background. */ interface DiwaTagDismissible { /** * Renders a compact (smaller) version of the tag. * @default false */ "compact": boolean; /** * Accessible label for the dismiss button. * @default 'Remove' */ "label"?: string; /** * Adapts the color when used on a light or dark background. * @default 'dark' */ "theme": Theme; /** * Visual style variant. * @default 'neutral' */ "variant": TagVariant1; } /** * @component diwa-text * A semantically correct text renderer that maps a visual type scale onto * the correct HTML element. Mirrors the Diwa text API contract. * Usage: * Section title * Supporting detail * Truncated text */ interface DiwaText { /** * Horizontal alignment. `start` and `end` are RTL-aware. * @default 'start' */ "align": TextAlign; /** * Colour alias. Use `inherit` to pass through the surrounding colour unchanged — useful inside buttons, table cells, or other styled containers. * @default 'primary' */ "color": TextColor; /** * Clip overflow to a single line with a trailing ellipsis. The host element must have a defined width for this to take effect. * @default false */ "ellipsis": boolean; /** * Font size tier. Maps to the diwa type scale. * @default 'medium' */ "size": TextSize; /** * HTML element to render. Choose based on semantic context. * @default 'p' */ "tag": TextTag; /** * Per-component theme override. * @default 'dark' */ "theme": Theme; /** * Font weight. * @default 'regular' */ "weight": TextWeight; } /** * @component diwa-text-list * A styled list that renders as `