@lovett/ui 0.1.0 → 0.2.3
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/dist/{chunk-RBYWGBQ2.js → chunk-GP7BKVZC.js} +8 -5
- package/dist/chunk-GP7BKVZC.js.map +1 -0
- package/dist/index.d.ts +316 -17
- package/dist/index.js +96 -23
- package/dist/index.js.map +1 -1
- package/dist/{rich-composer-impl-5NO443A6.js → rich-composer-impl-F5PQVFZT.js} +3 -3
- package/dist/{rich-composer-impl-5NO443A6.js.map → rich-composer-impl-F5PQVFZT.js.map} +1 -1
- package/dist/styles.css +53 -1
- package/dist/theme-v2.css +26 -0
- package/dist/tokens.css +13 -0
- package/package.json +2 -2
- package/src/__tests__/clip-reserve.test.ts +431 -0
- package/src/__tests__/display-store.test.tsx +120 -21
- package/src/__tests__/sortable.test.tsx +394 -0
- package/src/detail/__tests__/activity-pane.test.tsx +218 -1
- package/src/detail/activity-pane.tsx +117 -3
- package/src/display-store.tsx +61 -2
- package/src/index.ts +7 -0
- package/src/sortable.tsx +230 -25
- package/src/styles.css +53 -1
- package/src/theme-v2.css +26 -0
- package/src/thread/__tests__/fixtures/thread-fixture.ts +17 -0
- package/src/thread/__tests__/thread.test.tsx +268 -0
- package/src/thread/attachments.tsx +1 -1
- package/src/thread/comment.tsx +104 -6
- package/src/thread/composer.tsx +4 -1
- package/src/thread/reactions.tsx +2 -1
- package/src/thread/types.ts +109 -0
- package/src/tokens.css +13 -0
- package/dist/chunk-RBYWGBQ2.js.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import * as react from 'react';
|
|
|
3
3
|
import react__default, { HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, TextareaHTMLAttributes, CSSProperties, RefObject, ComponentProps, ComponentType, RefAttributes, ReactElement, Ref, FormHTMLAttributes, FormEvent } from 'react';
|
|
4
4
|
import { Toaster as Toaster$1 } from 'sonner';
|
|
5
5
|
export { toast } from 'sonner';
|
|
6
|
+
import { CollisionDetection, DndContext, DragEndEvent } from '@dnd-kit/core';
|
|
6
7
|
import { LucideIcon } from 'lucide-react';
|
|
7
|
-
import { DndContext, DragEndEvent } from '@dnd-kit/core';
|
|
8
8
|
import { ClassValue } from 'clsx';
|
|
9
9
|
|
|
10
10
|
/**
|
|
@@ -889,6 +889,49 @@ declare function DragHandle({ dragHandleProps, className, }: {
|
|
|
889
889
|
dragHandleProps: HTMLAttributes<HTMLElement>;
|
|
890
890
|
className?: string;
|
|
891
891
|
}): react_jsx_runtime.JSX.Element;
|
|
892
|
+
/**
|
|
893
|
+
* Pointer first, `closestCorners` second — dnd-kit's documented shape for a
|
|
894
|
+
* multi-container board (the pointer, then a rect-based fallback; which rect
|
|
895
|
+
* strategy is the choice made at the bottom of this note), and the answer to
|
|
896
|
+
* two defects rather than one.
|
|
897
|
+
*
|
|
898
|
+
* The history is a ladder, and each rung is still true:
|
|
899
|
+
*
|
|
900
|
+
* `closestCenter` measured the dragged card's CENTRE against each droppable
|
|
901
|
+
* and mis-resolved whenever the card was taller than the row it was over,
|
|
902
|
+
* which is the normal case on a board with variable-height cards.
|
|
903
|
+
*
|
|
904
|
+
* `closestCorners` measured the card's four CORNERS instead. Better, and
|
|
905
|
+
* still wrong in the same family: it measures the CARD. A tall card's
|
|
906
|
+
* corners stay nearer its source lane until most of its body has crossed the
|
|
907
|
+
* boundary, so the user has to drag the whole card into the destination
|
|
908
|
+
* rather than point at it. Reported as "I have to literally drag the full
|
|
909
|
+
* entire card over the lane so it catches it".
|
|
910
|
+
*
|
|
911
|
+
* `pointerWithin` measures the POINTER, so a card is caught by the lane the
|
|
912
|
+
* cursor is over regardless of how tall the card is. Card height stops being
|
|
913
|
+
* an input at all, which is why this does not reintroduce the defect
|
|
914
|
+
* `closestCorners` was adopted to fix — it retires the whole measurement.
|
|
915
|
+
*
|
|
916
|
+
* `pointerWithin` returns EVERY droppable containing the pointer, ordered by
|
|
917
|
+
* the pointer's mean distance to that rect's four corners — so the tightest
|
|
918
|
+
* box around the cursor wins. A pointer inside a card yields [card, column]
|
|
919
|
+
* and `over` resolves to the card, which is what gives a cross-column drop its
|
|
920
|
+
* insertion INDEX. A pointer in the column's empty space below the last card
|
|
921
|
+
* yields just the column, and the item appends. Both are wanted.
|
|
922
|
+
*
|
|
923
|
+
* It returns nothing at all when `pointerCoordinates` is null, and dnd-kit
|
|
924
|
+
* derives those from the activator event's `clientX`/`clientY`. A KeyboardEvent
|
|
925
|
+
* has neither, so EVERY keyboard drag takes the fallback — a pointer-only
|
|
926
|
+
* strategy would leave `over` permanently null and break cross-column keyboard
|
|
927
|
+
* movement silently, gates all green. The fallback is therefore `closestCorners`
|
|
928
|
+
* and not `rectIntersection`: keyboard drags keep the exact resolution they
|
|
929
|
+
* have been tested against, and the pointer-outside-every-droppable case (the
|
|
930
|
+
* board's margins and gutters) keeps resolving to the nearest lane rather than
|
|
931
|
+
* to nothing. `rectIntersection` would answer that case by area of overlap —
|
|
932
|
+
* "most of the card", the defect above, back in the gutters.
|
|
933
|
+
*/
|
|
934
|
+
declare const pointerFirstCollision: CollisionDetection;
|
|
892
935
|
/** containerId -> the ids it holds, in order. */
|
|
893
936
|
type SortableContainers = Readonly<Record<string, readonly string[]>>;
|
|
894
937
|
interface MultiSortableMove {
|
|
@@ -903,11 +946,30 @@ interface MultiSortableListProps {
|
|
|
903
946
|
/** Container ids in board order. Also the set treated as drop targets. */
|
|
904
947
|
containerOrder: readonly string[];
|
|
905
948
|
/**
|
|
906
|
-
* Commit the move. Called
|
|
907
|
-
*
|
|
908
|
-
* not
|
|
949
|
+
* Commit the move. Called from the drop handler with the arrangement the
|
|
950
|
+
* board is already showing, so the consumer's job is to make `containers`
|
|
951
|
+
* agree — it is not being asked to produce a frame.
|
|
952
|
+
*
|
|
953
|
+
* It used to say "called synchronously ... so a `setState` here batches with
|
|
954
|
+
* the primitive's own reset". True, and it described the wrong consumer. A
|
|
955
|
+
* consumer that patches its cache synchronously never saw the ghost; one
|
|
956
|
+
* that patches from a mutation's `onMutate` — a microtask at best, an
|
|
957
|
+
* `await cancelQueries` at worst — is not in that batch, and got a frame of
|
|
958
|
+
* the pre-drag arrangement. See the preview note below for what replaced it.
|
|
909
959
|
*/
|
|
910
960
|
onMove: (move: MultiSortableMove, next: SortableContainers) => void;
|
|
961
|
+
/**
|
|
962
|
+
* Override the drop-target strategy. Defaults to `pointerFirstCollision`,
|
|
963
|
+
* whose reasoning is in its own docblock.
|
|
964
|
+
*
|
|
965
|
+
* A prop because this component has now changed collision strategy twice
|
|
966
|
+
* (`closestCenter` → `closestCorners` → pointer-first) and both times a
|
|
967
|
+
* consumer had to wait for a release of this package to get the fix. The
|
|
968
|
+
* escape hatch costs one optional prop; a third such wait costs a release.
|
|
969
|
+
* Overriding it is opting out of the reasoning above, including the keyboard
|
|
970
|
+
* fallback — a bare `pointerWithin` here disables keyboard dragging.
|
|
971
|
+
*/
|
|
972
|
+
collisionDetection?: CollisionDetection | undefined;
|
|
911
973
|
/**
|
|
912
974
|
* What follows the pointer. Without this the card appears to vanish.
|
|
913
975
|
*
|
|
@@ -926,15 +988,28 @@ interface MultiSortableListProps {
|
|
|
926
988
|
* and the container the drag is currently resolved INTO.
|
|
927
989
|
*
|
|
928
990
|
* The second argument exists because `useDroppable().isOver` cannot answer
|
|
929
|
-
* it on a board:
|
|
930
|
-
* whenever a column holds one
|
|
931
|
-
*
|
|
991
|
+
* it on a board: every collision strategy here resolves `over` to a sortable
|
|
992
|
+
* ITEM whenever a column holds one — `closestCorners` by distance, and
|
|
993
|
+
* `pointerWithin` because a pointer inside a card is inside its column too
|
|
994
|
+
* and the card's centre is nearer — so the column's own droppable never wins
|
|
995
|
+
* and its `isOver` measured `false` on every column during real pointer AND
|
|
932
996
|
* keyboard drags. The container has to be derived from the resolved `over`
|
|
933
997
|
* id — the same `containerOf` the announcements already use.
|
|
934
998
|
*/
|
|
935
999
|
children: (arrangement: SortableContainers, overContainerId: string | null) => ReactNode;
|
|
936
1000
|
}
|
|
937
|
-
|
|
1001
|
+
/**
|
|
1002
|
+
* How long a settled preview outlives the drop before `containers` wins.
|
|
1003
|
+
*
|
|
1004
|
+
* Floor: dnd-kit's drop animation is 250ms, and the preview has to still be
|
|
1005
|
+
* under the overlay when it lands or the overlay animates onto an empty slot.
|
|
1006
|
+
* Ceiling: a rejected move has to read as rejected rather than as accepted,
|
|
1007
|
+
* and half a second is about where a snap-back stops looking like a response.
|
|
1008
|
+
* The healthy path never reaches either — an optimistic patch supersedes this
|
|
1009
|
+
* in a frame or two, and the timer is cleared.
|
|
1010
|
+
*/
|
|
1011
|
+
declare const PREVIEW_SETTLE_MS = 500;
|
|
1012
|
+
declare function MultiSortableList({ containers, containerOrder, onMove, collisionDetection, renderOverlay, labelForItem, labelForContainer, children, }: MultiSortableListProps): react_jsx_runtime.JSX.Element;
|
|
938
1013
|
/**
|
|
939
1014
|
* One droppable container inside a <MultiSortableList>.
|
|
940
1015
|
*
|
|
@@ -943,11 +1018,12 @@ declare function MultiSortableList({ containers, containerOrder, onMove, renderO
|
|
|
943
1018
|
* accent (design brief §4), and only the consumer knows what its border is.
|
|
944
1019
|
*
|
|
945
1020
|
* `isOver` here is `useDroppable`'s raw answer and is NOT the board's drag-over
|
|
946
|
-
* signal:
|
|
947
|
-
*
|
|
948
|
-
*
|
|
949
|
-
*
|
|
950
|
-
*
|
|
1021
|
+
* signal: `over` resolves to a sortable item whenever the column holds one, so
|
|
1022
|
+
* this reads `false` for the column the card is actually over. It is kept
|
|
1023
|
+
* because the droppable registration is what makes an EMPTY column a drop
|
|
1024
|
+
* target at all — and, under pointer-first collision, what makes the column's
|
|
1025
|
+
* empty space below the last card a target for an append. The state a consumer
|
|
1026
|
+
* should paint comes from `MultiSortableList`'s `overContainerId`.
|
|
951
1027
|
*/
|
|
952
1028
|
declare function SortableDropZone({ id, items, children, }: {
|
|
953
1029
|
id: string;
|
|
@@ -4994,10 +5070,21 @@ declare const DisplayPopover: typeof DisplayPopoverRoot & {
|
|
|
4994
5070
|
* PERSISTENCE IS PER SCOPE. `scope` is whatever partition the host needs —
|
|
4995
5071
|
* for a lens that is the brand id, because ADR-116 D10 requires brand A's
|
|
4996
5072
|
* preferences never to surface on brand B. The key is
|
|
4997
|
-
*
|
|
5073
|
+
* `<prefix>:<name>:<scope>:display`, matching CLAUDE.md §3's namespacing
|
|
4998
5074
|
* rule. Changing `scope` re-reads: the provider does not remount, so an
|
|
4999
5075
|
* in-flight draft elsewhere in the tree survives a brand switch.
|
|
5000
5076
|
*
|
|
5077
|
+
* THE PREFIX IS THE PRODUCT, AND ITS DEFAULT IS FROZEN. This package is a
|
|
5078
|
+
* dependency of more than one app on more than one origin, and `workspace` is
|
|
5079
|
+
* only the right first segment for one of them: a host whose own convention is
|
|
5080
|
+
* `lightwork:<area>:<id>:<key>` was getting the one key on its board that read
|
|
5081
|
+
* as somebody else's. So `prefix` is an option — and its default is `workspace`
|
|
5082
|
+
* FOREVER, not because that name is good but because these keys already exist
|
|
5083
|
+
* in operators' browsers. A store holds a preference the operator set; changing
|
|
5084
|
+
* the default segment would not move that preference to a new key, it would
|
|
5085
|
+
* walk past it and open at the defaults. The suite pins the unprefixed key as a
|
|
5086
|
+
* literal for that reason.
|
|
5087
|
+
*
|
|
5001
5088
|
* READING IS DEFENSIVE. `localStorage` is untrusted input — a hand-edited
|
|
5002
5089
|
* value, a key left behind by an older build, a private window that throws on
|
|
5003
5090
|
* access. Every persisted key is checked against the default's TYPE and, when
|
|
@@ -5072,7 +5159,33 @@ interface DisplayStore<T extends DisplaySettings> {
|
|
|
5072
5159
|
/** Exposed so a host can name the key it is clearing. */
|
|
5073
5160
|
readonly storageKey: (scope: string) => string;
|
|
5074
5161
|
}
|
|
5075
|
-
|
|
5162
|
+
/**
|
|
5163
|
+
* Everything about the store that is not its settings.
|
|
5164
|
+
*
|
|
5165
|
+
* An OBJECT rather than a fifth positional string, because `allowed` and
|
|
5166
|
+
* `migrations` are both optional and already both objects: a call reading
|
|
5167
|
+
* `createDisplayStore('board', DEFAULTS, undefined, undefined, 'lightwork')`
|
|
5168
|
+
* puts two bare strings at opposite ends of an argument list and names
|
|
5169
|
+
* neither. `{ prefix: 'lightwork' }` says what it is at the call site, and the
|
|
5170
|
+
* next option that earns its place goes beside it rather than becoming a sixth
|
|
5171
|
+
* positional.
|
|
5172
|
+
*/
|
|
5173
|
+
interface DisplayStoreOptions {
|
|
5174
|
+
/**
|
|
5175
|
+
* The key's first segment — the PRODUCT, above the store's own `name`.
|
|
5176
|
+
*
|
|
5177
|
+
* Omit it and the key is `workspace:<name>:<scope>:display`, exactly as it
|
|
5178
|
+
* has always been. Pass one and the store moves wholesale onto it, so two
|
|
5179
|
+
* apps sharing this primitive on one origin under the same `name` cannot
|
|
5180
|
+
* read or overwrite each other.
|
|
5181
|
+
*
|
|
5182
|
+
* It is not a migration seam. A store that changes prefix does not carry its
|
|
5183
|
+
* stored settings across; it opens at its defaults on the new key and leaves
|
|
5184
|
+
* the old one behind. Choose it once, when the store is written.
|
|
5185
|
+
*/
|
|
5186
|
+
prefix?: string;
|
|
5187
|
+
}
|
|
5188
|
+
declare function createDisplayStore<T extends DisplaySettings>(name: string, defaults: T, allowed?: DisplayAllowed<T>, migrations?: DisplayMigrations<T>, options?: DisplayStoreOptions): DisplayStore<T>;
|
|
5076
5189
|
|
|
5077
5190
|
/**
|
|
5078
5191
|
* DeltaChip — the period-over-period change chip that sits beside a KPI value.
|
|
@@ -7265,6 +7378,16 @@ interface ThreadReactionCount {
|
|
|
7265
7378
|
* ADR-147 D17 — optimistic send is a first-class state, not a nicety.
|
|
7266
7379
|
* A comment silently lost to a bad connection is the worst thing this surface
|
|
7267
7380
|
* can do to someone, and it is the most likely.
|
|
7381
|
+
*
|
|
7382
|
+
* `pending` AND `failed` ARE VIEWER-LOCAL, and that is an invariant a host has
|
|
7383
|
+
* to hold rather than a thing this type can enforce. Both describe a comment
|
|
7384
|
+
* that has not landed: it exists in one browser, no other viewer can see it,
|
|
7385
|
+
* and no read should ever return either value. A host that puts `failed` on a
|
|
7386
|
+
* row it fetched is describing somebody ELSE's comment as the viewer's own
|
|
7387
|
+
* failed send, and the retry drawn beside it — the one control on this surface
|
|
7388
|
+
* with no capability flag, because it never needed one — becomes the same lie
|
|
7389
|
+
* `canEdit` exists to stop. Absent means `sent`, which is what every read
|
|
7390
|
+
* should leave it as.
|
|
7268
7391
|
*/
|
|
7269
7392
|
type CommentDeliveryState = 'sent' | 'pending' | 'failed';
|
|
7270
7393
|
/**
|
|
@@ -7366,6 +7489,105 @@ interface ThreadComment {
|
|
|
7366
7489
|
readonly editedAt?: number | null | undefined;
|
|
7367
7490
|
/** Set = tombstone (D4). The row still renders and KEEPS its subtree. */
|
|
7368
7491
|
readonly deletedAt?: number | null | undefined;
|
|
7492
|
+
/**
|
|
7493
|
+
* TRUE = the tombstone above was made by somebody OTHER than the author
|
|
7494
|
+
* (FU-0031, FU-0032). Meaningless without `deletedAt`, and read nowhere else.
|
|
7495
|
+
*
|
|
7496
|
+
* One boolean rather than a `deletedBy` author, and that is a decision, not
|
|
7497
|
+
* a shortcut: the wire deliberately never carries who removed a comment, so
|
|
7498
|
+
* a field that could hold a name would be a field somebody eventually fills.
|
|
7499
|
+
* A boolean cannot leak an identity it does not have.
|
|
7500
|
+
*
|
|
7501
|
+
* OPTIONAL, and absent means `[deleted]` — the render every host on 0.1.0
|
|
7502
|
+
* already gets. A host with no moderation concept never sets it and never
|
|
7503
|
+
* sees a word change.
|
|
7504
|
+
*/
|
|
7505
|
+
readonly moderated?: boolean | undefined;
|
|
7506
|
+
/**
|
|
7507
|
+
* Whether to DRAW the edit control on THIS comment.
|
|
7508
|
+
*
|
|
7509
|
+
* 0.2.0 forwarded `onEdit` and `onDelete` through to the thread and gated
|
|
7510
|
+
* both menu items on nothing but "a callback exists, and this is not a
|
|
7511
|
+
* tombstone". There was no authorship check anywhere in the render, so a
|
|
7512
|
+
* host that wired the two mutations drew them on every live comment,
|
|
7513
|
+
* including the ones the viewer did not write. Every server this was pointed
|
|
7514
|
+
* at refused correctly, which is exactly what makes it the wrong kind of
|
|
7515
|
+
* bug. It is not a hole; it is a LIE. A menu item that exists and can never
|
|
7516
|
+
* work tells somebody they may do a thing they may not, and it is worse than
|
|
7517
|
+
* the absent item, because the absent item at least agrees with the server.
|
|
7518
|
+
*
|
|
7519
|
+
* TWO flags rather than one `viewerIsAuthor`, and the argument for the
|
|
7520
|
+
* second one is already in this interface. `moderated` exists because a
|
|
7521
|
+
* comment can be removed by somebody OTHER than its author (FU-0031,
|
|
7522
|
+
* FU-0032) — so a surface that can produce that tombstone has a delete
|
|
7523
|
+
* predicate that is NOT authorship, while its edit stays author-only. This
|
|
7524
|
+
* module cannot say what any host's predicates ARE, and does not try to; it
|
|
7525
|
+
* only has to be able to spell two that differ, and `moderated` is already
|
|
7526
|
+
* proof that they do. One consumer's arrangement is the existence proof
|
|
7527
|
+
* rather than the rule: a moderated delete on a route of its own behind an
|
|
7528
|
+
* admin rank, and the author-gated edit deliberately left alone, because the
|
|
7529
|
+
* rank that removes somebody's words is not the rank that rewrites them.
|
|
7530
|
+
* A single `viewerIsAuthor` cannot express that pair, and the day it has to,
|
|
7531
|
+
* the fix is a breaking rename rather than a field.
|
|
7532
|
+
*
|
|
7533
|
+
* (Naming a consumer here is a narrower act than the one the TOMBSTONE
|
|
7534
|
+
* docblock in `comment.tsx` rules out. That one would have told every host
|
|
7535
|
+
* how to DERIVE a value — a schema stated as this module's fact. This one
|
|
7536
|
+
* cites an arrangement to show a shape is reachable, and constrains nobody:
|
|
7537
|
+
* a host whose two predicates are identical sets both flags the same way and
|
|
7538
|
+
* never notices the seam has two halves.)
|
|
7539
|
+
*
|
|
7540
|
+
* A per-comment field rather than a predicate in the render context, because
|
|
7541
|
+
* `ThreadLinkPreview.canHide` is already that shape and a second shape for
|
|
7542
|
+
* the same idea is a second thing to learn. It also means nothing between
|
|
7543
|
+
* here and the control needs new plumbing: `<Thread>` and `<ActivityPane>`
|
|
7544
|
+
* forward `comments` verbatim, so the capability arrives with the row it
|
|
7545
|
+
* describes.
|
|
7546
|
+
*
|
|
7547
|
+
* The SHAPE is `canHide`'s; the DEFAULT is its opposite, and that is worth
|
|
7548
|
+
* saying out loud before somebody reasons from the precedent and guesses
|
|
7549
|
+
* backwards. `canHide` is REQUIRED and therefore fails closed — a card whose
|
|
7550
|
+
* host says nothing draws no dismiss control. These two are OPTIONAL and
|
|
7551
|
+
* fail open. The difference is not principle, it is history: link previews
|
|
7552
|
+
* were new when `canHide` landed, so requiring it cost no host anything,
|
|
7553
|
+
* whereas edit and delete already render for everyone and a required field
|
|
7554
|
+
* would be a breaking change that silently removes controls until it is
|
|
7555
|
+
* supplied. "ABSENT MEANS TRUE" below is the whole of that argument.
|
|
7556
|
+
*
|
|
7557
|
+
* Deriving it here from `author.id` against a viewer id was the other
|
|
7558
|
+
* candidate and is rejected twice over: a derived rule recomputed on the
|
|
7559
|
+
* client is a second copy waiting to disagree with the server's, and
|
|
7560
|
+
* `author.id` is nullable by D5 — `ON DELETE SET NULL` would quietly turn
|
|
7561
|
+
* "the author is gone" into "you wrote this".
|
|
7562
|
+
*
|
|
7563
|
+
* ABSENT MEANS TRUE, and that is the uncomfortable half of this. A host on
|
|
7564
|
+
* 0.2.0 that wired `onEdit` and upgrades without touching its data keeps
|
|
7565
|
+
* precisely the render it has today, defect included. The alternative —
|
|
7566
|
+
* absent means false — fixes that host by silently taking the edit control
|
|
7567
|
+
* off the viewer's OWN comments until it maps two new fields: a release in
|
|
7568
|
+
* which nobody can edit anything, nothing errors, no test in the host fails,
|
|
7569
|
+
* and it survives to production for the same reason FU-0019 did. Trading a
|
|
7570
|
+
* known lie for a new silent regression is not a trade, so the default
|
|
7571
|
+
* preserves the render and this docblock is the notice. The seam is one
|
|
7572
|
+
* field wide; a host that means it should set it.
|
|
7573
|
+
*
|
|
7574
|
+
* RENDERING ONLY, and never an authorization decision — the same words
|
|
7575
|
+
* `canHide` is written in, for the same reason. The server re-checks
|
|
7576
|
+
* authorship on every edit and rank on every moderated delete; a client that
|
|
7577
|
+
* flips this to `true` earns a 404, not an edit.
|
|
7578
|
+
*/
|
|
7579
|
+
readonly canEdit?: boolean | undefined;
|
|
7580
|
+
/**
|
|
7581
|
+
* Whether to DRAW the delete control on THIS comment. Everything above
|
|
7582
|
+
* applies, including that absent means true and that this decides RENDERING
|
|
7583
|
+
* only — the server remains the gate and refuses on its own authority.
|
|
7584
|
+
*
|
|
7585
|
+
* It is separate from `canEdit` so the two predicates can differ, which on a
|
|
7586
|
+
* surface with moderation they already do: an admin may remove a comment
|
|
7587
|
+
* they may not rewrite, so `canDelete: true` with `canEdit: false` is the
|
|
7588
|
+
* shape that describes them and there is no way to spell it with one flag.
|
|
7589
|
+
*/
|
|
7590
|
+
readonly canDelete?: boolean | undefined;
|
|
7369
7591
|
readonly reactions?: readonly ThreadReactionCount[] | undefined;
|
|
7370
7592
|
readonly attachments?: readonly ThreadAttachment[] | undefined;
|
|
7371
7593
|
/**
|
|
@@ -7459,6 +7681,75 @@ interface ActivityPaneProps {
|
|
|
7459
7681
|
onSubmit?: ((body: string) => void) | undefined;
|
|
7460
7682
|
/** A reply. Omitted, the thread offers no reply control at all. */
|
|
7461
7683
|
onReply?: ((body: string, parentId: string) => void) | undefined;
|
|
7684
|
+
/**
|
|
7685
|
+
* Forwarded verbatim to the `<Thread>` the Comments tab already mounts.
|
|
7686
|
+
*
|
|
7687
|
+
* These four are here because the pane used to declare `onSubmit` and
|
|
7688
|
+
* `onReply` and stop. `CommentItem` gates its reaction PICKER on `onReact`
|
|
7689
|
+
* and its overflow MENU ITEMS on `onEdit` / `onDelete`; a menu item whose
|
|
7690
|
+
* callback is absent is not rendered, and the reaction chips still render
|
|
7691
|
+
* DISABLED rather than vanishing. (An earlier draft of this docblock said
|
|
7692
|
+
* the whole bar was "NOT RENDERED". That is the rule from `ThreadProps`'
|
|
7693
|
+
* overflow-menu docblock, and it does not generalise to the engagement row —
|
|
7694
|
+
* `reactions.tsx` renders `disabled={!canReact}`.) So a host composing this
|
|
7695
|
+
* pane shipped an inert
|
|
7696
|
+
* engagement row with no picker to open and a menu holding one line, while
|
|
7697
|
+
* the three routes behind them had no caller in the browser at all. Nothing
|
|
7698
|
+
* errored, which is how it survived a release; Lightwork's FU-0019 found it
|
|
7699
|
+
* by opening the surface rather than by reading the source, and the source
|
|
7700
|
+
* understates it.
|
|
7701
|
+
*
|
|
7702
|
+
* WIRING `onEdit` OR `onDelete` IS HALF THE JOB. The callback says the host
|
|
7703
|
+
* has the mutation; `canEdit` / `canDelete` on each `ThreadComment` say
|
|
7704
|
+
* whether this viewer may use it on THAT comment, and the pane forwards
|
|
7705
|
+
* `comments` verbatim, so they arrive with no plumbing here. Set them, or
|
|
7706
|
+
* every live comment in the feed gets an Edit the server will 404 — which is
|
|
7707
|
+
* what forwarding these two without them shipped as, and the same shape as
|
|
7708
|
+
* the `onHideLinkPreview` note below. Absent means the item is drawn, so
|
|
7709
|
+
* nothing this pane renders today disappears on upgrade; that is a
|
|
7710
|
+
* deliberate default and `ThreadComment` argues it.
|
|
7711
|
+
*
|
|
7712
|
+
* `onRetry` is the same omission with one sharper edge: the failed send it
|
|
7713
|
+
* recovers was posted by THIS pane's own composer, so dropping it left the
|
|
7714
|
+
* pane manufacturing a state and offering nobody a way out of it.
|
|
7715
|
+
*
|
|
7716
|
+
* The signatures are `ThreadProps`', unchanged, because a conduit that
|
|
7717
|
+
* reshapes what passes through it is a second contract to keep in step —
|
|
7718
|
+
* and this one is held by two repos. Absent still means no control, so a
|
|
7719
|
+
* host that passes none renders exactly as it did on 0.1.0.
|
|
7720
|
+
*
|
|
7721
|
+
* STILL NOT FORWARDED, deliberately. This list is EXHAUSTIVE against
|
|
7722
|
+
* `ThreadProps` — check it against that interface before adding one, because
|
|
7723
|
+
* a list whose whole purpose is completeness is worse than no list when it
|
|
7724
|
+
* is short: `onVote`, `onCopyLink`, `onCopyText`, `onSelectAuthor`,
|
|
7725
|
+
* `onSelectMention`, `onOpenAttachment`, `resolveAttachmentUrl`,
|
|
7726
|
+
* `onContinueThread`.
|
|
7727
|
+
*
|
|
7728
|
+
* The line is whether a MUTATION becomes unreachable. `onVote` fails it for
|
|
7729
|
+
* a different reason — the pane never exposes `engagement`, so there is no
|
|
7730
|
+
* vote control to receive it and forwarding it would be a dead prop.
|
|
7731
|
+
* `onCopyText` only reports a clipboard outcome; "Copy text" renders without
|
|
7732
|
+
* it. `onContinueThread` falls back to local state, so the button works
|
|
7733
|
+
* unwired. The rest are reads.
|
|
7734
|
+
*
|
|
7735
|
+
* `onHideLinkPreview` USED to be on this list and should not have been: it is
|
|
7736
|
+
* a write in the same pattern as the other mutations, and `link-preview.tsx`
|
|
7737
|
+
* gates its dismiss control on the callback being present. Since the pane
|
|
7738
|
+
* forwards `comments` verbatim — link previews included — a host got
|
|
7739
|
+
* dismissible-looking rows with no route to the mutation. Same shape as the
|
|
7740
|
+
* defect this whole change fixes, caught in review.
|
|
7741
|
+
*/
|
|
7742
|
+
onReact?: ((commentId: string, key: ThreadReactionKey) => void) | undefined;
|
|
7743
|
+
onEdit?: ((commentId: string) => void) | undefined;
|
|
7744
|
+
onDelete?: ((commentId: string) => void) | undefined;
|
|
7745
|
+
onRetry?: ((commentId: string) => void) | undefined;
|
|
7746
|
+
/**
|
|
7747
|
+
* A write, in the same pattern as the mutations above — `link-preview.tsx`
|
|
7748
|
+
* gates its dismiss control on this being present, and the pane forwards
|
|
7749
|
+
* `comments` verbatim, previews included. Without it a host draws rows that
|
|
7750
|
+
* look dismissible and are not. Added in review, not in the original change.
|
|
7751
|
+
*/
|
|
7752
|
+
onHideLinkPreview?: ((commentId: string, urlHash: string) => void) | undefined;
|
|
7462
7753
|
sending?: boolean | undefined;
|
|
7463
7754
|
composerAvatar?: ReactNode | undefined;
|
|
7464
7755
|
composerPlaceholder?: string | undefined;
|
|
@@ -7472,7 +7763,7 @@ interface ActivityPaneProps {
|
|
|
7472
7763
|
emptyStates?: Partial<Record<ActivityTab, ReactNode>> | undefined;
|
|
7473
7764
|
className?: string | undefined;
|
|
7474
7765
|
}
|
|
7475
|
-
declare function ActivityPane({ tab, defaultTab, onTabChange, comments, activity, draft, onDraftChange, onSubmit, onReply, sending, composerAvatar, composerPlaceholder, composerLabel, composerMaxLength, submitLabel, now, locale, emptyStates, className, }: ActivityPaneProps): react_jsx_runtime.JSX.Element;
|
|
7766
|
+
declare function ActivityPane({ tab, defaultTab, onTabChange, comments, activity, draft, onDraftChange, onSubmit, onReply, onReact, onEdit, onDelete, onRetry, onHideLinkPreview, sending, composerAvatar, composerPlaceholder, composerLabel, composerMaxLength, submitLabel, now, locale, emptyStates, className, }: ActivityPaneProps): react_jsx_runtime.JSX.Element;
|
|
7476
7767
|
|
|
7477
7768
|
/**
|
|
7478
7769
|
* MonthCalendar — the date editor's month grid, and the date-value helpers.
|
|
@@ -8195,6 +8486,14 @@ interface ThreadRenderContext extends RichComposerAttachmentProps {
|
|
|
8195
8486
|
*/
|
|
8196
8487
|
readonly onCopyLink?: ((commentId: string) => void) | undefined;
|
|
8197
8488
|
readonly onCopyText?: ((commentId: string, ok: boolean) => void) | undefined;
|
|
8489
|
+
/**
|
|
8490
|
+
* Edit and delete are gated TWICE, and the second gate is the per-comment
|
|
8491
|
+
* one: the callback here says the host wired the mutation, and `canEdit` /
|
|
8492
|
+
* `canDelete` on the row say whether this viewer may use it on THAT comment
|
|
8493
|
+
* (see `ThreadComment`). Wiring the callback alone draws the item on every
|
|
8494
|
+
* live comment, which is what 0.2.0 did and what the server then refused.
|
|
8495
|
+
* Absent flags keep the item, so nothing a 0.2.0 host draws disappears.
|
|
8496
|
+
*/
|
|
8198
8497
|
readonly onEdit?: ((commentId: string) => void) | undefined;
|
|
8199
8498
|
readonly onDelete?: ((commentId: string) => void) | undefined;
|
|
8200
8499
|
/**
|
|
@@ -8675,4 +8974,4 @@ declare function sortCommentTree(roots: readonly CommentNode[], sort: ThreadSort
|
|
|
8675
8974
|
*/
|
|
8676
8975
|
declare function useNowTick(enabled: boolean): number;
|
|
8677
8976
|
|
|
8678
|
-
export { ATTACHMENT_ACCEPT, ATTACHMENT_LIMITS, AVATAR_TINTS, AccordionCompound as Accordion, type AccordionProps, type AccordionSectionProps, type ActivityEntry, ActivityPane, type ActivityPaneProps, type ActivityTab, AllocationSparkbar, type AllocationSparkbarProps, type AnchorAlign, type AnchorPlacement, type AnchorRect, type AnchorSide, type AnchorSize, type AnchoredPosition, type AnchoredPositionOptions, type AnyColumnConfig, AppScroll, type ArcGeometry, type ArcSegment, AreaChart, type AreaChartProps, AttachmentButton, type AttachmentButtonProps, AttachmentDropZone, type AttachmentDropZoneProps, AttachmentGif, type AttachmentGifProps, AttachmentImage, type AttachmentImageProps, AttachmentLightbox, type AttachmentLightboxProps, AttachmentPlaceholder, type AttachmentTicketLike, AttachmentTray, type AttachmentTrayProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type AvatarTint, BOARD_HUE_KEYS, BOARD_STATUS_KEYS, BRAND_ICONS, Badge, type BadgeProps, type BadgeTone, type BandScale, BarChart, type BarChartDatum, type BarChartEmphasis, type BarChartMode, type BarChartOrientation, type BarChartProps, type BarChartSeries, Board, type BoardCardContext, BoardColumn, type BoardColumnProps, type BoardColumnSpec, type BoardHueKey, type BoardItemLeadContext, type BoardProps, type BoardStatusKey, BrandFacebook, BrandIcon, type BrandIconKey, type BrandIconProps, BrandInstagram, BrandLinkedIn, BrandLogoTile, type BrandLogoTileProps, type BrandLogoTileSize, BrandMessenger, BrandMeta, BrandNextdoor, BrandPinterest, BrandSnapchat, BrandTikTok, BulkActionBar, type BulkActionBarProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonVariant, COLUMN_DATA_TYPES, type CalcLayout, type CalcPrefill, CalculatorShell, type CalculatorShellProps, CalculatorShellV2, type CalculatorShellV2Props, Card, ChartFrame, type ChartFrameProps, type ChartFrameState, type ChartFrameView, ChartLegend, type ChartLegendItem, type ChartLegendProps, type ChartSlot, type ChartTableData, type ChartTableRow, ChartTooltip, type ChartTooltipProps, type ChartTooltipRow, Checkbox, type CheckboxProps, ChipNav, type ChipNavItem, ChipToggleGroup, type ChipToggleGroupProps, type ChipToggleItem, Choropleth, type ChoroplethProps, CodeBlock, type CodeBlockProps, CollapsedReplies, type CollapsedRepliesProps, CollapsibleCard, type CollapsibleCardProps, type ColumnAccessor, type ColumnConfig, type ColumnDataNativeMap, type ColumnDataType, type ColumnOption, type ColumnValueMap, Combobox, type ComboboxGroup, type ComboboxMultipleProps, type ComboboxOption, type ComboboxOptionState, type ComboboxProps, type ComboboxSingleProps, type ComboboxSize, CommentActions, type CommentActionsProps, CommentBody, type CommentBodyProps, type CommentDeliveryState, CommentItem, type CommentItemProps, type CommentNode, CommentVote, type CommentVoteProps, CompletionRing, type CompletionRingProps, type ComposerAttachment, type ComposerAttachmentKind, type ComposerAttachmentState, CopyField, type CopyFieldProps, type Crumb, DEFAULT_INDENT_CLAMP_DEPTH, DEFAULT_MAX_DEPTH, DEFAULT_OPERATORS, DEFAULT_REPLIES_VISIBLE, DETAIL_COLLAPSE_VALUES, DETAIL_MODES, DETAIL_MODE_LABELS, DETAIL_PANEL_DEFAULT_SIZE, DONUT_OTHER_KEY, DataGrid, type DataGridColumn, DataGridColumnOptionsMenu, DataGridDragOverlay, type DataGridDrawerPanelProps, DataGridDropIndicator, type DataGridIcon, type DataGridProps, type DataGridRowBase, type DataGridSortState, DataGridToolbar, type DataGridToolbarProps, type DataGridToolbarRenderProps, type DateFilterOperator, type DateParts, DeltaChip, type DeltaChipProps, type DeltaDirection, type DeltaFormat, type DetailCollapse, DetailDivider, type DetailDividerProps, DetailHeader, type DetailHeaderProps, DetailMenu, type DetailMenuAction, type DetailMenuItem, type DetailMenuProps, type DetailMode, type DetailPaneSide, DetailSection, DetailSurface, type DetailSurfaceProps, DeviceFrame, type DeviceFrameProps, type DisplayAllowed, type DisplayController, type DisplayMigrations, DisplayPopover, type DisplayPopoverProps, type DisplayPopoverSectionProps, type DisplayProviderProps, type DisplaySettings, type DisplayStore, type DisplayValue, DonutChart, type DonutChartDatum, type DonutChartProps, type DonutFold, type DonutGapSurface, type DonutSlice, DragHandle, DropdownButton, type DropdownButtonItem, type DropdownButtonProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, DropdownMenuTrigger, type DropdownMenuTriggerProps, type EditingCell, type ElementType, type EmojiEntry, EmptyPlaceholder, EmptyState, type EmptyStateProps, type Extent, FIELD_FILTERS, FIELD_FILTER_LABELS, FILTERS_SEARCH_PARAM, FILTER_OPERATOR_DETAILS, FOLDER_COLOR_KEYS, type FieldFilter, FieldList, type FieldListProps, type FieldOption, type FieldPerson, FieldRow, type FieldRowDateProps, type FieldRowPeopleProps, type FieldRowProps, type FieldRowSelectProps, type FieldRowTagsProps, type FieldRowTextProps, FieldValueButton, type FieldValueButtonProps, FileDropZone, FilePreviewGrid, FilePreviewItem, FileThumbnail, FileUploadButton, FilterBar, type FilterBarCountProps, type FilterBarProps, type FilterBarSearchProps, FilterChipBar, type FilterChipBarProps, type FilterDetails, FilterDropdown, type FilterDropdownProps, type FilterFieldIconRenderer, FilterMenu, type FilterMenuProps, type FilterModel, type FilterOperatorArity, type FilterOperatorDetails, type FilterOperatorDetailsShape, type FilterOperatorTarget, type FilterOperators, type FilterOption, type FilterOptionIconRenderer, type FilterTypeOperatorDetails, type FilterValues, type FiltersState, FloatingDrawer, type FloatingDrawerProps, FloatingStatusBar, type FloatingStatusBarProps, type FloatingStatusTone, FolderCard, type FolderCardProps, type FolderColorKey, type FolderTreeNode, FolderTreePicker, type FolderTreePickerProps, FrameStack, type FrameStackProps, GIF_SEARCH_DEBOUNCE_MS, type GaugeBand, GaugeRing, type GaugeRingProps, type GaugeTone, GifPicker, type GifPickerProps, type GifPickerResult, HEADER_HEIGHT, HeroFormCardCompound as HeroFormCard, type HeroFormCardAdvancedProps, type HeroFormCardBannerProps, type HeroFormCardFieldProps, type HeroFormCardProps, type HeroFormCardSectionProps, type HomeCrumb, HomeCrumbLink, IconTile, IdentityLabel, IdentityValue, Input, type InputProps, type InputSize, Kbd, type KbdProps, LINK_PREVIEW_DEFAULT_ASPECT, LISTBOX_CLASS, type LayerHandle, type LayerKind, type LedgerCell, type LedgerProgress, type LedgerSegment, LineChart, type LineChartProps, type LineChartSeries, LineIcon, LinkPreview, type LinkPreviewProps, ListItem, ListboxOption, type ListboxOptionProps, MarkdownCode, type MarkdownEdit, type MarkdownFormat, MarkdownRenderer, type MarkdownRendererProps, type MentionSuggestionItem, type MentionTarget, type MentionTargetType, MenuButton, type MenuButtonEntry, type MenuButtonItem, type MenuButtonProps, type MenuButtonSeparator, MetaCell, type MetaCellProps, index as MetaPreviews, MetricCard, type MetricCardProps, type MetricCardTone, MicrosoftLogo, type MicrosoftLogoProps, Modal, type MultiOptionFilterOperator, MultiSortableList, type MultiSortableListProps, type MultiSortableMove, type Nullable, type NumberFilterOperator, type NumericInput, OTHER_SLOT_COLOR, type OptionBasedColumnDataType, type OptionFilterOperator, OptionRow, type OptionRowProps, OptionTile, OptionTileGroup, type OptionTileGroupProps, type OptionTileProps, type OutsideClickTarget, PASTE_ATTACHMENT_THRESHOLD, PLACEMENT_CONFIGS, POPOVER_SURFACE_STYLE, PageHeaderHost, PageHeaderSlotProvider, PageHero, type PageHeroProps, PageShell, Pagination, type PaginationProps, type PendingFile, PillButton, type PillButtonProps, type PlacementPreview, type Point, Popover, type PopoverContentProps, type PopoverFooterAction, PopoverFooterActions, type PopoverFooterActionsProps, type PopoverProps, type PopoverTriggerProps, type PreviewAdData, type PreviewConfiguration, type PreviewDevice, type PreviewPlacement, type PreviewPlatform, PS as ProfileSection, type ProfileSectionProps, ProgressBar, type ProgressBarProps, ProgressLedger, type ProgressLedgerProps, REACTION_META, Radio, RadioGroup, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, RankedBars, type RankedBarsItem, type RankedBarsProps, type RankedBarsSort, ReactionBar, type ReactionBarProps, RelativeTime, type RelativeTimeProps, ResizableHandle, type ResizableHandleProps, ResizablePane, type ResizablePaneProps, type RgbTuple, type RichComposerAttachmentProps, RichThreadComposer, type RichThreadComposerProps, type RingDash, SCATTER_SLOT_COUNT, SECTION_SCROLL_OFFSET, SERIES, SERIES_SCATTER, SERIES_SLOT_COUNT, STATUS_GLYPHS, STATUS_LABELS, type ScaleFn, type ScatterSlot, SearchBar, type SearchBarProps, SectionHeading, type SectionHeadingProps, SectionLabel, SegmentedPill, type SegmentedPillItem, type SegmentedPillProps, Select, type SelectOption, type SelectProps, SelectRow, type SelectRowProps, type SelectSize, type SeriesPalette, type SeriesSlot, Shell, type ShellProps, ShellStat, type ShellStatProps, type ShellStatTone, type ShellSubCardProps, type ShellTrayBodyProps, type ShellTrayFooterProps, type ShellTrayHeaderProps, type ShellTrayProps, Slider, type SliderProps, type SortableContainers, SortableDropZone, SortableItem, SortableList, SortableTable, type Column as SortableTableColumn, type SortableTableProps, Sparkline, type SparklineProps, type SparklineVariant, StatCard, type StatCardFooterLink, type StatCardProps, type StatCardSize, StatRow, type StatRowProps, type StatRowStep, StatStrip, type StatStripCell, type StatStripProps, StatsGrid, type StatsGridProps, StatusGlyph, type StatusGlyphProps, StatusRing, type StatusRingProps, StepLoader, type StepLoaderProps, type StepLoaderStep, type SuggestionListProps, type SuggestionOption, THREAD_REACTION_KEYS, type Tab, Tabs, type TabsProps, TagChipInput, type TagChipInputProps, TagRow, TaskCard, type TaskCardAvatar, type TaskCardCount, type TaskCardDate, type TaskCardDragProps, type TaskCardMedia, type TaskCardProps, type TextFilterOperator, TextInput, Textarea, TextareaInput, type TextareaProps, Thread, type ThreadAttachment, type ThreadAttachmentKind, type ThreadAuthor, type ThreadComment, ThreadComposer, type ThreadComposerProps, ThreadConnector, type ThreadConnectorProps, type ThreadEngagement, type ThreadLinkPreview, type ThreadParticipant, type ThreadProps, ThreadRail, type ThreadRailProps, type ThreadReactionCount, type ThreadReactionKey, type ThreadRenderContext, type ThreadSort, ThreadTrunkSegment, type ThreadVote, Toaster, ToggleRow, type ToggleRowProps, TokenBadge, type TokenBadgeProps, Tooltip, type TooltipProps, type TooltipTriggerProps, type UploadResult, type UseAnchoredPositionOptions, type UseAnchoredPositionResult, type UseAttachmentsOptions, type UseAttachmentsResult, type UseEscapeKeyOptions, type UseFileUploadOptions, type UseLayerOptions, type UseOutsideClickOptions, type UseThreadOptions, type UseThreadResult, ValueChip, type ValueChipProps, type VisibleReplies, type WcagBadge, applyMarkdownFormat, arcGeometry, arcSegments, areaPath, asAvatarTint, avatarTintForKey, bandScale, bestTextOn, buildCommentTree, clampPct, clearFilters, cn, computeAnchoredPosition, contrastRatio, copyText, countCommentTree, countDescendants, createDisplayStore, dateFilterFn, dateFilterOperators, defineColumns, detailPaneSide, determineNewOperator, engagementScore, facetedCounts, facetedMinMax, facetedRowsFor, filterRows, foldDonutData, folderColorVar, formatAbsoluteTime, formatAttachmentSize, formatCurrency, formatDateDisplay, formatNumber, formatPercent, formatRatio, formatRelativeTime, getFilter, hasBrandIcon, hexToRgbTuple, hslString, hueClass, hueForKey, indexColumns, initials, isColumnOfType, isOperatorOf, isScatterSlot, isSeriesSlot, ledgerProgress, linePath, linearScale, monthDomain, multiOptionFilterFn, multiOptionFilterOperators, negateOperator, niceTicks, normalizeToMax, numberFilterFn, numberFilterOperators, operatorDetails, operatorValueArity, operatorsForType, optionFilterFn, optionFilterOperators, paletteColor, parseDateValue, parseFilters, parseMentionHref, pastedTextFilename, pruneFilters, relatedOperators, relativeLuminance, removeFilter, rgbCss, rgbString, ringDash, rowMatchesFilter, rowMatchesFilters, scatterColor, serializeFilters, seriesColor, setDateFilter, setFilterOperator, setMultiOptionFilter, setNumberFilter, setOptionFilter, setTextFilter, shouldAttachPaste, slotColor, sortCommentTree, stackFractions, stackTotals, textFilterFn, textFilterOperators, toIsoTimestamp, toggleMultiOptionValue, toggleOptionValue, tooltipPosition, upsertFilter, useAnchoredPosition, useAttachmentUrl, useAttachments, useBreadcrumbHome, useEscapeKey, useFieldRowVisible, useFileUpload, useLayer, useNowTick, useOutsideClick, usePrefersReducedMotion, useThread, wcagBadges, withMinimumArc };
|
|
8977
|
+
export { ATTACHMENT_ACCEPT, ATTACHMENT_LIMITS, AVATAR_TINTS, AccordionCompound as Accordion, type AccordionProps, type AccordionSectionProps, type ActivityEntry, ActivityPane, type ActivityPaneProps, type ActivityTab, AllocationSparkbar, type AllocationSparkbarProps, type AnchorAlign, type AnchorPlacement, type AnchorRect, type AnchorSide, type AnchorSize, type AnchoredPosition, type AnchoredPositionOptions, type AnyColumnConfig, AppScroll, type ArcGeometry, type ArcSegment, AreaChart, type AreaChartProps, AttachmentButton, type AttachmentButtonProps, AttachmentDropZone, type AttachmentDropZoneProps, AttachmentGif, type AttachmentGifProps, AttachmentImage, type AttachmentImageProps, AttachmentLightbox, type AttachmentLightboxProps, AttachmentPlaceholder, type AttachmentTicketLike, AttachmentTray, type AttachmentTrayProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarProps, type AvatarSize, type AvatarTint, BOARD_HUE_KEYS, BOARD_STATUS_KEYS, BRAND_ICONS, Badge, type BadgeProps, type BadgeTone, type BandScale, BarChart, type BarChartDatum, type BarChartEmphasis, type BarChartMode, type BarChartOrientation, type BarChartProps, type BarChartSeries, Board, type BoardCardContext, BoardColumn, type BoardColumnProps, type BoardColumnSpec, type BoardHueKey, type BoardItemLeadContext, type BoardProps, type BoardStatusKey, BrandFacebook, BrandIcon, type BrandIconKey, type BrandIconProps, BrandInstagram, BrandLinkedIn, BrandLogoTile, type BrandLogoTileProps, type BrandLogoTileSize, BrandMessenger, BrandMeta, BrandNextdoor, BrandPinterest, BrandSnapchat, BrandTikTok, BulkActionBar, type BulkActionBarProps, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, type ButtonShape, type ButtonSize, type ButtonVariant, COLUMN_DATA_TYPES, type CalcLayout, type CalcPrefill, CalculatorShell, type CalculatorShellProps, CalculatorShellV2, type CalculatorShellV2Props, Card, ChartFrame, type ChartFrameProps, type ChartFrameState, type ChartFrameView, ChartLegend, type ChartLegendItem, type ChartLegendProps, type ChartSlot, type ChartTableData, type ChartTableRow, ChartTooltip, type ChartTooltipProps, type ChartTooltipRow, Checkbox, type CheckboxProps, ChipNav, type ChipNavItem, ChipToggleGroup, type ChipToggleGroupProps, type ChipToggleItem, Choropleth, type ChoroplethProps, CodeBlock, type CodeBlockProps, CollapsedReplies, type CollapsedRepliesProps, CollapsibleCard, type CollapsibleCardProps, type ColumnAccessor, type ColumnConfig, type ColumnDataNativeMap, type ColumnDataType, type ColumnOption, type ColumnValueMap, Combobox, type ComboboxGroup, type ComboboxMultipleProps, type ComboboxOption, type ComboboxOptionState, type ComboboxProps, type ComboboxSingleProps, type ComboboxSize, CommentActions, type CommentActionsProps, CommentBody, type CommentBodyProps, type CommentDeliveryState, CommentItem, type CommentItemProps, type CommentNode, CommentVote, type CommentVoteProps, CompletionRing, type CompletionRingProps, type ComposerAttachment, type ComposerAttachmentKind, type ComposerAttachmentState, CopyField, type CopyFieldProps, type Crumb, DEFAULT_INDENT_CLAMP_DEPTH, DEFAULT_MAX_DEPTH, DEFAULT_OPERATORS, DEFAULT_REPLIES_VISIBLE, DETAIL_COLLAPSE_VALUES, DETAIL_MODES, DETAIL_MODE_LABELS, DETAIL_PANEL_DEFAULT_SIZE, DONUT_OTHER_KEY, DataGrid, type DataGridColumn, DataGridColumnOptionsMenu, DataGridDragOverlay, type DataGridDrawerPanelProps, DataGridDropIndicator, type DataGridIcon, type DataGridProps, type DataGridRowBase, type DataGridSortState, DataGridToolbar, type DataGridToolbarProps, type DataGridToolbarRenderProps, type DateFilterOperator, type DateParts, DeltaChip, type DeltaChipProps, type DeltaDirection, type DeltaFormat, type DetailCollapse, DetailDivider, type DetailDividerProps, DetailHeader, type DetailHeaderProps, DetailMenu, type DetailMenuAction, type DetailMenuItem, type DetailMenuProps, type DetailMode, type DetailPaneSide, DetailSection, DetailSurface, type DetailSurfaceProps, DeviceFrame, type DeviceFrameProps, type DisplayAllowed, type DisplayController, type DisplayMigrations, DisplayPopover, type DisplayPopoverProps, type DisplayPopoverSectionProps, type DisplayProviderProps, type DisplaySettings, type DisplayStore, type DisplayStoreOptions, type DisplayValue, DonutChart, type DonutChartDatum, type DonutChartProps, type DonutFold, type DonutGapSurface, type DonutSlice, DragHandle, DropdownButton, type DropdownButtonItem, type DropdownButtonProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, DropdownMenuTrigger, type DropdownMenuTriggerProps, type EditingCell, type ElementType, type EmojiEntry, EmptyPlaceholder, EmptyState, type EmptyStateProps, type Extent, FIELD_FILTERS, FIELD_FILTER_LABELS, FILTERS_SEARCH_PARAM, FILTER_OPERATOR_DETAILS, FOLDER_COLOR_KEYS, type FieldFilter, FieldList, type FieldListProps, type FieldOption, type FieldPerson, FieldRow, type FieldRowDateProps, type FieldRowPeopleProps, type FieldRowProps, type FieldRowSelectProps, type FieldRowTagsProps, type FieldRowTextProps, FieldValueButton, type FieldValueButtonProps, FileDropZone, FilePreviewGrid, FilePreviewItem, FileThumbnail, FileUploadButton, FilterBar, type FilterBarCountProps, type FilterBarProps, type FilterBarSearchProps, FilterChipBar, type FilterChipBarProps, type FilterDetails, FilterDropdown, type FilterDropdownProps, type FilterFieldIconRenderer, FilterMenu, type FilterMenuProps, type FilterModel, type FilterOperatorArity, type FilterOperatorDetails, type FilterOperatorDetailsShape, type FilterOperatorTarget, type FilterOperators, type FilterOption, type FilterOptionIconRenderer, type FilterTypeOperatorDetails, type FilterValues, type FiltersState, FloatingDrawer, type FloatingDrawerProps, FloatingStatusBar, type FloatingStatusBarProps, type FloatingStatusTone, FolderCard, type FolderCardProps, type FolderColorKey, type FolderTreeNode, FolderTreePicker, type FolderTreePickerProps, FrameStack, type FrameStackProps, GIF_SEARCH_DEBOUNCE_MS, type GaugeBand, GaugeRing, type GaugeRingProps, type GaugeTone, GifPicker, type GifPickerProps, type GifPickerResult, HEADER_HEIGHT, HeroFormCardCompound as HeroFormCard, type HeroFormCardAdvancedProps, type HeroFormCardBannerProps, type HeroFormCardFieldProps, type HeroFormCardProps, type HeroFormCardSectionProps, type HomeCrumb, HomeCrumbLink, IconTile, IdentityLabel, IdentityValue, Input, type InputProps, type InputSize, Kbd, type KbdProps, LINK_PREVIEW_DEFAULT_ASPECT, LISTBOX_CLASS, type LayerHandle, type LayerKind, type LedgerCell, type LedgerProgress, type LedgerSegment, LineChart, type LineChartProps, type LineChartSeries, LineIcon, LinkPreview, type LinkPreviewProps, ListItem, ListboxOption, type ListboxOptionProps, MarkdownCode, type MarkdownEdit, type MarkdownFormat, MarkdownRenderer, type MarkdownRendererProps, type MentionSuggestionItem, type MentionTarget, type MentionTargetType, MenuButton, type MenuButtonEntry, type MenuButtonItem, type MenuButtonProps, type MenuButtonSeparator, MetaCell, type MetaCellProps, index as MetaPreviews, MetricCard, type MetricCardProps, type MetricCardTone, MicrosoftLogo, type MicrosoftLogoProps, Modal, type MultiOptionFilterOperator, MultiSortableList, type MultiSortableListProps, type MultiSortableMove, type Nullable, type NumberFilterOperator, type NumericInput, OTHER_SLOT_COLOR, type OptionBasedColumnDataType, type OptionFilterOperator, OptionRow, type OptionRowProps, OptionTile, OptionTileGroup, type OptionTileGroupProps, type OptionTileProps, type OutsideClickTarget, PASTE_ATTACHMENT_THRESHOLD, PLACEMENT_CONFIGS, POPOVER_SURFACE_STYLE, PREVIEW_SETTLE_MS, PageHeaderHost, PageHeaderSlotProvider, PageHero, type PageHeroProps, PageShell, Pagination, type PaginationProps, type PendingFile, PillButton, type PillButtonProps, type PlacementPreview, type Point, Popover, type PopoverContentProps, type PopoverFooterAction, PopoverFooterActions, type PopoverFooterActionsProps, type PopoverProps, type PopoverTriggerProps, type PreviewAdData, type PreviewConfiguration, type PreviewDevice, type PreviewPlacement, type PreviewPlatform, PS as ProfileSection, type ProfileSectionProps, ProgressBar, type ProgressBarProps, ProgressLedger, type ProgressLedgerProps, REACTION_META, Radio, RadioGroup, type RadioGroupProps, type RadioProps, RangeSlider, type RangeSliderProps, RankedBars, type RankedBarsItem, type RankedBarsProps, type RankedBarsSort, ReactionBar, type ReactionBarProps, RelativeTime, type RelativeTimeProps, ResizableHandle, type ResizableHandleProps, ResizablePane, type ResizablePaneProps, type RgbTuple, type RichComposerAttachmentProps, RichThreadComposer, type RichThreadComposerProps, type RingDash, SCATTER_SLOT_COUNT, SECTION_SCROLL_OFFSET, SERIES, SERIES_SCATTER, SERIES_SLOT_COUNT, STATUS_GLYPHS, STATUS_LABELS, type ScaleFn, type ScatterSlot, SearchBar, type SearchBarProps, SectionHeading, type SectionHeadingProps, SectionLabel, SegmentedPill, type SegmentedPillItem, type SegmentedPillProps, Select, type SelectOption, type SelectProps, SelectRow, type SelectRowProps, type SelectSize, type SeriesPalette, type SeriesSlot, Shell, type ShellProps, ShellStat, type ShellStatProps, type ShellStatTone, type ShellSubCardProps, type ShellTrayBodyProps, type ShellTrayFooterProps, type ShellTrayHeaderProps, type ShellTrayProps, Slider, type SliderProps, type SortableContainers, SortableDropZone, SortableItem, SortableList, SortableTable, type Column as SortableTableColumn, type SortableTableProps, Sparkline, type SparklineProps, type SparklineVariant, StatCard, type StatCardFooterLink, type StatCardProps, type StatCardSize, StatRow, type StatRowProps, type StatRowStep, StatStrip, type StatStripCell, type StatStripProps, StatsGrid, type StatsGridProps, StatusGlyph, type StatusGlyphProps, StatusRing, type StatusRingProps, StepLoader, type StepLoaderProps, type StepLoaderStep, type SuggestionListProps, type SuggestionOption, THREAD_REACTION_KEYS, type Tab, Tabs, type TabsProps, TagChipInput, type TagChipInputProps, TagRow, TaskCard, type TaskCardAvatar, type TaskCardCount, type TaskCardDate, type TaskCardDragProps, type TaskCardMedia, type TaskCardProps, type TextFilterOperator, TextInput, Textarea, TextareaInput, type TextareaProps, Thread, type ThreadAttachment, type ThreadAttachmentKind, type ThreadAuthor, type ThreadComment, ThreadComposer, type ThreadComposerProps, ThreadConnector, type ThreadConnectorProps, type ThreadEngagement, type ThreadLinkPreview, type ThreadParticipant, type ThreadProps, ThreadRail, type ThreadRailProps, type ThreadReactionCount, type ThreadReactionKey, type ThreadRenderContext, type ThreadSort, ThreadTrunkSegment, type ThreadVote, Toaster, ToggleRow, type ToggleRowProps, TokenBadge, type TokenBadgeProps, Tooltip, type TooltipProps, type TooltipTriggerProps, type UploadResult, type UseAnchoredPositionOptions, type UseAnchoredPositionResult, type UseAttachmentsOptions, type UseAttachmentsResult, type UseEscapeKeyOptions, type UseFileUploadOptions, type UseLayerOptions, type UseOutsideClickOptions, type UseThreadOptions, type UseThreadResult, ValueChip, type ValueChipProps, type VisibleReplies, type WcagBadge, applyMarkdownFormat, arcGeometry, arcSegments, areaPath, asAvatarTint, avatarTintForKey, bandScale, bestTextOn, buildCommentTree, clampPct, clearFilters, cn, computeAnchoredPosition, contrastRatio, copyText, countCommentTree, countDescendants, createDisplayStore, dateFilterFn, dateFilterOperators, defineColumns, detailPaneSide, determineNewOperator, engagementScore, facetedCounts, facetedMinMax, facetedRowsFor, filterRows, foldDonutData, folderColorVar, formatAbsoluteTime, formatAttachmentSize, formatCurrency, formatDateDisplay, formatNumber, formatPercent, formatRatio, formatRelativeTime, getFilter, hasBrandIcon, hexToRgbTuple, hslString, hueClass, hueForKey, indexColumns, initials, isColumnOfType, isOperatorOf, isScatterSlot, isSeriesSlot, ledgerProgress, linePath, linearScale, monthDomain, multiOptionFilterFn, multiOptionFilterOperators, negateOperator, niceTicks, normalizeToMax, numberFilterFn, numberFilterOperators, operatorDetails, operatorValueArity, operatorsForType, optionFilterFn, optionFilterOperators, paletteColor, parseDateValue, parseFilters, parseMentionHref, pastedTextFilename, pointerFirstCollision, pruneFilters, relatedOperators, relativeLuminance, removeFilter, rgbCss, rgbString, ringDash, rowMatchesFilter, rowMatchesFilters, scatterColor, serializeFilters, seriesColor, setDateFilter, setFilterOperator, setMultiOptionFilter, setNumberFilter, setOptionFilter, setTextFilter, shouldAttachPaste, slotColor, sortCommentTree, stackFractions, stackTotals, textFilterFn, textFilterOperators, toIsoTimestamp, toggleMultiOptionValue, toggleOptionValue, tooltipPosition, upsertFilter, useAnchoredPosition, useAttachmentUrl, useAttachments, useBreadcrumbHome, useEscapeKey, useFieldRowVisible, useFileUpload, useLayer, useNowTick, useOutsideClick, usePrefersReducedMotion, useThread, wcagBadges, withMinimumArc };
|