API β€Ί @builder.io/qwik-city

"link:app"

'link:app'?: boolean;

Action

export type Action<
  RETURN,
  INPUT = Record<string, unknown>,
  OPTIONAL extends boolean = true,
> = {
  (): ActionStore<RETURN, INPUT, OPTIONAL>;
};

References: ActionStore

Edit this section

ActionConstructor

export type ActionConstructor = {
  <
    OBJ extends Record<string, any> | void | null,
    VALIDATOR extends TypedDataValidator,
    REST extends [DataValidator, ...DataValidator[]],
  >(
    actionQrl: (
      data: GetValidatorType<VALIDATOR>,
      event: RequestEventAction,
    ) => ValueOrPromise<OBJ>,
    options: {
      readonly id?: string;
      readonly validation: [VALIDATOR, ...REST];
    },
  ): Action<
    StrictUnion<
      | OBJ
      | FailReturn<zod.typeToFlattenedError<GetValidatorType<VALIDATOR>>>
      | FailReturn<FailOfRest<REST>>
    >,
    GetValidatorType<VALIDATOR>,
    false
  >;
  <
    OBJ extends Record<string, any> | void | null,
    VALIDATOR extends TypedDataValidator,
  >(
    actionQrl: (
      data: GetValidatorType<VALIDATOR>,
      event: RequestEventAction,
    ) => ValueOrPromise<OBJ>,
    options: {
      readonly id?: string;
      readonly validation: [VALIDATOR];
    },
  ): Action<
    StrictUnion<
      OBJ | FailReturn<zod.typeToFlattenedError<GetValidatorType<VALIDATOR>>>
    >,
    GetValidatorType<VALIDATOR>,
    false
  >;
  <
    OBJ extends Record<string, any> | void | null,
    REST extends [DataValidator, ...DataValidator[]],
  >(
    actionQrl: (
      data: JSONObject,
      event: RequestEventAction,
    ) => ValueOrPromise<OBJ>,
    options: {
      readonly id?: string;
      readonly validation: REST;
    },
  ): Action<StrictUnion<OBJ | FailReturn<FailOfRest<REST>>>>;
  <
    OBJ extends Record<string, any> | void | null,
    VALIDATOR extends TypedDataValidator,
    REST extends [DataValidator, ...DataValidator[]],
  >(
    actionQrl: (
      data: GetValidatorType<VALIDATOR>,
      event: RequestEventAction,
    ) => ValueOrPromise<OBJ>,
    options: VALIDATOR,
    ...rest: REST
  ): Action<
    StrictUnion<
      | OBJ
      | FailReturn<zod.typeToFlattenedError<GetValidatorType<VALIDATOR>>>
      | FailReturn<FailOfRest<REST>>
    >,
    GetValidatorType<VALIDATOR>,
    false
  >;
  <
    OBJ extends Record<string, any> | void | null,
    VALIDATOR extends TypedDataValidator,
  >(
    actionQrl: (
      data: GetValidatorType<VALIDATOR>,
      event: RequestEventAction,
    ) => ValueOrPromise<OBJ>,
    options: VALIDATOR,
  ): Action<
    StrictUnion<
      OBJ | FailReturn<zod.typeToFlattenedError<GetValidatorType<VALIDATOR>>>
    >,
    GetValidatorType<VALIDATOR>,
    false
  >;
  <
    OBJ extends Record<string, any> | void | null,
    REST extends [DataValidator, ...DataValidator[]],
  >(
    actionQrl: (
      form: JSONObject,
      event: RequestEventAction,
    ) => ValueOrPromise<OBJ>,
    ...rest: REST
  ): Action<StrictUnion<OBJ | FailReturn<FailOfRest<REST>>>>;
  <OBJ>(
    actionQrl: (
      form: JSONObject,
      event: RequestEventAction,
    ) => ValueOrPromise<OBJ>,
    options?: {
      readonly id?: string;
    },
  ): Action<StrictUnion<OBJ>>;
};

References: TypedDataValidator, DataValidator, GetValidatorType, Action, StrictUnion, FailReturn, FailOfRest, JSONObject

Edit this section

ActionReturn

export type ActionReturn<RETURN> = {
  readonly status?: number;
  readonly value: RETURN;
};

Edit this section

ActionStore

export type ActionStore<RETURN, INPUT, OPTIONAL extends boolean = true> = {
  readonly actionPath: string;
  readonly isRunning: boolean;
  readonly status?: number;
  readonly formData: FormData | undefined;
  readonly value: RETURN | undefined;
  readonly submit: QRL<
    OPTIONAL extends true
      ? (form?: INPUT | FormData | SubmitEvent) => Promise<ActionReturn<RETURN>>
      : (form: INPUT | FormData | SubmitEvent) => Promise<ActionReturn<RETURN>>
  >;
};

