Some checks failed
App Prod-Parity E2E Dispatch / dispatch (push) Failing after 10s
CD Storybook UI / build (push) Failing after 3m25s
CD Storybook UI / dispatch (push) Has been skipped
CD deploy main / website-changed-files (push) Successful in 18m8s
CI Agent Skills / changed-files-check (push) Successful in 18m9s
CI Create App E2E minimal / changed-files-check (push) Successful in 24s
CI Create App / changed-files-check (push) Successful in 26s
CI Docs / changed-files-check (push) Successful in 26s
CI Emails / changed-files-check (push) Successful in 28s
CI Example App Hello World / changed-files-check (push) Successful in 23s
CI Front / changed-files-check (push) Has been skipped
CI Example App Postcard / changed-files-check (push) Successful in 27s
CI UI / changed-files-check (push) Has been skipped
CI Utils Test / changed-files-check (push) Successful in 45s
CI Twenty Apps / discover (push) Successful in 1m3s
CD deploy main / deploy-main (push) Failing after 3s
CI Agent Skills / agent-skills-validate (push) Has been skipped
CI Create App / create-app-test (lint) (push) Has been skipped
CI Emails / emails-test (push) Has been skipped
CI Front / front-task (lingui:compile) (push) Has been skipped
CI Front / front-task (lint) (push) Has been skipped
CI Example App Postcard / example-app-postcard (push) Has been skipped
CI UI / ui-task (lint) (push) Has been skipped
CI UI / ui-task (pack-size) (push) Has been skipped
CI UI / ui-task (size) (push) Has been skipped
CI UI / ui-task (test) (push) Has been skipped
CI UI / ui-task (typecheck) (push) Has been skipped
CI Utils Test / utils-test (push) Has been skipped
CI Twenty Apps / ${{ matrix.app.name }} (push) Has been skipped
CI Emails / ci-emails-status-check (push) Successful in 2s
CI Example App Hello World / ci-example-app-hello-world-status-check (push) Successful in 2s
CI Example App Postcard / ci-example-app-postcard-status-check (push) Successful in 3s
CI UI / ui-sb-test (push) Has been skipped
CI Utils Test / ci-utils-test-status-check (push) Successful in 2s
CI Twenty Apps / ci-twenty-apps-status-check (push) Successful in 2s
CI UI / ci-ui-status-check (push) Successful in 2s
CI Desktop / desktop (push) Failing after 1m8s
Push docs to Crowdin / Push documentation to Crowdin (push) Failing after 55s
Push translations to Crowdin / Extract and upload translations (push) Failing after 5s
Push website translations to Crowdin / Extract and upload website translations (push) Failing after 5s
CI Create App / create-app-test (test) (push) Has been skipped
CI Create App / create-app-test (typecheck) (push) Has been skipped
CI Docs / docs-lint (push) Has been skipped
CI Example App Hello World / example-app-hello-world (push) Has been skipped
CI Front / front-task (lingui:extract) (push) Has been skipped
CI Front / front-task (test) (push) Has been skipped
CI Front / front-task (typecheck) (push) Has been skipped
CI UI / ui-sb-build (push) Failing after 1m32s
CI Twenty Apps / ${{ matrix.app.name }} (${{ matrix.server-source }}) (push) Has been skipped
CI Agent Skills / agent-skills-publish (push) Has been skipped
CI Create App / ci-create-app-status-check (push) Successful in 2s
CI Agent Skills / agent-skills-remote-source (push) Has been skipped
CI Create App E2E minimal / create-app-e2e-minimal (push) Has been cancelled
CI E2E Main / e2e-test (push) Has been cancelled
CI Front / front-sb-build (push) Has been cancelled
CI Front / front-build (push) Has been cancelled
CI Create App E2E minimal / ci-create-app-e2e-minimal-status-check (push) Has been cancelled
CI E2E Main / ci-e2e-main-status-check (push) Has been cancelled
CI E2E Main / notify-main-ci-failure (push) Has been cancelled
CI E2E Main / qa-scout-comment (push) Has been cancelled
CI Front / front-sb-test (push) Has been cancelled
CI Front / front-sb-screenshots (push) Has been cancelled
CI Front / ci-front-status-check (push) Has been cancelled
DPA Sub-Processor Sync / sync-subprocessors (push) Failing after 3s
AI Catalog Sync / sync-catalog (push) Failing after 2s
269 lines
12 KiB
Plaintext
269 lines
12 KiB
Plaintext
{/*
|
|
* _____ _
|
|
*|_ _|_ _____ _ __ | |_ _ _
|
|
* | | \ \ /\ / / _ \ '_ \| __| | | | Auto-generated file
|
|
* | | \ V V / __/ | | | |_| |_| | DO NOT EDIT - changes will be overwritten
|
|
* |_| \_/\_/ \___|_| |_|\__|\__, | Generated by: npx nx generate:ui twenty-docs
|
|
* |___/
|
|
*
|
|
* This file is generated from the documentation data in packages/twenty-ui/generated.
|
|
* To update it, edit the component prop types or design tokens in twenty-ui and run:
|
|
* npx nx generate:ui twenty-docs
|
|
*/}
|
|
|
|
### Popover.Root
|
|
|
|
<ParamField body="Root.actionsRef" type="RefObject<PopoverRootActions | null>">
|
|
A ref to imperative actions.
|
|
- `unmount`: Manually unmounts the popover.
|
|
Call this after any externally controlled closing animation finishes.
|
|
- `close`: Closes the popover imperatively when called.
|
|
</ParamField>
|
|
|
|
<ParamField body="Root.children" type="ReactNode | PayloadChildRenderFunction<Payload>">
|
|
The content of the popover.
|
|
This can be a regular React node or a render function that receives the `payload` of the active trigger.
|
|
</ParamField>
|
|
|
|
<ParamField body="Root.defaultOpen" type="boolean" default="false">
|
|
Whether the popover is initially open.
|
|
|
|
To render a controlled popover, use the `open` prop instead.
|
|
</ParamField>
|
|
|
|
<ParamField body="Root.defaultTriggerId" type="string | null">
|
|
ID of the trigger that the popover is associated with.
|
|
This is useful in conjunction with the `defaultOpen` prop to create an initially open popover.
|
|
</ParamField>
|
|
|
|
<ParamField body="Root.handle" type="PopoverHandle<Payload>">
|
|
A handle to associate the popover with a trigger.
|
|
If specified, allows external triggers to control the popover's open state.
|
|
</ParamField>
|
|
|
|
<ParamField body="Root.modal" type="boolean | "trap-focus"" default="false">
|
|
Determines if the popover enters a modal state when open.
|
|
- `true`: user interaction is limited to the popover: document page scroll is locked, and pointer interactions on outside elements are disabled.
|
|
- `false`: user interaction with the rest of the document is allowed.
|
|
- `'trap-focus'`: focus is trapped inside the popover, but document page scroll is not locked and pointer interactions outside of it remain enabled.
|
|
|
|
On touch devices, a `true` modal blocks outside taps but leaves the page scrollable unless the popup spans nearly the full viewport width, matching native iOS behavior.
|
|
|
|
When `modal` is `true`, focus trapping is enabled only if `<Popover.Close>` is rendered
|
|
inside `<Popover.Popup>`. It can be visually hidden with your own CSS if needed, such as
|
|
Tailwind's `sr-only` utility.
|
|
|
|
When `modal` is `'trap-focus'`, render `<Popover.Close>` inside `<Popover.Popup>` so touch
|
|
screen readers can escape the popup.
|
|
</ParamField>
|
|
|
|
<ParamField body="Root.onOpenChange" type="((open: boolean, eventDetails: PopoverRootChangeEventDetails) => void)">
|
|
Event handler called when the popover is opened or closed.
|
|
</ParamField>
|
|
|
|
<ParamField body="Root.onOpenChangeComplete" type="((open: boolean) => void)">
|
|
Event handler called after any animations complete when the popover is opened or closed.
|
|
</ParamField>
|
|
|
|
<ParamField body="Root.open" type="boolean">
|
|
Whether the popover is currently open.
|
|
</ParamField>
|
|
|
|
<ParamField body="Root.triggerId" type="string | null">
|
|
ID of the trigger that the popover is associated with.
|
|
This is useful in conjunction with the `open` prop to create a controlled popover.
|
|
There's no need to specify this prop when the popover is uncontrolled (that is, when the `open` prop is not set).
|
|
</ParamField>
|
|
|
|
### Popover.Trigger
|
|
|
|
<ParamField body="Trigger.className" type="string | ((state: PopoverTriggerState) => string | undefined)">
|
|
CSS class applied to the element, or a function that
|
|
returns a class based on the component's state.
|
|
</ParamField>
|
|
|
|
<ParamField body="Trigger.closeDelay" type="number" default="0">
|
|
How long to wait before closing the popover that was opened on hover.
|
|
Specified in milliseconds.
|
|
|
|
Requires the `openOnHover` prop.
|
|
</ParamField>
|
|
|
|
<ParamField body="Trigger.delay" type="number" default="300">
|
|
How long to wait before the popover may be opened on hover. Specified in milliseconds.
|
|
|
|
Requires the `openOnHover` prop.
|
|
</ParamField>
|
|
|
|
<ParamField body="Trigger.handle" type="PopoverHandle<Payload>">
|
|
A handle to associate the trigger with a popover.
|
|
</ParamField>
|
|
|
|
<ParamField body="Trigger.id" type="string">
|
|
ID of the trigger. In addition to being forwarded to the rendered element,
|
|
it is also used to specify the active trigger for the popover in controlled mode (with the PopoverRoot `triggerId` prop).
|
|
</ParamField>
|
|
|
|
<ParamField body="Trigger.nativeButton" type="boolean" default="true">
|
|
Whether the component renders a native `<button>` element when replacing it
|
|
via the `render` prop.
|
|
Set to `false` if the rendered element is not a button (e.g. `<div>`).
|
|
</ParamField>
|
|
|
|
<ParamField body="Trigger.openOnHover" type="boolean" default="false">
|
|
Whether the popover should also open when the trigger is hovered.
|
|
</ParamField>
|
|
|
|
<ParamField body="Trigger.payload" type="Payload">
|
|
A payload to pass to the popover when it is opened.
|
|
</ParamField>
|
|
|
|
<ParamField body="Trigger.render" type="ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, PopoverTriggerState>">
|
|
Allows you to replace the component's HTML element
|
|
with a different tag, or compose it with another component.
|
|
|
|
Accepts a `ReactElement` or a function that returns the element to render.
|
|
</ParamField>
|
|
|
|
<ParamField body="Trigger.style" type="CSSProperties | ((state: PopoverTriggerState) => CSSProperties | undefined)">
|
|
Style applied to the element, or a function that
|
|
returns a style object based on the component's state.
|
|
</ParamField>
|
|
|
|
### Popover.Popup
|
|
|
|
<ParamField body="Popup.align" type=""center" | "start" | "end"" default="center">
|
|
Alignment of the popup along the anchor.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.alignOffset" type="number">
|
|
Offset in pixels along the alignment axis.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.anchor" type="Element | VirtualElement | RefObject<Element | null> | (() => Element | VirtualElement | null) | null">
|
|
Element or position the popup is anchored to. Defaults to the trigger.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.arrow" type="boolean" default="false">
|
|
Shows an arrow pointing at the anchor.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.className" type="string | ((state: PopoverPopupState) => string | undefined)">
|
|
CSS class applied to the element, or a function that
|
|
returns a class based on the component's state.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.container" type="HTMLElement | ShadowRoot | RefObject<HTMLElement | ShadowRoot | null> | null">
|
|
Element the popup is portaled into. Defaults to the theme's portal
|
|
container.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.finalFocus" type="boolean | RefObject<HTMLElement | null> | ((closeType: InteractionType) => boolean | void | HTMLElement | null)">
|
|
Determines the element to focus when the popover is closed.
|
|
|
|
- `false`: Do not move focus.
|
|
- `true`: Move focus based on the default behavior (trigger or previously focused element).
|
|
- `RefObject`: Move focus to the ref element.
|
|
- `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`).
|
|
Return an element to focus, `true` to use the default behavior, `null` to fall back to the default behavior, or `false`/`undefined` to do nothing.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.initialFocus" type="boolean | RefObject<HTMLElement | null> | ((openType: InteractionType) => boolean | void | HTMLElement | null)">
|
|
Determines the element to focus when the popover is opened.
|
|
By default, focus moves to the first tabbable element inside the popup, except when the popover
|
|
is opened by touch — then the popup itself is focused to avoid opening the virtual keyboard.
|
|
|
|
- `false`: Do not move focus.
|
|
- `true`: Move focus based on the default behavior (first tabbable element or popup).
|
|
- `RefObject`: Move focus to the ref element.
|
|
- `function`: Called with the interaction type (`mouse`, `touch`, `pen`, or `keyboard`).
|
|
Return an element to focus, `true` to use the default behavior, `null` to fall back to the default behavior, or `false`/`undefined` to do nothing.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.keepMounted" type="boolean">
|
|
Keeps the popup mounted in the DOM while the popover is closed.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.render" type="ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, PopoverPopupState>">
|
|
Allows you to replace the component's HTML element
|
|
with a different tag, or compose it with another component.
|
|
|
|
Accepts a `ReactElement` or a function that returns the element to render.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.side" type=""top" | "right" | "bottom" | "left" | "inline-end" | "inline-start"" default="bottom">
|
|
Side of the anchor the popup is placed on.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.sideOffset" type="number" default="8">
|
|
Distance in pixels between the anchor and the popup.
|
|
</ParamField>
|
|
|
|
<ParamField body="Popup.style" type="CSSProperties | ((state: PopoverPopupState) => CSSProperties | undefined)">
|
|
Style applied to the element, or a function that
|
|
returns a style object based on the component's state.
|
|
</ParamField>
|
|
|
|
### Popover.Title
|
|
|
|
<ParamField body="Title.className" type="string | ((state: PopoverTitleState) => string | undefined)">
|
|
CSS class applied to the element, or a function that
|
|
returns a class based on the component's state.
|
|
</ParamField>
|
|
|
|
<ParamField body="Title.render" type="ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, PopoverTitleState>">
|
|
Allows you to replace the component's HTML element
|
|
with a different tag, or compose it with another component.
|
|
|
|
Accepts a `ReactElement` or a function that returns the element to render.
|
|
</ParamField>
|
|
|
|
<ParamField body="Title.style" type="CSSProperties | ((state: PopoverTitleState) => CSSProperties | undefined)">
|
|
Style applied to the element, or a function that
|
|
returns a style object based on the component's state.
|
|
</ParamField>
|
|
|
|
### Popover.Description
|
|
|
|
<ParamField body="Description.className" type="string | ((state: PopoverDescriptionState) => string | undefined)">
|
|
CSS class applied to the element, or a function that
|
|
returns a class based on the component's state.
|
|
</ParamField>
|
|
|
|
<ParamField body="Description.render" type="ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, PopoverDescriptionState>">
|
|
Allows you to replace the component's HTML element
|
|
with a different tag, or compose it with another component.
|
|
|
|
Accepts a `ReactElement` or a function that returns the element to render.
|
|
</ParamField>
|
|
|
|
<ParamField body="Description.style" type="CSSProperties | ((state: PopoverDescriptionState) => CSSProperties | undefined)">
|
|
Style applied to the element, or a function that
|
|
returns a style object based on the component's state.
|
|
</ParamField>
|
|
|
|
### Popover.Close
|
|
|
|
<ParamField body="Close.className" type="string | ((state: PopoverCloseState) => string | undefined)">
|
|
CSS class applied to the element, or a function that
|
|
returns a class based on the component's state.
|
|
</ParamField>
|
|
|
|
<ParamField body="Close.nativeButton" type="boolean" default="true">
|
|
Whether the component renders a native `<button>` element when replacing it
|
|
via the `render` prop.
|
|
Set to `false` if the rendered element is not a button (for example, `<div>`).
|
|
</ParamField>
|
|
|
|
<ParamField body="Close.render" type="ReactElement<unknown, string | JSXElementConstructor<any>> | ComponentRenderFn<HTMLProps, PopoverCloseState>">
|
|
Allows you to replace the component's HTML element
|
|
with a different tag, or compose it with another component.
|
|
|
|
Accepts a `ReactElement` or a function that returns the element to render.
|
|
</ParamField>
|
|
|
|
<ParamField body="Close.style" type="CSSProperties | ((state: PopoverCloseState) => CSSProperties | undefined)">
|
|
Style applied to the element, or a function that
|
|
returns a style object based on the component's state.
|
|
</ParamField>
|