/* 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 { Breakpoint } from "./utils/breakpoints"; import { ErrorMap } from "./components/cat-form-hint/cat-form-hint"; import { Placement } from "@floating-ui/dom"; import { CatDatepickerMode } from "./components/cat-datepicker/cat-datepicker.mode"; import { BaseOptions } from "flatpickr/dist/types/options"; import { InputType } from "./components/cat-input/input-type"; import { FormatDateMaskOptions, FormatTimeMaskOptions } from "./components/cat-input/cat-input"; import { CatSelectConnector, CatSelectValue, Item } from "./components/cat-select/cat-select"; import { Observable } from "rxjs"; import { TooltipPlacement } from "./components/cat-tooltip/cat-tooltip"; export { Breakpoint } from "./utils/breakpoints"; export { ErrorMap } from "./components/cat-form-hint/cat-form-hint"; export { Placement } from "@floating-ui/dom"; export { CatDatepickerMode } from "./components/cat-datepicker/cat-datepicker.mode"; export { BaseOptions } from "flatpickr/dist/types/options"; export { InputType } from "./components/cat-input/input-type"; export { FormatDateMaskOptions, FormatTimeMaskOptions } from "./components/cat-input/cat-input"; export { CatSelectConnector, CatSelectValue, Item } from "./components/cat-select/cat-select"; export { Observable } from "rxjs"; export { TooltipPlacement } from "./components/cat-tooltip/cat-tooltip"; export namespace Components { /** * Informs user about important changes or conditions in the interface. Use this * component if you need to capture user’s attention in a prominent way. */ interface CatAlert { /** * The color palette of the alert. * @default 'primary' */ "color": 'primary' | 'secondary' | 'danger' | 'success' | 'warning' | 'none'; /** * The name of an icon to be displayed in the alert. */ "icon"?: string; /** * Whether the icon of the alert is deactivated. * @default false */ "noIcon": boolean; } /** * Avatars are used to represent a person or object. */ interface CatAvatar { /** * An icon to be used instead of the initials. */ "icon"?: string; /** * Custom initials for the avatar. */ "initials"?: string; /** * The label of the avatar. * @default '' */ "label": string; /** * Use round avatar edges. * @default false */ "round": boolean; /** * The size of the avatar. * @default 'm' */ "size": 'xs' | 's' | 'm' | 'l' | 'xl'; /** * An optional avatar image. */ "src"?: string; /** * A destination to link to, rendered in the href attribute of a link. */ "url"?: string; /** * Specifies where to open the linked document. */ "urlTarget"?: '_blank' | '_self'; } /** * Badges are used to inform users of the status of an object or of an action * that’s been taken. */ interface CatBadge { /** * The color palette of the badge. * @default 'primary' */ "color": 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger'; /** * The name of an icon to be displayed in the button. */ "icon"?: string; /** * Hide the actual button content and only display the icon. * @default false */ "iconOnly": boolean | Breakpoint; /** * Display the icon on the right. * @default false */ "iconRight": boolean; /** * Draw attention to the badge with a subtle animation. * @default false */ "pulse": boolean; /** * Use round badge edges. * @default false */ "round": boolean; /** * The size of the badge. * @default 'm' */ "size": 'xs' | 's' | 'm' | 'l' | 'xl'; /** * The rendering style of the badge. * @default 'filled' */ "variant": 'filled' | 'outlined'; } /** * Buttons are used for interface actions. Primary style should be used only * once per view for main call-to-action. */ interface CatButton { /** * Sets the `aria-current` attribute on the button. */ "a11yCurrent"?: string; /** * Adds accessible label for the button that is only shown for screen readers. Typically, this label text replaces the visible text on the button for users who use assistive technology. */ "a11yLabel"?: string; /** * Set the button into an active state. * @default false */ "active": boolean; /** * The index of a button that is used inside a cat-button-group component */ "buttonGroupPosition"?: 'first' | 'last' | 'middle'; /** * Adds a unique identifier for the button. Please note that with this particular component this ID is added inside the web component. If you need an ID on the HTML element, use the regular `id` attribute instead. */ "buttonId"?: string; /** * The color palette of the button. * @default 'secondary' */ "color": 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger'; /** * Specifies that the button should be disabled. A disabled button is unusable and un-clickable. Corresponds with the native HTML disabled attribute. * @default false */ "disabled": boolean; /** * Programmatically remove focus from the button. Use this method instead of `button.blur()`. */ "doBlur": () => Promise; /** * Programmatically simulate a click on the button. */ "doClick": () => Promise; /** * Programmatically move focus to the button. Use this method instead of `button.focus()`. * @param options An optional object providing options to control aspects of the focusing process. */ "doFocus": (options?: FocusOptions) => Promise; /** * The name of an icon to be displayed in the button. */ "icon"?: string; /** * Hide the actual button content and only display the icon. * @default false */ "iconOnly": boolean | Breakpoint; /** * Display the icon on the right. * @default false */ "iconRight": boolean; /** * Displays the button in a loading state with a spinner. Just like a disabled button, an inactive button is unusable and un-clickable. However, it retains the current focus state. * @default false */ "loading": boolean; /** * The name of the button, which gets paired with the button's value when submitted as part of a form. Corresponds with the native HTML name attribute. */ "name"?: string; /** * Attributes that will be added to the native HTML button element */ "nativeAttributes"?: { [key: string]: string }; /** * Attributes that will be added to the native HTML button content element */ "nativeContentAttributes"?: { [key: string]: string }; /** * Disables ellipse overflowing button content. * @default false */ "noEllipsis": boolean; /** * Use round button edges. * @default false */ "round": boolean; /** * The size of the button. * @default 'm' */ "size": 'xs' | 's' | 'm' | 'l' | 'xl'; /** * Allows the button to submit a form. * @default false */ "submit": boolean; /** * A unique identifier for the underlying native element that is used for testing purposes. The attribute is added as `data-test` attribute and acts as a shorthand for `nativeAttributes={ 'data-test': 'test-Id' }`. */ "testId"?: string; /** * A destination to link to, rendered in the href attribute of a link. */ "url"?: string; /** * Specifies where to open the linked document. */ "urlTarget"?: '_blank' | '_self'; /** * The value of the button, which gets paired with the button's name when submitted as part of a form. Corresponds with the native HTML value attribute. */ "value"?: string; /** * The rendering style of the button. * @default 'outlined' */ "variant": 'filled' | 'outlined' | 'text' | 'link'; } /** * Button groups are designed to bring together button controls that are of a * similar nature. For example text formatting controls. */ interface CatButtonGroup { /** * Adds an accessible label for the button group that it is only shown in assistive technologies, like screen readers. */ "a11yLabel"?: string; } /** * Cards are surfaces that display content and actions on a single topic. They * should be easy to scan for relevant and actionable information. */ interface CatCard { } /** * Checkboxes are used to let a user choose one or more options from a limited * number of options. */ interface CatCheckbox { /** * The alignment of the checkbox. * @default 'top' */ "alignment": 'center' | 'top' | 'bottom'; /** * Checked state of the checkbox * @default false */ "checked": boolean; /** * Disabled state of the checkbox * @default false */ "disabled": boolean; /** * Programmatically remove focus from the checkbox. Use this method instead of `input.blur()`. */ "doBlur": () => Promise; /** * Programmatically move focus to the checkbox. Use this method instead of `input.focus()`. * @param options An optional object providing options to control aspects of the focusing process. */ "doFocus": (options?: FocusOptions) => Promise; /** * Optional hint text(s) to be displayed with the checkbox. */ "hint"?: string | string[]; /** * A unique identifier for the input. */ "identifier"?: string; /** * Indeterminate state of the checkbox * @default false */ "indeterminate": boolean; /** * Label of the checkbox which is presented in the UI * @default '' */ "label": string; /** * Visually hide the label, but still show it to assistive technologies like screen readers. * @default false */ "labelHidden": boolean; /** * Whether the label should appear to the left of the checkbox. * @default false */ "labelLeft": boolean; /** * The name of the input. */ "name"?: string; /** * Attributes that will be added to the native HTML input element. */ "nativeAttributes"?: { [key: string]: string }; /** * The value of the unchecked checkbox. */ "noValue"?: any; /** * Required state of the checkbox. * @default false */ "required": boolean; /** * Whether the label need a marker to shown if the input is required or optional. * @default 'none' */ "requiredMarker"?: 'none' | 'required' | 'optional' | 'none!' | 'optional!' | 'required!'; /** * The resolved value of the checkbox, based on the checked state and value. * @default null */ "resolvedValue": any; /** * A unique identifier for the underlying native element that is used for testing purposes. The attribute is added as `data-test` attribute and acts as a shorthand for `nativeAttributes={ 'data-test': 'test-Id' }`. */ "testId"?: string; /** * The value of the checked checkbox. */ "value"?: any; } /** * A date input component to select a date from a calendar in a dropdown. */ interface CatDate { /** * Hint for form autofill feature. * @default 'off' */ "autoComplete": string; /** * Clear the input. */ "clear": () => Promise; /** * Whether the input should show a clear button. * @default false */ "clearable": boolean; /** * Whether the input is disabled. * @default false */ "disabled": boolean; /** * Programmatically remove focus from the input. Use this method instead of `input.blur()`. */ "doBlur": () => Promise; /** * Programmatically move focus to the input. Use this method instead of `input.focus()`. * @param options An optional object providing options to control aspects of the focusing process. */ "doFocus": (options?: FocusOptions) => Promise; /** * Fine-grained control over when the errors are shown. Can be `false` to never show errors, `true` to show errors on blur, or a number to show errors change with the given delay in milliseconds or immediately on blur. * @default 0 */ "errorUpdate": boolean | number; /** * The validation errors for this input. Will render a hint under the input with the translated error message(s) `error.${key}`. If an object is passed, the keys will be used as error keys and the values translation parameters. If the value is `true`, the input will be marked as invalid without any hints under the input. */ "errors"?: boolean | string[] | ErrorMap; /** * If the horizontal value is not provided, this fallback value is used. Can be set by form-group. */ "fallbackHorizontal"?: boolean; /** * Optional hint text(s) to be displayed with the input. */ "hint"?: string | string[]; /** * Whether the label is on top or left. */ "horizontal"?: boolean; /** * The name of an icon to be displayed in the input. */ "icon"?: string; /** * Display the icon on the right. * @default false */ "iconRight": boolean; /** * A unique identifier for the input. */ "identifier"?: string; /** * The label for the input. * @default '' */ "label": string; /** * Visually hide the label, but still show it to assistive technologies like screen readers. * @default false */ "labelHidden": boolean; /** * A maximum value for the date, given in local ISO 8601 date format YYYY-MM-DD. */ "max"?: string; /** * A minimum value for the date, given in local ISO 8601 date format YYYY-MM-DD. */ "min"?: string; /** * The name of the form control. Submitted with the form as part of a name/value pair. */ "name"?: string; /** * Attributes that will be added to the native HTML input element. */ "nativeAttributes"?: { [key: string]: string }; /** * The placeholder text to display within the input. */ "placeholder"?: string; /** * The placement of the dropdown. * @default 'bottom-end' */ "placement": Placement; /** * The value is not editable. * @default false */ "readonly": boolean; /** * A value is required or must be check for the form to be submittable. * @default false */ "required": boolean; /** * Whether the label need a marker to shown if the input is required or optional. * @default 'optional' */ "requiredMarker"?: 'none' | 'required' | 'optional' | 'none!' | 'optional!' | 'required!'; /** * A unique identifier for the underlying native element that is used for testing purposes. The attribute is added as `data-test` attribute and acts as a shorthand for `nativeAttributes={ 'data-test': 'test-Id' }`. */ "testId"?: string; /** * A textual prefix to be displayed in the input. */ "textPrefix"?: string; /** * A textual suffix to be displayed in the input. */ "textSuffix"?: string; /** * The value of the control, given in local ISO 8601 date format YYYY-MM-DD. */ "value"?: string; } /** * An inline date picker component to select a date. */ interface CatDateInline { /** * Adds accessible label for the datepicker. The label will be read by assistive technology upon focusing the datepicker. */ "a11yLabel"?: string; /** * Clear the picker. */ "clear": () => Promise; /** * Programmatically move focus to the inline datepicker, i,e, the first focusable date. * @param options An optional object providing options to control aspects of the focusing process. */ "doFocus": (options?: FocusOptions) => Promise; /** * Shows an arrow keys navigation hint. * @default false */ "hint": boolean; /** * A unique identifier for the input. */ "identifier"?: string; /** * The label for the input. * @default '' */ "label": string; /** * Visually hide the label, but still show it to assistive technologies like screen readers. * @default false */ "labelHidden": boolean; /** * A maximum value for the date, given in local ISO 8601 date format YYYY-MM-DD. */ "max"?: string; /** * A minimum value for the date, given in local ISO 8601 date format YYYY-MM-DD. */ "min"?: string; /** * Hides the clear button. * @default false */ "noClear": boolean; /** * Hides the today button. * @default false */ "noToday": boolean; /** * Allow the selection of a range of dates, i.e. start and end date. * @default false */ "range": boolean; /** * A value is required or must be check for the form to be submittable. * @default false */ "required": boolean; /** * Whether the label need a marker to shown if the input is required or optional. * @default 'optional' */ "requiredMarker"?: 'none' | 'required' | 'optional' | 'none!' | 'optional!' | 'required!'; /** * Resets the view of the picker. */ "resetView": () => Promise; /** * Select a date in the picker. * @param date The date to select. */ "select": (date: Date | null) => Promise; /** * The value of the control, given in local ISO 8601 date format YYYY-MM-DD. */ "value"?: string; /** * Show week numbers. * @default false */ "weeks": boolean; } interface CatDatepicker { /** * Instead of body, appends the calendar to the cat-datepicker element instead * @default false */ "attachToElement": boolean; /** * Hint for form autofill feature. * @default 'off' */ "autoComplete": string; /** * Whether the input should show a clear button. * @default false */ "clearable": boolean; /** * Whether the input is disabled. * @default false */ "disabled": boolean; /** * Programmatically remove focus from the datepicker. Use this method instead of `input.blur()`. */ "doBlur": () => Promise; /** * Programmatically move focus to the datepicker. Use this method instead of `input.focus()`. * @param options An optional object providing options to control aspects of the focusing process. */ "doFocus": (options?: FocusOptions) => Promise; /** * Fine-grained control over when the errors are shown. Can be `false` to never show errors, `true` to show errors on blur, or a number to show errors change with the given delay in milliseconds or immediately on blur. * @default 0 */ "errorUpdate": boolean | number; /** * The validation errors for this input. Will render a hint under the input with the translated error message(s) `error.${key}`. If an object is passed, the keys will be used as error keys and the values translation parameters. If the value is `true`, the input will be marked as invalid without any hints under the input. */ "errors"?: boolean | string[] | ErrorMap; /** * If the horizontal value is not provided, this fallback value is used. Can be set by form-group. */ "fallbackHorizontal"?: boolean; /** * Optional hint text(s) to be displayed with the input. */ "hint"?: string | string[]; /** * Whether the label is on top or left. */ "horizontal"?: boolean; /** * The name of an icon to be displayed in the input. */ "icon"?: string; /** * Display the icon on the right. * @default false */ "iconRight": boolean; /** * A unique identifier for the input. */ "identifier"?: string; /** * The label for the input. * @default '' */ "label": string; /** * Visually hide the label, but still show it to assistive technologies like screen readers. * @default false */ "labelHidden": boolean; /** * A maximum value as ISO Date string, e.g. 2017-03-04T01:23:43.000Z. */ "max"?: string; /** * A minimum value as ISO Date string, e.g. 2017-03-04T01:23:43.000Z. */ "min"?: string; /** * The mode of the datepicker, to select a date, time, both, a date range or a week number. * @default 'date' */ "mode": CatDatepickerMode; /** * The name of the form control. Submitted with the form as part of a name/value pair. */ "name"?: string; /** * Attributes that will be added to the native HTML input element. */ "nativeAttributes"?: { [key: string]: string }; /** * Attributes that will be added to the rendered HTML datepicker element. */ "nativePickerAttributes"?: { [key: string]: string }; /** * The placeholder text to display within the input. */ "placeholder"?: string; /** * Where the calendar is rendered relative to the input vertically and horizontally. In the format of "[vertical] [horizontal]". Vertical can be auto, above or below (required). Horizontal can be left, center or right. If * @attachToElement is passed the value should be in Placement format */ "position"?: BaseOptions['position'] | Placement; /** * The value is not editable. * @default false */ "readonly": boolean; /** * A value is required or must be check for the form to be submittable. * @default false */ "required": boolean; /** * Whether the label need a marker to shown if the input is required or optional. * @default 'optional' */ "requiredMarker"?: 'none' | 'required' | 'optional' | 'none!' | 'optional!' | 'required!'; /** * The step size to use when changing the time. * @default 5 */ "step": number; /** * A textual prefix to be displayed in the input. */ "textPrefix"?: string; /** * A textual suffix to be displayed in the input. */ "textSuffix"?: string; /** * The value as ISO Date string, e.g. 2017-03-04T01:23:43.000Z or as a week number string. */ "value"?: string; } interface CatDatepickerInline { /** * Whether the input is disabled. * @default false */ "disabled": boolean; /** * A maximum value as ISO Date string, e.g. 2017-03-04T01:23:43.000Z. */ "max"?: string; /** * A minimum value as ISO Date string, e.g. 2017-03-04T01:23:43.000Z. */ "min"?: string; /** * The mode of the datepicker, to select a date, time, both, a date range or a week number. * @default 'date' */ "mode": CatDatepickerMode; /** * Attributes that will be added to the rendered HTML datepicker element. */ "nativePickerAttributes"?: { [key: string]: string }; /** * The value is not editable. * @default false */ "readonly": boolean; /** * The step size to use when changing the time. * @default 5 */ "step": number; /** * The value as ISO Date string, e.g. 2017-03-04T01:23:43.000Z or as a week number string. */ "value"?: string; } /** * A dropdown component to display a list of actions in a dropdown menu or to * show additional content on demand. */ interface CatDropdown { /** * Do not navigate focus inside the dropdown via vertical arrow keys. * @deprecated use cat-menu * @default 'vertical' */ "arrowNavigation": 'horizontal' | 'vertical' | 'none'; /** * Closes the dropdown. */ "close": (shouldReturnFocus?: boolean) => Promise; /** * Whether the dropdown trigger should be initialized only before first opening. Can be useful when trigger is rendered dynamically. * @default false */ "delayedTriggerInit": boolean; /** * Whether the focus should be trapped inside dropdown popup. Use it only when the dropdown popup content has role dialog. * @default true */ "focusTrap": boolean; /** * Whether the dropdown is open. * @readonly */ "isOpen": boolean; /** * Make the dropdown match the width of the reference regardless of its contents. Note that this only applies to the minimum width of the dropdown. The maximum width is still limited by the viewport. * @default false */ "justify": boolean; /** * Do not close the dropdown on outside clicks. * @default false */ "noAutoClose": boolean; /** * No element in dropdown will receive focus when dropdown is open. By default, the first element in tab order will receive a focus. * @deprecated Using noInitialFocus property would be a bad practice from a11y perspective. We always want visible focus to jump inside the dropdown when user uses keyboard and noInitialFocus allows to turn it off which might introduce a bug. hasInitialFocus should resolve the cause of the original problem instead. * @default false */ "noInitialFocus": boolean; /** * Do not change the size of the dropdown to ensure it isn’t too big to fit in the viewport (or more specifically, its clipping context). * @default false */ "noResize": boolean; /** * Trigger element will not receive focus when dropdown is closed. Please use this property carefully, consider using cat-menu over using this property * @default false */ "noReturnFocus": boolean; /** * Opens the dropdown. * @param isFocusVisible is dropdown should receive visible focus when it's opened. */ "open": (isFocusVisible?: boolean) => Promise; /** * Allow overflow when dropdown is open. * @default false */ "overflow": boolean; /** * The placement of the dropdown. * @default 'bottom-start' */ "placement": Placement; /** * Toggles the dropdown. */ "toggle": () => Promise; } /** * A form group component to group form fields and labels. */ interface CatFormGroup { /** * Whether the label is on top or left. * @default false */ "horizontal": boolean; /** * The space allocated to the input label */ "labelSize"?: string; /** * Whether the labels need a marker to shown if the forms fields are required or optional.

By default, it is set to auto, it will display the mark depending on the number of required and optional fields:
- If there are more required, the optional will be marked.
- If there are less required, it will mark the required.

If a form field had "!", the requiredMarked of the field would not change. * @default 'auto' */ "requiredMarker": 'none' | 'required' | 'optional' | 'auto'; } /** * Icons are used to provide additional meaning or in places where text label * doesn't fit. */ interface CatIcon { /** * Adds accessible label for the icon that is only shown for screen readers. The `aria-hidden` attribute will be set if no label is present. */ "a11yLabel"?: string; /** * The name of the icon. */ "icon"?: string; /** * The SVG source of the icon. This takes precenedence over the `icon` name. */ "iconSrc"?: string; /** * The size of the icon. * @default 'm' */ "size": 'xs' | 's' | 'm' | 'l' | 'xl' | 'inline'; } /** * Inputs are used to allow users to provide text input when the expected input * is short. As well as plain text, Input supports various types of text, * including passwords and numbers. */ interface CatInput { /** * Defines the file types the file input should accept. */ "accept"?: string; /** * Hint for form autofill feature. */ "autoComplete"?: string; /** * Clear the input. */ "clear": () => Promise; /** * Whether the input should show a clear button. * @default false */ "clearable": boolean; /** * Activates cleave-zen date mask on input */ "dateMaskOptions"?: FormatDateMaskOptions; /** * Whether the input is disabled. * @default false */ "disabled": boolean; /** * Programmatically remove focus from the input. Use this method instead of `input.blur()`. */ "doBlur": () => Promise; /** * Programmatically move focus to the input. Use this method instead of `input.focus()`. * @param options An optional object providing options to control aspects of the focusing process. */ "doFocus": (options?: FocusOptions) => Promise; /** * Fine-grained control over when the errors are shown. Can be `false` to never show errors, `true` to show errors on blur, or a number to show errors change with the given delay in milliseconds or immediately on blur. * @default 0 */ "errorUpdate": boolean | number; /** * The validation errors for this input. Will render a hint under the input with the translated error message(s) `error.${key}`. If an object is passed, the keys will be used as error keys and the values translation parameters. If the value is `true`, the input will be marked as invalid without any hints under the input. */ "errors"?: boolean | string[] | ErrorMap; /** * If the horizontal value is not provided, this fallback value is used. Can be set by form-group. */ "fallbackHorizontal"?: boolean; /** * Optional hint text(s) to be displayed with the input. */ "hint"?: string | string[]; /** * Whether the label is on top or left. */ "horizontal"?: boolean; /** * The name of an icon to be displayed in the input. */ "icon"?: string; /** * Display the icon on the right. * @default false */ "iconRight": boolean; /** * A unique identifier for the input. */ "identifier"?: string; /** * The label for the input. * @default '' */ "label": string; /** * Visually hide the label, but still show it to assistive technologies like screen readers. * @default false */ "labelHidden": boolean; /** * Displays the input in a loading state with a spinner. * @default false */ "loading": boolean; /** * A maximum value for numeric values. */ "max"?: number | string; /** * A maximum length (number of characters) for textual values. */ "maxLength"?: number; /** * A minimum value for numeric values. */ "min"?: number | string; /** * A minimum length (number of characters) for textual values. */ "minLength"?: number; /** * Whether the input should allow multiple files to be selected. */ "multiple"?: boolean; /** * The name of the form control. Submitted with the form as part of a name/value pair. */ "name"?: string; /** * Attributes that will be added to the native HTML input element. */ "nativeAttributes"?: { [key: string]: string }; /** * The placeholder text to display within the input. */ "placeholder"?: string; /** * The value is not editable. * @default false */ "readonly": boolean; /** * A value is required or must be check for the form to be submittable. * @default false */ "required": boolean; /** * Whether the label need a marker to shown if the input is required or optional. * @default 'optional' */ "requiredMarker"?: 'none' | 'required' | 'optional' | 'none!' | 'optional!' | 'required!'; /** * Use round input edges. * @default false */ "round": boolean; /** * A unique identifier for the underlying native element that is used for testing purposes. The attribute is added as `data-test` attribute and acts as a shorthand for `nativeAttributes={ 'data-test': 'test-Id' }`. */ "testId"?: string; /** * A textual prefix to be displayed in the input. */ "textPrefix"?: string; /** * A textual suffix to be displayed in the input. */ "textSuffix"?: string; /** * Activates cleave-zen time mask on input */ "timeMaskOptions"?: FormatTimeMaskOptions; /** * Whether the input should show a password toggle button for password inputs. * @default false */ "togglePassword": boolean; /** * Type of form control. * @default 'text' */ "type": InputType; /** * The value of the control. */ "value"?: string; } /** * A menu component that provides a dropdown with a built-in configurable trigger button * and proper ARIA semantics and keyboard navigation for menu items. * The trigger is always a cat-button with sensible defaults but fully configurable * through trigger-specific props. */ interface CatMenu { /** * The arrow key navigation direction for menu items. * @default 'vertical' */ "arrowNavigation": 'horizontal' | 'vertical'; /** * Closes the menu. */ "close": () => Promise; /** * Whether the dropdown trigger should be initialized only before first opening. Can be useful when trigger is rendered dynamically. * @default false */ "delayedTriggerInit": boolean; /** * Disable the menu. * @default false */ "disabled": boolean; /** * Make the dropdown match the width of the reference regardless of its contents. Note that this only applies to the minimum width of the dropdown. The maximum width is still limited by the viewport. * @default false */ "justify": boolean; /** * Do not change the size of the dropdown to ensure it isn’t too big to fit in the viewport (or more specifically, its clipping context). * @default false */ "noResize": boolean; /** * Opens the menu. */ "open": () => Promise; /** * Allow overflow when dropdown is open. * @default false */ "overflow": boolean; /** * The placement of the dropdown. * @default 'bottom-start' */ "placement": Placement; /** * Toggles the menu. */ "toggle": () => Promise; /** * The trigger button accessibility label. If not set, falls back to triggerLabel. */ "triggerA11yLabel"?: string; /** * Additional CSS class for the trigger button. */ "triggerClass"?: string; /** * The color palette of the trigger button. * @default 'secondary' */ "triggerColor": 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'danger'; /** * The trigger button icon. */ "triggerIcon"?: string; /** * Show only the icon in the trigger button. */ "triggerIconOnly"?: boolean | Breakpoint; /** * The trigger button label. */ "triggerLabel"?: string; /** * Native attributes for the trigger button. */ "triggerNativeAttributes"?: { [key: string]: string }; /** * The trigger button size. * @default 'm' */ "triggerSize": 'xs' | 's' | 'm' | 'l' | 'xl'; /** * Test ID for the trigger button. */ "triggerTestId"?: string; /** * The trigger button variant. * @default 'text' */ "triggerVariant": 'filled' | 'outlined' | 'text'; } /** * A menu item component that renders as a button with proper ARIA semantics. */ interface CatMenuItem { /** * Whether the menu item is active. * @default false */ "active": boolean; /** * The color of the menu item. */ "color"?: 'primary' | 'secondary' | 'danger' | 'warning' | 'success' | 'info'; /** * Specifies that the menu item should be disabled. * @default false */ "disabled": boolean; /** * Programmatically remove focus from the menu item. */ "doBlur": () => Promise; /** * Programmatically move focus to the menu item. */ "doFocus": (options?: FocusOptions) => Promise; /** * The name of an icon to be displayed in the menu item. */ "icon"?: string; /** * Hide the actual button content and only display the icon. * @default false */ "iconOnly": boolean | Breakpoint; /** * Display the icon on the right. * @default false */ "iconRight": boolean; /** * A unique identifier for the menu item. */ "identifier"?: string; /** * The loading state of the menu item. */ "loading"?: boolean; /** * Attributes that will be added to the native HTML button element */ "nativeAttributes"?: { [key: string]: string }; /** * @default false */ "subMenu": boolean; /** * A unique identifier for the underlying native element that is used for testing purposes. The attribute is added as `data-test` attribute and acts as a shorthand for `nativeAttributes={ 'data-test': 'test-Id' }`. */ "testId"?: string; /** * A destination to link to, rendered in the href attribute of a link. */ "url"?: string; /** * Specifies where to open the linked document. */ "urlTarget"?: '_blank' | '_self'; /** * The variant of the menu item button. * @default 'text' */ "variant": 'filled' | 'outlined' | 'text'; } /** * A navigation component to switch between different pages of paged chunks of * data such as a table. Pagination is built with list HTML elements and a * wrapping `