References: ActionReturn

Edit this section

ContentHeading

export interface ContentHeading
PropertyModifiersTypeDescription
idreadonlystring
levelreadonlynumber
textreadonlystring

Edit this section

ContentMenu

export interface ContentMenu
PropertyModifiersTypeDescription
href?readonlystring(Optional)
items?readonlyContentMenu[](Optional)
textreadonlystring

Edit this section

DataValidator

export type DataValidator<T extends Record<string, any> = {}> = {
  validate(ev: RequestEvent, data: unknown): Promise<ValidatorReturn<T>>;
};

References: ValidatorReturn

Edit this section

DocumentHead

export type DocumentHead =
  | DocumentHeadValue
  | ((props: DocumentHeadProps) => DocumentHeadValue);

References: DocumentHeadValue, DocumentHeadProps

Edit this section

DocumentHeadProps

export interface DocumentHeadProps extends RouteLocation

Extends: RouteLocation

PropertyModifiersTypeDescription
headreadonlyResolvedDocumentHead
resolveValuereadonlyResolveSyncValue
withLocalereadonly<T>(fn: () => T) => T

Edit this section

DocumentHeadValue

export interface DocumentHeadValue<FrontMatter extends Record<string, any> = Record<string, unknown>>
PropertyModifiersTypeDescription
frontmatter?readonlyReadonly<FrontMatter>(Optional) Arbitrary object containing custom data. When the document head is created from markdown files, the frontmatter attributes that are not recognized as a well-known meta names (such as title, description, author, etc...), are stored in this property.
links?readonlyreadonly DocumentLink[](Optional) Used to manually append <link> elements to the <head>.
meta?readonlyreadonly DocumentMeta[](Optional) Used to manually set meta tags in the head. Additionally, the data property could be used to set arbitrary data which the <head> component could later use to generate <meta> tags.
scripts?readonlyreadonly DocumentScript[](Optional) Used to manually append <script> elements to the <head>.
styles?readonlyreadonly DocumentStyle[](Optional) Used to manually append <style> elements to the <head>.
title?readonlystring(Optional) Sets document.title.

Edit this section

export interface DocumentLink
PropertyModifiersTypeDescription
as?string(Optional)
crossorigin?string(Optional)
disabled?boolean(Optional)
href?string(Optional)
hreflang?string(Optional)
id?string(Optional)
imagesizes?string(Optional)
imagesrcset?string(Optional)
integrity?string(Optional)
key?string(Optional)
media?string(Optional)
prefetch?string(Optional)
referrerpolicy?string(Optional)
rel?string(Optional)
sizes?string(Optional)
title?string(Optional)
type?string(Optional)

Edit this section

DocumentMeta

export interface DocumentMeta
PropertyModifiersTypeDescription
content?readonlystring(Optional)
httpEquiv?readonlystring(Optional)
itemprop?readonlystring(Optional)
key?readonlystring(Optional)
media?readonlystring(Optional)
name?readonlystring(Optional)
property?readonlystring(Optional)

Edit this section

DocumentScript

This API is provided as an alpha preview for developers and may change based on feedback that we receive. Do not use this API in a production environment.

export interface DocumentScript
PropertyModifiersTypeDescription
key?readonlystring(ALPHA) (Optional)
props?readonlyReadonly<QwikIntrinsicElements['script']>(ALPHA) (Optional)
script?readonlystring(ALPHA) (Optional)

Edit this section

DocumentStyle

export interface DocumentStyle
PropertyModifiersTypeDescription
key?readonlystring(Optional)
props?readonlyReadonly<QwikIntrinsicElements['style']>(Optional)
stylereadonlystring

Edit this section

FailOfRest

export type FailOfRest<REST extends readonly DataValidator[]> =
  REST extends readonly DataValidator<infer ERROR>[] ? ERROR : never;

References: DataValidator

Edit this section

FailReturn

export type FailReturn<T> = T & Failed;

Edit this section

Form

Form: <O, I>(
  { action, spaReset, reloadDocument, onSubmit$, ...rest }: FormProps<O, I>,
  key: string | null,
) => import("@builder.io/qwik").JSXOutput;

Edit this section

FormProps

export interface FormProps<O, I> extends Omit<QwikJSX.IntrinsicElements['form'], 'action' | 'method'>

Extends: Omit<QwikJSX.IntrinsicElements['form'], 'action' | 'method'>

