@botiverse/raft-ui 0.9.4 → 0.9.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/dist/components/combobox-select/combobox-select.css +2 -4
- package/dist/components/float-button/float-button.css +2 -1
- package/dist/components/steps/steps.css +2 -1
- package/dist/foundation.css +3 -0
- package/dist/index.d.mts +51 -3
- package/dist/index.mjs +226 -31
- package/dist/style.css +2 -7
- package/dist/styles.css +20 -0
- package/dist/tokens.json +1 -0
- package/dist/wip.mjs +1 -1
- package/package.json +1 -1
- package/skills/raft-ui-critique/references/theme-lenses.md +1 -1
- package/skills/raft-ui-guide/rules/technical-overview.md +2 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
## [0.9.6](https://github.com/botiverse/raft-design/compare/v0.9.5...v0.9.6) (2026-10-20)
|
|
2
|
+
|
|
3
|
+
### Added
|
|
4
|
+
|
|
5
|
+
- `installInputModality()` and the `InputModality` type: raft-ui records whether the person last used the keyboard, a pointer, or a screen reader's virtual cursor, on `<html data-input-modality>`. `ThemeProvider` installs it for you (with the default `syncDom`); an app without `ThemeProvider` calls it once on the client. ([#598](https://github.com/botiverse/raft-design/pull/598))
|
|
6
|
+
- `toast.add/info/success/warning/error(title, { leading })` puts a node, such as a person's avatar, in `ToastIcon` in place of the status pixel. It is `aria-hidden` and still shows with `icon: false`. Calls without `leading` render exactly as before. ([#599](https://github.com/botiverse/raft-design/pull/599))
|
|
7
|
+
|
|
8
|
+
### Changed
|
|
9
|
+
|
|
10
|
+
- Focus rings show only after keyboard navigation. A click, a tap, typing, or focus moved by a click no longer draws the ring, including on text fields (the caret marks them). Tab, F6, arrow keys outside a text field, and keys that move focus out of a text field (Esc closing a dialog, Enter submitting) still do, and so does focus a screen reader moves or that arrives with no input before it. Without the tracker installed every ring shows as before. Rings drawn with `shadow-focus` follow this automatically; other indicators take the new `keyboard:` variant, and groups ring on `has-focus-visible` instead of `focus-within`. ([#598](https://github.com/botiverse/raft-design/pull/598))
|
|
11
|
+
|
|
12
|
+
## [0.9.5](https://github.com/botiverse/raft-design/compare/v0.9.4...v0.9.5) (2026-10-20)
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- On a touch screen, a tap no longer leaves a hover highlight on: `TableBody` rows, an `InboxItem`'s pressed toggle action, the Activity inbox sort button and a `FileRow` (when its `FileRowOpen` is hovered) now only show their hover on devices that can hover. With a mouse they look and behave as before. ([#596](https://github.com/botiverse/raft-design/pull/596))
|
|
17
|
+
|
|
1
18
|
## [0.9.4](https://github.com/botiverse/raft-design/compare/v0.9.3...v0.9.4) (2026-10-20)
|
|
2
19
|
|
|
3
20
|
### Changed
|
|
@@ -16,14 +16,12 @@
|
|
|
16
16
|
outline: 0;
|
|
17
17
|
background: var(--layer-card);
|
|
18
18
|
color: var(--foreground);
|
|
19
|
-
box-shadow: none;
|
|
20
19
|
font-size: 16px;
|
|
21
20
|
line-height: 24px;
|
|
22
21
|
transition: box-shadow 90ms ease-out;
|
|
23
22
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
}
|
|
23
|
+
/* The control's ring is a utility on it (combobox-select.tsx): it rings when
|
|
24
|
+
something inside has keyboard focus, a has-selector, and src CSS has none. */
|
|
27
25
|
.r-combobox-select__input {
|
|
28
26
|
box-sizing: border-box;
|
|
29
27
|
min-width: 3rem;
|
|
@@ -171,7 +171,8 @@
|
|
|
171
171
|
transform: var(--r-float-button-transform-active);
|
|
172
172
|
}
|
|
173
173
|
|
|
174
|
-
|
|
174
|
+
/* Keyboard focus only: no ring after a click or a tap (styles.css). */
|
|
175
|
+
&:focus-visible:not(:where(:root[data-input-modality="pointer"] *)) {
|
|
175
176
|
outline: var(--r-float-button-outline);
|
|
176
177
|
outline-offset: var(--r-float-button-outline-offset);
|
|
177
178
|
}
|
|
@@ -233,7 +233,8 @@
|
|
|
233
233
|
&:focus-visible {
|
|
234
234
|
outline: none;
|
|
235
235
|
}
|
|
236
|
-
|
|
236
|
+
/* Keyboard focus only: no ring after a click or a tap (styles.css). */
|
|
237
|
+
&:focus-visible:not(:where(:root[data-input-modality="pointer"] *))::after {
|
|
237
238
|
outline: var(--r-steps-focus-outline);
|
|
238
239
|
}
|
|
239
240
|
&:disabled {
|
package/dist/foundation.css
CHANGED
|
@@ -265,6 +265,9 @@
|
|
|
265
265
|
--elevation-float:
|
|
266
266
|
0 1px 0 oklch(0.1813 0.005 17.62 / 0.039), 0 12px 32px -12px oklch(0.1813 0.005 17.62 / 0.322);
|
|
267
267
|
--elevation-sticker: 4px 4px 0 oklch(0.1813 0.005 17.62);
|
|
268
|
+
/* The focus indicator. It shows only after keyboard navigation: styles.css
|
|
269
|
+
empties it while the root carries data-input-modality="pointer", which
|
|
270
|
+
installInputModality sets after a click or a tap. */
|
|
268
271
|
--focus-ring: 0 0 0 2px oklch(1 0 0), 0 0 0 4px oklch(0.1813 0.005 17.62);
|
|
269
272
|
--field-font-size: 16px;
|
|
270
273
|
--field-font-weight: 400;
|
package/dist/index.d.mts
CHANGED
|
@@ -4324,6 +4324,7 @@ type ToastData = {
|
|
|
4324
4324
|
hasIcon?: boolean;
|
|
4325
4325
|
hasProgress?: boolean;
|
|
4326
4326
|
contentClassName?: string;
|
|
4327
|
+
leading?: ReactNode;
|
|
4327
4328
|
};
|
|
4328
4329
|
type ToastObject<Data extends object = object> = Toast.Root.ToastObject<Data>;
|
|
4329
4330
|
type ToastCommandOptions<Data extends object = ToastData> = Omit<Partial<ToastObject<Data>>, "actionProps" | "data" | "title" | "type"> & {
|
|
@@ -4333,7 +4334,15 @@ type ToastCommandOptions<Data extends object = ToastData> = Omit<Partial<ToastOb
|
|
|
4333
4334
|
};
|
|
4334
4335
|
contentClassName?: string;
|
|
4335
4336
|
dismissible?: boolean;
|
|
4337
|
+
/** Show the status pixel for the intent in `ToastIcon`. Defaults to `true`. */
|
|
4336
4338
|
icon?: boolean;
|
|
4339
|
+
/**
|
|
4340
|
+
* Replaces the status pixel in `ToastIcon` with this node, such as an xs
|
|
4341
|
+
* `Avatar` for the person or agent the toast is about. Rendered
|
|
4342
|
+
* hidden from assistive technology: the title must already carry the name.
|
|
4343
|
+
* Shown even when `icon` is `false`.
|
|
4344
|
+
*/
|
|
4345
|
+
leading?: ReactNode;
|
|
4337
4346
|
progress?: boolean;
|
|
4338
4347
|
};
|
|
4339
4348
|
export declare const toast: {
|
|
@@ -5215,8 +5224,11 @@ interface ThemeProviderProps {
|
|
|
5215
5224
|
storageKey?: string;
|
|
5216
5225
|
/**
|
|
5217
5226
|
* Put the resolved mode on `document.documentElement` (`.light` / `.dark`
|
|
5218
|
-
* and `color-scheme`)
|
|
5219
|
-
*
|
|
5227
|
+
* and `color-scheme`), and track the input modality there
|
|
5228
|
+
* (`data-input-modality`, see `installInputModality`), which keeps focus
|
|
5229
|
+
* rings to keyboard navigation. Defaults to true for the app-level provider;
|
|
5230
|
+
* set it to false for nested previews and islands that must not touch the
|
|
5231
|
+
* page root.
|
|
5220
5232
|
*/
|
|
5221
5233
|
syncDom?: boolean;
|
|
5222
5234
|
children: ReactNode;
|
|
@@ -5227,4 +5239,40 @@ export declare function ThemeProvider({ mode, defaultMode, onModeChange, storage
|
|
|
5227
5239
|
/** Read and update the colour mode. */
|
|
5228
5240
|
export declare function useTheme(): ThemeState;
|
|
5229
5241
|
//#endregion
|
|
5230
|
-
export { type AlertDialogActionProps, type AlertDialogBodyProps, type AlertDialogCancelProps, type AlertDialogCloseProps, type AlertDialogContentProps, type AlertDialogDescriptionProps, type AlertDialogFooterProps, type AlertDialogHeaderProps, type AlertDialogOverlayProps, type AlertDialogPortalProps, type AlertDialogProps, type AlertDialogTitleProps, type AlertDialogTriggerProps, type AppRailFooterProps, type AppRailHeaderProps, type AppRailItemAttentionProps, type AppRailItemBadgeProps, type AppRailItemIconProps, type AppRailItemIndicatorProps, type AppRailItemLabelProps, type AppRailItemProps, type AppRailNavProps, type AppRailRootProps, type AppShellMainSlotProps, type AppShellOverlaySlotProps, type AppShellPanelSlotProps, type AppShellRailSlotProps, type AppShellRootProps, type AppShellSidebarSlotProps, type AppShellSidebarTriggerProps, type AvatarBadgeOffset, type AvatarBadgeProps, type AvatarFallbackProps, type AvatarGroupCountProps, type AvatarGroupProps, type AvatarImageProps, type AvatarProps, type AvatarSize, type BadgeProps, type BannerActionProps, type BannerDescriptionProps, type BannerProps, type BannerStatus, type BannerTitleProps, Button, type ButtonProps, type CardContentProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardLeadingProps, type CardProps, type CardTitleProps, type CardTrailingProps, type CheckboxIndicatorProps, type CheckboxProps, type CodeBlockActionProps, type CodeBlockActionsProps, type CodeBlockBodyProps, type CodeBlockHeaderProps, type CodeBlockProps, type CodeBlockTitleProps, type ComboboxChipProps, type ComboboxChipRemoveProps, type ComboboxChipsProps, type ComboboxClearProps, type ComboboxCollectionProps, type ComboboxContentProps, type ComboboxControlProps, type ComboboxEmptyProps, type ComboboxGroupLabelProps, type ComboboxGroupProps, type ComboboxHeaderProps, type ComboboxInputGroupProps, type ComboboxInputProps, type ComboboxItemIndicatorProps, type ComboboxItemProps, type ComboboxLabelProps, type ComboboxListProps, type ComboboxPopupProps, type ComboboxPortalProps, type ComboboxProps, type ComboboxRowProps, type ComboboxSeparatorProps, type ComboboxTriggerCountProps, type ComboboxTriggerIndicatorProps, type ComboboxTriggerProps, type ComboboxValueProps, type ComposerActionsProps, type ComposerAttachmentBodyProps, type ComposerAttachmentFailedOverlayProps, type ComposerAttachmentFileProps, type ComposerAttachmentImageProps, type ComposerAttachmentMetaProps, type ComposerAttachmentProps, type ComposerAttachmentRemoveProps, type ComposerAttachmentTitleProps, type ComposerAttachmentUploadProgressBarProps, type ComposerAttachmentUploadingOverlayProps, type ComposerAttachmentsProps, type ComposerAttachmentsScrollAreaProps, type ComposerDropOverlayLabelProps, type ComposerDropOverlayPromptProps, type ComposerDropOverlayProps, type ComposerIconButtonProps, type ComposerInputProps, type ComposerMetaProps, type ComposerProps, type ComposerRootProps, type ComposerSubmitProps, type ComposerSuggestionAsideProps, type ComposerSuggestionContentProps, type ComposerSuggestionGroupLabelProps, type ComposerSuggestionGroupProps, type ComposerSuggestionIconProps, type ComposerSuggestionListProps, type ComposerSuggestionMetaProps, type ComposerSuggestionOptionProps, type ComposerSuggestionTitleProps, type ComposerSuggestionTriggerMatch, type ComposerSuggestionsInputProps, type ComposerSuggestionsListProps, type ComposerSuggestionsOptionProps, type ComposerToolbarLabelProps, type ComposerToolbarProps, type ContextMenuCheckboxItemIndicatorProps, type ContextMenuCheckboxItemProps, type ContextMenuContentProps, type ContextMenuFooterProps, type ContextMenuItemLabelProps, type ContextMenuItemProps, type ContextMenuLabelProps, type ContextMenuPopupProps, type ContextMenuPortalProps, type ContextMenuProps, type ContextMenuRadioGroupProps, type ContextMenuRadioItemIndicatorProps, type ContextMenuRadioItemProps, type ContextMenuSeparatorProps, type ContextMenuShortcutProps, type ContextMenuSubmenuProps, type ContextMenuSubmenuTriggerProps, type ContextMenuTriggerProps, type ConversationIconProps, type ConversationPanelBodyProps, type ConversationPanelContentProps, type ConversationPanelEmptyStateBrandMarkProps, type ConversationPanelEmptyStateBrandProps, type ConversationPanelEmptyStateProps, type ConversationPanelFooterProps, type ConversationPanelRootProps, type ConversationPanelTabsProps, type CopyableCodeActionProps, type CopyableCodeProps, type CopyableCodeRootProps, type DescriptionDetailsProps, type DescriptionItemProps, type DescriptionListDirection, type DescriptionListProps, type DescriptionTermProps, Dialog, DialogBody, type DialogBodyProps, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogNav, type DialogNavProps, DialogOverlay, type DialogOverlayProps, DialogPortal, type DialogPortalProps, type DialogProps, DialogSurface, type DialogSurfaceProps, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, type DrawerActionsProps, type DrawerBodyProps, type DrawerCloseProps, type DrawerContentProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerHeaderProps, type DrawerOverlayProps, type DrawerPortalProps, type DrawerProps, type DrawerTitleProps, type DrawerTriggerProps, type DropdownMenuCheckboxItemIndicatorProps, type DropdownMenuCheckboxItemProps, type DropdownMenuContentProps, type DropdownMenuFooterProps, type DropdownMenuItemCountProps, type DropdownMenuItemLabelProps, type DropdownMenuItemProps, type DropdownMenuLabelProps, type DropdownMenuPopupProps, type DropdownMenuPortalProps, type DropdownMenuProps, type DropdownMenuRadioGroupProps, type DropdownMenuRadioItemIndicatorProps, type DropdownMenuRadioItemProps, type DropdownMenuSeparatorProps, type DropdownMenuShortcutProps, type DropdownMenuSubmenuProps, type DropdownMenuSubmenuTriggerProps, type DropdownMenuTriggerProps, type EmptyStateActionsProps, type EmptyStateContentProps, type EmptyStateDescriptionProps, type EmptyStateIconProps, type EmptyStateProps, type EmptyStateTitleProps, type FieldControlProps, type FieldDescriptionProps, type FieldErrorProps, type FieldItemProps, type FieldLabelProps, type FieldProps, type FieldValidityProps, type FilePreviewBadgeProps, type FilePreviewCodeProps, type FilePreviewDocumentProps, type FilePreviewFileProps, type FilePreviewMediaProps, type FilePreviewProps, type FloatButtonGroupDirection, type FloatButtonGroupProps, type FloatButtonOffset, type FloatButtonPosition, type FloatButtonProps, type FloatButtonShape, type FloatButtonSide, type FloatButtonSize, type FloatButtonVariant, type FormSectionProps, type IconTileProps, type InboxItemActionsProps, type InboxItemBodyProps, type InboxItemContentProps, type InboxItemContextProps, type InboxItemDensity, type InboxItemHeadingProps, type InboxItemHoverTargetProps, type InboxItemLeadingProps, type InboxItemMarksProps, type InboxItemMessageProps, type InboxItemMetadataProps, type InboxItemProps, type InboxItemSelectionProps, type InboxItemSenderProps, type InboxItemSubtitleProps, type InboxItemTimestampProps, type InboxItemTitleProps, type InboxItemTrailingProps, type InboxItemTriggerProps, type InlineCodeProps, type InputGroupAddonProps, type InputGroupAddonTextProps, type InputGroupInputProps, type InputGroupProps, type InputProps, type KbdGroupProps, type KbdProps, type LabelAsteriskProps, type LabelOptionalProps, type LabelProps, type LabelSubProps, type LegacyTaskPanelActionsProps, type LegacyTaskPanelBodyProps, type LegacyTaskPanelFieldLabelProps, type LegacyTaskPanelFieldProps, type LegacyTaskPanelFieldTextProps, type LegacyTaskPanelFieldTitleProps, type LegacyTaskPanelHeaderProps, type LegacyTaskPanelIconProps, type LegacyTaskPanelMetaLabelProps, type LegacyTaskPanelMetaProps, type LegacyTaskPanelMetaRowProps, type LegacyTaskPanelMetaValueProps, type LegacyTaskPanelRootProps, type LegacyTaskPanelSectionProps, type LegacyTaskPanelStatusProps, type LegacyTaskPanelTitleMetaProps, type LegacyTaskPanelTitleProps, type LightboxActionsProps, type LightboxCloseProps, type LightboxContentProps, type LightboxHeaderLabelProps, type LightboxHeaderMetaProps, type LightboxHeaderProps, type LightboxInfoActionsProps, type LightboxInfoBarProps, type LightboxInfoDockProps, type LightboxInfoTitleProps, type LightboxMediaProps, type LightboxNavigationButtonProps, type LightboxPortalProps, type LightboxProps, type LightboxStageProps, type LightboxThumbnailProps, type LightboxThumbnailStripProps, type LightboxTitleProps, type LightboxToolbarProps, type LightboxTriggerProps, type ListRowBodyProps, type ListRowBottomProps, type ListRowChevronProps, type ListRowDescriptionProps, type ListRowGroupProps, type ListRowIconProps, type ListRowMetaProps, type ListRowProps, type ListRowTitleProps, type ListRowTopProps, type ListRowValueProps, type LiveAgentActivityBarAvatarProps, type LiveAgentActivityBarContentProps, type LiveAgentActivityBarProps, type LiveAgentActivityBarRowProps, type LiveAgentActivityBarStatusProps, type LiveAgentActivityBarTextProps, type MarkdownBlockquoteProps, type MarkdownCellProps, type MarkdownCheckboxProps, type MarkdownHeaderCellProps, type MarkdownHeadingLevel, type MarkdownHeadingProps, type MarkdownImageProps, type MarkdownInlineCodeProps, type MarkdownLinkProps, type MarkdownListItemProps, type MarkdownListProps, type MarkdownMarkProps, type MarkdownOrderedListProps, type MarkdownParagraphProps, type MarkdownRuleProps, type MarkdownTableProps, type MarkdownTableRowProps, type MarkdownTableScrollProps, type MessageActionCardActionsNoteProps, type MessageActionCardActionsProps, type MessageActionCardCollapseTriggerProps, type MessageActionCardCompletionProps, type MessageActionCardContentProps, type MessageActionCardHeaderDescriptionProps, type MessageActionCardHeaderIconProps, type MessageActionCardHeaderProps, type MessageActionCardHeaderStatusProps, type MessageActionCardHeaderTitleProps, type MessageActionCardHintLabelProps, type MessageActionCardHintProps, type MessageActionCardNoticeProps, type MessageActionCardPropertiesProps, type MessageActionCardPropertyLabelProps, type MessageActionCardPropertyProps, type MessageActionCardPropertyValueProps, type MessageActionCardProps, type MessageActionCardScopeDescriptionProps, type MessageActionCardScopeListLabelProps, type MessageActionCardScopeListProps, type MessageActionCardScopeListViewportProps, type MessageActionCardScopeNameProps, type MessageActionCardScopeProps, type MessageActionCardStatusProps, type MessageAttachmentActionProps, type MessageAttachmentCardProps, type MessageAttachmentCommentSummaryProps, type MessageAttachmentDiffAdditionProps, type MessageAttachmentDiffDeletionProps, type MessageAttachmentDiffSummaryProps, type MessageAttachmentGroupProps, type MessageAttachmentMetaEndProps, type MessageAttachmentMetaProps, type MessageAttachmentMetaStartProps, type MessageAttachmentSummaryProps, type MessageAttachmentTitleProps, type MessageEmbedContentProps, type MessageEmbedFooterProps, type MessageEmbedHeaderProps, type MessageEmbedProps, type MessageForwardedBundleAttachmentMetaProps, type MessageForwardedBundleAttachmentNameProps, type MessageForwardedBundleAttachmentProps, type MessageForwardedBundleAttachmentsProps, type MessageForwardedBundleFooterActionProps, type MessageForwardedBundleFooterProps, type MessageForwardedBundleGalleryProps, type MessageForwardedBundleGalleryTileProps, type MessageForwardedBundleHeaderContentProps, type MessageForwardedBundleHeaderCountProps, type MessageForwardedBundleHeaderLabelProps, type MessageForwardedBundleHeaderProps, type MessageForwardedBundleItemAuthorProps, type MessageForwardedBundleItemContentProps, type MessageForwardedBundleItemMetaProps, type MessageForwardedBundleItemProps, type MessageForwardedBundleItemsProps, type MessageForwardedBundleProps, type MessageForwardedBundleSourceLabelProps, type MessageForwardedBundleSourceProps, type MessageImageGalleryActionProps, type MessageImageGalleryAspectKind, type MessageImageGalleryFit, type MessageImageGalleryImage, type MessageImageGalleryItemLayout, type MessageImageGalleryItemProps, type MessageImageGalleryMediaProps, type MessageImageGalleryOverlayProps, type MessageImageGalleryPreviewProps, type MessageImageGalleryProps, type MessageImageGalleryRowData, type MessageImageGalleryRowProps, type MessageItemAttachmentsProps, type MessageItemAvatarSlotProps, type MessageItemBadgeProps, type MessageItemBadgeSeparatorProps, type MessageItemBadgeStatus, type MessageItemBodyProps, type MessageItemContentProps, type MessageItemContinuationTimeProps, type MessageItemEmbeddedProps, type MessageItemFooterProps, type MessageItemGutterProps, type MessageItemHeaderProps, type MessageItemInlineStatusProps, type MessageItemMetaProps, type MessageItemProps, type MessageItemReadReceiptProps, type MessageItemSavedIndicatorProps, type MessageItemSearchMatchProps, type MessageItemSenderBadgesProps, type MessageItemSenderButtonProps, type MessageItemSenderProps, type MessageItemTimeProps, type MessageItemToolbarButtonProps, type MessageItemToolbarProps, type MessageItemTranslationActionProps, type MessageItemTranslationFailedStatusProps, type MessageItemTranslationOriginalLabelProps, type MessageItemTranslationOriginalProps, type MessageItemTranslationProgressTrackProps, type MessageItemTranslationRetryActionProps, type MessageItemTranslationStatusProps, type MessageListDateDividerProps, type MessageListHistoryLimitedProps, type MessageListNoticeProps, type MessageListProps, type MessageMultiSelectCheckboxProps, type MessageMultiSelectProps, type MessageMultiSelectToolbarProps, type MessageQuotedPreviewAttachmentProps, type MessageQuotedPreviewAttachmentsProps, type MessageQuotedPreviewAuthorMetaProps, type MessageQuotedPreviewAuthorNameProps, type MessageQuotedPreviewAuthorProps, type MessageQuotedPreviewChannelProps, type MessageQuotedPreviewContentProps, type MessageQuotedPreviewHeaderProps, type MessageQuotedPreviewLoadingProps, type MessageQuotedPreviewProps, type MessageQuotedPreviewTextProps, type MessageQuotedPreviewThreadProps, type MessageQuotedPreviewTimestampProps, type MessageQuotedPreviewUnavailableProps, type MessageReactionAddButtonProps, type MessageReactionChipProps, type MessageReactionCountProps, type MessageReactionErrorIndicatorProps, type MessageReactionGlyphProps, type MessageReactionPickerContentProps, type MessageReactionPickerStaticProps, type MessageReactionQuickButtonProps, type MessageReactionQuickRowProps, type MessageReactionTooltipContentProps, type MessageReactionTooltipMetaProps, type MessageReactionTooltipNameProps, type MessageReactionTooltipNameTextProps, type MessageReactionTooltipNamesProps, type MessageReactionTooltipSeparatorProps, type MessageReferenceChipProps, type MessageReferenceChipVariant, type MessageReferenceIndicatorProps, type MessageReferenceLabelProps, type MessageReferencePendingProps, type MessageReferenceTextProps, type MessageReferenceTextVariant, type MessageReferenceUnavailableProps, type MessageRepliesItemContentProps, type MessageRepliesItemProps, type MessageRepliesItemSenderProps, type MessageRepliesItemTimeProps, type MessageRepliesProps, type MessageRepliesSummaryItemProps, type MessageRepliesSummaryProps, type MessageTextSelectionAnchor, type MessageTextSelectionToolbarButtonProps, type MessageTextSelectionToolbarProps, type MessageTextSelectionToolbarSeparatorProps, type MessageVideoPreviewActionProps, type MessageVideoPreviewFailureActionProps, type MessageVideoPreviewFailureContentProps, type MessageVideoPreviewFailureIconProps, type MessageVideoPreviewFailureTitleProps, type MessageVideoPreviewFallbackProps, type MessageVideoPreviewMediaProps, type MessageVideoPreviewProps, type MobileNavItemProps, type MobileNavLabelProps, type MobileNavRootProps, type NotificationCenterActionButtonProps, type NotificationCenterCountProps, type NotificationCenterEmptyStateProps, type NotificationCenterHeaderProps, type NotificationCenterItemActionsProps, type NotificationCenterItemBodyProps, type NotificationCenterItemContentProps, type NotificationCenterItemIconProps, type NotificationCenterItemProps, type NotificationCenterItemRowProps, type NotificationCenterItemTitleProps, type NotificationCenterListProps, type NotificationCenterPopupProps, type NotificationCenterPortalProps, type NotificationCenterProps, type NotificationCenterScrollerProps, type NotificationCenterTitleProps, type NotificationCenterTriggerProps, type OrderedTabItem, type OtterIndicatorProps, type PanelActionProps, type PanelActionsProps, type PanelActivityProps, type PanelBodyProps, type PanelEdge, type PanelFooterProps, type PanelHeaderContentProps, type PanelHeaderIconProps, type PanelHeaderProps, type PanelHeaderRootProps, type PanelHeadingProps, type PanelMetaProps, type PanelNoticeActionsProps, type PanelNoticeContentProps, type PanelNoticeProps, type PanelNoticeStatus, type PanelProps, type PanelScrollContentProps, type PanelScrollViewportProps, type PanelSectionHeaderProps, type PanelSectionProps, type PanelStatusProps, type PanelTitleProps, type PanelToggleActionProps, type PickerTriggerButtonProps, type PopoverArrowProps, type PopoverBackdropProps, type PopoverCloseProps, type PopoverContentProps, type PopoverDescriptionProps, type PopoverHeaderProps, type PopoverPopupProps, type PopoverPortalProps, type PopoverProps, type PopoverSeparatorProps, type PopoverTitleProps, type PopoverTriggerProps, type PopoverViewportProps, type Presence, type PreviewCardArrowProps, type PreviewCardContentProps, type PreviewCardDescriptionProps, type PreviewCardHeaderProps, type PreviewCardPopupProps, type PreviewCardPortalProps, type PreviewCardProps, type PreviewCardSeparatorProps, type PreviewCardTitleProps, type PreviewCardTriggerProps, type ProfilePanelBodyProps, type ProfilePanelHeaderContentProps, type ProfilePanelHeaderProps, type ProfilePanelProps, type ProfilePanelSectionProps, type ProgressHeaderProps, type ProgressIndicatorProps, type ProgressLabelProps, type ProgressProps, type ProgressTrackProps, type ProgressValueProps, type RadioGroupIndicatorProps, type RadioGroupItemProps, type RadioGroupProps, type RaftLogoLockupProps, type RaftLogoProps, type RaftWordmarkProps, type ResizableGroupProps, type ResizableHandleProps, type ResizablePanelProps, type ResolvedThemeMode, type RowTone, type ScrollAreaContentProps, type ScrollAreaCornerProps, type ScrollAreaProps, type ScrollAreaScrollbarProps, type ScrollAreaThumbProps, type ScrollAreaViewportProps, type SegmentedControlCountProps, type SegmentedControlIconsOnlyBelow, type SegmentedControlItemProps, type SegmentedControlLabelProps, type SegmentedControlProps, type SelectArrowProps, type SelectContentProps, type SelectGroupLabelProps, type SelectGroupProps, type SelectIconProps, type SelectItemDescriptionProps, type SelectItemIndicatorProps, type SelectItemLeadingProps, type SelectItemProps, type SelectItemTextProps, type SelectLabelProps, type SelectListProps, type SelectPopupProps, type SelectPortalProps, type SelectProps, type SelectScrollDownArrowProps, type SelectScrollUpArrowProps, type SelectSeparatorProps, type SelectTriggerProps, type SelectValueProps, type SeparatorProps, type SidebarBodyProps, type SidebarContentProps, type SidebarControlProps, type SidebarGroupLabelProps, type SidebarHeaderProps, type SidebarHeaderTitleProps, type SidebarItemAsideProps, type SidebarItemChannelIconProps, type SidebarItemContentProps, type SidebarItemCountProps, type SidebarItemCountSeparatorProps, type SidebarItemIconProps, type SidebarItemIndicatorProps, type SidebarItemMetaIconProps, type SidebarItemMetaProps, type SidebarItemProps, type SidebarItemStatusProps, type SidebarItemSubtitleProps, type SidebarItemThreadCountProps, type SidebarItemTitleProps, type SidebarListProps, type SidebarLiveActivityProps, type SidebarMenuAsideProps, type SidebarMenuCountProps, type SidebarMenuIconProps, type SidebarMenuProps, type SidebarMenuTitleProps, type SidebarRootProps, type SidebarSectionAttentionProps, type SidebarSectionChevronProps, type SidebarSectionControlProps, type SidebarSectionControlsProps, type SidebarSectionCountProps, type SidebarSectionDisclosureProps, type SidebarSectionEmptyProps, type SidebarSectionHeaderProps, type SidebarSectionProps, type SidebarSectionTitleProps, type SidebarSectionTrailingProps, type SkeletonProps, type SkeletonVariant, type SortableComposerAttachmentProps, type SortableComposerAttachmentsProps, type SortableTabsListProps, type SortableTabsTabProps, type SpinnerProps, type StatusProps, type StepProps, type StepStatus, type StepsProps, type SwitchProps, type SwitchThumbProps, type SystemMessageContentProps, type SystemMessageGroupChevronProps, type SystemMessageGroupDisclosureProps, type SystemMessageGroupHeaderProps, type SystemMessageGroupPanelProps, type SystemMessageGroupProps, type SystemMessageGroupSummaryProps, type SystemMessageProps, type SystemMessageTimeProps, type TableBodyProps, type TableCaptionProps, type TableCellProps, type TableColgroupProps, type TableColumnProps, type TableHeadProps, type TableHeaderProps, type TableProps, type TableRowProps, type TabsLabelProps, type TabsListProps, type TabsPanelProps, type TabsPlacement, type TabsProps, type TabsTabProps, type TaskBoardColumnBadgeProps, type TaskBoardColumnChevronProps, type TaskBoardColumnCountProps, type TaskBoardColumnEmptyAllowedProps, type TaskBoardColumnEmptyBlockedProps, type TaskBoardColumnEmptyIdleProps, type TaskBoardColumnEmptyProps, type TaskBoardColumnHeadingProps, type TaskBoardColumnItemsProps, type TaskBoardColumnPanelProps, type TaskBoardColumnProps, type TaskBoardColumnTriggerProps, type TaskBoardRootProps, type TaskCardBodyProps, type TaskCardChannelProps, type TaskCardDescriptionProps, type TaskCardLegacyProps, type TaskCardMetaProps, type TaskCardNumberProps, type TaskCardProps, type TaskCardRowProps, type TaskCardStatusProps, type TaskCardTitleProps, type TaskChipProps, type TaskChipSize, type TaskChipVariant, type TaskDndAccessibility, type TaskDndProviderProps, type TaskDragOverlayProps, type TaskDraggableProps, type TaskDropData, type TaskDropPlaceholderProps, type TaskDropPlacement, type TaskDropState, type TaskDropZoneProps, type TaskDropZoneState, type TaskListRootProps, type TaskLoadingListProps, type TaskLoadingRowProps, type TaskMoveDetails, type TaskSectionBadgeProps, type TaskSectionChevronProps, type TaskSectionCountProps, type TaskSectionEmptyProps, type TaskSectionHeadingProps, type TaskSectionItemsProps, type TaskSectionPanelProps, type TaskSectionProps, type TaskSectionTriggerProps, type TaskStatusBadgeProps, type TaskStatusId, type TasksPanelEmptyProps, type TasksPanelRootProps, type TasksPanelToolbarFiltersProps, type TasksPanelToolbarGroupProps, type TasksPanelToolbarLabelProps, type TasksPanelToolbarNewTaskProps, type TasksPanelToolbarProps, type TasksPanelToolbarViewProps, type TasksPanelViewportProps, type TextHeadingProps, type TextLinkProps, type TextMonoProps, type TextSansProps, type TextareaCounterProps, type TextareaGroupProps, type TextareaProps, type ThemeMode, type ThemeProviderProps, type ThemeState, type ThreadPanelActionsProps, type ThreadPanelBodyProps, type ThreadPanelContentProps, type ThreadPanelFooterProps, type ThreadPanelHeaderProps, type ThreadPanelOriginalMessageProps, type ThreadPanelReplyCountProps, type ThreadPanelReplySummaryProps, type ThreadPanelRootProps, type ThreadPanelSearchCountProps, type ThreadPanelSearchProps, type ThreadPanelSearchTrailingProps, type ThreadPanelTitleMetaProps, type ThreadPanelTitleProps, type TimelineContentProps, type TimelineItemPlacement, type TimelineItemProps, type TimelineItemVariant, type TimelineLineType, type TimelineProps, type TimelineSize, type TimelineTimeProps, type TimelineTitleProps, type ToastActionProps, type ToastActionsProps, type ToastArrowProps, type ToastBodyProps, type ToastCloseProps, type ToastContentProps, type ToastData, type ToastDescriptionProps, type ToastIconProps, type ToastIntent, type ToastObject, type ToastPortalProps, type ToastPositionerProps, type ToastProgressProps, type ToastProviderProps, type ToastRootProps, type ToastTitleProps, type ToastViewportProps, type ToggleGroupItemProps, type ToggleGroupLabelProps, type ToggleGroupProps, type TooltipContentProps, type TooltipPortalProps, type TooltipProps, type TooltipProviderProps, type TooltipTriggerProps, type UseComposerSuggestionsParams, buttonVariants, cn };
|
|
5242
|
+
//#region src/lib/input-modality.d.ts
|
|
5243
|
+
/**
|
|
5244
|
+
* Input modality: whether the person last moved through the page with a
|
|
5245
|
+
* pointer, with the keyboard, or by a virtual cursor (a screen reader). raft-ui shows a focus indicator only after
|
|
5246
|
+
* keyboard navigation (design/foundations/states.md#focus): styles.css clears
|
|
5247
|
+
* `--focus-ring` and the `keyboard:` variant stops matching while the root
|
|
5248
|
+
* carries `data-input-modality="pointer"`. With no attribute (no script, or
|
|
5249
|
+
* the tracker not installed) every focus indicator shows, as it did before.
|
|
5250
|
+
*/
|
|
5251
|
+
type InputModality = "pointer" | "keyboard" | "virtual";
|
|
5252
|
+
/**
|
|
5253
|
+
* Track the input modality on `doc.documentElement` as
|
|
5254
|
+
* `data-input-modality="pointer" | "keyboard" | "virtual"`. Only `pointer`
|
|
5255
|
+
* hides focus rings, so every uncertain case keeps them visible:
|
|
5256
|
+
*
|
|
5257
|
+
* - **Unknown at first.** No attribute until there is evidence, so a keyboard
|
|
5258
|
+
* user who hasn't pressed Tab yet still sees focus moved by code. The first
|
|
5259
|
+
* real mouse movement or press makes it `pointer`.
|
|
5260
|
+
* - **Keyboard**: Tab and F6 anywhere; the arrows, Home, End, Page Up, Page
|
|
5261
|
+
* Down, Enter, Space and Esc outside a text field. Inside a text field those
|
|
5262
|
+
* keys edit and leave the modality alone, unless focus leaves the field
|
|
5263
|
+
* right after (Esc closing a dialog, Enter submitting): then it is
|
|
5264
|
+
* `keyboard`. Typing and Cmd or Ctrl shortcuts never count; a shortcut that
|
|
5265
|
+
* moves focus to a control is caught by the next rule.
|
|
5266
|
+
* - **Virtual**: focus that arrives with no key or pointer press just before
|
|
5267
|
+
* it (a screen reader's browse cursor, a timer), and a screen reader's
|
|
5268
|
+
* synthesized pointer press. Rings show.
|
|
5269
|
+
* - **Pointer**: a real pointer press, or real pointer movement while the
|
|
5270
|
+
* modality is still unknown or virtual.
|
|
5271
|
+
*
|
|
5272
|
+
* `ThemeProvider` calls this for you. Installing twice adds no second set of
|
|
5273
|
+
* listeners. Returns a function that undoes this installation; the listeners
|
|
5274
|
+
* and the attribute go once every installation is undone.
|
|
5275
|
+
*/
|
|
5276
|
+
export declare function installInputModality(doc?: Document): () => void;
|
|
5277
|
+
//#endregion
|
|
5278
|
+
export { type AlertDialogActionProps, type AlertDialogBodyProps, type AlertDialogCancelProps, type AlertDialogCloseProps, type AlertDialogContentProps, type AlertDialogDescriptionProps, type AlertDialogFooterProps, type AlertDialogHeaderProps, type AlertDialogOverlayProps, type AlertDialogPortalProps, type AlertDialogProps, type AlertDialogTitleProps, type AlertDialogTriggerProps, type AppRailFooterProps, type AppRailHeaderProps, type AppRailItemAttentionProps, type AppRailItemBadgeProps, type AppRailItemIconProps, type AppRailItemIndicatorProps, type AppRailItemLabelProps, type AppRailItemProps, type AppRailNavProps, type AppRailRootProps, type AppShellMainSlotProps, type AppShellOverlaySlotProps, type AppShellPanelSlotProps, type AppShellRailSlotProps, type AppShellRootProps, type AppShellSidebarSlotProps, type AppShellSidebarTriggerProps, type AvatarBadgeOffset, type AvatarBadgeProps, type AvatarFallbackProps, type AvatarGroupCountProps, type AvatarGroupProps, type AvatarImageProps, type AvatarProps, type AvatarSize, type BadgeProps, type BannerActionProps, type BannerDescriptionProps, type BannerProps, type BannerStatus, type BannerTitleProps, Button, type ButtonProps, type CardContentProps, type CardDescriptionProps, type CardFooterProps, type CardHeaderProps, type CardLeadingProps, type CardProps, type CardTitleProps, type CardTrailingProps, type CheckboxIndicatorProps, type CheckboxProps, type CodeBlockActionProps, type CodeBlockActionsProps, type CodeBlockBodyProps, type CodeBlockHeaderProps, type CodeBlockProps, type CodeBlockTitleProps, type ComboboxChipProps, type ComboboxChipRemoveProps, type ComboboxChipsProps, type ComboboxClearProps, type ComboboxCollectionProps, type ComboboxContentProps, type ComboboxControlProps, type ComboboxEmptyProps, type ComboboxGroupLabelProps, type ComboboxGroupProps, type ComboboxHeaderProps, type ComboboxInputGroupProps, type ComboboxInputProps, type ComboboxItemIndicatorProps, type ComboboxItemProps, type ComboboxLabelProps, type ComboboxListProps, type ComboboxPopupProps, type ComboboxPortalProps, type ComboboxProps, type ComboboxRowProps, type ComboboxSeparatorProps, type ComboboxTriggerCountProps, type ComboboxTriggerIndicatorProps, type ComboboxTriggerProps, type ComboboxValueProps, type ComposerActionsProps, type ComposerAttachmentBodyProps, type ComposerAttachmentFailedOverlayProps, type ComposerAttachmentFileProps, type ComposerAttachmentImageProps, type ComposerAttachmentMetaProps, type ComposerAttachmentProps, type ComposerAttachmentRemoveProps, type ComposerAttachmentTitleProps, type ComposerAttachmentUploadProgressBarProps, type ComposerAttachmentUploadingOverlayProps, type ComposerAttachmentsProps, type ComposerAttachmentsScrollAreaProps, type ComposerDropOverlayLabelProps, type ComposerDropOverlayPromptProps, type ComposerDropOverlayProps, type ComposerIconButtonProps, type ComposerInputProps, type ComposerMetaProps, type ComposerProps, type ComposerRootProps, type ComposerSubmitProps, type ComposerSuggestionAsideProps, type ComposerSuggestionContentProps, type ComposerSuggestionGroupLabelProps, type ComposerSuggestionGroupProps, type ComposerSuggestionIconProps, type ComposerSuggestionListProps, type ComposerSuggestionMetaProps, type ComposerSuggestionOptionProps, type ComposerSuggestionTitleProps, type ComposerSuggestionTriggerMatch, type ComposerSuggestionsInputProps, type ComposerSuggestionsListProps, type ComposerSuggestionsOptionProps, type ComposerToolbarLabelProps, type ComposerToolbarProps, type ContextMenuCheckboxItemIndicatorProps, type ContextMenuCheckboxItemProps, type ContextMenuContentProps, type ContextMenuFooterProps, type ContextMenuItemLabelProps, type ContextMenuItemProps, type ContextMenuLabelProps, type ContextMenuPopupProps, type ContextMenuPortalProps, type ContextMenuProps, type ContextMenuRadioGroupProps, type ContextMenuRadioItemIndicatorProps, type ContextMenuRadioItemProps, type ContextMenuSeparatorProps, type ContextMenuShortcutProps, type ContextMenuSubmenuProps, type ContextMenuSubmenuTriggerProps, type ContextMenuTriggerProps, type ConversationIconProps, type ConversationPanelBodyProps, type ConversationPanelContentProps, type ConversationPanelEmptyStateBrandMarkProps, type ConversationPanelEmptyStateBrandProps, type ConversationPanelEmptyStateProps, type ConversationPanelFooterProps, type ConversationPanelRootProps, type ConversationPanelTabsProps, type CopyableCodeActionProps, type CopyableCodeProps, type CopyableCodeRootProps, type DescriptionDetailsProps, type DescriptionItemProps, type DescriptionListDirection, type DescriptionListProps, type DescriptionTermProps, Dialog, DialogBody, type DialogBodyProps, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, type DialogDescriptionProps, DialogFooter, type DialogFooterProps, DialogHeader, type DialogHeaderProps, DialogNav, type DialogNavProps, DialogOverlay, type DialogOverlayProps, DialogPortal, type DialogPortalProps, type DialogProps, DialogSurface, type DialogSurfaceProps, DialogTitle, type DialogTitleProps, DialogTrigger, type DialogTriggerProps, type DrawerActionsProps, type DrawerBodyProps, type DrawerCloseProps, type DrawerContentProps, type DrawerDescriptionProps, type DrawerFooterProps, type DrawerHeaderProps, type DrawerOverlayProps, type DrawerPortalProps, type DrawerProps, type DrawerTitleProps, type DrawerTriggerProps, type DropdownMenuCheckboxItemIndicatorProps, type DropdownMenuCheckboxItemProps, type DropdownMenuContentProps, type DropdownMenuFooterProps, type DropdownMenuItemCountProps, type DropdownMenuItemLabelProps, type DropdownMenuItemProps, type DropdownMenuLabelProps, type DropdownMenuPopupProps, type DropdownMenuPortalProps, type DropdownMenuProps, type DropdownMenuRadioGroupProps, type DropdownMenuRadioItemIndicatorProps, type DropdownMenuRadioItemProps, type DropdownMenuSeparatorProps, type DropdownMenuShortcutProps, type DropdownMenuSubmenuProps, type DropdownMenuSubmenuTriggerProps, type DropdownMenuTriggerProps, type EmptyStateActionsProps, type EmptyStateContentProps, type EmptyStateDescriptionProps, type EmptyStateIconProps, type EmptyStateProps, type EmptyStateTitleProps, type FieldControlProps, type FieldDescriptionProps, type FieldErrorProps, type FieldItemProps, type FieldLabelProps, type FieldProps, type FieldValidityProps, type FilePreviewBadgeProps, type FilePreviewCodeProps, type FilePreviewDocumentProps, type FilePreviewFileProps, type FilePreviewMediaProps, type FilePreviewProps, type FloatButtonGroupDirection, type FloatButtonGroupProps, type FloatButtonOffset, type FloatButtonPosition, type FloatButtonProps, type FloatButtonShape, type FloatButtonSide, type FloatButtonSize, type FloatButtonVariant, type FormSectionProps, type IconTileProps, type InboxItemActionsProps, type InboxItemBodyProps, type InboxItemContentProps, type InboxItemContextProps, type InboxItemDensity, type InboxItemHeadingProps, type InboxItemHoverTargetProps, type InboxItemLeadingProps, type InboxItemMarksProps, type InboxItemMessageProps, type InboxItemMetadataProps, type InboxItemProps, type InboxItemSelectionProps, type InboxItemSenderProps, type InboxItemSubtitleProps, type InboxItemTimestampProps, type InboxItemTitleProps, type InboxItemTrailingProps, type InboxItemTriggerProps, type InlineCodeProps, type InputGroupAddonProps, type InputGroupAddonTextProps, type InputGroupInputProps, type InputGroupProps, type InputModality, type InputProps, type KbdGroupProps, type KbdProps, type LabelAsteriskProps, type LabelOptionalProps, type LabelProps, type LabelSubProps, type LegacyTaskPanelActionsProps, type LegacyTaskPanelBodyProps, type LegacyTaskPanelFieldLabelProps, type LegacyTaskPanelFieldProps, type LegacyTaskPanelFieldTextProps, type LegacyTaskPanelFieldTitleProps, type LegacyTaskPanelHeaderProps, type LegacyTaskPanelIconProps, type LegacyTaskPanelMetaLabelProps, type LegacyTaskPanelMetaProps, type LegacyTaskPanelMetaRowProps, type LegacyTaskPanelMetaValueProps, type LegacyTaskPanelRootProps, type LegacyTaskPanelSectionProps, type LegacyTaskPanelStatusProps, type LegacyTaskPanelTitleMetaProps, type LegacyTaskPanelTitleProps, type LightboxActionsProps, type LightboxCloseProps, type LightboxContentProps, type LightboxHeaderLabelProps, type LightboxHeaderMetaProps, type LightboxHeaderProps, type LightboxInfoActionsProps, type LightboxInfoBarProps, type LightboxInfoDockProps, type LightboxInfoTitleProps, type LightboxMediaProps, type LightboxNavigationButtonProps, type LightboxPortalProps, type LightboxProps, type LightboxStageProps, type LightboxThumbnailProps, type LightboxThumbnailStripProps, type LightboxTitleProps, type LightboxToolbarProps, type LightboxTriggerProps, type ListRowBodyProps, type ListRowBottomProps, type ListRowChevronProps, type ListRowDescriptionProps, type ListRowGroupProps, type ListRowIconProps, type ListRowMetaProps, type ListRowProps, type ListRowTitleProps, type ListRowTopProps, type ListRowValueProps, type LiveAgentActivityBarAvatarProps, type LiveAgentActivityBarContentProps, type LiveAgentActivityBarProps, type LiveAgentActivityBarRowProps, type LiveAgentActivityBarStatusProps, type LiveAgentActivityBarTextProps, type MarkdownBlockquoteProps, type MarkdownCellProps, type MarkdownCheckboxProps, type MarkdownHeaderCellProps, type MarkdownHeadingLevel, type MarkdownHeadingProps, type MarkdownImageProps, type MarkdownInlineCodeProps, type MarkdownLinkProps, type MarkdownListItemProps, type MarkdownListProps, type MarkdownMarkProps, type MarkdownOrderedListProps, type MarkdownParagraphProps, type MarkdownRuleProps, type MarkdownTableProps, type MarkdownTableRowProps, type MarkdownTableScrollProps, type MessageActionCardActionsNoteProps, type MessageActionCardActionsProps, type MessageActionCardCollapseTriggerProps, type MessageActionCardCompletionProps, type MessageActionCardContentProps, type MessageActionCardHeaderDescriptionProps, type MessageActionCardHeaderIconProps, type MessageActionCardHeaderProps, type MessageActionCardHeaderStatusProps, type MessageActionCardHeaderTitleProps, type MessageActionCardHintLabelProps, type MessageActionCardHintProps, type MessageActionCardNoticeProps, type MessageActionCardPropertiesProps, type MessageActionCardPropertyLabelProps, type MessageActionCardPropertyProps, type MessageActionCardPropertyValueProps, type MessageActionCardProps, type MessageActionCardScopeDescriptionProps, type MessageActionCardScopeListLabelProps, type MessageActionCardScopeListProps, type MessageActionCardScopeListViewportProps, type MessageActionCardScopeNameProps, type MessageActionCardScopeProps, type MessageActionCardStatusProps, type MessageAttachmentActionProps, type MessageAttachmentCardProps, type MessageAttachmentCommentSummaryProps, type MessageAttachmentDiffAdditionProps, type MessageAttachmentDiffDeletionProps, type MessageAttachmentDiffSummaryProps, type MessageAttachmentGroupProps, type MessageAttachmentMetaEndProps, type MessageAttachmentMetaProps, type MessageAttachmentMetaStartProps, type MessageAttachmentSummaryProps, type MessageAttachmentTitleProps, type MessageEmbedContentProps, type MessageEmbedFooterProps, type MessageEmbedHeaderProps, type MessageEmbedProps, type MessageForwardedBundleAttachmentMetaProps, type MessageForwardedBundleAttachmentNameProps, type MessageForwardedBundleAttachmentProps, type MessageForwardedBundleAttachmentsProps, type MessageForwardedBundleFooterActionProps, type MessageForwardedBundleFooterProps, type MessageForwardedBundleGalleryProps, type MessageForwardedBundleGalleryTileProps, type MessageForwardedBundleHeaderContentProps, type MessageForwardedBundleHeaderCountProps, type MessageForwardedBundleHeaderLabelProps, type MessageForwardedBundleHeaderProps, type MessageForwardedBundleItemAuthorProps, type MessageForwardedBundleItemContentProps, type MessageForwardedBundleItemMetaProps, type MessageForwardedBundleItemProps, type MessageForwardedBundleItemsProps, type MessageForwardedBundleProps, type MessageForwardedBundleSourceLabelProps, type MessageForwardedBundleSourceProps, type MessageImageGalleryActionProps, type MessageImageGalleryAspectKind, type MessageImageGalleryFit, type MessageImageGalleryImage, type MessageImageGalleryItemLayout, type MessageImageGalleryItemProps, type MessageImageGalleryMediaProps, type MessageImageGalleryOverlayProps, type MessageImageGalleryPreviewProps, type MessageImageGalleryProps, type MessageImageGalleryRowData, type MessageImageGalleryRowProps, type MessageItemAttachmentsProps, type MessageItemAvatarSlotProps, type MessageItemBadgeProps, type MessageItemBadgeSeparatorProps, type MessageItemBadgeStatus, type MessageItemBodyProps, type MessageItemContentProps, type MessageItemContinuationTimeProps, type MessageItemEmbeddedProps, type MessageItemFooterProps, type MessageItemGutterProps, type MessageItemHeaderProps, type MessageItemInlineStatusProps, type MessageItemMetaProps, type MessageItemProps, type MessageItemReadReceiptProps, type MessageItemSavedIndicatorProps, type MessageItemSearchMatchProps, type MessageItemSenderBadgesProps, type MessageItemSenderButtonProps, type MessageItemSenderProps, type MessageItemTimeProps, type MessageItemToolbarButtonProps, type MessageItemToolbarProps, type MessageItemTranslationActionProps, type MessageItemTranslationFailedStatusProps, type MessageItemTranslationOriginalLabelProps, type MessageItemTranslationOriginalProps, type MessageItemTranslationProgressTrackProps, type MessageItemTranslationRetryActionProps, type MessageItemTranslationStatusProps, type MessageListDateDividerProps, type MessageListHistoryLimitedProps, type MessageListNoticeProps, type MessageListProps, type MessageMultiSelectCheckboxProps, type MessageMultiSelectProps, type MessageMultiSelectToolbarProps, type MessageQuotedPreviewAttachmentProps, type MessageQuotedPreviewAttachmentsProps, type MessageQuotedPreviewAuthorMetaProps, type MessageQuotedPreviewAuthorNameProps, type MessageQuotedPreviewAuthorProps, type MessageQuotedPreviewChannelProps, type MessageQuotedPreviewContentProps, type MessageQuotedPreviewHeaderProps, type MessageQuotedPreviewLoadingProps, type MessageQuotedPreviewProps, type MessageQuotedPreviewTextProps, type MessageQuotedPreviewThreadProps, type MessageQuotedPreviewTimestampProps, type MessageQuotedPreviewUnavailableProps, type MessageReactionAddButtonProps, type MessageReactionChipProps, type MessageReactionCountProps, type MessageReactionErrorIndicatorProps, type MessageReactionGlyphProps, type MessageReactionPickerContentProps, type MessageReactionPickerStaticProps, type MessageReactionQuickButtonProps, type MessageReactionQuickRowProps, type MessageReactionTooltipContentProps, type MessageReactionTooltipMetaProps, type MessageReactionTooltipNameProps, type MessageReactionTooltipNameTextProps, type MessageReactionTooltipNamesProps, type MessageReactionTooltipSeparatorProps, type MessageReferenceChipProps, type MessageReferenceChipVariant, type MessageReferenceIndicatorProps, type MessageReferenceLabelProps, type MessageReferencePendingProps, type MessageReferenceTextProps, type MessageReferenceTextVariant, type MessageReferenceUnavailableProps, type MessageRepliesItemContentProps, type MessageRepliesItemProps, type MessageRepliesItemSenderProps, type MessageRepliesItemTimeProps, type MessageRepliesProps, type MessageRepliesSummaryItemProps, type MessageRepliesSummaryProps, type MessageTextSelectionAnchor, type MessageTextSelectionToolbarButtonProps, type MessageTextSelectionToolbarProps, type MessageTextSelectionToolbarSeparatorProps, type MessageVideoPreviewActionProps, type MessageVideoPreviewFailureActionProps, type MessageVideoPreviewFailureContentProps, type MessageVideoPreviewFailureIconProps, type MessageVideoPreviewFailureTitleProps, type MessageVideoPreviewFallbackProps, type MessageVideoPreviewMediaProps, type MessageVideoPreviewProps, type MobileNavItemProps, type MobileNavLabelProps, type MobileNavRootProps, type NotificationCenterActionButtonProps, type NotificationCenterCountProps, type NotificationCenterEmptyStateProps, type NotificationCenterHeaderProps, type NotificationCenterItemActionsProps, type NotificationCenterItemBodyProps, type NotificationCenterItemContentProps, type NotificationCenterItemIconProps, type NotificationCenterItemProps, type NotificationCenterItemRowProps, type NotificationCenterItemTitleProps, type NotificationCenterListProps, type NotificationCenterPopupProps, type NotificationCenterPortalProps, type NotificationCenterProps, type NotificationCenterScrollerProps, type NotificationCenterTitleProps, type NotificationCenterTriggerProps, type OrderedTabItem, type OtterIndicatorProps, type PanelActionProps, type PanelActionsProps, type PanelActivityProps, type PanelBodyProps, type PanelEdge, type PanelFooterProps, type PanelHeaderContentProps, type PanelHeaderIconProps, type PanelHeaderProps, type PanelHeaderRootProps, type PanelHeadingProps, type PanelMetaProps, type PanelNoticeActionsProps, type PanelNoticeContentProps, type PanelNoticeProps, type PanelNoticeStatus, type PanelProps, type PanelScrollContentProps, type PanelScrollViewportProps, type PanelSectionHeaderProps, type PanelSectionProps, type PanelStatusProps, type PanelTitleProps, type PanelToggleActionProps, type PickerTriggerButtonProps, type PopoverArrowProps, type PopoverBackdropProps, type PopoverCloseProps, type PopoverContentProps, type PopoverDescriptionProps, type PopoverHeaderProps, type PopoverPopupProps, type PopoverPortalProps, type PopoverProps, type PopoverSeparatorProps, type PopoverTitleProps, type PopoverTriggerProps, type PopoverViewportProps, type Presence, type PreviewCardArrowProps, type PreviewCardContentProps, type PreviewCardDescriptionProps, type PreviewCardHeaderProps, type PreviewCardPopupProps, type PreviewCardPortalProps, type PreviewCardProps, type PreviewCardSeparatorProps, type PreviewCardTitleProps, type PreviewCardTriggerProps, type ProfilePanelBodyProps, type ProfilePanelHeaderContentProps, type ProfilePanelHeaderProps, type ProfilePanelProps, type ProfilePanelSectionProps, type ProgressHeaderProps, type ProgressIndicatorProps, type ProgressLabelProps, type ProgressProps, type ProgressTrackProps, type ProgressValueProps, type RadioGroupIndicatorProps, type RadioGroupItemProps, type RadioGroupProps, type RaftLogoLockupProps, type RaftLogoProps, type RaftWordmarkProps, type ResizableGroupProps, type ResizableHandleProps, type ResizablePanelProps, type ResolvedThemeMode, type RowTone, type ScrollAreaContentProps, type ScrollAreaCornerProps, type ScrollAreaProps, type ScrollAreaScrollbarProps, type ScrollAreaThumbProps, type ScrollAreaViewportProps, type SegmentedControlCountProps, type SegmentedControlIconsOnlyBelow, type SegmentedControlItemProps, type SegmentedControlLabelProps, type SegmentedControlProps, type SelectArrowProps, type SelectContentProps, type SelectGroupLabelProps, type SelectGroupProps, type SelectIconProps, type SelectItemDescriptionProps, type SelectItemIndicatorProps, type SelectItemLeadingProps, type SelectItemProps, type SelectItemTextProps, type SelectLabelProps, type SelectListProps, type SelectPopupProps, type SelectPortalProps, type SelectProps, type SelectScrollDownArrowProps, type SelectScrollUpArrowProps, type SelectSeparatorProps, type SelectTriggerProps, type SelectValueProps, type SeparatorProps, type SidebarBodyProps, type SidebarContentProps, type SidebarControlProps, type SidebarGroupLabelProps, type SidebarHeaderProps, type SidebarHeaderTitleProps, type SidebarItemAsideProps, type SidebarItemChannelIconProps, type SidebarItemContentProps, type SidebarItemCountProps, type SidebarItemCountSeparatorProps, type SidebarItemIconProps, type SidebarItemIndicatorProps, type SidebarItemMetaIconProps, type SidebarItemMetaProps, type SidebarItemProps, type SidebarItemStatusProps, type SidebarItemSubtitleProps, type SidebarItemThreadCountProps, type SidebarItemTitleProps, type SidebarListProps, type SidebarLiveActivityProps, type SidebarMenuAsideProps, type SidebarMenuCountProps, type SidebarMenuIconProps, type SidebarMenuProps, type SidebarMenuTitleProps, type SidebarRootProps, type SidebarSectionAttentionProps, type SidebarSectionChevronProps, type SidebarSectionControlProps, type SidebarSectionControlsProps, type SidebarSectionCountProps, type SidebarSectionDisclosureProps, type SidebarSectionEmptyProps, type SidebarSectionHeaderProps, type SidebarSectionProps, type SidebarSectionTitleProps, type SidebarSectionTrailingProps, type SkeletonProps, type SkeletonVariant, type SortableComposerAttachmentProps, type SortableComposerAttachmentsProps, type SortableTabsListProps, type SortableTabsTabProps, type SpinnerProps, type StatusProps, type StepProps, type StepStatus, type StepsProps, type SwitchProps, type SwitchThumbProps, type SystemMessageContentProps, type SystemMessageGroupChevronProps, type SystemMessageGroupDisclosureProps, type SystemMessageGroupHeaderProps, type SystemMessageGroupPanelProps, type SystemMessageGroupProps, type SystemMessageGroupSummaryProps, type SystemMessageProps, type SystemMessageTimeProps, type TableBodyProps, type TableCaptionProps, type TableCellProps, type TableColgroupProps, type TableColumnProps, type TableHeadProps, type TableHeaderProps, type TableProps, type TableRowProps, type TabsLabelProps, type TabsListProps, type TabsPanelProps, type TabsPlacement, type TabsProps, type TabsTabProps, type TaskBoardColumnBadgeProps, type TaskBoardColumnChevronProps, type TaskBoardColumnCountProps, type TaskBoardColumnEmptyAllowedProps, type TaskBoardColumnEmptyBlockedProps, type TaskBoardColumnEmptyIdleProps, type TaskBoardColumnEmptyProps, type TaskBoardColumnHeadingProps, type TaskBoardColumnItemsProps, type TaskBoardColumnPanelProps, type TaskBoardColumnProps, type TaskBoardColumnTriggerProps, type TaskBoardRootProps, type TaskCardBodyProps, type TaskCardChannelProps, type TaskCardDescriptionProps, type TaskCardLegacyProps, type TaskCardMetaProps, type TaskCardNumberProps, type TaskCardProps, type TaskCardRowProps, type TaskCardStatusProps, type TaskCardTitleProps, type TaskChipProps, type TaskChipSize, type TaskChipVariant, type TaskDndAccessibility, type TaskDndProviderProps, type TaskDragOverlayProps, type TaskDraggableProps, type TaskDropData, type TaskDropPlaceholderProps, type TaskDropPlacement, type TaskDropState, type TaskDropZoneProps, type TaskDropZoneState, type TaskListRootProps, type TaskLoadingListProps, type TaskLoadingRowProps, type TaskMoveDetails, type TaskSectionBadgeProps, type TaskSectionChevronProps, type TaskSectionCountProps, type TaskSectionEmptyProps, type TaskSectionHeadingProps, type TaskSectionItemsProps, type TaskSectionPanelProps, type TaskSectionProps, type TaskSectionTriggerProps, type TaskStatusBadgeProps, type TaskStatusId, type TasksPanelEmptyProps, type TasksPanelRootProps, type TasksPanelToolbarFiltersProps, type TasksPanelToolbarGroupProps, type TasksPanelToolbarLabelProps, type TasksPanelToolbarNewTaskProps, type TasksPanelToolbarProps, type TasksPanelToolbarViewProps, type TasksPanelViewportProps, type TextHeadingProps, type TextLinkProps, type TextMonoProps, type TextSansProps, type TextareaCounterProps, type TextareaGroupProps, type TextareaProps, type ThemeMode, type ThemeProviderProps, type ThemeState, type ThreadPanelActionsProps, type ThreadPanelBodyProps, type ThreadPanelContentProps, type ThreadPanelFooterProps, type ThreadPanelHeaderProps, type ThreadPanelOriginalMessageProps, type ThreadPanelReplyCountProps, type ThreadPanelReplySummaryProps, type ThreadPanelRootProps, type ThreadPanelSearchCountProps, type ThreadPanelSearchProps, type ThreadPanelSearchTrailingProps, type ThreadPanelTitleMetaProps, type ThreadPanelTitleProps, type TimelineContentProps, type TimelineItemPlacement, type TimelineItemProps, type TimelineItemVariant, type TimelineLineType, type TimelineProps, type TimelineSize, type TimelineTimeProps, type TimelineTitleProps, type ToastActionProps, type ToastActionsProps, type ToastArrowProps, type ToastBodyProps, type ToastCloseProps, type ToastContentProps, type ToastData, type ToastDescriptionProps, type ToastIconProps, type ToastIntent, type ToastObject, type ToastPortalProps, type ToastPositionerProps, type ToastProgressProps, type ToastProviderProps, type ToastRootProps, type ToastTitleProps, type ToastViewportProps, type ToggleGroupItemProps, type ToggleGroupLabelProps, type ToggleGroupProps, type TooltipContentProps, type TooltipPortalProps, type TooltipProps, type TooltipProviderProps, type TooltipTriggerProps, type UseComposerSuggestionsParams, buttonVariants, cn };
|
package/dist/index.mjs
CHANGED
|
@@ -1378,7 +1378,7 @@ const listRow = tv({
|
|
|
1378
1378
|
"group/list-row relative flex w-full min-w-0 items-center gap-3 px-4 py-3 text-left",
|
|
1379
1379
|
"font-sans no-underline",
|
|
1380
1380
|
"transition-colors duration-100",
|
|
1381
|
-
"outline-none focus-visible:inset-ring-2 focus-visible:inset-ring-foreground",
|
|
1381
|
+
"outline-none focus-visible:keyboard:inset-ring-2 focus-visible:keyboard:inset-ring-foreground",
|
|
1382
1382
|
"data-selected:bg-info-soft",
|
|
1383
1383
|
"[--list-row-ink:var(--foreground)] [--list-row-ink-2:var(--foreground-muted)] [--list-row-ink-3:var(--foreground-hint)]",
|
|
1384
1384
|
"text-(--list-row-ink)",
|
|
@@ -4633,7 +4633,7 @@ const input = tv({ slots: { root: [
|
|
|
4633
4633
|
"h-11 w-full px-3 py-0 font-heading text-field font-field outline-none",
|
|
4634
4634
|
"rounded-control border-[1.5px] border-line-strong bg-layer-card",
|
|
4635
4635
|
"text-foreground placeholder:text-foreground-hint",
|
|
4636
|
-
"shadow-none transition-shadow duration-90 ease-out focus:shadow-focus",
|
|
4636
|
+
"shadow-none transition-shadow duration-90 ease-out focus-visible:shadow-focus",
|
|
4637
4637
|
"data-invalid:border-danger-strong",
|
|
4638
4638
|
"disabled:cursor-not-allowed disabled:border-line-hairline disabled:bg-fill-muted disabled:text-foreground-disabled disabled:placeholder:text-foreground-disabled"
|
|
4639
4639
|
] } });
|
|
@@ -4747,7 +4747,7 @@ const inputGroup = tv({
|
|
|
4747
4747
|
"group/input-group relative flex w-full min-w-0 items-center",
|
|
4748
4748
|
"has-data-[input-group-trim=inline-end]:[--ig-control-pr:0]",
|
|
4749
4749
|
"h-11 overflow-hidden rounded-control border-[1.5px] border-line-strong bg-layer-card text-foreground",
|
|
4750
|
-
"shadow-none transition-shadow duration-90 ease-out focus-
|
|
4750
|
+
"shadow-none transition-shadow duration-90 ease-out has-focus-visible:shadow-focus",
|
|
4751
4751
|
"has-[[data-slot=input-group-control][data-invalid]]:border-danger-strong",
|
|
4752
4752
|
"has-[[data-slot=input-group-control]:disabled]:cursor-not-allowed has-[[data-slot=input-group-control]:disabled]:border-line-hairline has-[[data-slot=input-group-control]:disabled]:bg-fill-muted",
|
|
4753
4753
|
"has-[[data-slot=input-group-control]:disabled]:[--ig-addon-fg:var(--foreground-disabled)]",
|
|
@@ -4935,7 +4935,7 @@ const combobox = tv({
|
|
|
4935
4935
|
"[&_[data-slot='combobox-trigger-indicator']>svg]:shrink-0",
|
|
4936
4936
|
"min-h-11 rounded-control border-[1.5px] border-line-strong bg-layer-card px-3 py-0",
|
|
4937
4937
|
"font-sans text-body text-foreground",
|
|
4938
|
-
"transition-shadow duration-90 ease-out focus-
|
|
4938
|
+
"transition-shadow duration-90 ease-out has-focus-visible:shadow-focus",
|
|
4939
4939
|
"[&>svg]:text-foreground-hint [&>svg:not([class*='size-'])]:size-4.5",
|
|
4940
4940
|
"[&>svg:not([class*='stroke-'])]:stroke-2",
|
|
4941
4941
|
"[&_[data-slot='combobox-trigger-indicator']>svg]:size-4"
|
|
@@ -4945,7 +4945,7 @@ const combobox = tv({
|
|
|
4945
4945
|
"h-10 gap-2 border-line-hairline bg-transparent px-3 py-0",
|
|
4946
4946
|
"text-callout text-foreground-hint",
|
|
4947
4947
|
"[&>svg]:size-4 [&>svg]:shrink-0",
|
|
4948
|
-
"first:rounded-t-container focus-
|
|
4948
|
+
"first:rounded-t-container has-focus-visible:keyboard:inset-ring-2 has-focus-visible:keyboard:inset-ring-foreground"
|
|
4949
4949
|
],
|
|
4950
4950
|
input: ["w-full outline-none"],
|
|
4951
4951
|
positioner: ["isolate z-50 outline-none"],
|
|
@@ -4987,7 +4987,7 @@ const combobox = tv({
|
|
|
4987
4987
|
chips: [
|
|
4988
4988
|
"flex flex-wrap items-center",
|
|
4989
4989
|
"min-h-11 gap-1.5 rounded-control border-[1.5px] border-line-strong bg-layer-card py-1.5 pr-3 pl-1.5",
|
|
4990
|
-
"transition-shadow duration-90 ease-out focus-
|
|
4990
|
+
"transition-shadow duration-90 ease-out has-focus-visible:shadow-focus"
|
|
4991
4991
|
],
|
|
4992
4992
|
chip: [
|
|
4993
4993
|
"inline-flex items-center",
|
|
@@ -5949,7 +5949,7 @@ const textarea = tv({ slots: { root: [
|
|
|
5949
5949
|
"py-2.5",
|
|
5950
5950
|
"rounded-control border-[1.5px] border-line-strong bg-layer-card",
|
|
5951
5951
|
"text-foreground placeholder:text-foreground-hint",
|
|
5952
|
-
"shadow-none transition-shadow duration-90 ease-out focus:shadow-focus",
|
|
5952
|
+
"shadow-none transition-shadow duration-90 ease-out focus-visible:shadow-focus",
|
|
5953
5953
|
"data-invalid:border-danger-strong",
|
|
5954
5954
|
"disabled:cursor-not-allowed disabled:resize-none disabled:border-line-hairline disabled:bg-fill-muted disabled:text-foreground-disabled disabled:placeholder:text-foreground-disabled"
|
|
5955
5955
|
] } });
|
|
@@ -8013,7 +8013,7 @@ function MessageQuotedPreviewUnavailable({ className, render, ...props }) {
|
|
|
8013
8013
|
const messageReplies = tv({ slots: {
|
|
8014
8014
|
root: [
|
|
8015
8015
|
"group/message-replies flex min-w-0 w-full flex-col text-left",
|
|
8016
|
-
"transition-colors focus-visible:outline-1 focus-visible:outline-line-strong",
|
|
8016
|
+
"transition-colors focus-visible:keyboard:outline-1 focus-visible:keyboard:outline-line-strong",
|
|
8017
8017
|
"mt-2 max-w-[480px] gap-1 rounded-container border-0 px-2.5 py-2",
|
|
8018
8018
|
"bg-fill-muted text-foreground-muted hover:press-overlay active:press-overlay",
|
|
8019
8019
|
"focus-visible:outline-none focus-visible:shadow-focus"
|
|
@@ -8132,7 +8132,7 @@ const messageActionCard = tv({
|
|
|
8132
8132
|
"flex shrink-0 cursor-pointer items-center justify-center",
|
|
8133
8133
|
"[&>svg]:transition-transform [&>svg]:duration-200 motion-reduce:[&>svg]:transition-none",
|
|
8134
8134
|
"data-panel-open:[&>svg]:rotate-180",
|
|
8135
|
-
"focus-visible:outline-2 focus-visible:outline-offset-1",
|
|
8135
|
+
"focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-offset-1",
|
|
8136
8136
|
"my-0 -mr-1 size-[27px] rounded-control text-foreground-muted",
|
|
8137
8137
|
"hover:bg-fill-pressed hover:text-foreground active:bg-fill-pressed",
|
|
8138
8138
|
"focus-visible:outline-none focus-visible:shadow-focus",
|
|
@@ -8646,7 +8646,7 @@ const messageImageGallery = tv({
|
|
|
8646
8646
|
],
|
|
8647
8647
|
media: "block size-full ",
|
|
8648
8648
|
overlay: "absolute inset-0 flex items-center justify-center",
|
|
8649
|
-
preview: ["absolute inset-0", "outline-none focus-visible:inset-ring-2 focus-visible:inset-ring-foreground"],
|
|
8649
|
+
preview: ["absolute inset-0", "outline-none focus-visible:keyboard:inset-ring-2 focus-visible:keyboard:inset-ring-foreground"],
|
|
8650
8650
|
action: [
|
|
8651
8651
|
"absolute z-10 hidden items-center justify-center",
|
|
8652
8652
|
"focus:flex",
|
|
@@ -8867,13 +8867,13 @@ const messageVideoPreview = tv({ slots: {
|
|
|
8867
8867
|
failureAction: [
|
|
8868
8868
|
"inline-flex cursor-pointer items-center gap-1 border-0 bg-transparent p-0 text-white/75 [font:inherit]",
|
|
8869
8869
|
"decoration-[1.5px] underline-offset-[3px] hover:text-white hover:underline",
|
|
8870
|
-
"outline-1 outline-offset-2 outline-transparent focus-visible:outline-white",
|
|
8870
|
+
"outline-1 outline-offset-2 outline-transparent focus-visible:keyboard:outline-white",
|
|
8871
8871
|
"[&_svg]:size-[13px]"
|
|
8872
8872
|
],
|
|
8873
8873
|
action: [
|
|
8874
8874
|
"absolute flex items-center justify-center",
|
|
8875
8875
|
"transition-colors duration-150",
|
|
8876
|
-
"outline-[1px] outline-offset-2 outline-transparent focus-visible:outline-foreground",
|
|
8876
|
+
"outline-[1px] outline-offset-2 outline-transparent focus-visible:keyboard:outline-foreground",
|
|
8877
8877
|
"disabled:cursor-default [&_svg]:shrink-0",
|
|
8878
8878
|
"top-2 right-2 size-8 rounded-control border-[1.5px] border-line-strong",
|
|
8879
8879
|
"bg-layer-card text-foreground hover:bg-layer-card hover:text-foreground hover:press-overlay active:press-overlay",
|
|
@@ -9029,7 +9029,7 @@ const messageForwardedBundleItem = tv({
|
|
|
9029
9029
|
action: {
|
|
9030
9030
|
static: {},
|
|
9031
9031
|
interactive: { attachment: [
|
|
9032
|
-
"cursor-pointer transition-colors hover:border-line-strong focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-line-strong",
|
|
9032
|
+
"cursor-pointer transition-colors hover:border-line-strong focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-offset-2 focus-visible:keyboard:outline-line-strong",
|
|
9033
9033
|
"hover:press-overlay active:press-overlay",
|
|
9034
9034
|
"focus-visible:outline-none focus-visible:shadow-focus"
|
|
9035
9035
|
] }
|
|
@@ -10454,7 +10454,7 @@ function OtterIndicator({ status, className, ...props }) {
|
|
|
10454
10454
|
const table = tv({ slots: {
|
|
10455
10455
|
root: ["w-full border-collapse caption-bottom", "font-sans text-callout text-foreground"],
|
|
10456
10456
|
header: [],
|
|
10457
|
-
body: ["[&>tr:last-child>td]:border-b-0 [&>tr:last-child>th]:border-b-0", "[&>tr:hover
|
|
10457
|
+
body: ["[&>tr:last-child>td]:border-b-0 [&>tr:last-child>th]:border-b-0", "[&>tr]:hover:bg-fill-pressed"],
|
|
10458
10458
|
row: ["aria-selected:bg-info-soft aria-selected:hover:bg-info-soft", "data-[selected=true]:bg-info-soft data-[selected=true]:hover:bg-info-soft"],
|
|
10459
10459
|
head: [
|
|
10460
10460
|
"text-left whitespace-nowrap",
|
|
@@ -10816,7 +10816,7 @@ const files = tv({ slots: {
|
|
|
10816
10816
|
"group/file-row flex w-full min-w-0 gap-3 px-3",
|
|
10817
10817
|
"transition-colors",
|
|
10818
10818
|
"items-center rounded-container border border-line-hairline bg-layer-card py-2.5 pr-1.5 pl-2.5 shadow-none",
|
|
10819
|
-
"has-[[data-slot=file-row-open]:hover]:press-overlay has-[[data-slot=file-row-open]:active]:press-overlay",
|
|
10819
|
+
"[@media(hover:hover)]:has-[[data-slot=file-row-open]:hover]:press-overlay has-[[data-slot=file-row-open]:active]:press-overlay",
|
|
10820
10820
|
"has-[[data-slot=file-row-open]:focus-visible]:shadow-focus"
|
|
10821
10821
|
],
|
|
10822
10822
|
rowOpen: [
|
|
@@ -10914,7 +10914,7 @@ const composer = tv({ slots: {
|
|
|
10914
10914
|
"flex w-full flex-col gap-2 p-2",
|
|
10915
10915
|
"rounded-container border-[1.5px] px-3 pt-3 pb-2",
|
|
10916
10916
|
"border-line-strong bg-layer-card text-foreground shadow-none",
|
|
10917
|
-
"focus-
|
|
10917
|
+
"has-focus-visible:shadow-focus"
|
|
10918
10918
|
],
|
|
10919
10919
|
input: [
|
|
10920
10920
|
"max-h-32 w-full resize-none bg-transparent outline-none",
|
|
@@ -12555,7 +12555,7 @@ const toastStyles = tv({
|
|
|
12555
12555
|
"motion-reduce:transition-none",
|
|
12556
12556
|
"rounded-container bg-layer-hud text-foreground-on-hud",
|
|
12557
12557
|
"shadow-float",
|
|
12558
|
-
"focus-visible:outline-2 focus-visible:outline-foreground"
|
|
12558
|
+
"focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-foreground"
|
|
12559
12559
|
],
|
|
12560
12560
|
content: [
|
|
12561
12561
|
"relative grid grid-cols-[minmax(0,1fr)] items-center overflow-hidden",
|
|
@@ -12600,7 +12600,7 @@ const toastStyles = tv({
|
|
|
12600
12600
|
"decoration-[1.5px] underline-offset-[3px] not-disabled:hover:underline",
|
|
12601
12601
|
"after:absolute after:-inset-x-2 after:-inset-y-3 after:rounded-control after:content-['']",
|
|
12602
12602
|
"active:after:bg-foreground-on-hud/15",
|
|
12603
|
-
"focus-visible:outline-2 focus-visible:outline-foreground-on-hud",
|
|
12603
|
+
"focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-foreground-on-hud",
|
|
12604
12604
|
"[&_svg]:size-4"
|
|
12605
12605
|
],
|
|
12606
12606
|
arrow: [
|
|
@@ -12696,7 +12696,7 @@ const toastAction = tv({ slots: {
|
|
|
12696
12696
|
"decoration-[1.5px] underline-offset-[3px] not-disabled:not-aria-disabled:hover:underline",
|
|
12697
12697
|
"after:absolute after:-inset-x-2 after:-inset-y-3 after:rounded-control after:content-['']",
|
|
12698
12698
|
"active:after:bg-foreground-on-hud/15",
|
|
12699
|
-
"outline-1 outline-offset-2 outline-transparent focus-visible:outline-2 focus-visible:outline-foreground-on-hud",
|
|
12699
|
+
"outline-1 outline-offset-2 outline-transparent focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-foreground-on-hud",
|
|
12700
12700
|
"disabled:pointer-events-none disabled:opacity-40 aria-disabled:cursor-not-allowed aria-disabled:opacity-40",
|
|
12701
12701
|
"data-[loading=true]:cursor-wait data-[loading=true]:opacity-100",
|
|
12702
12702
|
"[&_svg]:pointer-events-none [&_svg]:shrink-0 **:data-icon:size-[1em] [&_svg:not([class*='size-'])]:size-3"
|
|
@@ -12708,7 +12708,7 @@ const createToastManager = Toast.createToastManager;
|
|
|
12708
12708
|
const useToastManager = Toast.useToastManager;
|
|
12709
12709
|
const defaultToastManager = createToastManager();
|
|
12710
12710
|
function addDefaultToast(intent, title, options = {}) {
|
|
12711
|
-
const { action, contentClassName, dismissible, icon, priority, progress, ...toastOptions } = options;
|
|
12711
|
+
const { action, contentClassName, dismissible, icon, leading, priority, progress, ...toastOptions } = options;
|
|
12712
12712
|
return defaultToastManager.add({
|
|
12713
12713
|
...toastOptions,
|
|
12714
12714
|
actionProps: action ? {
|
|
@@ -12723,7 +12723,8 @@ function addDefaultToast(intent, title, options = {}) {
|
|
|
12723
12723
|
contentClassName,
|
|
12724
12724
|
hasClose: dismissible,
|
|
12725
12725
|
hasIcon: icon,
|
|
12726
|
-
hasProgress: progress
|
|
12726
|
+
hasProgress: progress,
|
|
12727
|
+
leading
|
|
12727
12728
|
}
|
|
12728
12729
|
});
|
|
12729
12730
|
}
|
|
@@ -12992,7 +12993,7 @@ function DefaultToastItem({ placement, toast: toastObject }) {
|
|
|
12992
12993
|
const showDescription = Boolean(toastObject.description);
|
|
12993
12994
|
const showAction = Boolean(toastObject.actionProps?.children);
|
|
12994
12995
|
const showClose = toastObject.data?.hasClose !== false;
|
|
12995
|
-
const showIcon = toastObject.data?.hasIcon !== false;
|
|
12996
|
+
const showIcon = hasLeading(toastObject) || toastObject.data?.hasIcon !== false;
|
|
12996
12997
|
const progressDuration = toastObject.timeout ?? timeout;
|
|
12997
12998
|
const showProgress = toastObject.data?.hasProgress === true && toastObject.type !== "loading" && progressDuration > 0;
|
|
12998
12999
|
return /* @__PURE__ */ jsx(ToastRoot, {
|
|
@@ -13015,7 +13016,15 @@ const TOAST_PIXEL = {
|
|
|
13015
13016
|
warning: "warning",
|
|
13016
13017
|
error: "warning"
|
|
13017
13018
|
};
|
|
13019
|
+
function hasLeading(toastObject) {
|
|
13020
|
+
const leading = toastObject.data?.leading;
|
|
13021
|
+
return leading !== void 0 && leading !== null && leading !== false;
|
|
13022
|
+
}
|
|
13018
13023
|
function DefaultToastIcon({ toast: toastObject }) {
|
|
13024
|
+
if (hasLeading(toastObject)) return /* @__PURE__ */ jsx(ToastIcon, {
|
|
13025
|
+
"aria-hidden": true,
|
|
13026
|
+
children: toastObject.data?.leading
|
|
13027
|
+
});
|
|
13019
13028
|
const intent = toastObject.data?.intent ?? getToastTone(toastObject.type);
|
|
13020
13029
|
return /* @__PURE__ */ jsx(ToastIcon, { children: /* @__PURE__ */ jsx(Status, {
|
|
13021
13030
|
"aria-hidden": true,
|
|
@@ -13728,10 +13737,10 @@ const resizable = tv({ slots: {
|
|
|
13728
13737
|
"before:bg-transparent",
|
|
13729
13738
|
"hover:before:bg-foreground-muted",
|
|
13730
13739
|
"data-[separator=active]:before:bg-foreground-muted",
|
|
13731
|
-
"focus-visible:before:w-0.5 focus-visible:before:bg-foreground focus-visible:before:outline-none",
|
|
13740
|
+
"focus-visible:keyboard:before:w-0.5 focus-visible:keyboard:before:bg-foreground focus-visible:before:outline-none",
|
|
13732
13741
|
"data-[orientation=horizontal]:before:top-[5px] data-[orientation=horizontal]:before:left-0",
|
|
13733
13742
|
"data-[orientation=horizontal]:before:h-px data-[orientation=horizontal]:before:w-full",
|
|
13734
|
-
"data-[orientation=horizontal]:focus-visible:before:h-0.5"
|
|
13743
|
+
"data-[orientation=horizontal]:focus-visible:keyboard:before:h-0.5"
|
|
13735
13744
|
]
|
|
13736
13745
|
} });
|
|
13737
13746
|
//#endregion
|
|
@@ -15451,7 +15460,7 @@ const taskChip = tv({
|
|
|
15451
15460
|
"[&>svg]:shrink-0 [&>svg]:size-3",
|
|
15452
15461
|
"no-underline select-text",
|
|
15453
15462
|
"transition-[filter,opacity] duration-100",
|
|
15454
|
-
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-line-strong",
|
|
15463
|
+
"focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-offset-2 focus-visible:keyboard:outline-line-strong",
|
|
15455
15464
|
"rounded-chip border-0",
|
|
15456
15465
|
"font-sans font-semibold text-foreground",
|
|
15457
15466
|
"[&>svg:not([data-slot=task-status-icon])]:-mx-0.5 [&>svg[data-slot=task-status-icon]]:size-[9px]",
|
|
@@ -15895,7 +15904,7 @@ const activityInboxToolbar = tv({ slots: {
|
|
|
15895
15904
|
"md:h-11 md:flex-nowrap md:py-0",
|
|
15896
15905
|
"border-b border-line-hairline bg-layer-canvas px-4",
|
|
15897
15906
|
"**:data-[activity-inbox-action=sort]:text-foreground-muted",
|
|
15898
|
-
"
|
|
15907
|
+
"**:data-[activity-inbox-action=sort]:hover:text-foreground"
|
|
15899
15908
|
],
|
|
15900
15909
|
selectionCount: ["mr-1", "text-footnote font-bold text-foreground"]
|
|
15901
15910
|
} });
|
|
@@ -15943,7 +15952,7 @@ const inboxItem = tv({
|
|
|
15943
15952
|
"hover:bg-fill-pressed",
|
|
15944
15953
|
"data-[active=true]:bg-info-soft data-[active=true]:hover:bg-info-soft",
|
|
15945
15954
|
"data-disabled:pointer-events-none data-disabled:hover:bg-transparent",
|
|
15946
|
-
"has-[[data-slot=inbox-item-open]:focus-visible]:inset-ring-2 has-[[data-slot=inbox-item-open]:focus-visible]:inset-ring-foreground",
|
|
15955
|
+
"has-[[data-slot=inbox-item-open]:focus-visible]:keyboard:inset-ring-2 has-[[data-slot=inbox-item-open]:focus-visible]:keyboard:inset-ring-foreground",
|
|
15947
15956
|
"not-data-[density=compact]:has-data-[slot=inbox-item-trailing]:[--inbox-item-content-display:grid] not-data-[density=compact]:has-data-[slot=inbox-item-trailing]:[--inbox-item-content-end:-1]"
|
|
15948
15957
|
],
|
|
15949
15958
|
itemTrigger: ["absolute inset-0 z-0 outline-none"],
|
|
@@ -16021,7 +16030,7 @@ const inboxItem = tv({
|
|
|
16021
16030
|
"[&>[data-slot=panel-toggle-action][data-pressed]]:border-transparent",
|
|
16022
16031
|
"[&>[data-slot=panel-toggle-action][data-pressed]]:bg-transparent",
|
|
16023
16032
|
"[&>[data-slot=panel-toggle-action][data-pressed]]:text-foreground",
|
|
16024
|
-
"[&>[data-slot=panel-toggle-action][data-pressed]:hover
|
|
16033
|
+
"[&>[data-slot=panel-toggle-action][data-pressed]]:hover:bg-fill-pressed",
|
|
16025
16034
|
"pointer-coarse:gap-3",
|
|
16026
16035
|
"pointer-coarse:*:data-[slot=panel-action]:after:absolute pointer-coarse:*:data-[slot=panel-action]:after:-inset-1.5",
|
|
16027
16036
|
"pointer-coarse:*:data-[slot=panel-toggle-action]:after:absolute pointer-coarse:*:data-[slot=panel-toggle-action]:after:-inset-1.5"
|
|
@@ -16428,7 +16437,7 @@ const searchEntity = tv({ slots: {
|
|
|
16428
16437
|
"hover:bg-fill-pressed active:bg-fill-pressed",
|
|
16429
16438
|
"disabled:cursor-default disabled:hover:bg-transparent disabled:active:bg-transparent",
|
|
16430
16439
|
"data-[selected=true]:bg-brand-soft data-[selected=true]:hover:bg-brand-soft",
|
|
16431
|
-
"outline-none focus-visible:inset-ring-2 focus-visible:inset-ring-foreground"
|
|
16440
|
+
"outline-none focus-visible:keyboard:inset-ring-2 focus-visible:keyboard:inset-ring-foreground"
|
|
16432
16441
|
],
|
|
16433
16442
|
entityLeading: ["relative flex shrink-0"],
|
|
16434
16443
|
entityIcon: [
|
|
@@ -16567,7 +16576,7 @@ const searchMessage = tv({ slots: {
|
|
|
16567
16576
|
"hover:bg-fill-pressed active:bg-fill-pressed",
|
|
16568
16577
|
"disabled:cursor-default disabled:hover:bg-transparent disabled:active:bg-transparent",
|
|
16569
16578
|
"data-[selected=true]:bg-brand-soft data-[selected=true]:hover:bg-brand-soft",
|
|
16570
|
-
"outline-none focus-visible:inset-ring-2 focus-visible:inset-ring-foreground"
|
|
16579
|
+
"outline-none focus-visible:keyboard:inset-ring-2 focus-visible:keyboard:inset-ring-foreground"
|
|
16571
16580
|
],
|
|
16572
16581
|
messageHeader: [
|
|
16573
16582
|
"flex items-center",
|
|
@@ -16842,6 +16851,191 @@ function SearchTriggerShortcut({ className, ...props }) {
|
|
|
16842
16851
|
});
|
|
16843
16852
|
}
|
|
16844
16853
|
//#endregion
|
|
16854
|
+
//#region src/lib/input-modality.ts
|
|
16855
|
+
const INPUT_MODALITY_ATTRIBUTE = "data-input-modality";
|
|
16856
|
+
/** Keys that move focus wherever focus is. */
|
|
16857
|
+
const NAVIGATION_KEYS = /* @__PURE__ */ new Set(["Tab", "F6"]);
|
|
16858
|
+
/** Keys that navigate a widget, but move the caret in a text field. */
|
|
16859
|
+
const CARET_KEYS = /* @__PURE__ */ new Set([
|
|
16860
|
+
"ArrowUp",
|
|
16861
|
+
"ArrowDown",
|
|
16862
|
+
"ArrowLeft",
|
|
16863
|
+
"ArrowRight",
|
|
16864
|
+
"Home",
|
|
16865
|
+
"End",
|
|
16866
|
+
"PageUp",
|
|
16867
|
+
"PageDown"
|
|
16868
|
+
]);
|
|
16869
|
+
/**
|
|
16870
|
+
* Keys that activate or dismiss a control, but belong to editing in a text
|
|
16871
|
+
* field. Esc in the composer closes a suggestion list or cancels an edit; it
|
|
16872
|
+
* must not turn the composer's ring on for someone using a mouse.
|
|
16873
|
+
*/
|
|
16874
|
+
const ACTIVATION_KEYS = /* @__PURE__ */ new Set([
|
|
16875
|
+
"Enter",
|
|
16876
|
+
" ",
|
|
16877
|
+
"Spacebar",
|
|
16878
|
+
"Escape"
|
|
16879
|
+
]);
|
|
16880
|
+
/** Input types that take typed text (and whose arrow keys move a caret or step a value). */
|
|
16881
|
+
const TEXT_INPUT_TYPES = /* @__PURE__ */ new Set([
|
|
16882
|
+
"text",
|
|
16883
|
+
"search",
|
|
16884
|
+
"url",
|
|
16885
|
+
"tel",
|
|
16886
|
+
"email",
|
|
16887
|
+
"password",
|
|
16888
|
+
"number",
|
|
16889
|
+
"date",
|
|
16890
|
+
"datetime-local",
|
|
16891
|
+
"month",
|
|
16892
|
+
"time",
|
|
16893
|
+
"week"
|
|
16894
|
+
]);
|
|
16895
|
+
/** `isContentEditable`, for DOMs that don't implement it. */
|
|
16896
|
+
const EDITABLE = "[contenteditable=\"\"], [contenteditable=\"true\"], [contenteditable=\"plaintext-only\"]";
|
|
16897
|
+
function isTextEntry(target) {
|
|
16898
|
+
if (!target || typeof target !== "object" || !("nodeType" in target)) return false;
|
|
16899
|
+
const element = target;
|
|
16900
|
+
if (element.tagName === "TEXTAREA") return true;
|
|
16901
|
+
if (element.tagName === "INPUT") return TEXT_INPUT_TYPES.has(element.type);
|
|
16902
|
+
return element.isContentEditable === true || element.closest?.(EDITABLE) != null;
|
|
16903
|
+
}
|
|
16904
|
+
function keyboardNavigates(event) {
|
|
16905
|
+
if (event.metaKey || event.ctrlKey) return false;
|
|
16906
|
+
if (NAVIGATION_KEYS.has(event.key)) return true;
|
|
16907
|
+
if (!CARET_KEYS.has(event.key) && !ACTIVATION_KEYS.has(event.key)) return false;
|
|
16908
|
+
return !isTextEntry(eventTarget(event));
|
|
16909
|
+
}
|
|
16910
|
+
/** A key that edits in a text field, but may also send focus out of it (Esc closing a dialog, Enter submitting). */
|
|
16911
|
+
function editingKeyInField(event) {
|
|
16912
|
+
if (event.metaKey || event.ctrlKey) return null;
|
|
16913
|
+
if (!CARET_KEYS.has(event.key) && !ACTIVATION_KEYS.has(event.key)) return null;
|
|
16914
|
+
const target = eventTarget(event);
|
|
16915
|
+
return isTextEntry(target) ? target : null;
|
|
16916
|
+
}
|
|
16917
|
+
/** The focused element may sit in a shadow root; the path's first entry is it. */
|
|
16918
|
+
function eventTarget(event) {
|
|
16919
|
+
return event.composedPath?.()[0] ?? event.target;
|
|
16920
|
+
}
|
|
16921
|
+
/**
|
|
16922
|
+
* A pointer event a screen reader synthesizes (VoiceOver, TalkBack, NVDA
|
|
16923
|
+
* activating an element): it has no real contact area. Same test as React
|
|
16924
|
+
* Aria's `isVirtualPointerEvent`.
|
|
16925
|
+
*/
|
|
16926
|
+
function isVirtualPointerEvent(event) {
|
|
16927
|
+
return event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "mouse";
|
|
16928
|
+
}
|
|
16929
|
+
/** How long after a key or a pointer press a focus move still counts as caused by it. */
|
|
16930
|
+
const CAUSE_WINDOW_MS = 1e3;
|
|
16931
|
+
const installations = /* @__PURE__ */ new WeakMap();
|
|
16932
|
+
/**
|
|
16933
|
+
* Track the input modality on `doc.documentElement` as
|
|
16934
|
+
* `data-input-modality="pointer" | "keyboard" | "virtual"`. Only `pointer`
|
|
16935
|
+
* hides focus rings, so every uncertain case keeps them visible:
|
|
16936
|
+
*
|
|
16937
|
+
* - **Unknown at first.** No attribute until there is evidence, so a keyboard
|
|
16938
|
+
* user who hasn't pressed Tab yet still sees focus moved by code. The first
|
|
16939
|
+
* real mouse movement or press makes it `pointer`.
|
|
16940
|
+
* - **Keyboard**: Tab and F6 anywhere; the arrows, Home, End, Page Up, Page
|
|
16941
|
+
* Down, Enter, Space and Esc outside a text field. Inside a text field those
|
|
16942
|
+
* keys edit and leave the modality alone, unless focus leaves the field
|
|
16943
|
+
* right after (Esc closing a dialog, Enter submitting): then it is
|
|
16944
|
+
* `keyboard`. Typing and Cmd or Ctrl shortcuts never count; a shortcut that
|
|
16945
|
+
* moves focus to a control is caught by the next rule.
|
|
16946
|
+
* - **Virtual**: focus that arrives with no key or pointer press just before
|
|
16947
|
+
* it (a screen reader's browse cursor, a timer), and a screen reader's
|
|
16948
|
+
* synthesized pointer press. Rings show.
|
|
16949
|
+
* - **Pointer**: a real pointer press, or real pointer movement while the
|
|
16950
|
+
* modality is still unknown or virtual.
|
|
16951
|
+
*
|
|
16952
|
+
* `ThemeProvider` calls this for you. Installing twice adds no second set of
|
|
16953
|
+
* listeners. Returns a function that undoes this installation; the listeners
|
|
16954
|
+
* and the attribute go once every installation is undone.
|
|
16955
|
+
*/
|
|
16956
|
+
function installInputModality(doc) {
|
|
16957
|
+
const target = doc ?? (typeof document === "undefined" ? void 0 : document);
|
|
16958
|
+
if (!target) return () => void 0;
|
|
16959
|
+
let installation = installations.get(target);
|
|
16960
|
+
if (!installation) {
|
|
16961
|
+
const root = target.documentElement;
|
|
16962
|
+
const current = () => root.getAttribute(INPUT_MODALITY_ATTRIBUTE);
|
|
16963
|
+
const set = (modality) => {
|
|
16964
|
+
if (current() !== modality) root.setAttribute(INPUT_MODALITY_ATTRIBUTE, modality);
|
|
16965
|
+
};
|
|
16966
|
+
const now = () => target.defaultView?.performance?.now() ?? Date.now();
|
|
16967
|
+
let lastInputAt = -Infinity;
|
|
16968
|
+
let editingIn = null;
|
|
16969
|
+
let editingAt = -Infinity;
|
|
16970
|
+
const onPointerDown = (event) => {
|
|
16971
|
+
lastInputAt = now();
|
|
16972
|
+
editingIn = null;
|
|
16973
|
+
set(isVirtualPointerEvent(event) ? "virtual" : "pointer");
|
|
16974
|
+
};
|
|
16975
|
+
const onPointerMove = (event) => {
|
|
16976
|
+
if (current() === "keyboard" || current() === "pointer") return;
|
|
16977
|
+
if (event.pointerType === "mouse" && !isVirtualPointerEvent(event)) set("pointer");
|
|
16978
|
+
};
|
|
16979
|
+
const onKeyDown = (event) => {
|
|
16980
|
+
if (event.key === "Shift" || event.key === "Control" || event.key === "Alt" || event.key === "Meta") return;
|
|
16981
|
+
lastInputAt = now();
|
|
16982
|
+
if (keyboardNavigates(event)) {
|
|
16983
|
+
editingIn = null;
|
|
16984
|
+
set("keyboard");
|
|
16985
|
+
return;
|
|
16986
|
+
}
|
|
16987
|
+
const field = editingKeyInField(event);
|
|
16988
|
+
if (field) {
|
|
16989
|
+
editingIn = field;
|
|
16990
|
+
editingAt = now();
|
|
16991
|
+
}
|
|
16992
|
+
};
|
|
16993
|
+
const onFocusIn = (event) => {
|
|
16994
|
+
const focused = eventTarget(event);
|
|
16995
|
+
if (editingIn && now() - editingAt < CAUSE_WINDOW_MS) {
|
|
16996
|
+
if (!focused || focused !== editingIn && !editingIn.contains(focused)) {
|
|
16997
|
+
editingIn = null;
|
|
16998
|
+
set("keyboard");
|
|
16999
|
+
return;
|
|
17000
|
+
}
|
|
17001
|
+
return;
|
|
17002
|
+
}
|
|
17003
|
+
if (now() - lastInputAt > CAUSE_WINDOW_MS) set("virtual");
|
|
17004
|
+
};
|
|
17005
|
+
const options = {
|
|
17006
|
+
capture: true,
|
|
17007
|
+
passive: true
|
|
17008
|
+
};
|
|
17009
|
+
target.addEventListener("pointerdown", onPointerDown, options);
|
|
17010
|
+
target.addEventListener("pointermove", onPointerMove, options);
|
|
17011
|
+
target.addEventListener("keydown", onKeyDown, options);
|
|
17012
|
+
target.addEventListener("focusin", onFocusIn, options);
|
|
17013
|
+
installation = {
|
|
17014
|
+
count: 0,
|
|
17015
|
+
remove: () => {
|
|
17016
|
+
target.removeEventListener("pointerdown", onPointerDown, options);
|
|
17017
|
+
target.removeEventListener("pointermove", onPointerMove, options);
|
|
17018
|
+
target.removeEventListener("keydown", onKeyDown, options);
|
|
17019
|
+
target.removeEventListener("focusin", onFocusIn, options);
|
|
17020
|
+
root.removeAttribute(INPUT_MODALITY_ATTRIBUTE);
|
|
17021
|
+
}
|
|
17022
|
+
};
|
|
17023
|
+
installations.set(target, installation);
|
|
17024
|
+
}
|
|
17025
|
+
installation.count += 1;
|
|
17026
|
+
let undone = false;
|
|
17027
|
+
const current = installation;
|
|
17028
|
+
return () => {
|
|
17029
|
+
if (undone) return;
|
|
17030
|
+
undone = true;
|
|
17031
|
+
current.count -= 1;
|
|
17032
|
+
if (current.count === 0) {
|
|
17033
|
+
current.remove();
|
|
17034
|
+
installations.delete(target);
|
|
17035
|
+
}
|
|
17036
|
+
};
|
|
17037
|
+
}
|
|
17038
|
+
//#endregion
|
|
16845
17039
|
//#region src/lib/theme/theme-provider.tsx
|
|
16846
17040
|
function readStoredMode(storageKey, fallback) {
|
|
16847
17041
|
if (typeof window === "undefined" || !storageKey) return fallback;
|
|
@@ -16883,6 +17077,7 @@ function ThemeProvider({ mode, defaultMode = "light", onModeChange, storageKey,
|
|
|
16883
17077
|
resolvedMode,
|
|
16884
17078
|
setMode
|
|
16885
17079
|
]);
|
|
17080
|
+
useEffect(() => syncDom ? installInputModality() : void 0, [syncDom]);
|
|
16886
17081
|
useEffect(() => {
|
|
16887
17082
|
if (!syncDom) return;
|
|
16888
17083
|
const root = document.documentElement;
|
|
@@ -16896,4 +17091,4 @@ function ThemeProvider({ mode, defaultMode = "light", onModeChange, storageKey,
|
|
|
16896
17091
|
});
|
|
16897
17092
|
}
|
|
16898
17093
|
//#endregion
|
|
16899
|
-
export { ActivityInboxControls, ActivityInboxLoadingMore, ActivityInboxPanel, ActivityInboxSelectionCount, ActivityInboxSelectionToolbar, ActivityInboxSidebar, ActivityInboxViewport, AlertDialog, AlertDialogAction, AlertDialogBody, AlertDialogCancel, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AppRailFooter, AppRailHeader, AppRailItem, AppRailItemAttention, AppRailItemBadge, AppRailItemIcon, AppRailItemIndicator, AppRailItemLabel, AppRailNav, AppRailRoot, AppShellMainSlot, AppShellOverlaySlot, AppShellPanelSlot, AppShellRailSlot, AppShellRoot, AppShellSidebarSlot, AppShellSidebarTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Banner, BannerAction, BannerDescription, BannerTitle, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardLeading, CardTitle, CardTrailing, ChatIcon, Checkbox, CheckboxIndicator, CodeBlock, CodeBlockAction, CodeBlockActions, CodeBlockBody, CodeBlockHeader, CodeBlockTitle, Combobox, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxContent, ComboboxControl, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxHeader, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxRow, ComboboxSeparator, ComboboxTrigger, ComboboxTriggerCount, ComboboxTriggerIndicator, ComboboxValue, Composer, ComposerActions, ComposerAttachment, ComposerAttachmentBody, ComposerAttachmentFailedOverlay, ComposerAttachmentFile, ComposerAttachmentImage, ComposerAttachmentMeta, ComposerAttachmentRemove, ComposerAttachmentTitle, ComposerAttachmentUploadProgressBar, ComposerAttachmentUploadingOverlay, ComposerAttachments, ComposerAttachmentsScrollArea, ComposerDropOverlay, ComposerDropOverlayLabel, ComposerDropOverlayPrompt, ComposerIconButton, ComposerInput, ComposerMeta, ComposerRoot, ComposerSubmit, ComposerSuggestionAside, ComposerSuggestionContent, ComposerSuggestionGroup, ComposerSuggestionGroupLabel, ComposerSuggestionIcon, ComposerSuggestionList, ComposerSuggestionMeta, ComposerSuggestionOption, ComposerSuggestionTitle, ComposerToolbar, ComposerToolbarLabel, ContextMenu, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuContent, ContextMenuFooter, ContextMenuItem, ContextMenuItemLabel, ContextMenuLabel, ContextMenuPopup, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSubmenu, ContextMenuSubmenuTrigger, ContextMenuTrigger, ConversationPanelBody, ConversationPanelContent, ConversationPanelEmptyState, ConversationPanelEmptyStateBrand, ConversationPanelEmptyStateBrandMark, ConversationPanelFooter, ConversationPanelRoot, ConversationPanelTabs, CopyableCode, CopyableCodeAction, CopyableCodeRoot, DescriptionDetails, DescriptionItem, DescriptionList, DescriptionTerm, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogNav, DialogOverlay, DialogPortal, DialogSurface, DialogTitle, DialogTrigger, DirectMessageIcon, Drawer, DrawerActions, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuCheckboxItemIndicator, DropdownMenuContent, DropdownMenuFooter, DropdownMenuItem, DropdownMenuItemCount, DropdownMenuItemLabel, DropdownMenuLabel, DropdownMenuPopup, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRadioItemIndicator, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSubmenu, DropdownMenuSubmenuTrigger, DropdownMenuTrigger, EmptyState, EmptyStateActions, EmptyStateContent, EmptyStateDescription, EmptyStateIcon, EmptyStateTitle, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileAction, FileActions, FileContent, FileImage, FileMeta, FileMetaItem, FileName, FilePreview, FilePreviewBadge, FilePreviewCode, FilePreviewDocument, FilePreviewFile, FilePreviewMedia, FileRow, FileRowOpen, FileThumbnail, FilesList, FilesPanel, FilesViewport, FloatButton, FloatButtonGroup, FormSection, IconTile, InboxItem, InboxItemActions, InboxItemBody, InboxItemContent, InboxItemContext, InboxItemHeading, InboxItemHoverTarget, InboxItemLeading, InboxItemMarks, InboxItemMessage, InboxItemMetadata, InboxItemSelection, InboxItemSender, InboxItemSubtitle, InboxItemTimestamp, InboxItemTitle, InboxItemTrailing, InboxItemTrigger, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupInput, Kbd, KbdGroup, Label, LabelAsterisk, LabelOptional, LabelSub, LegacyTaskPanelActions, LegacyTaskPanelBody, LegacyTaskPanelField, LegacyTaskPanelFieldLabel, LegacyTaskPanelFieldText, LegacyTaskPanelFieldTitle, LegacyTaskPanelHeader, LegacyTaskPanelIcon, LegacyTaskPanelMeta, LegacyTaskPanelMetaLabel, LegacyTaskPanelMetaRow, LegacyTaskPanelMetaValue, LegacyTaskPanelRoot, LegacyTaskPanelSection, LegacyTaskPanelStatus, LegacyTaskPanelTitle, LegacyTaskPanelTitleMeta, Lightbox, LightboxActions, LightboxClose, LightboxContent, LightboxHeader, LightboxHeaderLabel, LightboxHeaderMeta, LightboxInfoActions, LightboxInfoBar, LightboxInfoDock, LightboxInfoTitle, LightboxMedia, LightboxNavigationButton, LightboxPortal, LightboxStage, LightboxThumbnail, LightboxThumbnailStrip, LightboxTitle, LightboxToolbar, LightboxTrigger, ListRow, ListRowBody, ListRowBottom, ListRowChevron, ListRowDescription, ListRowGroup, ListRowIcon, ListRowMeta, ListRowTitle, ListRowTop, ListRowValue, LiveAgentActivityBar, LiveAgentActivityBarAvatar, LiveAgentActivityBarContent, LiveAgentActivityBarRow, LiveAgentActivityBarStatus, LiveAgentActivityBarText, MarkdownBlockquote, MarkdownCell, MarkdownCheckbox, MarkdownHeaderCell, MarkdownHeading, MarkdownImage, MarkdownInlineCode, MarkdownLink, MarkdownList, MarkdownListItem, MarkdownMark, MarkdownOrderedList, MarkdownParagraph, MarkdownRule, MarkdownTable, MarkdownTableRow, MarkdownTableScroll, MessageActionCard, MessageActionCardActions, MessageActionCardActionsNote, MessageActionCardCollapseTrigger, MessageActionCardCompletion, MessageActionCardContent, MessageActionCardHeader, MessageActionCardHeaderDescription, MessageActionCardHeaderIcon, MessageActionCardHeaderStatus, MessageActionCardHeaderTitle, MessageActionCardHint, MessageActionCardHintLabel, MessageActionCardNotice, MessageActionCardProperties, MessageActionCardProperty, MessageActionCardPropertyLabel, MessageActionCardPropertyValue, MessageActionCardScope, MessageActionCardScopeDescription, MessageActionCardScopeList, MessageActionCardScopeListLabel, MessageActionCardScopeListViewport, MessageActionCardScopeName, MessageActionCardStatus, MessageAttachmentAction, MessageAttachmentCard, MessageAttachmentCommentSummary, MessageAttachmentDiffAddition, MessageAttachmentDiffDeletion, MessageAttachmentDiffSummary, MessageAttachmentGroup, MessageAttachmentMeta, MessageAttachmentMetaEnd, MessageAttachmentMetaStart, MessageAttachmentSummary, MessageAttachmentTitle, MessageEmbed, MessageEmbedContent, MessageEmbedFooter, MessageEmbedHeader, MessageForwardedBundle, MessageForwardedBundleAttachment, MessageForwardedBundleAttachmentMeta, MessageForwardedBundleAttachmentName, MessageForwardedBundleAttachments, MessageForwardedBundleFooter, MessageForwardedBundleFooterAction, MessageForwardedBundleGallery, MessageForwardedBundleGalleryTile, MessageForwardedBundleHeader, MessageForwardedBundleHeaderContent, MessageForwardedBundleHeaderCount, MessageForwardedBundleHeaderLabel, MessageForwardedBundleItem, MessageForwardedBundleItemAuthor, MessageForwardedBundleItemContent, MessageForwardedBundleItemMeta, MessageForwardedBundleItems, MessageForwardedBundleSource, MessageForwardedBundleSourceLabel, MessageIcon, MessageImageGallery, MessageImageGalleryAction, MessageImageGalleryItem, MessageImageGalleryMedia, MessageImageGalleryOverlay, MessageImageGalleryPreview, MessageImageGalleryRow, MessageItem, MessageItemAttachments, MessageItemAvatarSlot, MessageItemBadge, MessageItemBadgeSeparator, MessageItemBody, MessageItemContent, MessageItemContinuationTime, MessageItemEmbedded, MessageItemFooter, MessageItemGutter, MessageItemHeader, MessageItemInlineStatus, MessageItemMeta, MessageItemReadReceipt, MessageItemSavedIndicator, MessageItemSearchMatch, MessageItemSender, MessageItemSenderBadges, MessageItemSenderButton, MessageItemTime, MessageItemToolbar, MessageItemToolbarButton, MessageItemTranslationAction, MessageItemTranslationFailedStatus, MessageItemTranslationOriginal, MessageItemTranslationOriginalLabel, MessageItemTranslationProgressTrack, MessageItemTranslationRetryAction, MessageItemTranslationStatus, MessageList, MessageListDateDivider, MessageListHistoryLimited, MessageListNotice, MessageMultiSelect, MessageMultiSelectCheckbox, MessageMultiSelectToolbar, MessageQuotedPreview, MessageQuotedPreviewAttachment, MessageQuotedPreviewAttachments, MessageQuotedPreviewAuthor, MessageQuotedPreviewAuthorMeta, MessageQuotedPreviewAuthorName, MessageQuotedPreviewChannel, MessageQuotedPreviewContent, MessageQuotedPreviewHeader, MessageQuotedPreviewLoading, MessageQuotedPreviewText, MessageQuotedPreviewThread, MessageQuotedPreviewTimestamp, MessageQuotedPreviewUnavailable, MessageReactionAddButton, MessageReactionChip, MessageReactionCount, MessageReactionErrorIndicator, MessageReactionGlyph, MessageReactionPickerContent, MessageReactionPickerStatic, MessageReactionQuickButton, MessageReactionQuickRow, MessageReactionTooltipContent, MessageReactionTooltipMeta, MessageReactionTooltipName, MessageReactionTooltipNameText, MessageReactionTooltipNames, MessageReactionTooltipSeparator, MessageReferenceChip, MessageReferenceIndicator, MessageReferenceLabel, MessageReferencePending, MessageReferenceText, MessageReferenceUnavailable, MessageReplies, MessageRepliesItem, MessageRepliesItemContent, MessageRepliesItemSender, MessageRepliesItemTime, MessageRepliesSummary, MessageRepliesSummaryItem, MessageTextSelectionToolbar, MessageTextSelectionToolbarButton, MessageTextSelectionToolbarSeparator, MessageVideoPreview, MessageVideoPreviewAction, MessageVideoPreviewFailureAction, MessageVideoPreviewFailureContent, MessageVideoPreviewFailureIcon, MessageVideoPreviewFailureTitle, MessageVideoPreviewFallback, MessageVideoPreviewMedia, MobileNavItem, MobileNavLabel, MobileNavRoot, NotificationCenter, NotificationCenterActionButton, NotificationCenterCount, NotificationCenterEmptyState, NotificationCenterHeader, NotificationCenterItem, NotificationCenterItemActions, NotificationCenterItemBody, NotificationCenterItemContent, NotificationCenterItemIcon, NotificationCenterItemRow, NotificationCenterItemTitle, NotificationCenterList, NotificationCenterPopup, NotificationCenterScroller, NotificationCenterTitle, NotificationCenterTrigger, OtterIndicator, Panel, PanelAction, PanelActions, PanelActivity, PanelBody, PanelFooter, PanelHeader, PanelHeaderContent, PanelHeaderIcon, PanelHeaderRoot, PanelHeading, PanelMeta, PanelNotice, PanelNoticeActions, PanelNoticeContent, PanelScrollContent, PanelScrollViewport, PanelSection, PanelSectionHeader, PanelStatus, PanelTitle, PanelToggleAction, PickerTriggerButton, Popover, PopoverArrow, PopoverBackdrop, PopoverClose, PopoverContent, PopoverDescription, PopoverHeader, PopoverPopup, PopoverPortal, PopoverSeparator, PopoverTitle, PopoverTrigger, PopoverViewport, PreviewCard, PreviewCardArrow, PreviewCardContent, PreviewCardDescription, PreviewCardHeader, PreviewCardPopup, PreviewCardPortal, PreviewCardSeparator, PreviewCardTitle, PreviewCardTrigger, ProfilePanel, ProfilePanelBody, ProfilePanelHeader, ProfilePanelHeaderContent, ProfilePanelSection, Progress, ProgressHeader, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RadioGroup, RadioGroupIndicator, RadioGroupItem, RaftLogo, RaftLogoLockup, RaftWordmark, ResizableGroup, ResizableHandle, ResizablePanel, SINGLE_IMAGE_MAX_HEIGHT, SINGLE_IMAGE_MAX_WIDTH, ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaViewport, SearchEntityResult, SearchEntityResultActivity, SearchEntityResultContent, SearchEntityResultDescription, SearchEntityResultHeader, SearchEntityResultIcon, SearchEntityResultLeading, SearchEntityResultTitle, SearchMessageResult, SearchMessageResultBody, SearchMessageResultHeader, SearchMessageResultMatch, SearchMessageResultMeta, SearchMessageResultSender, SearchMessageResultThreadMeta, SearchMessageResultTimestamp, SearchResultsList, SearchResultsSection, SearchResultsSectionHeading, SearchResultsSummary, SearchShellFilters, SearchShellRoot, SearchShellViewport, SearchThreadMessageResult, SearchThreadResult, SearchThreadResultHeader, SearchThreadResultMessages, SearchThreadResultMeta, SearchThreadResultTimestamp, SearchThreadResultTitle, SearchTrigger, SearchTriggerLabel, SearchTriggerShortcut, SegmentedControl, SegmentedControlCount, SegmentedControlItem, SegmentedControlLabel, Select, SelectArrow, SelectContent, SelectGroup, SelectGroupLabel, SelectIcon, SelectItem, SelectItemDescription, SelectItemIndicator, SelectItemLeading, SelectItemText, SelectLabel, SelectList, SelectPopup, SelectPortal, SelectScrollDownArrow, SelectScrollUpArrow, SelectSeparator, SelectTrigger, SelectValue, Separator, SidebarBody, SidebarContent, SidebarControl, SidebarGroupLabel, SidebarHeader, SidebarHeaderTitle, SidebarItem, SidebarItemAside, SidebarItemChannelIcon, SidebarItemContent, SidebarItemCount, SidebarItemCountSeparator, SidebarItemIcon, SidebarItemIndicator, SidebarItemMeta, SidebarItemMetaIcon, SidebarItemStatus, SidebarItemSubtitle, SidebarItemThreadCount, SidebarItemTitle, SidebarList, SidebarLiveActivity, SidebarMenu, SidebarMenuAside, SidebarMenuCount, SidebarMenuIcon, SidebarMenuTitle, SidebarRoot, SidebarSection, SidebarSectionAttention, SidebarSectionChevron, SidebarSectionControl, SidebarSectionControls, SidebarSectionCount, SidebarSectionDisclosure, SidebarSectionEmpty, SidebarSectionHeader, SidebarSectionTitle, SidebarSectionTrailing, Skeleton, SortableComposerAttachment, SortableComposerAttachments, SortableComposerAttachmentsScroll, SortableTabsList, SortableTabsTab, Spinner, Status, Step, Steps, Switch, SwitchThumb, SystemMessage, SystemMessageContent, SystemMessageGroup, SystemMessageGroupChevron, SystemMessageGroupDisclosure, SystemMessageGroupHeader, SystemMessageGroupPanel, SystemMessageGroupSummary, SystemMessageTime, TASK_STATUS_IDS, Table, TableBody, TableCaption, TableCell, TableColgroup, TableColumn, TableHead, TableHeader, TableRow, Tabs, TabsLabel, TabsList, TabsPanel, TabsTab, TaskBoardColumn, TaskBoardColumnBadge, TaskBoardColumnChevron, TaskBoardColumnCount, TaskBoardColumnEmpty, TaskBoardColumnEmptyAllowed, TaskBoardColumnEmptyBlocked, TaskBoardColumnEmptyIdle, TaskBoardColumnHeading, TaskBoardColumnItems, TaskBoardColumnPanel, TaskBoardColumnTrigger, TaskBoardRoot, TaskCard, TaskCardBody, TaskCardChannel, TaskCardDescription, TaskCardLegacy, TaskCardMeta, TaskCardNumber, TaskCardRow, TaskCardStatus, TaskCardTitle, TaskChip, TaskClosedIcon, TaskDndProvider, TaskDoneIcon, TaskDragOverlay, TaskDraggable, TaskDropPlaceholder, TaskDropZone, TaskInProgressIcon, TaskInReviewIcon, TaskListRoot, TaskLoadingList, TaskLoadingRow, TaskSection, TaskSectionBadge, TaskSectionChevron, TaskSectionCount, TaskSectionEmpty, TaskSectionHeading, TaskSectionItems, TaskSectionPanel, TaskSectionTrigger, TaskStatusBadge, TaskStatusIcon, TaskTodoIcon, TasksPanelEmpty, TasksPanelRoot, TasksPanelToolbar, TasksPanelToolbarFilters, TasksPanelToolbarGroup, TasksPanelToolbarLabel, TasksPanelToolbarNewTask, TasksPanelToolbarView, TasksPanelViewport, Text, TextHeading, TextLink, TextMono, TextSans, Textarea, TextareaCounter, TextareaGroup, ThemeProvider, ThreadIcon, ThreadPanelActions, ThreadPanelBody, ThreadPanelContent, ThreadPanelFooter, ThreadPanelHeader, ThreadPanelOriginalMessage, ThreadPanelReplyCount, ThreadPanelReplySummary, ThreadPanelRoot, ThreadPanelSearch, ThreadPanelSearchCount, ThreadPanelSearchTrailing, ThreadPanelTitle, ThreadPanelTitleMeta, Timeline, TimelineContent, TimelineItem, TimelineTime, TimelineTitle, ToastAction, ToastActions, ToastArrow, ToastBody, ToastClose, ToastContent, ToastDescription, ToastIcon, ToastPortal, ToastPositioner, ToastProgress, ToastProvider, ToastRoot, ToastTitle, ToastViewport, ToggleGroup, ToggleGroupItem, ToggleGroupLabel, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, buildMessageImageGalleryRows, buttonVariants, classifyMessageImageAspect, cn, createMessageTextSelectionAnchor, createToastManager, getTextSelectionFocusRect, taskStatusSoft, taskStatusStrong, textLinkVariants, toast, useComposerSuggestions, useOrderedTabs, useTheme, useToastManager };
|
|
17094
|
+
export { ActivityInboxControls, ActivityInboxLoadingMore, ActivityInboxPanel, ActivityInboxSelectionCount, ActivityInboxSelectionToolbar, ActivityInboxSidebar, ActivityInboxViewport, AlertDialog, AlertDialogAction, AlertDialogBody, AlertDialogCancel, AlertDialogClose, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AppRailFooter, AppRailHeader, AppRailItem, AppRailItemAttention, AppRailItemBadge, AppRailItemIcon, AppRailItemIndicator, AppRailItemLabel, AppRailNav, AppRailRoot, AppShellMainSlot, AppShellOverlaySlot, AppShellPanelSlot, AppShellRailSlot, AppShellRoot, AppShellSidebarSlot, AppShellSidebarTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Banner, BannerAction, BannerDescription, BannerTitle, Button, Card, CardContent, CardDescription, CardFooter, CardHeader, CardLeading, CardTitle, CardTrailing, ChatIcon, Checkbox, CheckboxIndicator, CodeBlock, CodeBlockAction, CodeBlockActions, CodeBlockBody, CodeBlockHeader, CodeBlockTitle, Combobox, ComboboxChip, ComboboxChipRemove, ComboboxChips, ComboboxClear, ComboboxCollection, ComboboxContent, ComboboxControl, ComboboxEmpty, ComboboxGroup, ComboboxGroupLabel, ComboboxHeader, ComboboxInput, ComboboxInputGroup, ComboboxItem, ComboboxItemIndicator, ComboboxLabel, ComboboxList, ComboboxPopup, ComboboxPortal, ComboboxRow, ComboboxSeparator, ComboboxTrigger, ComboboxTriggerCount, ComboboxTriggerIndicator, ComboboxValue, Composer, ComposerActions, ComposerAttachment, ComposerAttachmentBody, ComposerAttachmentFailedOverlay, ComposerAttachmentFile, ComposerAttachmentImage, ComposerAttachmentMeta, ComposerAttachmentRemove, ComposerAttachmentTitle, ComposerAttachmentUploadProgressBar, ComposerAttachmentUploadingOverlay, ComposerAttachments, ComposerAttachmentsScrollArea, ComposerDropOverlay, ComposerDropOverlayLabel, ComposerDropOverlayPrompt, ComposerIconButton, ComposerInput, ComposerMeta, ComposerRoot, ComposerSubmit, ComposerSuggestionAside, ComposerSuggestionContent, ComposerSuggestionGroup, ComposerSuggestionGroupLabel, ComposerSuggestionIcon, ComposerSuggestionList, ComposerSuggestionMeta, ComposerSuggestionOption, ComposerSuggestionTitle, ComposerToolbar, ComposerToolbarLabel, ContextMenu, ContextMenuCheckboxItem, ContextMenuCheckboxItemIndicator, ContextMenuContent, ContextMenuFooter, ContextMenuItem, ContextMenuItemLabel, ContextMenuLabel, ContextMenuPopup, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuRadioItemIndicator, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSubmenu, ContextMenuSubmenuTrigger, ContextMenuTrigger, ConversationPanelBody, ConversationPanelContent, ConversationPanelEmptyState, ConversationPanelEmptyStateBrand, ConversationPanelEmptyStateBrandMark, ConversationPanelFooter, ConversationPanelRoot, ConversationPanelTabs, CopyableCode, CopyableCodeAction, CopyableCodeRoot, DescriptionDetails, DescriptionItem, DescriptionList, DescriptionTerm, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogNav, DialogOverlay, DialogPortal, DialogSurface, DialogTitle, DialogTrigger, DirectMessageIcon, Drawer, DrawerActions, DrawerBody, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuCheckboxItemIndicator, DropdownMenuContent, DropdownMenuFooter, DropdownMenuItem, DropdownMenuItemCount, DropdownMenuItemLabel, DropdownMenuLabel, DropdownMenuPopup, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuRadioItemIndicator, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSubmenu, DropdownMenuSubmenuTrigger, DropdownMenuTrigger, EmptyState, EmptyStateActions, EmptyStateContent, EmptyStateDescription, EmptyStateIcon, EmptyStateTitle, Field, FieldControl, FieldDescription, FieldError, FieldItem, FieldLabel, FieldValidity, FileAction, FileActions, FileContent, FileImage, FileMeta, FileMetaItem, FileName, FilePreview, FilePreviewBadge, FilePreviewCode, FilePreviewDocument, FilePreviewFile, FilePreviewMedia, FileRow, FileRowOpen, FileThumbnail, FilesList, FilesPanel, FilesViewport, FloatButton, FloatButtonGroup, FormSection, IconTile, InboxItem, InboxItemActions, InboxItemBody, InboxItemContent, InboxItemContext, InboxItemHeading, InboxItemHoverTarget, InboxItemLeading, InboxItemMarks, InboxItemMessage, InboxItemMetadata, InboxItemSelection, InboxItemSender, InboxItemSubtitle, InboxItemTimestamp, InboxItemTitle, InboxItemTrailing, InboxItemTrigger, InlineCode, Input, InputGroup, InputGroupAddon, InputGroupInput, Kbd, KbdGroup, Label, LabelAsterisk, LabelOptional, LabelSub, LegacyTaskPanelActions, LegacyTaskPanelBody, LegacyTaskPanelField, LegacyTaskPanelFieldLabel, LegacyTaskPanelFieldText, LegacyTaskPanelFieldTitle, LegacyTaskPanelHeader, LegacyTaskPanelIcon, LegacyTaskPanelMeta, LegacyTaskPanelMetaLabel, LegacyTaskPanelMetaRow, LegacyTaskPanelMetaValue, LegacyTaskPanelRoot, LegacyTaskPanelSection, LegacyTaskPanelStatus, LegacyTaskPanelTitle, LegacyTaskPanelTitleMeta, Lightbox, LightboxActions, LightboxClose, LightboxContent, LightboxHeader, LightboxHeaderLabel, LightboxHeaderMeta, LightboxInfoActions, LightboxInfoBar, LightboxInfoDock, LightboxInfoTitle, LightboxMedia, LightboxNavigationButton, LightboxPortal, LightboxStage, LightboxThumbnail, LightboxThumbnailStrip, LightboxTitle, LightboxToolbar, LightboxTrigger, ListRow, ListRowBody, ListRowBottom, ListRowChevron, ListRowDescription, ListRowGroup, ListRowIcon, ListRowMeta, ListRowTitle, ListRowTop, ListRowValue, LiveAgentActivityBar, LiveAgentActivityBarAvatar, LiveAgentActivityBarContent, LiveAgentActivityBarRow, LiveAgentActivityBarStatus, LiveAgentActivityBarText, MarkdownBlockquote, MarkdownCell, MarkdownCheckbox, MarkdownHeaderCell, MarkdownHeading, MarkdownImage, MarkdownInlineCode, MarkdownLink, MarkdownList, MarkdownListItem, MarkdownMark, MarkdownOrderedList, MarkdownParagraph, MarkdownRule, MarkdownTable, MarkdownTableRow, MarkdownTableScroll, MessageActionCard, MessageActionCardActions, MessageActionCardActionsNote, MessageActionCardCollapseTrigger, MessageActionCardCompletion, MessageActionCardContent, MessageActionCardHeader, MessageActionCardHeaderDescription, MessageActionCardHeaderIcon, MessageActionCardHeaderStatus, MessageActionCardHeaderTitle, MessageActionCardHint, MessageActionCardHintLabel, MessageActionCardNotice, MessageActionCardProperties, MessageActionCardProperty, MessageActionCardPropertyLabel, MessageActionCardPropertyValue, MessageActionCardScope, MessageActionCardScopeDescription, MessageActionCardScopeList, MessageActionCardScopeListLabel, MessageActionCardScopeListViewport, MessageActionCardScopeName, MessageActionCardStatus, MessageAttachmentAction, MessageAttachmentCard, MessageAttachmentCommentSummary, MessageAttachmentDiffAddition, MessageAttachmentDiffDeletion, MessageAttachmentDiffSummary, MessageAttachmentGroup, MessageAttachmentMeta, MessageAttachmentMetaEnd, MessageAttachmentMetaStart, MessageAttachmentSummary, MessageAttachmentTitle, MessageEmbed, MessageEmbedContent, MessageEmbedFooter, MessageEmbedHeader, MessageForwardedBundle, MessageForwardedBundleAttachment, MessageForwardedBundleAttachmentMeta, MessageForwardedBundleAttachmentName, MessageForwardedBundleAttachments, MessageForwardedBundleFooter, MessageForwardedBundleFooterAction, MessageForwardedBundleGallery, MessageForwardedBundleGalleryTile, MessageForwardedBundleHeader, MessageForwardedBundleHeaderContent, MessageForwardedBundleHeaderCount, MessageForwardedBundleHeaderLabel, MessageForwardedBundleItem, MessageForwardedBundleItemAuthor, MessageForwardedBundleItemContent, MessageForwardedBundleItemMeta, MessageForwardedBundleItems, MessageForwardedBundleSource, MessageForwardedBundleSourceLabel, MessageIcon, MessageImageGallery, MessageImageGalleryAction, MessageImageGalleryItem, MessageImageGalleryMedia, MessageImageGalleryOverlay, MessageImageGalleryPreview, MessageImageGalleryRow, MessageItem, MessageItemAttachments, MessageItemAvatarSlot, MessageItemBadge, MessageItemBadgeSeparator, MessageItemBody, MessageItemContent, MessageItemContinuationTime, MessageItemEmbedded, MessageItemFooter, MessageItemGutter, MessageItemHeader, MessageItemInlineStatus, MessageItemMeta, MessageItemReadReceipt, MessageItemSavedIndicator, MessageItemSearchMatch, MessageItemSender, MessageItemSenderBadges, MessageItemSenderButton, MessageItemTime, MessageItemToolbar, MessageItemToolbarButton, MessageItemTranslationAction, MessageItemTranslationFailedStatus, MessageItemTranslationOriginal, MessageItemTranslationOriginalLabel, MessageItemTranslationProgressTrack, MessageItemTranslationRetryAction, MessageItemTranslationStatus, MessageList, MessageListDateDivider, MessageListHistoryLimited, MessageListNotice, MessageMultiSelect, MessageMultiSelectCheckbox, MessageMultiSelectToolbar, MessageQuotedPreview, MessageQuotedPreviewAttachment, MessageQuotedPreviewAttachments, MessageQuotedPreviewAuthor, MessageQuotedPreviewAuthorMeta, MessageQuotedPreviewAuthorName, MessageQuotedPreviewChannel, MessageQuotedPreviewContent, MessageQuotedPreviewHeader, MessageQuotedPreviewLoading, MessageQuotedPreviewText, MessageQuotedPreviewThread, MessageQuotedPreviewTimestamp, MessageQuotedPreviewUnavailable, MessageReactionAddButton, MessageReactionChip, MessageReactionCount, MessageReactionErrorIndicator, MessageReactionGlyph, MessageReactionPickerContent, MessageReactionPickerStatic, MessageReactionQuickButton, MessageReactionQuickRow, MessageReactionTooltipContent, MessageReactionTooltipMeta, MessageReactionTooltipName, MessageReactionTooltipNameText, MessageReactionTooltipNames, MessageReactionTooltipSeparator, MessageReferenceChip, MessageReferenceIndicator, MessageReferenceLabel, MessageReferencePending, MessageReferenceText, MessageReferenceUnavailable, MessageReplies, MessageRepliesItem, MessageRepliesItemContent, MessageRepliesItemSender, MessageRepliesItemTime, MessageRepliesSummary, MessageRepliesSummaryItem, MessageTextSelectionToolbar, MessageTextSelectionToolbarButton, MessageTextSelectionToolbarSeparator, MessageVideoPreview, MessageVideoPreviewAction, MessageVideoPreviewFailureAction, MessageVideoPreviewFailureContent, MessageVideoPreviewFailureIcon, MessageVideoPreviewFailureTitle, MessageVideoPreviewFallback, MessageVideoPreviewMedia, MobileNavItem, MobileNavLabel, MobileNavRoot, NotificationCenter, NotificationCenterActionButton, NotificationCenterCount, NotificationCenterEmptyState, NotificationCenterHeader, NotificationCenterItem, NotificationCenterItemActions, NotificationCenterItemBody, NotificationCenterItemContent, NotificationCenterItemIcon, NotificationCenterItemRow, NotificationCenterItemTitle, NotificationCenterList, NotificationCenterPopup, NotificationCenterScroller, NotificationCenterTitle, NotificationCenterTrigger, OtterIndicator, Panel, PanelAction, PanelActions, PanelActivity, PanelBody, PanelFooter, PanelHeader, PanelHeaderContent, PanelHeaderIcon, PanelHeaderRoot, PanelHeading, PanelMeta, PanelNotice, PanelNoticeActions, PanelNoticeContent, PanelScrollContent, PanelScrollViewport, PanelSection, PanelSectionHeader, PanelStatus, PanelTitle, PanelToggleAction, PickerTriggerButton, Popover, PopoverArrow, PopoverBackdrop, PopoverClose, PopoverContent, PopoverDescription, PopoverHeader, PopoverPopup, PopoverPortal, PopoverSeparator, PopoverTitle, PopoverTrigger, PopoverViewport, PreviewCard, PreviewCardArrow, PreviewCardContent, PreviewCardDescription, PreviewCardHeader, PreviewCardPopup, PreviewCardPortal, PreviewCardSeparator, PreviewCardTitle, PreviewCardTrigger, ProfilePanel, ProfilePanelBody, ProfilePanelHeader, ProfilePanelHeaderContent, ProfilePanelSection, Progress, ProgressHeader, ProgressIndicator, ProgressLabel, ProgressTrack, ProgressValue, RadioGroup, RadioGroupIndicator, RadioGroupItem, RaftLogo, RaftLogoLockup, RaftWordmark, ResizableGroup, ResizableHandle, ResizablePanel, SINGLE_IMAGE_MAX_HEIGHT, SINGLE_IMAGE_MAX_WIDTH, ScrollArea, ScrollAreaContent, ScrollAreaCorner, ScrollAreaScrollbar, ScrollAreaThumb, ScrollAreaViewport, SearchEntityResult, SearchEntityResultActivity, SearchEntityResultContent, SearchEntityResultDescription, SearchEntityResultHeader, SearchEntityResultIcon, SearchEntityResultLeading, SearchEntityResultTitle, SearchMessageResult, SearchMessageResultBody, SearchMessageResultHeader, SearchMessageResultMatch, SearchMessageResultMeta, SearchMessageResultSender, SearchMessageResultThreadMeta, SearchMessageResultTimestamp, SearchResultsList, SearchResultsSection, SearchResultsSectionHeading, SearchResultsSummary, SearchShellFilters, SearchShellRoot, SearchShellViewport, SearchThreadMessageResult, SearchThreadResult, SearchThreadResultHeader, SearchThreadResultMessages, SearchThreadResultMeta, SearchThreadResultTimestamp, SearchThreadResultTitle, SearchTrigger, SearchTriggerLabel, SearchTriggerShortcut, SegmentedControl, SegmentedControlCount, SegmentedControlItem, SegmentedControlLabel, Select, SelectArrow, SelectContent, SelectGroup, SelectGroupLabel, SelectIcon, SelectItem, SelectItemDescription, SelectItemIndicator, SelectItemLeading, SelectItemText, SelectLabel, SelectList, SelectPopup, SelectPortal, SelectScrollDownArrow, SelectScrollUpArrow, SelectSeparator, SelectTrigger, SelectValue, Separator, SidebarBody, SidebarContent, SidebarControl, SidebarGroupLabel, SidebarHeader, SidebarHeaderTitle, SidebarItem, SidebarItemAside, SidebarItemChannelIcon, SidebarItemContent, SidebarItemCount, SidebarItemCountSeparator, SidebarItemIcon, SidebarItemIndicator, SidebarItemMeta, SidebarItemMetaIcon, SidebarItemStatus, SidebarItemSubtitle, SidebarItemThreadCount, SidebarItemTitle, SidebarList, SidebarLiveActivity, SidebarMenu, SidebarMenuAside, SidebarMenuCount, SidebarMenuIcon, SidebarMenuTitle, SidebarRoot, SidebarSection, SidebarSectionAttention, SidebarSectionChevron, SidebarSectionControl, SidebarSectionControls, SidebarSectionCount, SidebarSectionDisclosure, SidebarSectionEmpty, SidebarSectionHeader, SidebarSectionTitle, SidebarSectionTrailing, Skeleton, SortableComposerAttachment, SortableComposerAttachments, SortableComposerAttachmentsScroll, SortableTabsList, SortableTabsTab, Spinner, Status, Step, Steps, Switch, SwitchThumb, SystemMessage, SystemMessageContent, SystemMessageGroup, SystemMessageGroupChevron, SystemMessageGroupDisclosure, SystemMessageGroupHeader, SystemMessageGroupPanel, SystemMessageGroupSummary, SystemMessageTime, TASK_STATUS_IDS, Table, TableBody, TableCaption, TableCell, TableColgroup, TableColumn, TableHead, TableHeader, TableRow, Tabs, TabsLabel, TabsList, TabsPanel, TabsTab, TaskBoardColumn, TaskBoardColumnBadge, TaskBoardColumnChevron, TaskBoardColumnCount, TaskBoardColumnEmpty, TaskBoardColumnEmptyAllowed, TaskBoardColumnEmptyBlocked, TaskBoardColumnEmptyIdle, TaskBoardColumnHeading, TaskBoardColumnItems, TaskBoardColumnPanel, TaskBoardColumnTrigger, TaskBoardRoot, TaskCard, TaskCardBody, TaskCardChannel, TaskCardDescription, TaskCardLegacy, TaskCardMeta, TaskCardNumber, TaskCardRow, TaskCardStatus, TaskCardTitle, TaskChip, TaskClosedIcon, TaskDndProvider, TaskDoneIcon, TaskDragOverlay, TaskDraggable, TaskDropPlaceholder, TaskDropZone, TaskInProgressIcon, TaskInReviewIcon, TaskListRoot, TaskLoadingList, TaskLoadingRow, TaskSection, TaskSectionBadge, TaskSectionChevron, TaskSectionCount, TaskSectionEmpty, TaskSectionHeading, TaskSectionItems, TaskSectionPanel, TaskSectionTrigger, TaskStatusBadge, TaskStatusIcon, TaskTodoIcon, TasksPanelEmpty, TasksPanelRoot, TasksPanelToolbar, TasksPanelToolbarFilters, TasksPanelToolbarGroup, TasksPanelToolbarLabel, TasksPanelToolbarNewTask, TasksPanelToolbarView, TasksPanelViewport, Text, TextHeading, TextLink, TextMono, TextSans, Textarea, TextareaCounter, TextareaGroup, ThemeProvider, ThreadIcon, ThreadPanelActions, ThreadPanelBody, ThreadPanelContent, ThreadPanelFooter, ThreadPanelHeader, ThreadPanelOriginalMessage, ThreadPanelReplyCount, ThreadPanelReplySummary, ThreadPanelRoot, ThreadPanelSearch, ThreadPanelSearchCount, ThreadPanelSearchTrailing, ThreadPanelTitle, ThreadPanelTitleMeta, Timeline, TimelineContent, TimelineItem, TimelineTime, TimelineTitle, ToastAction, ToastActions, ToastArrow, ToastBody, ToastClose, ToastContent, ToastDescription, ToastIcon, ToastPortal, ToastPositioner, ToastProgress, ToastProvider, ToastRoot, ToastTitle, ToastViewport, ToggleGroup, ToggleGroupItem, ToggleGroupLabel, Tooltip, TooltipContent, TooltipPortal, TooltipProvider, TooltipTrigger, buildMessageImageGalleryRows, buttonVariants, classifyMessageImageAspect, cn, createMessageTextSelectionAnchor, createToastManager, getTextSelectionFocusRect, installInputModality, taskStatusSoft, taskStatusStrong, textLinkVariants, toast, useComposerSuggestions, useOrderedTabs, useTheme, useToastManager };
|
package/dist/style.css
CHANGED
|
@@ -148,7 +148,7 @@
|
|
|
148
148
|
transform: var(--r-float-button-transform-active);
|
|
149
149
|
}
|
|
150
150
|
|
|
151
|
-
&:focus-visible {
|
|
151
|
+
&:focus-visible:not(:where(:root[data-input-modality="pointer"] *)) {
|
|
152
152
|
outline: var(--r-float-button-outline);
|
|
153
153
|
outline-offset: var(--r-float-button-outline-offset);
|
|
154
154
|
}
|
|
@@ -705,7 +705,7 @@
|
|
|
705
705
|
outline: none;
|
|
706
706
|
}
|
|
707
707
|
|
|
708
|
-
&:focus-visible:after {
|
|
708
|
+
&:focus-visible:not(:where(:root[data-input-modality="pointer"] *)):after {
|
|
709
709
|
outline: var(--r-steps-focus-outline);
|
|
710
710
|
}
|
|
711
711
|
|
|
@@ -1016,7 +1016,6 @@
|
|
|
1016
1016
|
min-width: 0;
|
|
1017
1017
|
min-height: 44px;
|
|
1018
1018
|
color: var(--foreground);
|
|
1019
|
-
box-shadow: none;
|
|
1020
1019
|
border-radius: 8px;
|
|
1021
1020
|
outline: 0;
|
|
1022
1021
|
align-items: center;
|
|
@@ -1028,10 +1027,6 @@
|
|
|
1028
1027
|
display: flex;
|
|
1029
1028
|
}
|
|
1030
1029
|
|
|
1031
|
-
.r-combobox-select__control:focus-within {
|
|
1032
|
-
box-shadow: var(--focus-ring);
|
|
1033
|
-
}
|
|
1034
|
-
|
|
1035
1030
|
.r-combobox-select__input {
|
|
1036
1031
|
box-sizing: border-box;
|
|
1037
1032
|
width: 100%;
|
package/dist/styles.css
CHANGED
|
@@ -23,6 +23,26 @@
|
|
|
23
23
|
}
|
|
24
24
|
}
|
|
25
25
|
|
|
26
|
+
/* Focus indicators show only after keyboard navigation
|
|
27
|
+
(design/foundations/states.md#focus). installInputModality, which
|
|
28
|
+
ThemeProvider runs, keeps `data-input-modality` on the root: "pointer" after
|
|
29
|
+
a click or a tap, "keyboard" after a navigation key. While it says "pointer"
|
|
30
|
+
the focus ring is empty; with no attribute at all (no script, or the tracker
|
|
31
|
+
not installed) every ring shows. Each selector outranks a scope that declares
|
|
32
|
+
--focus-ring in foundation.css: a mode class on the root, the system-dark
|
|
33
|
+
fallback (:root:not(.light):not(.dark)), and a light or dark island. */
|
|
34
|
+
:root[data-input-modality="pointer"],
|
|
35
|
+
:root[data-input-modality="pointer"]:not(.light):not(.dark),
|
|
36
|
+
:root[data-input-modality="pointer"] :is(.light, .dark) {
|
|
37
|
+
--focus-ring: 0 0 transparent;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/* The same gate for a focus indicator not drawn with --focus-ring (an outline,
|
|
41
|
+
an inset ring): it matches unless the last input was a pointer. Stack it on
|
|
42
|
+
the state, `focus-visible:keyboard:outline-2`. Anchored on the element's own
|
|
43
|
+
class, so it costs WebKit no ancestor dependency on unrelated elements. */
|
|
44
|
+
@custom-variant keyboard (&:not(:where(:root[data-input-modality="pointer"] *)));
|
|
45
|
+
|
|
26
46
|
@theme {
|
|
27
47
|
--color-black: oklch(0 0 0);
|
|
28
48
|
--color-white: oklch(1 0 0);
|
package/dist/tokens.json
CHANGED
|
@@ -2496,6 +2496,7 @@
|
|
|
2496
2496
|
"$type": "shadow",
|
|
2497
2497
|
"ring": {
|
|
2498
2498
|
"$value": "0 0 0 2px oklch(1 0 0), 0 0 0 4px oklch(0.1813 0.005 17.62)",
|
|
2499
|
+
"$description": "The focus indicator. It shows only after keyboard navigation: styles.css empties it while the root carries data-input-modality=\"pointer\", which installInputModality sets after a click or a tap.",
|
|
2499
2500
|
"$extensions": {
|
|
2500
2501
|
"build.botiverse.raft": {
|
|
2501
2502
|
"css": true,
|
package/dist/wip.mjs
CHANGED
|
@@ -170,7 +170,7 @@ function ComboboxSelect({ options, multiple, value, defaultValue, onValueChange,
|
|
|
170
170
|
const inputClassName = ["r-combobox-select__input", typeof inputProps?.className === "string" ? inputProps.className : null].filter(Boolean).join(" ");
|
|
171
171
|
const controlClassName = [
|
|
172
172
|
css,
|
|
173
|
-
"r-combobox-select__control",
|
|
173
|
+
"r-combobox-select__control has-focus-visible:shadow-focus",
|
|
174
174
|
className
|
|
175
175
|
].filter(Boolean).join(" ");
|
|
176
176
|
const positionerClassName = ["r-combobox-select__positioner", typeof positionerProps?.className === "string" ? positionerProps.className : null].filter(Boolean).join(" ");
|
package/package.json
CHANGED
|
@@ -36,7 +36,7 @@ Judge whether the surface speaks Raft's material language:
|
|
|
36
36
|
- Corners follow the shape scale in `styles.css`: sticker, chip, control, container, dialog; fully round only for switches and radios. Flag corners off the scale or mixed within one group.
|
|
37
37
|
- Space Grotesk is what people say; Space Mono is what machines write (ids, times, counts, events, code). Flag machine output set in sans and prose set in mono.
|
|
38
38
|
- Yellow and pink must carry semantic roles. Flag decorative yellow/pink fields that compete with primary actions or status.
|
|
39
|
-
- Hover and pressed keep a control's resting color under an ink wash; focus-visible is the ink ring. Flag a state that swaps a sticker's color or that is indistinguishable from rest.
|
|
39
|
+
- Hover and pressed keep a control's resting color under an ink wash; focus-visible is the ink ring, shown only after keyboard navigation. Flag a state that swaps a sticker's color or that is indistinguishable from rest, and a ring that appears after a click or a tap.
|
|
40
40
|
- Stickers, ink edges, and bold type create high baseline intensity. Require a clear entry point and quieter secondary information so the surface does not shout uniformly.
|
|
41
41
|
|
|
42
42
|
Ask: does every sticker, line, and shadow carry a role, or is the surface merely loud?
|
|
@@ -63,7 +63,7 @@ Custom fonts use `--heading-font`, `--sans-font`, and `--mono-font`.
|
|
|
63
63
|
|
|
64
64
|
| Provider | Responsibility |
|
|
65
65
|
| ----------------- | --------------------------------------------------------------------------------------------------------------------- |
|
|
66
|
-
| `ThemeProvider` | Color mode, persistence,
|
|
66
|
+
| `ThemeProvider` | Color mode, persistence, document mode synchronization, and the input modality that keeps focus rings to the keyboard |
|
|
67
67
|
| `TooltipProvider` | Shared tooltip behavior when using Tooltip |
|
|
68
68
|
| `ToastProvider` | Toast manager when using the toast API; see the [Toast](https://raft-design.botiverse.build/components/toast.md) page |
|
|
69
69
|
|
|
@@ -74,6 +74,7 @@ Custom fonts use `--heading-font`, `--sans-font`, and `--mono-font`.
|
|
|
74
74
|
## Mode and portal boundaries
|
|
75
75
|
|
|
76
76
|
- `ThemeProvider` synchronizes `document.documentElement` by default. Nested scopes need `syncDom={false}` and the matching `light`/`dark` class on their root.
|
|
77
|
+
- Focus rings show only after keyboard navigation, not after a click, a tap or typing. `ThemeProvider` installs the tracker (`data-input-modality` on `document.documentElement`); an app without it calls `installInputModality()` once on the client. Draw an indicator with `focus-visible:shadow-focus` (`has-focus-visible:shadow-focus` on a group); one that is not the token takes the `keyboard:` variant (`focus-visible:keyboard:outline-2`). See [States](https://raft-design.botiverse.build/foundations/states.md#focus).
|
|
77
78
|
- Base UI overlays portal to `document.body`. An app root with `isolation: isolate` keeps its stacking contexts below those surfaces. Embedded previews can use `portalProps.container` (toasts: `ToastProvider portalContainer`) to keep overlays inside their scope.
|
|
78
79
|
- SSR apps with persisted mode need to restore it before first paint to avoid a theme flash.
|
|
79
80
|
|