@botiverse/raft-ui 0.9.5 → 0.10.0
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 +31 -0
- package/dist/cn.mjs +48 -39
- package/dist/components/combobox-select/combobox-select.css +18 -20
- package/dist/components/float-button/float-button.css +2 -1
- package/dist/components/steps/steps.css +8 -8
- package/dist/components/timeline/timeline.css +7 -6
- package/dist/{dialog-BYH5ojYr.mjs → dialog-CDPAT3DH.mjs} +6 -5
- package/dist/foundation.css +32 -0
- package/dist/{index-DG62I-YM.d.mts → index-CDHLWJtB.d.mts} +3 -3
- package/dist/index.d.mts +52 -4
- package/dist/index.mjs +254 -55
- package/dist/style.css +30 -35
- package/dist/styles.css +79 -1
- package/dist/tokens.json +101 -4
- package/dist/wip.d.mts +1 -1
- package/dist/wip.mjs +2 -2
- 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/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { cn } from "./cn.mjs";
|
|
2
|
-
import { C as ThemeStateContext, S as useTheme, _ as defaultNativeButton, a as DialogDescription, b as resolveThemeScopeProps, c as DialogNav, d as DialogSurface, f as DialogTitle, g as Spinner, h as buttonVariants, i as DialogContent, l as DialogOverlay, m as Button, n as DialogBody, o as DialogFooter, p as DialogTrigger, r as DialogClose, s as DialogHeader, t as Dialog, u as DialogPortal, v as useParentOverlayKind, w as tv, x as useThemeScopeProps, y as withOverlayLayer } from "./dialog-
|
|
2
|
+
import { C as ThemeStateContext, S as useTheme, _ as defaultNativeButton, a as DialogDescription, b as resolveThemeScopeProps, c as DialogNav, d as DialogSurface, f as DialogTitle, g as Spinner, h as buttonVariants, i as DialogContent, l as DialogOverlay, m as Button, n as DialogBody, o as DialogFooter, p as DialogTrigger, r as DialogClose, s as DialogHeader, t as Dialog, u as DialogPortal, v as useParentOverlayKind, w as tv, x as useThemeScopeProps, y as withOverlayLayer } from "./dialog-CDPAT3DH.mjs";
|
|
3
3
|
import { Dialog as Dialog$1 } from "@base-ui/react/dialog";
|
|
4
4
|
import { AlertTriangle, Bell, Check, CheckCircle2, ChevronDown, ChevronLeft, ChevronRight, Copy, FileText, Image, Info, Minus, Upload, X, Zap } from "lucide-react";
|
|
5
5
|
import { Children, Fragment, cloneElement, createContext, isValidElement, use, useCallback, useContext, useEffect, useId, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
|
|
@@ -889,7 +889,7 @@ const tooltip = tv({
|
|
|
889
889
|
"has-[[data-slot=kbd]]:py-1 has-[[data-slot=kbd]]:pr-2.5"
|
|
890
890
|
],
|
|
891
891
|
body: [
|
|
892
|
-
"block min-w-0 text-
|
|
892
|
+
"block min-w-0 text-footnote whitespace-normal wrap-break-word",
|
|
893
893
|
"**:data-[slot=kbd]:relative **:data-[slot=kbd]:z-10 [&_[data-slot=kbd]]:ml-1.5",
|
|
894
894
|
"[&_[data-slot=kbd]]:h-4 [&_[data-slot=kbd]]:min-w-4 [&_[data-slot=kbd]]:px-1 [&_[data-slot=kbd]]:py-0",
|
|
895
895
|
"**:data-[slot=kbd]:text-[12px] **:data-[slot=kbd]:leading-4 [&_[data-slot=kbd]]:font-normal"
|
|
@@ -1241,7 +1241,7 @@ const card = tv({
|
|
|
1241
1241
|
* in the control plane, and its title drops from the card-title scale
|
|
1242
1242
|
* to the field scale so it cannot outrank the field label above it. */
|
|
1243
1243
|
option: {
|
|
1244
|
-
root: ["rounded-control border
|
|
1244
|
+
root: ["rounded-control border border-line-field bg-layer-card", "shadow-none"],
|
|
1245
1245
|
header: ["gap-x-3 p-3"],
|
|
1246
1246
|
content: ["px-3 pb-3"],
|
|
1247
1247
|
title: ["font-sans text-callout font-semibold"],
|
|
@@ -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)",
|
|
@@ -4630,10 +4630,10 @@ const Label = Object.assign(LabelRoot, {
|
|
|
4630
4630
|
//#endregion
|
|
4631
4631
|
//#region src/components/input/input.recipe.ts
|
|
4632
4632
|
const input = tv({ slots: { root: [
|
|
4633
|
-
"h-
|
|
4634
|
-
"rounded-control border
|
|
4633
|
+
"h-control w-full px-3 py-0 font-heading text-field font-field outline-none",
|
|
4634
|
+
"rounded-control border border-line-field 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
|
] } });
|
|
@@ -4746,8 +4746,8 @@ const inputGroup = tv({
|
|
|
4746
4746
|
root: [
|
|
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
|
-
"h-
|
|
4750
|
-
"shadow-none transition-shadow duration-90 ease-out focus-
|
|
4749
|
+
"h-control overflow-hidden rounded-control border border-line-field bg-layer-card text-foreground",
|
|
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)]",
|
|
@@ -4909,7 +4909,7 @@ const combobox = tv({
|
|
|
4909
4909
|
"[&>span[data-slot='combobox-trigger-content']]:min-w-0 [&>span[data-slot='combobox-trigger-content']]:flex-1",
|
|
4910
4910
|
"[&>span[data-slot='combobox-trigger-content']>svg]:shrink-0",
|
|
4911
4911
|
"h-8 gap-1.5 rounded-control border-transparent bg-transparent px-2.5",
|
|
4912
|
-
"text-
|
|
4912
|
+
"text-control font-semibold text-foreground-muted",
|
|
4913
4913
|
"inset-ring inset-ring-line-seam hover:bg-transparent",
|
|
4914
4914
|
"data-has-value:bg-info-soft data-has-value:text-foreground data-has-value:inset-ring-0 data-has-value:hover:bg-info-soft",
|
|
4915
4915
|
"focus-visible:shadow-focus",
|
|
@@ -4933,9 +4933,9 @@ const combobox = tv({
|
|
|
4933
4933
|
"[&_[data-slot='combobox-clear']]:size-5 [&_[data-slot='combobox-clear']]:min-w-5 **:data-[slot='combobox-clear']:shrink-0",
|
|
4934
4934
|
"[&_[data-slot='combobox-trigger-indicator']]:size-4",
|
|
4935
4935
|
"[&_[data-slot='combobox-trigger-indicator']>svg]:shrink-0",
|
|
4936
|
-
"min-h-
|
|
4936
|
+
"min-h-control rounded-control border border-line-field 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"],
|
|
@@ -4977,7 +4977,7 @@ const combobox = tv({
|
|
|
4977
4977
|
"pointer-events-none opacity-0 outline-none transition-[background-color,color] duration-100",
|
|
4978
4978
|
"data-visible:pointer-events-auto data-visible:opacity-100",
|
|
4979
4979
|
"h-7 min-w-0 rounded-control px-2",
|
|
4980
|
-
"font-sans text-
|
|
4980
|
+
"font-sans text-control font-semibold text-foreground-muted",
|
|
4981
4981
|
"hover:bg-fill-pressed hover:text-foreground active:bg-fill-pressed",
|
|
4982
4982
|
"focus-visible:shadow-focus",
|
|
4983
4983
|
"[&>svg]:size-4 [&>svg]:stroke-2 [&>svg_*]:stroke-2"
|
|
@@ -4986,8 +4986,8 @@ const combobox = tv({
|
|
|
4986
4986
|
groupLabel: ["py-2", "px-2.5 pt-2 pb-1 text-caption font-bold text-foreground-hint"],
|
|
4987
4987
|
chips: [
|
|
4988
4988
|
"flex flex-wrap items-center",
|
|
4989
|
-
"min-h-
|
|
4990
|
-
"transition-shadow duration-90 ease-out focus-
|
|
4989
|
+
"min-h-control gap-1.5 rounded-control border border-line-field bg-layer-card py-1.5 pr-3 pl-1.5",
|
|
4990
|
+
"transition-shadow duration-90 ease-out has-focus-visible:shadow-focus"
|
|
4991
4991
|
],
|
|
4992
4992
|
chip: [
|
|
4993
4993
|
"inline-flex items-center",
|
|
@@ -5326,7 +5326,7 @@ const pickerTriggerButton = tv({ base: [
|
|
|
5326
5326
|
"has-data-[icon=inline-start]:pl-2.5 has-data-[icon=inline-end]:pr-2.5",
|
|
5327
5327
|
"[&_svg]:pointer-events-none [&_svg]:shrink-0 **:data-icon:size-[1em]",
|
|
5328
5328
|
"gap-1.5 rounded-control border-0 bg-transparent px-2.5 py-0",
|
|
5329
|
-
"font-sans text-
|
|
5329
|
+
"font-sans text-control font-semibold text-foreground-muted",
|
|
5330
5330
|
"inset-ring inset-ring-line-seam",
|
|
5331
5331
|
"hover:bg-fill-pressed active:bg-fill-pressed",
|
|
5332
5332
|
"data-has-value:bg-info-soft data-has-value:text-foreground data-has-value:inset-ring-0",
|
|
@@ -5358,7 +5358,8 @@ const select = tv({
|
|
|
5358
5358
|
"**:data-[slot='button-content']:w-full **:data-[slot='button-content']:justify-between",
|
|
5359
5359
|
"[&>span[data-slot='select-trigger-content']]:min-w-0 [&>span[data-slot='select-trigger-content']]:flex-1",
|
|
5360
5360
|
"[&_[data-slot='select-trigger-content']_svg]:shrink-0",
|
|
5361
|
-
"h-
|
|
5361
|
+
"h-control w-full gap-2 pr-3 pl-3.5",
|
|
5362
|
+
"border border-line-field",
|
|
5362
5363
|
"text-subhead font-semibold text-foreground",
|
|
5363
5364
|
"data-placeholder:font-medium data-placeholder:text-foreground-hint",
|
|
5364
5365
|
"data-invalid:border-danger-strong data-invalid:hover:border-danger-strong",
|
|
@@ -5427,7 +5428,7 @@ const select = tv({
|
|
|
5427
5428
|
trigger: [
|
|
5428
5429
|
"px-3 text-field font-field",
|
|
5429
5430
|
"**:data-[slot='button-content']:font-field **:data-[slot='select-value']:font-field",
|
|
5430
|
-
"h-
|
|
5431
|
+
"h-control py-0",
|
|
5431
5432
|
"data-placeholder:font-field"
|
|
5432
5433
|
],
|
|
5433
5434
|
item: ["text-field font-field", "**:data-[slot='select-item-text']:font-field"]
|
|
@@ -5943,13 +5944,13 @@ function ToggleGroupLabel({ className, ...props }) {
|
|
|
5943
5944
|
//#endregion
|
|
5944
5945
|
//#region src/components/textarea/textarea.tsx
|
|
5945
5946
|
const textarea = tv({ slots: { root: [
|
|
5946
|
-
"block w-full min-h-
|
|
5947
|
+
"block w-full min-h-[calc(var(--field-line-height)*3+--spacing(6))] resize-y pl-3 pr-(--ta-pr,0.75rem)",
|
|
5947
5948
|
"scroll-pb-(--ta-scroll-pb,0)",
|
|
5948
5949
|
"font-heading text-field font-field outline-none",
|
|
5949
5950
|
"py-2.5",
|
|
5950
|
-
"rounded-control border
|
|
5951
|
+
"rounded-control border border-line-field bg-layer-card",
|
|
5951
5952
|
"text-foreground placeholder:text-foreground-hint",
|
|
5952
|
-
"shadow-none transition-shadow duration-90 ease-out focus:shadow-focus",
|
|
5953
|
+
"shadow-none transition-shadow duration-90 ease-out focus-visible:shadow-focus",
|
|
5953
5954
|
"data-invalid:border-danger-strong",
|
|
5954
5955
|
"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
5956
|
] } });
|
|
@@ -6778,7 +6779,8 @@ const messageItem = tv({
|
|
|
6778
6779
|
],
|
|
6779
6780
|
continuationTime: [
|
|
6780
6781
|
"absolute right-0 select-none whitespace-nowrap tabular-nums",
|
|
6781
|
-
"top-
|
|
6782
|
+
"top-[calc((var(--text-body--line-height)-var(--text-mono-meta--line-height))/2)]",
|
|
6783
|
+
"font-mono text-mono-meta",
|
|
6782
6784
|
"text-(--mi-ct-color,transparent)"
|
|
6783
6785
|
],
|
|
6784
6786
|
content: ["min-w-0 flex-1", "text-body text-foreground"],
|
|
@@ -7524,7 +7526,7 @@ function MessageMultiSelectCheckbox({ className, ...props }) {
|
|
|
7524
7526
|
const messageTextSelectionToolbar = tv({ slots: {
|
|
7525
7527
|
toolbar: [
|
|
7526
7528
|
"flex min-w-0 items-center select-none",
|
|
7527
|
-
"gap-0.5 overflow-visible rounded-container p-0.5 text-
|
|
7529
|
+
"gap-0.5 overflow-visible rounded-container p-0.5 text-control font-bold",
|
|
7528
7530
|
"bg-layer-popover ring-1 ring-line-seam ring-inset shadow-float"
|
|
7529
7531
|
],
|
|
7530
7532
|
button: [
|
|
@@ -8013,7 +8015,7 @@ function MessageQuotedPreviewUnavailable({ className, render, ...props }) {
|
|
|
8013
8015
|
const messageReplies = tv({ slots: {
|
|
8014
8016
|
root: [
|
|
8015
8017
|
"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",
|
|
8018
|
+
"transition-colors focus-visible:keyboard:outline-1 focus-visible:keyboard:outline-line-strong",
|
|
8017
8019
|
"mt-2 max-w-[480px] gap-1 rounded-container border-0 px-2.5 py-2",
|
|
8018
8020
|
"bg-fill-muted text-foreground-muted hover:press-overlay active:press-overlay",
|
|
8019
8021
|
"focus-visible:outline-none focus-visible:shadow-focus"
|
|
@@ -8120,9 +8122,9 @@ const messageActionCard = tv({
|
|
|
8120
8122
|
"size-[27px] rounded-sticker bg-fill-muted text-foreground-muted",
|
|
8121
8123
|
"[&>svg]:size-3.5"
|
|
8122
8124
|
],
|
|
8123
|
-
headerTitle: ["min-w-0 flex-1", "pt-[
|
|
8125
|
+
headerTitle: ["min-w-0 flex-1", "pt-[calc((27px-1lh)/2)]"],
|
|
8124
8126
|
headerDescription: ["block", "mt-0.5 text-footnote font-normal text-foreground-muted"],
|
|
8125
|
-
headerStatus: ["ml-auto shrink-0", "mt-[
|
|
8127
|
+
headerStatus: ["ml-auto shrink-0", "mt-[calc((27px-1lh)/2)] text-caption font-semibold text-foreground-muted"],
|
|
8126
8128
|
status: [
|
|
8127
8129
|
"inline-flex h-auto items-center gap-1.5 rounded-none border-0 bg-transparent p-0 shadow-none",
|
|
8128
8130
|
"text-caption font-semibold text-foreground-muted",
|
|
@@ -8132,7 +8134,7 @@ const messageActionCard = tv({
|
|
|
8132
8134
|
"flex shrink-0 cursor-pointer items-center justify-center",
|
|
8133
8135
|
"[&>svg]:transition-transform [&>svg]:duration-200 motion-reduce:[&>svg]:transition-none",
|
|
8134
8136
|
"data-panel-open:[&>svg]:rotate-180",
|
|
8135
|
-
"focus-visible:outline-2 focus-visible:outline-offset-1",
|
|
8137
|
+
"focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-offset-1",
|
|
8136
8138
|
"my-0 -mr-1 size-[27px] rounded-control text-foreground-muted",
|
|
8137
8139
|
"hover:bg-fill-pressed hover:text-foreground active:bg-fill-pressed",
|
|
8138
8140
|
"focus-visible:outline-none focus-visible:shadow-focus",
|
|
@@ -8646,7 +8648,7 @@ const messageImageGallery = tv({
|
|
|
8646
8648
|
],
|
|
8647
8649
|
media: "block size-full ",
|
|
8648
8650
|
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"],
|
|
8651
|
+
preview: ["absolute inset-0", "outline-none focus-visible:keyboard:inset-ring-2 focus-visible:keyboard:inset-ring-foreground"],
|
|
8650
8652
|
action: [
|
|
8651
8653
|
"absolute z-10 hidden items-center justify-center",
|
|
8652
8654
|
"focus:flex",
|
|
@@ -8867,13 +8869,13 @@ const messageVideoPreview = tv({ slots: {
|
|
|
8867
8869
|
failureAction: [
|
|
8868
8870
|
"inline-flex cursor-pointer items-center gap-1 border-0 bg-transparent p-0 text-white/75 [font:inherit]",
|
|
8869
8871
|
"decoration-[1.5px] underline-offset-[3px] hover:text-white hover:underline",
|
|
8870
|
-
"outline-1 outline-offset-2 outline-transparent focus-visible:outline-white",
|
|
8872
|
+
"outline-1 outline-offset-2 outline-transparent focus-visible:keyboard:outline-white",
|
|
8871
8873
|
"[&_svg]:size-[13px]"
|
|
8872
8874
|
],
|
|
8873
8875
|
action: [
|
|
8874
8876
|
"absolute flex items-center justify-center",
|
|
8875
8877
|
"transition-colors duration-150",
|
|
8876
|
-
"outline-[1px] outline-offset-2 outline-transparent focus-visible:outline-foreground",
|
|
8878
|
+
"outline-[1px] outline-offset-2 outline-transparent focus-visible:keyboard:outline-foreground",
|
|
8877
8879
|
"disabled:cursor-default [&_svg]:shrink-0",
|
|
8878
8880
|
"top-2 right-2 size-8 rounded-control border-[1.5px] border-line-strong",
|
|
8879
8881
|
"bg-layer-card text-foreground hover:bg-layer-card hover:text-foreground hover:press-overlay active:press-overlay",
|
|
@@ -9029,7 +9031,7 @@ const messageForwardedBundleItem = tv({
|
|
|
9029
9031
|
action: {
|
|
9030
9032
|
static: {},
|
|
9031
9033
|
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",
|
|
9034
|
+
"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
9035
|
"hover:press-overlay active:press-overlay",
|
|
9034
9036
|
"focus-visible:outline-none focus-visible:shadow-focus"
|
|
9035
9037
|
] }
|
|
@@ -10912,15 +10914,15 @@ function FileAction({ variant, size = "icon-sm", ...props }) {
|
|
|
10912
10914
|
const composer = tv({ slots: {
|
|
10913
10915
|
root: [
|
|
10914
10916
|
"flex w-full flex-col gap-2 p-2",
|
|
10915
|
-
"rounded-container border
|
|
10916
|
-
"border-line-
|
|
10917
|
-
"focus-
|
|
10917
|
+
"rounded-container border px-3 pt-3 pb-2",
|
|
10918
|
+
"border-line-field bg-layer-card text-foreground shadow-none",
|
|
10919
|
+
"has-focus-visible:shadow-focus"
|
|
10918
10920
|
],
|
|
10919
10921
|
input: [
|
|
10920
10922
|
"max-h-32 w-full resize-none bg-transparent outline-none",
|
|
10921
10923
|
"field-sizing-content overflow-y-auto",
|
|
10922
10924
|
"min-h-6 px-0.5",
|
|
10923
|
-
"font-sans text-body font-normal text-foreground
|
|
10925
|
+
"font-sans text-body font-normal text-foreground",
|
|
10924
10926
|
"placeholder:text-foreground-hint"
|
|
10925
10927
|
],
|
|
10926
10928
|
toolbar: ["flex items-center justify-between", "gap-2"],
|
|
@@ -12036,7 +12038,8 @@ const banner = tv({
|
|
|
12036
12038
|
"has-[>svg]:grid-cols-[20px_minmax(0,1fr)]",
|
|
12037
12039
|
"has-[>[data-slot=status]]:grid-cols-[20px_minmax(0,1fr)]",
|
|
12038
12040
|
"[&>svg]:row-start-1 [&>svg]:size-5 [&>svg]:text-foreground",
|
|
12039
|
-
"
|
|
12041
|
+
"[&>svg]:mt-[calc((1lh-20px)/2)]",
|
|
12042
|
+
"*:data-[slot=status]:mt-[calc((var(--text-callout--line-height)-9px)/2)] *:data-[slot=status]:self-start *:data-[slot=status]:justify-self-center",
|
|
12040
12043
|
"has-[>svg]:[--banner-text-col:2]",
|
|
12041
12044
|
"has-[>[data-slot=status]]:[--banner-text-col:2]",
|
|
12042
12045
|
"has-[>[data-slot=banner-title]]:[--banner-desc-row:2]"
|
|
@@ -12070,7 +12073,8 @@ const banner = tv({
|
|
|
12070
12073
|
sm: { root: [
|
|
12071
12074
|
"gap-x-2 px-3 py-2 text-footnote",
|
|
12072
12075
|
"has-[>svg]:grid-cols-[16px_minmax(0,1fr)] has-[>[data-slot=status]]:grid-cols-[16px_minmax(0,1fr)]",
|
|
12073
|
-
"[&>svg]:mt-
|
|
12076
|
+
"[&>svg]:mt-[calc((1lh-16px)/2)] [&>svg]:size-4",
|
|
12077
|
+
"*:data-[slot=status]:mt-[calc((var(--text-footnote--line-height)-9px)/2)]"
|
|
12074
12078
|
] },
|
|
12075
12079
|
md: { root: ["px-3.5 py-3"] },
|
|
12076
12080
|
lg: { root: ["px-4 py-3.5"] }
|
|
@@ -12555,7 +12559,7 @@ const toastStyles = tv({
|
|
|
12555
12559
|
"motion-reduce:transition-none",
|
|
12556
12560
|
"rounded-container bg-layer-hud text-foreground-on-hud",
|
|
12557
12561
|
"shadow-float",
|
|
12558
|
-
"focus-visible:outline-2 focus-visible:outline-foreground"
|
|
12562
|
+
"focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-foreground"
|
|
12559
12563
|
],
|
|
12560
12564
|
content: [
|
|
12561
12565
|
"relative grid grid-cols-[minmax(0,1fr)] items-center overflow-hidden",
|
|
@@ -12600,7 +12604,7 @@ const toastStyles = tv({
|
|
|
12600
12604
|
"decoration-[1.5px] underline-offset-[3px] not-disabled:hover:underline",
|
|
12601
12605
|
"after:absolute after:-inset-x-2 after:-inset-y-3 after:rounded-control after:content-['']",
|
|
12602
12606
|
"active:after:bg-foreground-on-hud/15",
|
|
12603
|
-
"focus-visible:outline-2 focus-visible:outline-foreground-on-hud",
|
|
12607
|
+
"focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-foreground-on-hud",
|
|
12604
12608
|
"[&_svg]:size-4"
|
|
12605
12609
|
],
|
|
12606
12610
|
arrow: [
|
|
@@ -12696,7 +12700,7 @@ const toastAction = tv({ slots: {
|
|
|
12696
12700
|
"decoration-[1.5px] underline-offset-[3px] not-disabled:not-aria-disabled:hover:underline",
|
|
12697
12701
|
"after:absolute after:-inset-x-2 after:-inset-y-3 after:rounded-control after:content-['']",
|
|
12698
12702
|
"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",
|
|
12703
|
+
"outline-1 outline-offset-2 outline-transparent focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-foreground-on-hud",
|
|
12700
12704
|
"disabled:pointer-events-none disabled:opacity-40 aria-disabled:cursor-not-allowed aria-disabled:opacity-40",
|
|
12701
12705
|
"data-[loading=true]:cursor-wait data-[loading=true]:opacity-100",
|
|
12702
12706
|
"[&_svg]:pointer-events-none [&_svg]:shrink-0 **:data-icon:size-[1em] [&_svg:not([class*='size-'])]:size-3"
|
|
@@ -12708,7 +12712,7 @@ const createToastManager = Toast.createToastManager;
|
|
|
12708
12712
|
const useToastManager = Toast.useToastManager;
|
|
12709
12713
|
const defaultToastManager = createToastManager();
|
|
12710
12714
|
function addDefaultToast(intent, title, options = {}) {
|
|
12711
|
-
const { action, contentClassName, dismissible, icon, priority, progress, ...toastOptions } = options;
|
|
12715
|
+
const { action, contentClassName, dismissible, icon, leading, priority, progress, ...toastOptions } = options;
|
|
12712
12716
|
return defaultToastManager.add({
|
|
12713
12717
|
...toastOptions,
|
|
12714
12718
|
actionProps: action ? {
|
|
@@ -12723,7 +12727,8 @@ function addDefaultToast(intent, title, options = {}) {
|
|
|
12723
12727
|
contentClassName,
|
|
12724
12728
|
hasClose: dismissible,
|
|
12725
12729
|
hasIcon: icon,
|
|
12726
|
-
hasProgress: progress
|
|
12730
|
+
hasProgress: progress,
|
|
12731
|
+
leading
|
|
12727
12732
|
}
|
|
12728
12733
|
});
|
|
12729
12734
|
}
|
|
@@ -12992,7 +12997,7 @@ function DefaultToastItem({ placement, toast: toastObject }) {
|
|
|
12992
12997
|
const showDescription = Boolean(toastObject.description);
|
|
12993
12998
|
const showAction = Boolean(toastObject.actionProps?.children);
|
|
12994
12999
|
const showClose = toastObject.data?.hasClose !== false;
|
|
12995
|
-
const showIcon = toastObject.data?.hasIcon !== false;
|
|
13000
|
+
const showIcon = hasLeading(toastObject) || toastObject.data?.hasIcon !== false;
|
|
12996
13001
|
const progressDuration = toastObject.timeout ?? timeout;
|
|
12997
13002
|
const showProgress = toastObject.data?.hasProgress === true && toastObject.type !== "loading" && progressDuration > 0;
|
|
12998
13003
|
return /* @__PURE__ */ jsx(ToastRoot, {
|
|
@@ -13015,7 +13020,15 @@ const TOAST_PIXEL = {
|
|
|
13015
13020
|
warning: "warning",
|
|
13016
13021
|
error: "warning"
|
|
13017
13022
|
};
|
|
13023
|
+
function hasLeading(toastObject) {
|
|
13024
|
+
const leading = toastObject.data?.leading;
|
|
13025
|
+
return leading !== void 0 && leading !== null && leading !== false;
|
|
13026
|
+
}
|
|
13018
13027
|
function DefaultToastIcon({ toast: toastObject }) {
|
|
13028
|
+
if (hasLeading(toastObject)) return /* @__PURE__ */ jsx(ToastIcon, {
|
|
13029
|
+
"aria-hidden": true,
|
|
13030
|
+
children: toastObject.data?.leading
|
|
13031
|
+
});
|
|
13019
13032
|
const intent = toastObject.data?.intent ?? getToastTone(toastObject.type);
|
|
13020
13033
|
return /* @__PURE__ */ jsx(ToastIcon, { children: /* @__PURE__ */ jsx(Status, {
|
|
13021
13034
|
"aria-hidden": true,
|
|
@@ -13487,7 +13500,7 @@ const panelAction = tv({
|
|
|
13487
13500
|
base: [
|
|
13488
13501
|
"whitespace-nowrap",
|
|
13489
13502
|
"disabled:pointer-events-none disabled:transform-none",
|
|
13490
|
-
"gap-1.5 text-
|
|
13503
|
+
"gap-1.5 text-control font-bold",
|
|
13491
13504
|
"disabled:bg-transparent disabled:text-foreground-disabled disabled:opacity-100",
|
|
13492
13505
|
"aria-pressed:border-sticker-ink aria-pressed:bg-brand aria-pressed:text-sticker-ink aria-pressed:ring-[1.5px] aria-pressed:ring-sticker-edge",
|
|
13493
13506
|
"aria-pressed:active:press-overlay-sticker"
|
|
@@ -13497,7 +13510,7 @@ const panelToggleAction = tv({
|
|
|
13497
13510
|
extend: panelActionBase,
|
|
13498
13511
|
base: [
|
|
13499
13512
|
"data-disabled:pointer-events-none data-disabled:transform-none",
|
|
13500
|
-
"gap-1.5 text-
|
|
13513
|
+
"gap-1.5 text-control font-bold",
|
|
13501
13514
|
"data-disabled:bg-transparent data-disabled:text-foreground-disabled data-disabled:opacity-100",
|
|
13502
13515
|
"data-pressed:border-sticker-ink data-pressed:bg-brand data-pressed:text-sticker-ink data-pressed:ring-[1.5px] data-pressed:ring-sticker-edge",
|
|
13503
13516
|
"data-pressed:active:press-overlay-sticker"
|
|
@@ -13728,10 +13741,10 @@ const resizable = tv({ slots: {
|
|
|
13728
13741
|
"before:bg-transparent",
|
|
13729
13742
|
"hover:before:bg-foreground-muted",
|
|
13730
13743
|
"data-[separator=active]:before:bg-foreground-muted",
|
|
13731
|
-
"focus-visible:before:w-0.5 focus-visible:before:bg-foreground focus-visible:before:outline-none",
|
|
13744
|
+
"focus-visible:keyboard:before:w-0.5 focus-visible:keyboard:before:bg-foreground focus-visible:before:outline-none",
|
|
13732
13745
|
"data-[orientation=horizontal]:before:top-[5px] data-[orientation=horizontal]:before:left-0",
|
|
13733
13746
|
"data-[orientation=horizontal]:before:h-px data-[orientation=horizontal]:before:w-full",
|
|
13734
|
-
"data-[orientation=horizontal]:focus-visible:before:h-0.5"
|
|
13747
|
+
"data-[orientation=horizontal]:focus-visible:keyboard:before:h-0.5"
|
|
13735
13748
|
]
|
|
13736
13749
|
} });
|
|
13737
13750
|
//#endregion
|
|
@@ -15451,7 +15464,7 @@ const taskChip = tv({
|
|
|
15451
15464
|
"[&>svg]:shrink-0 [&>svg]:size-3",
|
|
15452
15465
|
"no-underline select-text",
|
|
15453
15466
|
"transition-[filter,opacity] duration-100",
|
|
15454
|
-
"focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-line-strong",
|
|
15467
|
+
"focus-visible:keyboard:outline-2 focus-visible:keyboard:outline-offset-2 focus-visible:keyboard:outline-line-strong",
|
|
15455
15468
|
"rounded-chip border-0",
|
|
15456
15469
|
"font-sans font-semibold text-foreground",
|
|
15457
15470
|
"[&>svg:not([data-slot=task-status-icon])]:-mx-0.5 [&>svg[data-slot=task-status-icon]]:size-[9px]",
|
|
@@ -15943,7 +15956,7 @@ const inboxItem = tv({
|
|
|
15943
15956
|
"hover:bg-fill-pressed",
|
|
15944
15957
|
"data-[active=true]:bg-info-soft data-[active=true]:hover:bg-info-soft",
|
|
15945
15958
|
"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",
|
|
15959
|
+
"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
15960
|
"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
15961
|
],
|
|
15949
15962
|
itemTrigger: ["absolute inset-0 z-0 outline-none"],
|
|
@@ -15973,7 +15986,7 @@ const inboxItem = tv({
|
|
|
15973
15986
|
],
|
|
15974
15987
|
itemTitle: [
|
|
15975
15988
|
"relative line-clamp-2 min-w-0 flex-1 pl-[18px]",
|
|
15976
|
-
"[&>svg]:absolute [&>svg]:top-[
|
|
15989
|
+
"[&>svg]:absolute [&>svg]:top-[calc((1lh-14px)/2)] [&>svg]:left-0 [&>svg]:size-3.5",
|
|
15977
15990
|
"font-sans text-subhead font-semibold text-foreground-muted",
|
|
15978
15991
|
"group-data-[unread=true]/inbox-item:font-bold group-data-[unread=true]/inbox-item:text-foreground",
|
|
15979
15992
|
"[&>svg]:text-foreground-hint"
|
|
@@ -16428,7 +16441,7 @@ const searchEntity = tv({ slots: {
|
|
|
16428
16441
|
"hover:bg-fill-pressed active:bg-fill-pressed",
|
|
16429
16442
|
"disabled:cursor-default disabled:hover:bg-transparent disabled:active:bg-transparent",
|
|
16430
16443
|
"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"
|
|
16444
|
+
"outline-none focus-visible:keyboard:inset-ring-2 focus-visible:keyboard:inset-ring-foreground"
|
|
16432
16445
|
],
|
|
16433
16446
|
entityLeading: ["relative flex shrink-0"],
|
|
16434
16447
|
entityIcon: [
|
|
@@ -16567,7 +16580,7 @@ const searchMessage = tv({ slots: {
|
|
|
16567
16580
|
"hover:bg-fill-pressed active:bg-fill-pressed",
|
|
16568
16581
|
"disabled:cursor-default disabled:hover:bg-transparent disabled:active:bg-transparent",
|
|
16569
16582
|
"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"
|
|
16583
|
+
"outline-none focus-visible:keyboard:inset-ring-2 focus-visible:keyboard:inset-ring-foreground"
|
|
16571
16584
|
],
|
|
16572
16585
|
messageHeader: [
|
|
16573
16586
|
"flex items-center",
|
|
@@ -16793,7 +16806,7 @@ function SearchThreadResultMessages({ className, render, ...props }) {
|
|
|
16793
16806
|
const searchTrigger = tv({ slots: {
|
|
16794
16807
|
root: [
|
|
16795
16808
|
"relative inline-flex h-9 w-[clamp(360px,32vw,520px)] max-w-full min-w-0 shrink-0 items-center gap-2 px-3",
|
|
16796
|
-
"rounded-control border
|
|
16809
|
+
"rounded-control border border-line-field bg-layer-card",
|
|
16797
16810
|
"text-left font-sans text-body font-normal text-foreground-hint",
|
|
16798
16811
|
"select-none outline-none transition-colors duration-100",
|
|
16799
16812
|
"hover:press-overlay active:press-overlay focus-visible:shadow-focus",
|
|
@@ -16842,6 +16855,191 @@ function SearchTriggerShortcut({ className, ...props }) {
|
|
|
16842
16855
|
});
|
|
16843
16856
|
}
|
|
16844
16857
|
//#endregion
|
|
16858
|
+
//#region src/lib/input-modality.ts
|
|
16859
|
+
const INPUT_MODALITY_ATTRIBUTE = "data-input-modality";
|
|
16860
|
+
/** Keys that move focus wherever focus is. */
|
|
16861
|
+
const NAVIGATION_KEYS = /* @__PURE__ */ new Set(["Tab", "F6"]);
|
|
16862
|
+
/** Keys that navigate a widget, but move the caret in a text field. */
|
|
16863
|
+
const CARET_KEYS = /* @__PURE__ */ new Set([
|
|
16864
|
+
"ArrowUp",
|
|
16865
|
+
"ArrowDown",
|
|
16866
|
+
"ArrowLeft",
|
|
16867
|
+
"ArrowRight",
|
|
16868
|
+
"Home",
|
|
16869
|
+
"End",
|
|
16870
|
+
"PageUp",
|
|
16871
|
+
"PageDown"
|
|
16872
|
+
]);
|
|
16873
|
+
/**
|
|
16874
|
+
* Keys that activate or dismiss a control, but belong to editing in a text
|
|
16875
|
+
* field. Esc in the composer closes a suggestion list or cancels an edit; it
|
|
16876
|
+
* must not turn the composer's ring on for someone using a mouse.
|
|
16877
|
+
*/
|
|
16878
|
+
const ACTIVATION_KEYS = /* @__PURE__ */ new Set([
|
|
16879
|
+
"Enter",
|
|
16880
|
+
" ",
|
|
16881
|
+
"Spacebar",
|
|
16882
|
+
"Escape"
|
|
16883
|
+
]);
|
|
16884
|
+
/** Input types that take typed text (and whose arrow keys move a caret or step a value). */
|
|
16885
|
+
const TEXT_INPUT_TYPES = /* @__PURE__ */ new Set([
|
|
16886
|
+
"text",
|
|
16887
|
+
"search",
|
|
16888
|
+
"url",
|
|
16889
|
+
"tel",
|
|
16890
|
+
"email",
|
|
16891
|
+
"password",
|
|
16892
|
+
"number",
|
|
16893
|
+
"date",
|
|
16894
|
+
"datetime-local",
|
|
16895
|
+
"month",
|
|
16896
|
+
"time",
|
|
16897
|
+
"week"
|
|
16898
|
+
]);
|
|
16899
|
+
/** `isContentEditable`, for DOMs that don't implement it. */
|
|
16900
|
+
const EDITABLE = "[contenteditable=\"\"], [contenteditable=\"true\"], [contenteditable=\"plaintext-only\"]";
|
|
16901
|
+
function isTextEntry(target) {
|
|
16902
|
+
if (!target || typeof target !== "object" || !("nodeType" in target)) return false;
|
|
16903
|
+
const element = target;
|
|
16904
|
+
if (element.tagName === "TEXTAREA") return true;
|
|
16905
|
+
if (element.tagName === "INPUT") return TEXT_INPUT_TYPES.has(element.type);
|
|
16906
|
+
return element.isContentEditable === true || element.closest?.(EDITABLE) != null;
|
|
16907
|
+
}
|
|
16908
|
+
function keyboardNavigates(event) {
|
|
16909
|
+
if (event.metaKey || event.ctrlKey) return false;
|
|
16910
|
+
if (NAVIGATION_KEYS.has(event.key)) return true;
|
|
16911
|
+
if (!CARET_KEYS.has(event.key) && !ACTIVATION_KEYS.has(event.key)) return false;
|
|
16912
|
+
return !isTextEntry(eventTarget(event));
|
|
16913
|
+
}
|
|
16914
|
+
/** A key that edits in a text field, but may also send focus out of it (Esc closing a dialog, Enter submitting). */
|
|
16915
|
+
function editingKeyInField(event) {
|
|
16916
|
+
if (event.metaKey || event.ctrlKey) return null;
|
|
16917
|
+
if (!CARET_KEYS.has(event.key) && !ACTIVATION_KEYS.has(event.key)) return null;
|
|
16918
|
+
const target = eventTarget(event);
|
|
16919
|
+
return isTextEntry(target) ? target : null;
|
|
16920
|
+
}
|
|
16921
|
+
/** The focused element may sit in a shadow root; the path's first entry is it. */
|
|
16922
|
+
function eventTarget(event) {
|
|
16923
|
+
return event.composedPath?.()[0] ?? event.target;
|
|
16924
|
+
}
|
|
16925
|
+
/**
|
|
16926
|
+
* A pointer event a screen reader synthesizes (VoiceOver, TalkBack, NVDA
|
|
16927
|
+
* activating an element): it has no real contact area. Same test as React
|
|
16928
|
+
* Aria's `isVirtualPointerEvent`.
|
|
16929
|
+
*/
|
|
16930
|
+
function isVirtualPointerEvent(event) {
|
|
16931
|
+
return event.width === 0 && event.height === 0 || event.width === 1 && event.height === 1 && event.pressure === 0 && event.detail === 0 && event.pointerType === "mouse";
|
|
16932
|
+
}
|
|
16933
|
+
/** How long after a key or a pointer press a focus move still counts as caused by it. */
|
|
16934
|
+
const CAUSE_WINDOW_MS = 1e3;
|
|
16935
|
+
const installations = /* @__PURE__ */ new WeakMap();
|
|
16936
|
+
/**
|
|
16937
|
+
* Track the input modality on `doc.documentElement` as
|
|
16938
|
+
* `data-input-modality="pointer" | "keyboard" | "virtual"`. Only `pointer`
|
|
16939
|
+
* hides focus rings, so every uncertain case keeps them visible:
|
|
16940
|
+
*
|
|
16941
|
+
* - **Unknown at first.** No attribute until there is evidence, so a keyboard
|
|
16942
|
+
* user who hasn't pressed Tab yet still sees focus moved by code. The first
|
|
16943
|
+
* real mouse movement or press makes it `pointer`.
|
|
16944
|
+
* - **Keyboard**: Tab and F6 anywhere; the arrows, Home, End, Page Up, Page
|
|
16945
|
+
* Down, Enter, Space and Esc outside a text field. Inside a text field those
|
|
16946
|
+
* keys edit and leave the modality alone, unless focus leaves the field
|
|
16947
|
+
* right after (Esc closing a dialog, Enter submitting): then it is
|
|
16948
|
+
* `keyboard`. Typing and Cmd or Ctrl shortcuts never count; a shortcut that
|
|
16949
|
+
* moves focus to a control is caught by the next rule.
|
|
16950
|
+
* - **Virtual**: focus that arrives with no key or pointer press just before
|
|
16951
|
+
* it (a screen reader's browse cursor, a timer), and a screen reader's
|
|
16952
|
+
* synthesized pointer press. Rings show.
|
|
16953
|
+
* - **Pointer**: a real pointer press, or real pointer movement while the
|
|
16954
|
+
* modality is still unknown or virtual.
|
|
16955
|
+
*
|
|
16956
|
+
* `ThemeProvider` calls this for you. Installing twice adds no second set of
|
|
16957
|
+
* listeners. Returns a function that undoes this installation; the listeners
|
|
16958
|
+
* and the attribute go once every installation is undone.
|
|
16959
|
+
*/
|
|
16960
|
+
function installInputModality(doc) {
|
|
16961
|
+
const target = doc ?? (typeof document === "undefined" ? void 0 : document);
|
|
16962
|
+
if (!target) return () => void 0;
|
|
16963
|
+
let installation = installations.get(target);
|
|
16964
|
+
if (!installation) {
|
|
16965
|
+
const root = target.documentElement;
|
|
16966
|
+
const current = () => root.getAttribute(INPUT_MODALITY_ATTRIBUTE);
|
|
16967
|
+
const set = (modality) => {
|
|
16968
|
+
if (current() !== modality) root.setAttribute(INPUT_MODALITY_ATTRIBUTE, modality);
|
|
16969
|
+
};
|
|
16970
|
+
const now = () => target.defaultView?.performance?.now() ?? Date.now();
|
|
16971
|
+
let lastInputAt = -Infinity;
|
|
16972
|
+
let editingIn = null;
|
|
16973
|
+
let editingAt = -Infinity;
|
|
16974
|
+
const onPointerDown = (event) => {
|
|
16975
|
+
lastInputAt = now();
|
|
16976
|
+
editingIn = null;
|
|
16977
|
+
set(isVirtualPointerEvent(event) ? "virtual" : "pointer");
|
|
16978
|
+
};
|
|
16979
|
+
const onPointerMove = (event) => {
|
|
16980
|
+
if (current() === "keyboard" || current() === "pointer") return;
|
|
16981
|
+
if (event.pointerType === "mouse" && !isVirtualPointerEvent(event)) set("pointer");
|
|
16982
|
+
};
|
|
16983
|
+
const onKeyDown = (event) => {
|
|
16984
|
+
if (event.key === "Shift" || event.key === "Control" || event.key === "Alt" || event.key === "Meta") return;
|
|
16985
|
+
lastInputAt = now();
|
|
16986
|
+
if (keyboardNavigates(event)) {
|
|
16987
|
+
editingIn = null;
|
|
16988
|
+
set("keyboard");
|
|
16989
|
+
return;
|
|
16990
|
+
}
|
|
16991
|
+
const field = editingKeyInField(event);
|
|
16992
|
+
if (field) {
|
|
16993
|
+
editingIn = field;
|
|
16994
|
+
editingAt = now();
|
|
16995
|
+
}
|
|
16996
|
+
};
|
|
16997
|
+
const onFocusIn = (event) => {
|
|
16998
|
+
const focused = eventTarget(event);
|
|
16999
|
+
if (editingIn && now() - editingAt < CAUSE_WINDOW_MS) {
|
|
17000
|
+
if (!focused || focused !== editingIn && !editingIn.contains(focused)) {
|
|
17001
|
+
editingIn = null;
|
|
17002
|
+
set("keyboard");
|
|
17003
|
+
return;
|
|
17004
|
+
}
|
|
17005
|
+
return;
|
|
17006
|
+
}
|
|
17007
|
+
if (now() - lastInputAt > CAUSE_WINDOW_MS) set("virtual");
|
|
17008
|
+
};
|
|
17009
|
+
const options = {
|
|
17010
|
+
capture: true,
|
|
17011
|
+
passive: true
|
|
17012
|
+
};
|
|
17013
|
+
target.addEventListener("pointerdown", onPointerDown, options);
|
|
17014
|
+
target.addEventListener("pointermove", onPointerMove, options);
|
|
17015
|
+
target.addEventListener("keydown", onKeyDown, options);
|
|
17016
|
+
target.addEventListener("focusin", onFocusIn, options);
|
|
17017
|
+
installation = {
|
|
17018
|
+
count: 0,
|
|
17019
|
+
remove: () => {
|
|
17020
|
+
target.removeEventListener("pointerdown", onPointerDown, options);
|
|
17021
|
+
target.removeEventListener("pointermove", onPointerMove, options);
|
|
17022
|
+
target.removeEventListener("keydown", onKeyDown, options);
|
|
17023
|
+
target.removeEventListener("focusin", onFocusIn, options);
|
|
17024
|
+
root.removeAttribute(INPUT_MODALITY_ATTRIBUTE);
|
|
17025
|
+
}
|
|
17026
|
+
};
|
|
17027
|
+
installations.set(target, installation);
|
|
17028
|
+
}
|
|
17029
|
+
installation.count += 1;
|
|
17030
|
+
let undone = false;
|
|
17031
|
+
const current = installation;
|
|
17032
|
+
return () => {
|
|
17033
|
+
if (undone) return;
|
|
17034
|
+
undone = true;
|
|
17035
|
+
current.count -= 1;
|
|
17036
|
+
if (current.count === 0) {
|
|
17037
|
+
current.remove();
|
|
17038
|
+
installations.delete(target);
|
|
17039
|
+
}
|
|
17040
|
+
};
|
|
17041
|
+
}
|
|
17042
|
+
//#endregion
|
|
16845
17043
|
//#region src/lib/theme/theme-provider.tsx
|
|
16846
17044
|
function readStoredMode(storageKey, fallback) {
|
|
16847
17045
|
if (typeof window === "undefined" || !storageKey) return fallback;
|
|
@@ -16883,6 +17081,7 @@ function ThemeProvider({ mode, defaultMode = "light", onModeChange, storageKey,
|
|
|
16883
17081
|
resolvedMode,
|
|
16884
17082
|
setMode
|
|
16885
17083
|
]);
|
|
17084
|
+
useEffect(() => syncDom ? installInputModality() : void 0, [syncDom]);
|
|
16886
17085
|
useEffect(() => {
|
|
16887
17086
|
if (!syncDom) return;
|
|
16888
17087
|
const root = document.documentElement;
|
|
@@ -16896,4 +17095,4 @@ function ThemeProvider({ mode, defaultMode = "light", onModeChange, storageKey,
|
|
|
16896
17095
|
});
|
|
16897
17096
|
}
|
|
16898
17097
|
//#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 };
|
|
17098
|
+
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 };
|