PropertyModifiersTypeDescription
action?ActionStore<O, I, true | false>(Optional) Reference to the action returned by action().
key?string | number | null(Optional)
onSubmit$?(event: Event, form: HTMLFormElement) => ValueOrPromise<void>(Optional) Event handler executed right when the form is submitted.
onSubmitCompleted$?(event: CustomEvent<FormSubmitCompletedDetail<O>>, form: HTMLFormElement) => ValueOrPromise<void>(Optional) Event handler executed right after the action is executed successfully and returns some data.
reloadDocument?boolean(Optional) When true the form submission will cause a full page reload, even if SPA mode is enabled and JS is available.
spaReset?boolean(Optional) When true all the form inputs will be reset in SPA mode, just like happens in a full page form submission.Defaults to false

Edit this section

FormSubmitSuccessDetail

export interface FormSubmitCompletedDetail<T>
PropertyModifiersTypeDescription
statusnumber
valueT

Edit this section

GetValidatorType

export type GetValidatorType<VALIDATOR extends TypedDataValidator> =
  VALIDATOR extends TypedDataValidator<infer TYPE> ? zod.infer<TYPE> : never;

References: TypedDataValidator

Edit this section

globalAction$

globalAction$: ActionConstructor;

Edit this section

globalActionQrl

globalActionQrl: ActionConstructorQRL;

Edit this section

JSONObject

export type JSONObject = {
  [x: string]: JSONValue;
};

References: JSONValue

Edit this section

JSONValue

export type JSONValue =
  | string
  | number
  | boolean
  | {
      [x: string]: JSONValue;
    }
  | Array<JSONValue>;

References: JSONValue

Edit this section

Link: import("@builder.io/qwik").Component<LinkProps>;

Edit this section

LinkProps

export interface LinkProps extends AnchorAttributes

Extends: AnchorAttributes

PropertyModifiersTypeDescription
"link:app"?boolean(Optional)
prefetch?boolean | 'js'(Optional) **Defaults to _true_.**Whether Qwik should prefetch and cache the target page of this **Link**, this includes invoking any **routeLoader$**, **onGet**, etc.This **improves UX performance** for client-side (**SPA**) navigations.Prefetching occurs when a the Link enters the viewport in production (**on:qvisibile**), or with **mouseover/focus** during dev.Prefetching will not occur if the user has the **data saver** setting enabled.Setting this value to **"js"** will prefetch only javascript bundles required to render this page on the client, **false** will disable prefetching altogether.
reload?boolean(Optional)
replaceState?boolean(Optional)
scroll?boolean(Optional)

Edit this section

Loader

export type Loader<RETURN> = {
  (): LoaderSignal<RETURN>;
};

References: LoaderSignal

Edit this section

LoaderSignal

export type LoaderSignal<TYPE> = TYPE extends () => ValueOrPromise<
  infer VALIDATOR
>
  ? ReadonlySignal<ValueOrPromise<VALIDATOR>>
  : ReadonlySignal<TYPE>;

Edit this section

export type MenuData = [pathname: string, menuLoader: MenuModuleLoader];

Edit this section

export type NavigationType = "initial" | "form" | "link" | "popstate";

Edit this section

PageModule

export interface PageModule extends RouteModule

Extends: RouteModule

PropertyModifiersTypeDescription
defaultreadonlyunknown
head?readonlyContentModuleHead(Optional)
headings?readonlyContentHeading[](Optional)
onStaticGenerate?readonlyStaticGenerateHandler(Optional)

Edit this section

PathParams

export declare type PathParams = Record<string, string>;

Edit this section

QwikCityMockProps

export interface QwikCityMockProps
PropertyModifiersTypeDescription
params?Record<string, string>(Optional)
url?string(Optional)

Edit this section

QwikCityMockProvider

QwikCityMockProvider: import("@builder.io/qwik").Component<QwikCityMockProps>;

Edit this section

QwikCityPlan

export interface QwikCityPlan
PropertyModifiersTypeDescription
basePathname?readonlystring(Optional)
cacheModules?readonlyboolean(Optional)
menus?readonlyMenuData[](Optional)
routesreadonlyRouteData[]
serverPlugins?readonlyRouteModule[](Optional)
trailingSlash?readonlyboolean(Optional)

Edit this section

QwikCityProps

export interface QwikCityProps
PropertyModifiersTypeDescription
viewTransition?boolean(Optional) Enable the ViewTransition APIDefault: true

Edit this section

QwikCityProvider

QwikCityProvider: import("@builder.io/qwik").Component<QwikCityProps>;

