/* 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 { BrandSelectedEvent } from "./auth/components/brand-switcher/brand-switcher"; import { CaptchaFeature } from "./shared/captcha"; import { AuthState } from "./auth/store/auth-store"; import { Config, ConfigChange } from "./shared/components/config/config"; import { NewsletterButtonFor } from "./newsletter/components/submit-button/newsletter-submit-button"; import { OAuthButtonAction } from "./oauth/components/oauth-button/oauth-button"; import { OAuthErrorEvent, OAuthSuccessEvent } from "./oauth/components/oauth-provider/oauth-provider"; import { OAuthTextType } from "./oauth/components/oauth-text/oauth-text"; import { PasswordFieldFor } from "./auth/components/password-field/password-field"; import { ProfileRaw } from "./profile/store/profile-store"; import { Option } from "./shared/components/raw-field/components/Select"; import { RadioOption } from "./shared/components/raw-field/components/RadioGroup"; import { MultiSelectOption } from "./shared/components/raw-field/components/MultiSelect"; import { MatchFoundEventDetail } from "./registration/components/registration-internal-matching/registration-internal-matching"; import { RegistrationCompleteEvent } from "./registration/components/registration-root/registration-root"; import { TokenResponse } from "./auth/api/auth"; import { AuthButtonFor } from "./auth/components/submit-button/auth-submit-button"; import { TicketTransferActionSuccessPayload, TicketTransferActionType } from "./ticketable/components/ticket-transfer-action/ticket-transfer-action"; import { ExportFormat, TicketTransfer } from "./ticketable/api/schemas"; import { TicketTransferDirection } from "./ticketable/components/ticket-transfer-list/ticket-transfer-list"; import { PaginationMeta } from "./api"; import { TicketableItem, TicketableType } from "./ticketable/components/ticketable-list/ticketable-list"; import { PaginationStore } from "./shared/store/pagination-store"; import { Transaction } from "./transaction/api/transactions"; export { BrandSelectedEvent } from "./auth/components/brand-switcher/brand-switcher"; export { CaptchaFeature } from "./shared/captcha"; export { AuthState } from "./auth/store/auth-store"; export { Config, ConfigChange } from "./shared/components/config/config"; export { NewsletterButtonFor } from "./newsletter/components/submit-button/newsletter-submit-button"; export { OAuthButtonAction } from "./oauth/components/oauth-button/oauth-button"; export { OAuthErrorEvent, OAuthSuccessEvent } from "./oauth/components/oauth-provider/oauth-provider"; export { OAuthTextType } from "./oauth/components/oauth-text/oauth-text"; export { PasswordFieldFor } from "./auth/components/password-field/password-field"; export { ProfileRaw } from "./profile/store/profile-store"; export { Option } from "./shared/components/raw-field/components/Select"; export { RadioOption } from "./shared/components/raw-field/components/RadioGroup"; export { MultiSelectOption } from "./shared/components/raw-field/components/MultiSelect"; export { MatchFoundEventDetail } from "./registration/components/registration-internal-matching/registration-internal-matching"; export { RegistrationCompleteEvent } from "./registration/components/registration-root/registration-root"; export { TokenResponse } from "./auth/api/auth"; export { AuthButtonFor } from "./auth/components/submit-button/auth-submit-button"; export { TicketTransferActionSuccessPayload, TicketTransferActionType } from "./ticketable/components/ticket-transfer-action/ticket-transfer-action"; export { ExportFormat, TicketTransfer } from "./ticketable/api/schemas"; export { TicketTransferDirection } from "./ticketable/components/ticket-transfer-list/ticket-transfer-list"; export { PaginationMeta } from "./api"; export { TicketableItem, TicketableType } from "./ticketable/components/ticketable-list/ticketable-list"; export { PaginationStore } from "./shared/store/pagination-store"; export { Transaction } from "./transaction/api/transactions"; export namespace Components { interface UBackButton { /** * CSS classes to apply to the button element. * @default "" */ "componentClassName": string; /** * If true, restarts the entire auth flow instead of going back one step. Only applies when used outside a registration flow. * @default false */ "restart": boolean; } interface UBrandConnectButton { /** * The action this button performs: "connect" to proceed with brand connection, "cancel" to abort. * @default "connect" */ "action": "connect" | "cancel"; /** * CSS classes to apply to the button element. * @default "" */ "componentClassName": string; } /** * Lists the other brands the signing-in user has an account on, so they can continue there instead. * A brand is a separate login host, so switching is a navigation to that brand's `url` — the backend * derives the brand from the host it is called on. Place this inside the `` you want it * to appear in; the step controls visibility. */ interface UBrandSwitcher { /** * CSS classes to apply to the wrapper element. * @default "" */ "componentClassName": string; /** * CSS classes to apply to the heading. * @default "" */ "headingClassName": string; /** * If true, renders brand names without their logos. * @default false */ "hideLogos": boolean; /** * CSS classes to apply to each brand link. * @default "" */ "itemClassName": string; /** * If true, also lists the brand the user is currently on, turning this into a full brand selector. * @default false */ "showCurrent": boolean; } /** * Captcha field component that renders a captcha widget when required * Usage: * ```html * * ``` * The component automatically: * - Hides itself when captcha is not configured or not enabled for the feature * - Shows a widget for challenge-based providers (Turnstile, hCaptcha, Friendly Captcha) * - Is invisible for reCAPTCHA v3 (score-based) */ interface UCaptchaField { /** * Accessible label for the captcha * @default "Security verification" */ "ariaLabel": string; /** * Custom CSS class for the container * @default "" */ "componentClassName": string; /** * The feature this captcha protects (login, registration, newsletter) * @default "login" */ "feature": CaptchaFeature; } interface UConditionalRender { "conditionFunction"?: (state: AuthState) => boolean; "is"?: string; /** * @default false */ "not": boolean; "when"?: string; } interface UConfig { /** * Your Unidy API key. * @default "" */ "apiKey": string; /** * The Unidy API base URL (e.g., 'https://your-tenant.unidy.io'). * @default "" */ "baseUrl": string; /** * If true, checks for existing session on load and restores authentication state. * @default false */ "checkSignedIn": boolean; /** * Custom translations as JSON string or object. Keyed by locale code. * @default "" */ "customTranslations": string | Record; /** * Fallback locale when translation is missing. * @default "en" */ "fallbackLocale": string; /** * Current locale for translations (e.g., 'en', 'de', 'fr'). * @default "en" */ "locale": string; /** * SDK mode: 'production' or 'development'. Development mode enables verbose logging. * @default "production" */ "mode": "production" | "development"; } interface UEmailField { /** * ARIA label for accessibility. * @default "Email" */ "ariaLabel": string; /** * CSS classes to apply to the input element. * @default "" */ "componentClassName": string; /** * If true, the input will be disabled. * @default false */ "disabled": boolean; } interface UErrorMessage { /** * CSS classes to apply to the host element. * @default "" */ "componentClassName": string; /** * Custom error messages keyed by error code. Overrides default translations. */ "errorMessages"?: Record; /** * The error type to display (e.g., 'email', 'password', 'general', 'connection'). */ "for": string; } interface UField { /** * CSS classes to apply to the input element. */ "componentClassName"?: string; /** * For phone fields: how to display country code selector ('icon' or 'label'). * @default "label" */ "countryCodeDisplayOption"?: "icon" | "label"; /** * If true, includes an empty option in select dropdowns. * @default true */ "emptyOption": boolean; /** * The field name (e.g., 'first_name', 'custom_attributes.favorite_color'). */ "field": string; /** * Error message shown when phone number validation fails. * @default "Please enter a valid phone number." */ "invalidPhoneMessage": string; /** * Regex pattern for custom validation. */ "pattern"?: string; /** * Error message shown when pattern validation fails. */ "patternErrorMessage"?: string; /** * Placeholder text for the input field. */ "placeholder"?: string; /** * Placeholder text shown when field is readonly and has no value. * @default "No information" */ "readonlyPlaceholder": string; /** * If true, renders the default label above the field. * @default true */ "renderDefaultLabel": boolean; /** * If true, marks the field as required (in addition to backend configuration). * @default false */ "required": boolean; /** * Custom validation function. Returns { valid: boolean, message?: string }. */ "validationFunc"?: (value: string | string[]) => { valid: boolean; message?: string }; } interface UFlashMessage { /** * @default "" */ "componentClassName": string; /** * @default null */ "removeAfterSeconds": number | null; } interface UFullProfile { /** * How to display country codes in select fields: "icon" for flag emoji, "label" for text. * @default "label" */ "countryCodeDisplayOption"?: "icon" | "label"; /** * Enable or disable autosave. When enabled, profile saves on blur by default, or after a delay if saveDelay is set. * @default false */ "enableAutosave": boolean; /** * Comma-separated list of field names to display. If not provided, all fields are shown. */ "fields"?: string; /** * Optional delay in milliseconds before autosave triggers after the last change. If not set, saves on blur instead. */ "saveDelay"?: number; /** * CSS classes to apply to the submit button element. Forwarded to the inner u-submit-button's class-name prop. * @default "" */ "submitButtonClassName": string; /** * Programmatically submit the profile form. Delegates to the inner u-profile component. */ "submitProfile": () => Promise; } interface UJumpToService { /** * Custom CSS class name(s) to apply to the button element. * @default "" */ "componentClassName": string; /** * If true, opens the URL in a new tab. Defaults to false. * @default false */ "newtab": boolean; /** * Optional redirect URI for the OAuth flow. Must match one of the application's allowed redirect URIs. */ "redirectUri"?: string; /** * Comma-separated list of OAuth scopes to request. Defaults to ["openid"] if not provided. * @example "openid,profile" */ "scopes"?: string; /** * The OAuth Application ID (service ID) to jump to. * @example "2" */ "serviceId": string; /** * If true, skips the OAuth authorization step (if already authorized once). Defaults to false. * @default false */ "skipOauthAuthorization": boolean; } interface UJumpToUnidy { /** * Custom CSS class name(s) to apply to the button element. * @default "" */ "componentClassName": string; /** * If true, opens the URL in a new tab. Defaults to false. * @default false */ "newtab": boolean; /** * If true, skips authentication and redirects directly to the Unidy path. Useful for public pages like terms of service. * @default false */ "noAuth": boolean; /** * The Unidy path to redirect to. Must start with "/". * @example "/subscriptions" * @example "/tickets" */ "path": string; } interface ULogoutButton { /** * CSS classes to apply to the button element. * @default "" */ "componentClassName": string; /** * When set, overrides the default global-logout behaviour. `true` requests termination of all server-side sessions (full OIDC session teardown). `false` only invalidates the current SDK sign-in record. When unset, the SDK decides based on how the session was established. */ "globalLogout"?: boolean; /** * If true, reloads the page after successful logout. * @default true */ "reloadOnSuccess": boolean; } interface UMagicCodeField { /** * CSS classes to apply to the container element. * @default "" */ "componentClassName": string; } interface UMissingField { "componentClassName"?: string; } interface UMissingFieldsSubmitButton { /** * @default "" */ "componentClassName": string; } interface UNewsletterCheckbox { /** * If true, the checkbox will be checked by default. * @default false */ "checked": boolean; /** * CSS classes to apply to the checkbox element. */ "componentClassName"?: string; /** * The internal name of the newsletter (as configured in the backend). */ "internalName": string; /** * Public method to set the checkbox state programmatically */ "setChecked": (checked: boolean) => Promise; /** * Public method to toggle the checkbox programmatically */ "toggle": () => Promise; } interface UNewsletterConsentCheckbox { /** * CSS classes to apply to the checkbox element. */ "componentClassName"?: string; /** * Unique key used to store this consent state. */ "consentKey"?: string; "setChecked": (checked: boolean) => Promise; "toggle": () => Promise; } interface UNewsletterLogoutButton { /** * @default "" */ "componentClassName": string; } interface UNewsletterPreferenceCheckbox { /** * If true, the checkbox will be checked by default. * @default false */ "checked": boolean; /** * CSS classes to apply to the checkbox element. */ "componentClassName"?: string; /** * The internal name of the parent newsletter. */ "internalName": string; /** * The preference identifier (e.g., 'daily', 'weekly', 'promotions'). */ "preferenceIdentifier": string; /** * Public method to set the checkbox state programmatically */ "setChecked": (checked: boolean) => Promise; /** * Public method to toggle the checkbox programmatically */ "toggle": () => Promise; } interface UNewsletterResendDoiButton { /** * @default "" */ "componentClassName": string; "internalName": string; } interface UNewsletterRoot { /** * CSS classes to apply to the host element. * @default "" */ "componentClassName": string; /** * Optional URL used as the `redirect_uri` when sending the login email. When provided, overrides the default (current page URL). The URL is passed as-is to the backend — no client-side substitution is performed. The following placeholders are substituted server-side: - `{preference_token}` — the user's preference token - `{email}` — the subscriber's email address - `{newsletter_internal_name}` — the newsletter's internal name **Note:** The hostname of this URL must be present in the SDK client's `allowed_hosts` list (configurable in the Unidy dashboard), otherwise the API will return 403. */ "redirectUri"?: string; "submit": (forType?: NewsletterButtonFor) => Promise; } interface UNewsletterToggleSubscriptionButton { /** * @default "" */ "componentClassName": string; "internalName": string; /** * @default "" */ "subscribeClassName": string; /** * @default "" */ "unsubscribeClassName": string; } interface UOauthButton { /** * The action this button performs. - "connect": Start the OAuth flow (default) - "submit": Submit the consent form - "cancel": Cancel the consent flow * @default "connect" */ "action": OAuthButtonAction; /** * Custom CSS class name(s) to apply to the button element. * @default "" */ "componentClassName": string; } interface UOauthLogo { /** * CSS classes to apply to the logo image element. * @default "" */ "componentClassName": string; /** * Height of the logo image in pixels. * @default "64" */ "height": string; /** * Width of the logo image in pixels. * @default "64" */ "width": string; } interface UOauthMissingFields { /** * CSS classes to apply to the container element. * @default "" */ "componentClassName": string; /** * CSS classes to apply to each field element. * @default "" */ "fieldClassName": string; } interface UOauthModal { /** * Custom CSS class name(s) to apply to the dialog backdrop. Note: Backdrop styling requires CSS ::backdrop pseudo-element. * @default "" */ "backdropClassName": string; /** * Custom CSS class name(s) to apply to the dialog element. * @default "" */ "componentClassName": string; /** * Custom CSS class name(s) to apply to the dialog content wrapper. * @default "" */ "contentClassName": string; } interface UOauthProvider { /** * If true, automatically redirects to the authorization URL after successful consent. * @default true */ "autoRedirect": boolean; /** * Cancels the OAuth consent flow and emits the oauthCancel event. */ "cancel": () => Promise; /** * The OAuth application client ID. */ "clientId": string; /** * Initiates the OAuth consent flow by fetching application details and displaying the consent UI. */ "connect": () => Promise; /** * If true, opens the OAuth flow in a new tab instead of the current window. * @default false */ "newtab": boolean; /** * The URL to redirect to after authorization. Must match one of the application's allowed redirect URIs. */ "redirectUri"?: string; /** * Comma-separated list of OAuth scopes to request (e.g., "openid,profile,email"). */ "scopes"?: string; /** * Submits the OAuth consent form, granting authorization to the application. */ "submit": () => Promise; } interface UOauthScopes { /** * CSS classes to apply to the scopes list container. * @default "" */ "componentClassName": string; /** * CSS classes to apply to each scope list item. * @default "" */ "itemClassName": string; } interface UOauthText { /** * The type of text to display: "title" for application name, "description" for application description. * @default "title" */ "type": OAuthTextType; } interface UPaginationButton { /** * CSS classes to apply to the button element. */ "componentClassName"?: string; /** * The direction of navigation. * @default "next" */ "direction": "prev" | "next"; } interface UPaginationPage { /** * CSS classes to apply to the span element. */ "componentClassName"?: string; } interface UPasskey { /** * @default "" */ "ariaDescribedBy"?: string; /** * @default "" */ "componentClassName": string; /** * @default false */ "disabled": boolean; /** * When true, renders and triggers a discoverable-credential flow without requiring a prior email step. * @default false */ "discoverable": boolean; } interface UPasswordField { /** * ARIA label for accessibility. Defaults based on the 'for' prop if not provided. * @default "" */ "ariaLabel": string; /** * CSS classes to apply to the input element. * @default "" */ "componentClassName": string; /** * The purpose of this password field: login, new-password, or password-confirmation. * @default "login" */ "for": PasswordFieldFor; } interface UProfile { /** * Enable or disable autosave. When enabled, profile saves on blur by default, or after a delay if saveDelay is set. * @default false */ "enableAutosave": boolean; /** * Initial profile data as JSON string or object. If provided, skips fetching from API. * @default "" */ "initialData": string | Record; /** * When true, only validates and submits fields rendered as u-field components. Use when your form shows a subset of profile fields. * @default false */ "partialValidation": boolean; /** * Optional profile ID for multi-profile scenarios. */ "profileId"?: string; /** * Register a field for partial validation tracking. Called by child u-field components when they mount. */ "registerField": (fieldName: string) => Promise; /** * Optional delay in milliseconds before autosave triggers after the last change. If not set, saves on blur instead. */ "saveDelay"?: number; "submitProfile": () => Promise; /** * Unregister a field from partial validation tracking. Called by child u-field components when they unmount. */ "unregisterField": (fieldName: string) => Promise; /** * Comma-separated list of fields to validate. Overrides auto-detection when partialValidation is true. */ "validateFields"?: string; } interface URawField { /** * @default "" */ "ariaDescribedBy": string; "attrName"?: string; "checked"?: boolean; "componentClassName"?: string; /** * @default "label" */ "countryCodeDisplayOption"?: "icon" | "label"; "disabled"?: boolean; /** * @default false */ "emptyOption": boolean; "field": string; /** * @default "Please enter a valid phone number." */ "invalidPhoneMessage": string; "multiSelectOptions"?: MultiSelectOption[]; "options"?: string | Option[]; "pattern"?: string; "patternErrorMessage"?: string; "placeholder"?: string; "radioOptions"?: RadioOption[]; /** * @default "" */ "readonlyPlaceholder": string; /** * @default false */ "required": boolean; "specificPartKey"?: string; "tooltip"?: string; "type": string; "validationFunc"?: (value: string | string[]) => { valid: boolean; message?: string }; "value"?: string | string[]; } interface URegistrationButton { /** * @default "" */ "componentClassName": string; "for": "email"; /** * @default window.location.href */ "redirectUri": string; } interface URegistrationEmailVerification { /** * Whether to automatically send the verification code when this step becomes active. * @default true */ "autoSend": boolean; /** * CSS classes to apply to the fieldset container. */ "componentClassName"?: string; /** * CSS classes to apply to each individual digit input. */ "inputClassName"?: string; } interface URegistrationInternalMatching { /** * CSS classes to apply to the wrapper element. * @default "" */ "componentClassName": string; /** * CSS classes to apply to error message elements. * @default "" */ "errorClassName": string; /** * CSS classes to apply to text and date input fields. * @default "" */ "inputClassName": string; /** * CSS classes to apply to primary action buttons ("Find Account" and "Yes, use this account"). * @default "" */ "primaryButtonClassName": string; /** * CSS classes to apply to secondary action buttons ("Continue without linking" and "No, create new account"). * @default "" */ "secondaryButtonClassName": string; } interface URegistrationNewsletter { /** * Whether the checkbox is initially checked. * @default false */ "checked": boolean; /** * CSS classes to apply to the checkbox element. */ "componentClassName"?: string; /** * The internal name of the newsletter (must match the newsletter configured in Unidy). */ "name": string; } interface URegistrationNewsletterPreference { /** * Whether the checkbox is initially checked. * @default false */ "checked": boolean; /** * CSS classes to apply to the checkbox element. */ "componentClassName"?: string; /** * The internal name of the parent newsletter. */ "name": string; /** * The preference key (e.g. "football", "tennis"). */ "preference": string; } interface URegistrationPasskey { /** * CSS classes to apply to the button element. * @default "" */ "componentClassName": string; /** * Disable the button. * @default false */ "disabled": boolean; /** * Optional name for the passkey (defaults to "Passkey"). */ "passkeyName"?: string; } interface URegistrationResend { /** * CSS classes to apply to the button element. */ "componentClassName"?: string; } interface URegistrationResume { /** * CSS classes to apply to the button element. */ "componentClassName"?: string; } interface URegistrationRoot { /** * Programmatically advance to the next step in the registration flow. */ "advanceToNextStep": () => Promise; /** * Whether to automatically resume an existing registration flow on load. Checks for `registration_rid` in the URL (from resume emails) or a stored rid in localStorage. * @default true */ "autoResume": boolean; /** * Brand ID to associate with the registration flow. Only needed in multi-brand setups. */ "brandId"?: number; /** * When true, suppresses the automatically-rendered `` so you can place your own `` at a custom position inside the root. * @default false */ "disableResumeButton": boolean; /** * Returns the configured brand ID, if any. */ "getBrandId": () => Promise; /** * Returns the registration URL. Falls back to the current page URL if not explicitly set. */ "getRegistrationUrl": () => Promise; /** * Programmatically go back to the previous step in the registration flow. */ "goToPreviousStep": () => Promise; /** * Returns whether the registration flow has been completed. */ "isComplete": () => Promise; /** * URL of the registration page. Used as the redirect target in resume emails. Defaults to the current page URL (origin + pathname) if not set. */ "registrationUrl"?: string; /** * CSS classes to apply to the automatically-rendered resume button. Accepts Tailwind classes. */ "resumeClassName"?: string; /** * JSON array string of step names that define the registration flow order. Each name must match a `` child. * @default "[]" */ "steps": string; } interface URegistrationStep { /** * If true, the step's content is always rendered regardless of which step is active. * @default false */ "alwaysRender": boolean; /** * Returns whether this step is currently the active step in the registration flow. */ "isActive": () => Promise; /** * The step identifier. Must match an entry in the parent ``'s `steps` array. */ "name": string; /** * If true, this step is automatically skipped when the user's email is already verified. * @default false */ "requiresEmailVerification": boolean; /** * If true, this step is automatically skipped for social login or passwordless flows. * @default false */ "requiresPassword": boolean; /** * Returns whether this step should be skipped based on the current flow state (e.g. email already verified, passwordless flow). */ "shouldSkip": () => Promise; /** * Submits the current step. Creates or updates the registration flow, then advances to the next step or finalizes registration. */ "submit": () => Promise; } interface UResendConfirmationEmail { /** * CSS classes to apply to the button element. */ "componentClassName"?: string; } interface UResendInvitationEmail { /** * CSS classes to apply to the button element. */ "componentClassName"?: string; } interface UResetPasswordButton { /** * CSS classes to apply to the button element. * @default "" */ "componentClassName": string; } interface USendMagicCodeButton { /** * CSS classes to apply to the button element. * @default "" */ "componentClassName": string; /** * If true, the button will be disabled. * @default false */ "disabled": boolean; } interface USignedIn { /** * CSS classes to apply to the host element. * @default "" */ "componentClassName": string; /** * If true, shows content when user is NOT signed in (inverts the condition). * @default false */ "not": boolean; } interface USigninRoot { /** * CSS classes to apply to the host element. * @default "" */ "componentClassName": string; } interface USigninStep { /** * If true, the step will always render regardless of the current authentication step. * @default false */ "alwaysRender": boolean; "isActive": () => Promise; /** * The name of this step in the sign-in flow. */ "name": | "email" | "verification" | "magic-code" | "connect-brand" | "reset-password" | "single-login" | "missing-fields" | "registration" | "unconfirmed" | "invited"; "submit": () => Promise; } interface USocialLoginButton { /** * If true, shows only the provider icon without text. * @default false */ "iconOnly": boolean; /** * The OAuth provider (google, linkedin, apple, discord, facebook, unidy, or oidc_ for OpenID Connect providers). * @default "google" */ "provider": SocialLoginProvider; /** * The URL to redirect to after authentication. Defaults to current page. * @default window.location.href */ "redirectUri": string; /** * Button theme: 'light' (white background) or 'dark' (dark background). * @default "light" */ "theme": "light" | "dark"; } interface USpinner { } interface USubmitButton { /** * CSS classes to apply to the button element. * @default "" */ "componentClassName": string; /** * If true, the button will be disabled. * @default false */ "disabled": boolean; /** * The action type for the button. Varies by context (auth: email/password/magic-code/reset-password, newsletter: subscribe/login). */ "for"?: AuthButtonFor | NewsletterButtonFor; /** * Custom button text. If not provided, uses context-specific defaults. */ "text"?: string; } /** * Button performing an action on a pending ticket transfer. * Used standalone with an explicit `token`, or inside a * `u-ticket-transfer-list` template where the list stamps the `token` * attribute automatically and refetches when the action succeeds. */ interface UTicketTransferAction { /** * The action this button performs. Token-based: "accept", "decline", "cancel". Ticket-id-based: "revoke", "return". */ "action": TicketTransferActionType; /** * CSS classes to apply to the button element. */ "componentClassName"?: string; /** * Disables the button. Stamped automatically on skeleton items inside list templates. * @default false */ "disabled": boolean; /** * The ticket id. Required for revoke/return. Stamped automatically inside a u-ticketable-list template. */ "ticketId"?: string; /** * The transfer token. Required for accept/decline/cancel. Stamped automatically inside a u-ticket-transfer-list template. */ "token"?: string; } /** * Form to send a ticket transfer offer to an email address. * Used standalone with an explicit `ticket-id`, or inside a * `u-ticketable-list` ticket template where the list stamps the * `ticket-id` attribute automatically. */ interface UTicketTransferForm { /** * CSS classes to apply to the submit button element. */ "buttonClassName"?: string; /** * CSS classes to apply to the form element. */ "componentClassName"?: string; /** * Disables the form controls. Stamped automatically on skeleton items inside a u-ticketable-list template. * @default false */ "disabled": boolean; /** * CSS classes to apply to the error message element. */ "errorClassName"?: string; /** * CSS classes to apply to the email input element. */ "inputClassName"?: string; /** * CSS classes to apply to the success message element. */ "successClassName"?: string; /** * The id of the ticket to transfer. Stamped automatically inside a u-ticketable-list template. */ "ticketId"?: string; } /** * Lists the user's pending ticket transfers for one direction. * Renders a user-supplied `