Edit this section

ResolvedDocumentHead

export type ResolvedDocumentHead<
  FrontMatter extends Record<string, any> = Record<string, unknown>,
> = Required<DocumentHeadValue<FrontMatter>>;

References: DocumentHeadValue

Edit this section

routeAction$

routeAction$: ActionConstructor;

Edit this section

routeActionQrl

routeActionQrl: ActionConstructorQRL;

Edit this section

RouteData

export type RouteData =
  | [routeName: string, loaders: ModuleLoader[]]
  | [
      routeName: string,
      loaders: ModuleLoader[],
      originalPathname: string,
      routeBundleNames: string[],
    ];

Edit this section

routeLoader$

routeLoader$: LoaderConstructor;

Edit this section

routeLoaderQrl

routeLoaderQrl: LoaderConstructorQRL;

Edit this section

RouteLocation

export interface RouteLocation
PropertyModifiersTypeDescription
isNavigatingreadonlyboolean
paramsreadonlyReadonly<Record<string, string>>
prevUrlreadonlyURL | undefined
urlreadonlyURL

Edit this section

RouteNavigate

export type RouteNavigate = QRL<
  (
    path?: string,
    options?:
      | {
          type?: Exclude<NavigationType, "initial">;
          forceReload?: boolean;
          replaceState?: boolean;
          scroll?: boolean;
        }
      | boolean,
  ) => Promise<void>
>;

References: NavigationType

Edit this section

RouterOutlet

RouterOutlet: import("@builder.io/qwik").Component<unknown>;

Edit this section

server$

server$: <T extends ServerFunction>(first: T) => ServerQRL<T>;

Edit this section

ServerFunction

export type ServerFunction = {
  (this: RequestEventBase, ...args: any[]): any;
};

Edit this section

serverQrl

serverQrl: <T extends ServerFunction>(qrl: QRL<T>) => ServerQRL<T>;

Edit this section

ServerQRL

serverQrl: <T extends ServerFunction>(qrl: QRL<T>) => ServerQRL<T>;

Edit this section

ServiceWorkerRegister

ServiceWorkerRegister: (props: { nonce?: string }) =>
  import("@builder.io/qwik").JSXNode<"script">;

Edit this section

StaticGenerate

export interface StaticGenerate
PropertyModifiersTypeDescription
params?PathParams[](Optional)

Edit this section

StaticGenerateHandler

export type StaticGenerateHandler = ({
  env,
}: {
  env: EnvGetter;
}) => Promise<StaticGenerate> | StaticGenerate;

References: StaticGenerate

Edit this section

StrictUnion

export type StrictUnion<T> = Prettify<StrictUnionHelper<T, T>>;

Edit this section

TypedDataValidator

export type TypedDataValidator<T extends zod.ZodType = zod.ZodType> = {
  __zod: zod.ZodSchema<T>;
  validate(
    ev: RequestEvent,
    data: unknown,
  ): Promise<zod.SafeParseReturnType<T, T>>;
};

Edit this section

useContent

useContent: () => import("./types").ContentState;

Edit this section

useDocumentHead

Returns the document head for the current page. The generic type describes the front matter.

useDocumentHead: <
  FrontMatter extends Record<string, unknown> = Record<string, any>,
>() => Required<Required<import("./types").DocumentHeadValue<FrontMatter>>>;

Edit this section

useLocation

useLocation: () => RouteLocation;

Edit this section

useNavigate

useNavigate: () => RouteNavigate;

Edit this section

validator$

validator$: ValidatorConstructor;

Edit this section

validatorQrl

validatorQrl: ValidatorConstructorQRL;

Edit this section

ValidatorReturn

export type ValidatorReturn<T extends Record<string, any> = {}> =
  | ValidatorReturnSuccess
  | ValidatorReturnFail<T>;

Edit this section

zod$

zod$: ZodConstructor;

Edit this section

ZodConstructor

export type ZodConstructor = {
  <T extends zod.ZodRawShape>(schema: T): TypedDataValidator<zod.ZodObject<T>>;
  <T extends zod.ZodRawShape>(
    schema: (z: typeof zod, ev: RequestEvent) => T,
  ): TypedDataValidator<zod.ZodObject<T>>;
  <T extends zod.Schema>(schema: T): TypedDataValidator<T>;
  <T extends zod.Schema>(
    schema: (z: typeof zod, ev: RequestEvent) => T,
  ): TypedDataValidator<T>;
};

References: TypedDataValidator

Edit this section

zodQrl

zodQrl: ZodConstructorQRL;

Edit this section