@tensor_1/react 2.46.0 → 2.47.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/dist/index.d.cts CHANGED
@@ -250,6 +250,34 @@ declare function prefersReducedMotion(): boolean;
250
250
  /** True while the user asks for reduced motion; re-renders when the setting changes. `false` on the server. */
251
251
  declare function useReducedMotion(): boolean;
252
252
 
253
+ interface DelayedPendingOptions {
254
+ /** Wait this long before showing anything (default 300 ms). `0` shows at once. */
255
+ delay?: number;
256
+ /** Once shown, keep showing at least this long (default 500 ms). */
257
+ minVisible?: number;
258
+ }
259
+ /**
260
+ * Whether to show a pending indicator for `pending` (motion standard §2.3): nothing for the
261
+ * first 300 ms, so a fast action never flashes a spinner; once shown, held at least 500 ms
262
+ * after it appeared, so it never flickers off the moment the work ends.
263
+ *
264
+ * ```tsx
265
+ * const showSpinner = useDelayedPending(query.isFetching);
266
+ * {showSpinner && <Spinner />}
267
+ * ```
268
+ *
269
+ * Use the raw `pending` for behaviour (blocking a second submit); use the result for what
270
+ * people see. Returns `false` on the server and on the first client render unless `delay` is 0.
271
+ */
272
+ declare function useDelayedPending(pending: boolean, { delay, minVisible }?: DelayedPendingOptions): boolean;
273
+
274
+ /** Under this, a pending action shows nothing new: a spinner that would flash for 150 ms is noise. */
275
+ declare const PENDING_DELAY_MS = 300;
276
+ /** Once a pending indicator appears, it stays at least this long so it never flickers. */
277
+ declare const PENDING_MIN_VISIBLE_MS = 500;
278
+ /** How long an in-place result ("Saved", "Couldn't save") holds before the control returns. */
279
+ declare const RESULT_HOLD_MS = 1500;
280
+
253
281
  /**
254
282
  * What a `renderLink` callback receives (HAR-1348). Spread it onto your router's link
255
283
  * so it keeps client navigation and prefetch: `renderLink={(p) => <NextLink {...p} />}`.
@@ -299,6 +327,14 @@ interface KbdComboProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'
299
327
  */
300
328
  declare function KbdCombo({ keys, platform, keyLabels, className, ...props }: KbdComboProps): react.JSX.Element;
301
329
 
330
+ type ButtonResult = 'success' | 'error';
331
+ /** The words a `Button` shows and announces for a moment after its action ends. */
332
+ interface ButtonResultLabels {
333
+ success: string;
334
+ error: string;
335
+ }
336
+ declare const DEFAULT_BUTTON_RESULT_LABELS: ButtonResultLabels;
337
+
302
338
  type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger' | 'link';
303
339
  /** `xs` is 24 px: the smallest hit area WCAG 2.5.8 allows, for dense tool rows (HAR-1348). */
304
340
  type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
@@ -306,7 +342,27 @@ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
306
342
  variant?: ButtonVariant;
307
343
  size?: ButtonSize;
308
344
  icon?: boolean;
345
+ /**
346
+ * The button's action is running. The button stops taking presses at once and is announced
347
+ * busy; the spinner appears only after `loadingDelay` and then stays at least 500 ms, so a
348
+ * fast action never flashes one (HAR-2580, motion standard §2.3). The button keeps its full
349
+ * colour while it works: a spinner, not a greyed-out control.
350
+ */
309
351
  loading?: boolean;
352
+ /** Milliseconds before the spinner shows (default 300). `0` shows it at once. */
353
+ loadingDelay?: number;
354
+ /**
355
+ * How the button's last action ended (HAR-2581). When it changes to `success` or `error`,
356
+ * or an action ends with one, the label crossfades to a check and `resultLabels.success`
357
+ * ("Done") or an alert mark and `resultLabels.error` ("Failed") for 1.5 s, announced
358
+ * politely, then returns. Never on the first render. The button is always as wide as its
359
+ * widest wording, so nothing beside it moves. Pass `null` while there is no result (keep
360
+ * the prop defined); say what failed and how to recover somewhere that stays, such as a
361
+ * field error or a toast. e.g. `result={m.isSuccess ? 'success' : m.isError ? 'error' : null}`
362
+ */
363
+ result?: ButtonResult | null;
364
+ /** The result words, e.g. `{ success: 'Assigned', error: 'Not assigned' }`; or `UixLabelsProvider` `buttonResult`. */
365
+ resultLabels?: Partial<ButtonResultLabels>;
310
366
  /**
311
367
  * Let a long label wrap onto more lines: the size becomes a minimum height instead of a fixed
312
368
  * one (HAR-1813, WCAG 1.4.10 reflow). For human-language labels on public or narrow screens;
@@ -2884,6 +2940,8 @@ declare function SearchBar({ label, value: valueProp, defaultValue, onValueChang
2884
2940
  * on the server.
2885
2941
  */
2886
2942
  interface UixLabels {
2943
+ /** The words a `Button` with `result` shows for a moment after its action (HAR-2581). */
2944
+ buttonResult?: Partial<ButtonResultLabels>;
2887
2945
  modal?: {
2888
2946
  close?: string;
2889
2947
  };
@@ -4186,8 +4244,14 @@ interface SpinnerProps extends HTMLAttributes<HTMLSpanElement> {
4186
4244
  accent?: boolean;
4187
4245
  /** Announced loading text (default "Loading…"). */
4188
4246
  label?: string;
4247
+ /**
4248
+ * Show the spinner only after it has been mounted this long: `true` is 300 ms, a number is
4249
+ * milliseconds (HAR-2580). Work that ends sooner never flashes a spinner. To also hold it at
4250
+ * least 500 ms once shown, mount it from `useDelayedPending(pending)` instead.
4251
+ */
4252
+ delay?: boolean | number;
4189
4253
  }
4190
- declare function Spinner({ size, accent, label, className, ...props }: SpinnerProps): react.JSX.Element;
4254
+ declare function Spinner({ delay, ...props }: SpinnerProps): react.JSX.Element;
4191
4255
 
4192
4256
  type HeartbeatState = 'live' | 'idle' | 'warning' | 'danger';
4193
4257
  interface HeartbeatProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'children'> {
@@ -4347,6 +4411,13 @@ interface TableWrapProps extends HTMLAttributes<HTMLDivElement> {
4347
4411
  * "N selected". Pass `useTable().announcement` straight through (UIX-A11Y-2).
4348
4412
  */
4349
4413
  announcement?: string;
4414
+ /**
4415
+ * The rows are being fetched again (a filter, sort, page or saved-view change; HAR-2582). The
4416
+ * current rows stay and dim under an indeterminate bar along the top, and the wrap is
4417
+ * `aria-busy`; after 300 ms, held at least 500 ms. Keep the previous rows while fetching
4418
+ * (TanStack Query `placeholderData: keepPreviousData`); skeleton rows are for a first load.
4419
+ */
4420
+ refreshing?: boolean;
4350
4421
  children?: ReactNode;
4351
4422
  }
4352
4423
  declare const TableWrap: react.ForwardRefExoticComponent<TableWrapProps & react.RefAttributes<HTMLDivElement>>;
@@ -4848,9 +4919,15 @@ interface LoadingStateProps extends HTMLAttributes<HTMLDivElement> {
4848
4919
  density?: 'compact' | 'comfortable';
4849
4920
  /** Announced loading text (default "Loading"). */
4850
4921
  label?: string;
4922
+ /**
4923
+ * Show the skeleton only after it has been mounted this long: `true` is 300 ms, a number is
4924
+ * milliseconds (HAR-2580). A first load that answers sooner goes straight to the content.
4925
+ * Skeletons are for a first load; a refetch keeps its rows in a `BusyRegion`.
4926
+ */
4927
+ delay?: boolean | number;
4851
4928
  }
4852
4929
  /** A stack of skeleton rows for list/section loading. `role="status"`. */
4853
- declare function LoadingState({ rows, density, label, className, ...props }: LoadingStateProps): react.JSX.Element;
4930
+ declare function LoadingState({ delay, ...props }: LoadingStateProps): react.JSX.Element;
4854
4931
 
4855
4932
  interface RelativeTimeFormatContext {
4856
4933
  date: Date;
@@ -5003,6 +5080,12 @@ interface SaveStatusProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children
5003
5080
  labels?: Partial<SaveStatusLabels>;
5004
5081
  /** Offered as a button only while `state` is `failed`. */
5005
5082
  onRetry?: () => void;
5083
+ /**
5084
+ * Milliseconds before "Saving…" shows (default 300; HAR-2580). Until then the previous words
5085
+ * stay, so a fast save goes straight to "Saved" without a flash; once "Saving…" shows it
5086
+ * stays at least 500 ms. `0` shows every state at once and holds none.
5087
+ */
5088
+ delay?: number;
5006
5089
  }
5007
5090
  /**
5008
5091
  * Inline save feedback over `.uix-save-status`: saving → saved → failed, with a retry.
@@ -5014,7 +5097,21 @@ interface SaveStatusProps extends Omit<HTMLAttributes<HTMLDivElement>, 'children
5014
5097
  * rendering null while idle would silence the first "Saving…". The retry button sits
5015
5098
  * outside the region so its label is not read out on every change.
5016
5099
  */
5017
- declare function SaveStatus({ state, labels, onRetry, className, ...props }: SaveStatusProps): react.JSX.Element;
5100
+ declare function SaveStatus({ state, labels, onRetry, delay, className, ...props }: SaveStatusProps): react.JSX.Element;
5101
+
5102
+ interface BusyRegionProps extends HTMLAttributes<HTMLDivElement> {
5103
+ /** The content is being fetched again (a filter, sort, page or saved-view change). */
5104
+ busy: boolean;
5105
+ children?: ReactNode;
5106
+ }
5107
+ /**
5108
+ * Keeps what is on screen while it is fetched again (HAR-2582, motion standard §2.5): the
5109
+ * children stay, dim, and an indeterminate bar runs along the top; `aria-busy` is set at
5110
+ * once. The bar and the dim wait 300 ms, so a quick refetch shows nothing, and then stay at
5111
+ * least 500 ms. A skeleton is for a first load only: swapping rows for skeletons on every
5112
+ * refetch hides what changed. For a table, `TableWrap refreshing` does the same.
5113
+ */
5114
+ declare function BusyRegion({ busy, className, children, ...props }: BusyRegionProps): react.JSX.Element;
5018
5115
 
5019
5116
  interface ComposerProps extends HTMLAttributes<HTMLDivElement> {
5020
5117
  children?: ReactNode;
@@ -6496,4 +6593,4 @@ declare function hsvToHex(value: HsvColor): string;
6496
6593
  declare function contrastRatio(background: string, foreground: string): number | undefined;
6497
6594
  declare function meetsContrast(background: string, foreground: string, minimum?: number): boolean;
6498
6595
 
6499
- export { type AccessStateProps, Alert, type AlertProps, type AlertTone, AppShell, type AppShellProps, type AppliedBrandProfileSnapshot, type AsyncOperationState, AsyncOperationStatus, type AsyncOperationStatusProps, Attachment, type AttachmentLabels, AttachmentList, type AttachmentListProps, type AttachmentProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarPresence, type AvatarProps, type BoundedRelationshipGraph, type BrandProfile, BrandProfileEditor, type BrandProfileEditorLabels, type BrandProfileEditorProps, type BrandProfileLogo, type BrandProfileTypography, BrandProfiles, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, BuilderCanvas, type BuilderCanvasItem, type BuilderCanvasLabels, type BuilderCanvasProps, type BuilderPaletteItem, BulkBar, type BulkBarProps, Bullet, type BulletProps, Button, ButtonGroup, type ButtonGroupProps, ButtonLink, type ButtonLinkProps, type ButtonProps, type ButtonSize, type ButtonVariant, type CalendarDay, type CalendarWeekday, Card, CardLink, type CardLinkProps, type CardProps, CellStrong, CellSub, Checkbox, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipProps, CollapsibleSection, type CollapsibleSectionProps, ColorPicker, type ColorPickerLabels, type ColorPickerProps, type ColumnFilter, Combobox, type ComboboxOption, type ComboboxProps, CommandGroup, type CommandGroupProps, CommandItem, type CommandItemProps, CommandPalette, type CommandPaletteProps, Comment, type CommentProps, Comments, type CommentsProps, Composer, ComposerBar, type ComposerBarProps, type ComposerProps, ConfirmDialog, type ConfirmDialogProps, ContentList, ContentListItem, type ContentListItemProps, type ContentListProps, CopyButton, type CopyButtonProps, DASHBOARD_CANVAS_COLUMNS, DAY, DEFAULT_ATTACHMENT_LABELS, DEFAULT_BRAND_PROFILE_EDITOR_LABELS, DEFAULT_BUILDER_CANVAS_LABELS, DEFAULT_COLOR_PICKER_LABELS, DEFAULT_DASHBOARD_CANVAS_LABELS, DEFAULT_DATE_PICKER_LABELS, DEFAULT_DATE_RANGE_PICKER_LABELS, DEFAULT_DATE_TIME_PICKER_LABELS, DEFAULT_DIFF_VIEWER_LABELS, DEFAULT_ENTITY_PICKER_LABELS, DEFAULT_FILE_UPLOAD_LABELS, DEFAULT_FILTER_EDITOR_LABELS, DEFAULT_FILTER_SUMMARY_LABELS, DEFAULT_INLINE_EDIT_LABELS, DEFAULT_INSIGHT_CARD_LABELS, DEFAULT_LIGHTBOX_LABELS, DEFAULT_MATCH_REVIEW_LABELS, DEFAULT_ORG_CHART_LABELS, DEFAULT_PAGINATION_LABELS, DEFAULT_PRESENCE_LABELS, DEFAULT_RELATIONSHIP_GRAPH_LABELS, DEFAULT_RULE_BUILDER_LABELS, DEFAULT_RULE_SUMMARY_WORDS, DEFAULT_RULE_VALIDATION_MESSAGES, DEFAULT_SAVE_STATUS_LABELS, DEFAULT_SCHEDULING_CALENDAR_LABELS, DEFAULT_SCHEDULING_TIMELINE_LABELS, DEFAULT_STEP_STATE_LABELS, DEFAULT_TEXT_DIFF_LABELS, DEFAULT_TREE_LABELS, DashboardCanvas, type DashboardCanvasChange, type DashboardCanvasDirection, type DashboardCanvasGap, type DashboardCanvasItem, type DashboardCanvasLabels, type DashboardCanvasPlacement, type DashboardCanvasProps, type DashboardCanvasResize, DashboardGrid, type DashboardGridBreakpoint, type DashboardGridColumnCount, type DashboardGridColumns, type DashboardGridGap, DashboardGridItem, type DashboardGridItemProps, type DashboardGridProps, type DashboardGridSpan, type DateInputProblem, type DatePart, DatePicker, type DatePickerLabels, type DatePickerProps, DateRangePicker, type DateRangePickerLabels, type DateRangePickerProps, type DateRangeValue, DateTimePicker, type DateTimePickerLabels, type DateTimePickerProps, type DaySpanLayout, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListItem, type DescriptionListProps, DetailLayout, type DetailLayoutProps, DetailPage, type DetailPageLinkProps, type DetailPageMetric, type DetailPageProps, type DetailPageTab, DialogClose, type DialogCloseEvent, type DialogCloseProps, type DiffEntry, type DiffKind, type DiffResolution, type DiffSummary, DiffViewer, type DiffViewerLabels, type DiffViewerProps, type DiscardPromptLabels, Drawer, type DrawerProps, EmptyState, type EmptyStateProps, EntityPicker, type EntityPickerLabels, type EntityPickerProps, type EntityPickerSearchResult, ErrorState, type ErrorStateProps, EventRow, type EventRowProps, ExpandToggle, type ExpandToggleProps, FeaturedRundown, FeaturedRundownItem, type FeaturedRundownItemProps, type FeaturedRundownProps, FeaturedStage, type FeaturedStageProps, Field, type FieldProps, type FileRejection, type FileRejectionReason, type FileSizeFormatter, type FileSizeOptions, FileUpload, type FileUploadItem, type FileUploadLabels, type FileUploadProps, type FileUploadStatus, type FilterChoice, FilterEditor, type FilterEditorLabels, type FilterEditorProps, type FilterField, type FilterKind, type FilterOp, type FilterOption, FilterPopover, type FilterPopoverProps, type FilterPreset, type FilterSummaryLabels, type FilterValue, type FilterValueKind, FilteredEmptyState, type FlatNode, Flow, FlowNode, type FlowNodeProps, type FlowNodeState, type FlowProps, type FlowVariant, type FoldedText, ForbiddenState, HOUR, Heartbeat, type HeartbeatProps, type HeartbeatState, Highlighted, type HighlightedProps, type HsvColor, Inbox, InboxDetail, type InboxDetailProps, InboxItem, type InboxItemProps, InboxList, type InboxListProps, type InboxProps, InfoTip, type InfoTipProps, InlineEdit, type InlineEditEditorProps, type InlineEditLabels, type InlineEditProps, Input, InputGroup, type InputGroupProps, type InputProps, InsightCard, type InsightCardLabels, type InsightCardProps, type InsightComparison, type InsightCoverage, type InsightKpi, type InsightStatus, type InsightStatusTone, type InsightTarget, type JsonPrimitive, type JsonValue, Kanban, KanbanCard, type KanbanCardProps, KanbanColumn, type KanbanColumnProps, type KanbanMoveDirection, type KanbanProps, Kbd, KbdCombo, type KbdComboProps, type KbdPlatform, type KbdProps, type KeyShortcut, Label, type LabelProps, type LaneCluster, type LaneInterval, type LanePlacement, type LayeredColumn, type LayeredEdgeClassification, type LayeredEdgeKind, type LayeredItem, type LayeredLayout, type LayeredLayoutOptions, type LayeredNavigationKey, type LayoutLaneOptions, type LayoutMonthSpansOptions, LicensePositionBar, type LicensePositionBarProps, Lightbox, type LightboxItem, type LightboxLabels, type LightboxProps, List, ListItem, type ListItemProps, type ListProps, LiveIndicator, type LiveIndicatorProps, LoadingState, type LoadingStateProps, Mark, type MarkProps, type MatchBulkResult, MatchReview, type MatchReviewAction, type MatchReviewCandidate, type MatchReviewField, type MatchReviewLabels, type MatchReviewProps, Menu, MenuGroup, type MenuGroupProps, MenuItem, type MenuItemAttributes, MenuItemCheckbox, type MenuItemCheckboxProps, type MenuItemProps, MenuItemRadio, type MenuItemRadioProps, type MenuProps, MenuRadioGroup, type MenuRadioGroupProps, MenuSeparator, Meter, type MeterProps, type MeterTone, MetricInput, type MetricInputProps, Modal, type ModalProps, type MonthSpanGroup, type MonthSpanInput, type MonthSpanLayout, type MoveProposal, NUMBER_FILTER_OPERATORS, type NavFavouriteItem, NavFavourites, type NavFavouritesLabels, type NavFavouritesProps, NavGroup, type NavGroupProps, NavItem, type NavItemProps, NewsLead, type NewsLeadProps, NotFoundState, Note, type NoteProps, type NoteTone, NoticeQueue, type NoticeQueueProps, type NumberFilterOperator, OrgChart, type OrgChartLabels, type OrgChartNode, type OrgChartProps, type PackLanesOptions, type PackedLanes, PageHeader, type PageHeaderProps, PageIntro, type PageIntroProps, Pagination, type PaginationLabels, type PaginationProps, Peek, type PeekProps, type PillSize, type PillTone, type PillTreatment, Pipeline, type PipelineProps, PipelineStage, type PipelineStageProps, type PipelineStageState, type PlacedDaySpan, type PlacedMonthSpan, type PlacedSpan, Placement, Popconfirm, type PopconfirmProps, Popover, type PopoverProps, type PositionedRelationshipNode, PresenceDot, type PresenceDotProps, type Primitive, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Prose, type ProseProps, Radio, RadioCard, type RadioCardProps, RadioGroup, type RadioGroupProps, type RadioProps, type RelatedLinkItem, RelatedLinks, type RelatedLinksProps, RelationshipGraph, type RelationshipGraphArrow, type RelationshipGraphCluster, type RelationshipGraphEdge, type RelationshipGraphLabels, type RelationshipGraphLegendItem, type RelationshipGraphNode, type RelationshipGraphProps, RelativeTime, type RelativeTimeFormatContext, type RelativeTimeProps, type RelativeTimeUnit, type RelativeTimeValue, ResourceGrid, type ResourceGridProps, type RgbColor, type RoutedEdge, type Row, RowAction, type RowActionProps, RowActions, type RowActionsProps, type RuleAction, type RuleActionDefinition, RuleBuilder, type RuleBuilderLabels, type RuleBuilderProps, type RuleCheck, type RuleCondition, type RuleDefinition, type RuleFieldDefinition, type RuleGroup, type RuleOperatorDefinition, type RuleSummaryWords, type RuleValidationIssue, type RuleValidationOptions, type RuleValueEditorProps, SaveStatus, type SaveStatusLabels, type SaveStatusProps, type SaveStatusState, type SavedViewItem, SavedViewMenu, type SavedViewMenuProps, type SavedViewSection, type SchedulingAgendaGroup, type SchedulingBand, SchedulingCalendar, type SchedulingCalendarDay, type SchedulingCalendarEntry, type SchedulingCalendarLabels, type SchedulingCalendarOverlay, type SchedulingCalendarProps, type SchedulingCalendarView, type SchedulingDatePart, type SchedulingEntryState, type SchedulingLegendItem, type SchedulingMarker, type SchedulingMarkerEmphasis, type SchedulingOverlayKind, type SchedulingOverlayPattern, type SchedulingStatus, SchedulingTimeline, type SchedulingTimelineGroup, type SchedulingTimelineItem, type SchedulingTimelineLabels, type SchedulingTimelineLane, type SchedulingTimelineMarker, type SchedulingTimelineOverlay, type SchedulingTimelineOverlayKind, type SchedulingTimelineProps, SearchBar, type SearchBarLabels, type SearchBarProps, type SearchSegment, SearchSuggest, type SearchSuggestAction, type SearchSuggestOption, type SearchSuggestProps, SectionHead, type SectionHeadProps, type Segment, Segmented, SegmentedOption, type SegmentedOptionProps, type SegmentedProps, Select, type SelectAllState, type SelectGroup, type SelectLabels, type SelectOption, type SelectProps, type ShellNav, Sidebar, type SidebarProps, SidebarSection, type SidebarSectionProps, Skeleton, type SkeletonProps, type SortDir, type SortDirection, type SortKey, Spinner, type SpinnerProps, StarButton, type StarButtonProps, Stat, StatLine, type StatLineItem, type StatLineProps, type StatProps, type StatTrend, type StateVariant, StatusPill, type StatusPillProps, StatusRow, type StatusRowProps, Step, type StepProps, type StepState, type StepStateLabels, Steps, type StepsProps, SubNavItem, type SubNavItemProps, type SummarizeFilterOptions, Switch, type SwitchProps, TEXT_FILTER_OPERATORS, TOAST_LEAVE_MS, TOP_LANE_CROSS_MIDNIGHT_MINUTES, Tab, TabPanel, type TabPanelProps, type TabProps, Table, type TableDensity, type TableProps, TableWrap, type TableWrapProps, Tabs, type TabsProps, Td, type TdProps, TextDiff, type TextDiffGranularity, type TextDiffLabels, type TextDiffLine, type TextDiffOp, type TextDiffOptions, type TextDiffProps, type TextDiffResult, type TextDiffRow, type TextDiffSegment, type TextFilterOperator, Textarea, type TextareaProps, Th, type ThProps, type TimeGridDayLayout, type TimeGridEntryContext, type TimeGridEntryInput, type TimeGridPart, type TimeGridSegment, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, type TimelineRange, type TimelineScale, type TimelineSpan, type TimelineSubTick, type TimelineTick, Toast, type ToastAction, type ToastApi, type ToastDismissReason, type ToastKind, type ToastOptions, type ToastPromiseMessages, type ToastProps, type ToastRecord, type ToastStore, type ToastTone, Toaster, type ToasterProps, ToggleRow, type ToggleRowProps, Tooltip, type TooltipProps, Tr, type TrProps, Tree, type TreeLabels, type TreeLike, type TreeNavAction, type TreeNodeData, type TreeNodeProps, type TreeProps, type UixLabels, UixLabelsProvider, type UixLabelsProviderProps, type UixLinkProps, type UixRenderLink, type UndoableToastOptions, type UseAnchoredPositionOptions, type UseTableOptions, type UseTableResult, type UseVirtualRowsOptions, type UseVirtualRowsResult, UserChip, type UserChipProps, ViewMenu, type ViewMenuColumn, type ViewMenuColumnLabels, type ViewMenuProps, type ViewState, type VirtualWindow, type ZonedDateSpan, type ZonedDayBounds, type ZonedDayShift, type ZonedDaySpan, type ZonedHourSlot, addCalendarDays, addCalendarMonths, addZonedDays, appendRuleNode, applyBrandProfile, applyFilters, ariaKeyShortcuts, boundRelationshipGraph, buildMonthGrid, buildThreeWayDiff, cachedDateTimeFormat, canvasItemLimits, canvasItemsOverlap, canvasMoveTarget, canvasReadingOrder, canvasResizeTarget, canvasRowCount, clampCanvasItem, clampMetricValue, clampWidth, classifyLayeredEdges, clusterIdFor, compactCanvas, contrastRatio, createToastApi, createToastStore, cx, dashboardGridClassName, dashboardGridItemClassName, dateOrder, datePattern, defaultTimelineStep, diffText, diffTokens, emptyFilterValue, enumerateDateKeys, enumerateDateSpan, fileKind, fileMatchesAccept, filterComboboxOptions, findRuleNodeDepth, flattenTree, foldForSearch, formatDateKey, formatFileSize, hexToRgb, highlightSegments, hsvToHex, hsvToRgb, isDateInRange, isDateUnavailable, isFilterEmpty, isRuleGroup, isValidDateKey, itemDaySpan, joinDateTime, layeredNeighbor, layoutDaySpans, layoutLane, layoutLayeredGraph, layoutMonthSpans, layoutRelationshipGraph, layoutTimeGridDay, mapRuleGroup, matchFilter, matchFilterPreset, meetsContrast, mergePinned, moveCanvasItem, moveRuleNode, multiSort, nextSortDir, normalizeCanvas, normalizeHex, orgChartInitials, orgChartZoomStep, packLanes, parseDateInput, parseDateValue, parseMetricValue, parseView, partitionFiles, pixelsToMs, placeCanvasItem, placeSpan, placesInTopLane, prefersReducedMotion, proposeMove, rankOverflow, relationshipNeighbors, relativeTimeValue, removeRuleNode, renderPlainLink, reorder, resizeCanvasItem, restoreBrandProfile, rgbToHex, rgbToHsv, ruleDepth, schedulingGridDays, searchRows, searchSegments, selectAllState, selectRangeDate, serializeView, setRuleCombinator, shiftSpan, shouldVirtualize, snapToStep, splitDateTime, startOfMonth, stepMetricValue, summarizeDiff, summarizeFilter, summarizeRule, textDiffRows, timeZoneName, timelineRepeatedHourOffset, timelineStepDelta, timelineSubTicks, timelineTicks, toDateKey, toast, toggleId, togglePage, toggleSort, tokenizeText, traverseRelationshipNode, treeNav, useAnchoredPosition, useDialog, useReducedMotion, useTable, useUixLabels, useVirtualRows, validateRuleDefinition, virtualWindow, wrapEdgeLabel, zonedDateKey, zonedDateSpan, zonedDayBounds, zonedDaySpan, zonedHourSlots, zonedTimeOfDay };
6596
+ export { type AccessStateProps, Alert, type AlertProps, type AlertTone, AppShell, type AppShellProps, type AppliedBrandProfileSnapshot, type AsyncOperationState, AsyncOperationStatus, type AsyncOperationStatusProps, Attachment, type AttachmentLabels, AttachmentList, type AttachmentListProps, type AttachmentProps, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarPresence, type AvatarProps, type BoundedRelationshipGraph, type BrandProfile, BrandProfileEditor, type BrandProfileEditorLabels, type BrandProfileEditorProps, type BrandProfileLogo, type BrandProfileTypography, BrandProfiles, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsProps, BuilderCanvas, type BuilderCanvasItem, type BuilderCanvasLabels, type BuilderCanvasProps, type BuilderPaletteItem, BulkBar, type BulkBarProps, Bullet, type BulletProps, BusyRegion, type BusyRegionProps, Button, ButtonGroup, type ButtonGroupProps, ButtonLink, type ButtonLinkProps, type ButtonProps, type ButtonResult, type ButtonResultLabels, type ButtonSize, type ButtonVariant, type CalendarDay, type CalendarWeekday, Card, CardLink, type CardLinkProps, type CardProps, CellStrong, CellSub, Checkbox, type CheckboxProps, Chip, ChipGroup, type ChipGroupProps, type ChipProps, CollapsibleSection, type CollapsibleSectionProps, ColorPicker, type ColorPickerLabels, type ColorPickerProps, type ColumnFilter, Combobox, type ComboboxOption, type ComboboxProps, CommandGroup, type CommandGroupProps, CommandItem, type CommandItemProps, CommandPalette, type CommandPaletteProps, Comment, type CommentProps, Comments, type CommentsProps, Composer, ComposerBar, type ComposerBarProps, type ComposerProps, ConfirmDialog, type ConfirmDialogProps, ContentList, ContentListItem, type ContentListItemProps, type ContentListProps, CopyButton, type CopyButtonProps, DASHBOARD_CANVAS_COLUMNS, DAY, DEFAULT_ATTACHMENT_LABELS, DEFAULT_BRAND_PROFILE_EDITOR_LABELS, DEFAULT_BUILDER_CANVAS_LABELS, DEFAULT_BUTTON_RESULT_LABELS, DEFAULT_COLOR_PICKER_LABELS, DEFAULT_DASHBOARD_CANVAS_LABELS, DEFAULT_DATE_PICKER_LABELS, DEFAULT_DATE_RANGE_PICKER_LABELS, DEFAULT_DATE_TIME_PICKER_LABELS, DEFAULT_DIFF_VIEWER_LABELS, DEFAULT_ENTITY_PICKER_LABELS, DEFAULT_FILE_UPLOAD_LABELS, DEFAULT_FILTER_EDITOR_LABELS, DEFAULT_FILTER_SUMMARY_LABELS, DEFAULT_INLINE_EDIT_LABELS, DEFAULT_INSIGHT_CARD_LABELS, DEFAULT_LIGHTBOX_LABELS, DEFAULT_MATCH_REVIEW_LABELS, DEFAULT_ORG_CHART_LABELS, DEFAULT_PAGINATION_LABELS, DEFAULT_PRESENCE_LABELS, DEFAULT_RELATIONSHIP_GRAPH_LABELS, DEFAULT_RULE_BUILDER_LABELS, DEFAULT_RULE_SUMMARY_WORDS, DEFAULT_RULE_VALIDATION_MESSAGES, DEFAULT_SAVE_STATUS_LABELS, DEFAULT_SCHEDULING_CALENDAR_LABELS, DEFAULT_SCHEDULING_TIMELINE_LABELS, DEFAULT_STEP_STATE_LABELS, DEFAULT_TEXT_DIFF_LABELS, DEFAULT_TREE_LABELS, DashboardCanvas, type DashboardCanvasChange, type DashboardCanvasDirection, type DashboardCanvasGap, type DashboardCanvasItem, type DashboardCanvasLabels, type DashboardCanvasPlacement, type DashboardCanvasProps, type DashboardCanvasResize, DashboardGrid, type DashboardGridBreakpoint, type DashboardGridColumnCount, type DashboardGridColumns, type DashboardGridGap, DashboardGridItem, type DashboardGridItemProps, type DashboardGridProps, type DashboardGridSpan, type DateInputProblem, type DatePart, DatePicker, type DatePickerLabels, type DatePickerProps, DateRangePicker, type DateRangePickerLabels, type DateRangePickerProps, type DateRangeValue, DateTimePicker, type DateTimePickerLabels, type DateTimePickerProps, type DaySpanLayout, type DelayedPendingOptions, DescriptionItem, type DescriptionItemProps, DescriptionList, type DescriptionListItem, type DescriptionListProps, DetailLayout, type DetailLayoutProps, DetailPage, type DetailPageLinkProps, type DetailPageMetric, type DetailPageProps, type DetailPageTab, DialogClose, type DialogCloseEvent, type DialogCloseProps, type DiffEntry, type DiffKind, type DiffResolution, type DiffSummary, DiffViewer, type DiffViewerLabels, type DiffViewerProps, type DiscardPromptLabels, Drawer, type DrawerProps, EmptyState, type EmptyStateProps, EntityPicker, type EntityPickerLabels, type EntityPickerProps, type EntityPickerSearchResult, ErrorState, type ErrorStateProps, EventRow, type EventRowProps, ExpandToggle, type ExpandToggleProps, FeaturedRundown, FeaturedRundownItem, type FeaturedRundownItemProps, type FeaturedRundownProps, FeaturedStage, type FeaturedStageProps, Field, type FieldProps, type FileRejection, type FileRejectionReason, type FileSizeFormatter, type FileSizeOptions, FileUpload, type FileUploadItem, type FileUploadLabels, type FileUploadProps, type FileUploadStatus, type FilterChoice, FilterEditor, type FilterEditorLabels, type FilterEditorProps, type FilterField, type FilterKind, type FilterOp, type FilterOption, FilterPopover, type FilterPopoverProps, type FilterPreset, type FilterSummaryLabels, type FilterValue, type FilterValueKind, FilteredEmptyState, type FlatNode, Flow, FlowNode, type FlowNodeProps, type FlowNodeState, type FlowProps, type FlowVariant, type FoldedText, ForbiddenState, HOUR, Heartbeat, type HeartbeatProps, type HeartbeatState, Highlighted, type HighlightedProps, type HsvColor, Inbox, InboxDetail, type InboxDetailProps, InboxItem, type InboxItemProps, InboxList, type InboxListProps, type InboxProps, InfoTip, type InfoTipProps, InlineEdit, type InlineEditEditorProps, type InlineEditLabels, type InlineEditProps, Input, InputGroup, type InputGroupProps, type InputProps, InsightCard, type InsightCardLabels, type InsightCardProps, type InsightComparison, type InsightCoverage, type InsightKpi, type InsightStatus, type InsightStatusTone, type InsightTarget, type JsonPrimitive, type JsonValue, Kanban, KanbanCard, type KanbanCardProps, KanbanColumn, type KanbanColumnProps, type KanbanMoveDirection, type KanbanProps, Kbd, KbdCombo, type KbdComboProps, type KbdPlatform, type KbdProps, type KeyShortcut, Label, type LabelProps, type LaneCluster, type LaneInterval, type LanePlacement, type LayeredColumn, type LayeredEdgeClassification, type LayeredEdgeKind, type LayeredItem, type LayeredLayout, type LayeredLayoutOptions, type LayeredNavigationKey, type LayoutLaneOptions, type LayoutMonthSpansOptions, LicensePositionBar, type LicensePositionBarProps, Lightbox, type LightboxItem, type LightboxLabels, type LightboxProps, List, ListItem, type ListItemProps, type ListProps, LiveIndicator, type LiveIndicatorProps, LoadingState, type LoadingStateProps, Mark, type MarkProps, type MatchBulkResult, MatchReview, type MatchReviewAction, type MatchReviewCandidate, type MatchReviewField, type MatchReviewLabels, type MatchReviewProps, Menu, MenuGroup, type MenuGroupProps, MenuItem, type MenuItemAttributes, MenuItemCheckbox, type MenuItemCheckboxProps, type MenuItemProps, MenuItemRadio, type MenuItemRadioProps, type MenuProps, MenuRadioGroup, type MenuRadioGroupProps, MenuSeparator, Meter, type MeterProps, type MeterTone, MetricInput, type MetricInputProps, Modal, type ModalProps, type MonthSpanGroup, type MonthSpanInput, type MonthSpanLayout, type MoveProposal, NUMBER_FILTER_OPERATORS, type NavFavouriteItem, NavFavourites, type NavFavouritesLabels, type NavFavouritesProps, NavGroup, type NavGroupProps, NavItem, type NavItemProps, NewsLead, type NewsLeadProps, NotFoundState, Note, type NoteProps, type NoteTone, NoticeQueue, type NoticeQueueProps, type NumberFilterOperator, OrgChart, type OrgChartLabels, type OrgChartNode, type OrgChartProps, PENDING_DELAY_MS, PENDING_MIN_VISIBLE_MS, type PackLanesOptions, type PackedLanes, PageHeader, type PageHeaderProps, PageIntro, type PageIntroProps, Pagination, type PaginationLabels, type PaginationProps, Peek, type PeekProps, type PillSize, type PillTone, type PillTreatment, Pipeline, type PipelineProps, PipelineStage, type PipelineStageProps, type PipelineStageState, type PlacedDaySpan, type PlacedMonthSpan, type PlacedSpan, Placement, Popconfirm, type PopconfirmProps, Popover, type PopoverProps, type PositionedRelationshipNode, PresenceDot, type PresenceDotProps, type Primitive, Progress, type ProgressProps, PromptDialog, type PromptDialogProps, Prose, type ProseProps, RESULT_HOLD_MS, Radio, RadioCard, type RadioCardProps, RadioGroup, type RadioGroupProps, type RadioProps, type RelatedLinkItem, RelatedLinks, type RelatedLinksProps, RelationshipGraph, type RelationshipGraphArrow, type RelationshipGraphCluster, type RelationshipGraphEdge, type RelationshipGraphLabels, type RelationshipGraphLegendItem, type RelationshipGraphNode, type RelationshipGraphProps, RelativeTime, type RelativeTimeFormatContext, type RelativeTimeProps, type RelativeTimeUnit, type RelativeTimeValue, ResourceGrid, type ResourceGridProps, type RgbColor, type RoutedEdge, type Row, RowAction, type RowActionProps, RowActions, type RowActionsProps, type RuleAction, type RuleActionDefinition, RuleBuilder, type RuleBuilderLabels, type RuleBuilderProps, type RuleCheck, type RuleCondition, type RuleDefinition, type RuleFieldDefinition, type RuleGroup, type RuleOperatorDefinition, type RuleSummaryWords, type RuleValidationIssue, type RuleValidationOptions, type RuleValueEditorProps, SaveStatus, type SaveStatusLabels, type SaveStatusProps, type SaveStatusState, type SavedViewItem, SavedViewMenu, type SavedViewMenuProps, type SavedViewSection, type SchedulingAgendaGroup, type SchedulingBand, SchedulingCalendar, type SchedulingCalendarDay, type SchedulingCalendarEntry, type SchedulingCalendarLabels, type SchedulingCalendarOverlay, type SchedulingCalendarProps, type SchedulingCalendarView, type SchedulingDatePart, type SchedulingEntryState, type SchedulingLegendItem, type SchedulingMarker, type SchedulingMarkerEmphasis, type SchedulingOverlayKind, type SchedulingOverlayPattern, type SchedulingStatus, SchedulingTimeline, type SchedulingTimelineGroup, type SchedulingTimelineItem, type SchedulingTimelineLabels, type SchedulingTimelineLane, type SchedulingTimelineMarker, type SchedulingTimelineOverlay, type SchedulingTimelineOverlayKind, type SchedulingTimelineProps, SearchBar, type SearchBarLabels, type SearchBarProps, type SearchSegment, SearchSuggest, type SearchSuggestAction, type SearchSuggestOption, type SearchSuggestProps, SectionHead, type SectionHeadProps, type Segment, Segmented, SegmentedOption, type SegmentedOptionProps, type SegmentedProps, Select, type SelectAllState, type SelectGroup, type SelectLabels, type SelectOption, type SelectProps, type ShellNav, Sidebar, type SidebarProps, SidebarSection, type SidebarSectionProps, Skeleton, type SkeletonProps, type SortDir, type SortDirection, type SortKey, Spinner, type SpinnerProps, StarButton, type StarButtonProps, Stat, StatLine, type StatLineItem, type StatLineProps, type StatProps, type StatTrend, type StateVariant, StatusPill, type StatusPillProps, StatusRow, type StatusRowProps, Step, type StepProps, type StepState, type StepStateLabels, Steps, type StepsProps, SubNavItem, type SubNavItemProps, type SummarizeFilterOptions, Switch, type SwitchProps, TEXT_FILTER_OPERATORS, TOAST_LEAVE_MS, TOP_LANE_CROSS_MIDNIGHT_MINUTES, Tab, TabPanel, type TabPanelProps, type TabProps, Table, type TableDensity, type TableProps, TableWrap, type TableWrapProps, Tabs, type TabsProps, Td, type TdProps, TextDiff, type TextDiffGranularity, type TextDiffLabels, type TextDiffLine, type TextDiffOp, type TextDiffOptions, type TextDiffProps, type TextDiffResult, type TextDiffRow, type TextDiffSegment, type TextFilterOperator, Textarea, type TextareaProps, Th, type ThProps, type TimeGridDayLayout, type TimeGridEntryContext, type TimeGridEntryInput, type TimeGridPart, type TimeGridSegment, Timeline, TimelineItem, type TimelineItemProps, type TimelineProps, type TimelineRange, type TimelineScale, type TimelineSpan, type TimelineSubTick, type TimelineTick, Toast, type ToastAction, type ToastApi, type ToastDismissReason, type ToastKind, type ToastOptions, type ToastPromiseMessages, type ToastProps, type ToastRecord, type ToastStore, type ToastTone, Toaster, type ToasterProps, ToggleRow, type ToggleRowProps, Tooltip, type TooltipProps, Tr, type TrProps, Tree, type TreeLabels, type TreeLike, type TreeNavAction, type TreeNodeData, type TreeNodeProps, type TreeProps, type UixLabels, UixLabelsProvider, type UixLabelsProviderProps, type UixLinkProps, type UixRenderLink, type UndoableToastOptions, type UseAnchoredPositionOptions, type UseTableOptions, type UseTableResult, type UseVirtualRowsOptions, type UseVirtualRowsResult, UserChip, type UserChipProps, ViewMenu, type ViewMenuColumn, type ViewMenuColumnLabels, type ViewMenuProps, type ViewState, type VirtualWindow, type ZonedDateSpan, type ZonedDayBounds, type ZonedDayShift, type ZonedDaySpan, type ZonedHourSlot, addCalendarDays, addCalendarMonths, addZonedDays, appendRuleNode, applyBrandProfile, applyFilters, ariaKeyShortcuts, boundRelationshipGraph, buildMonthGrid, buildThreeWayDiff, cachedDateTimeFormat, canvasItemLimits, canvasItemsOverlap, canvasMoveTarget, canvasReadingOrder, canvasResizeTarget, canvasRowCount, clampCanvasItem, clampMetricValue, clampWidth, classifyLayeredEdges, clusterIdFor, compactCanvas, contrastRatio, createToastApi, createToastStore, cx, dashboardGridClassName, dashboardGridItemClassName, dateOrder, datePattern, defaultTimelineStep, diffText, diffTokens, emptyFilterValue, enumerateDateKeys, enumerateDateSpan, fileKind, fileMatchesAccept, filterComboboxOptions, findRuleNodeDepth, flattenTree, foldForSearch, formatDateKey, formatFileSize, hexToRgb, highlightSegments, hsvToHex, hsvToRgb, isDateInRange, isDateUnavailable, isFilterEmpty, isRuleGroup, isValidDateKey, itemDaySpan, joinDateTime, layeredNeighbor, layoutDaySpans, layoutLane, layoutLayeredGraph, layoutMonthSpans, layoutRelationshipGraph, layoutTimeGridDay, mapRuleGroup, matchFilter, matchFilterPreset, meetsContrast, mergePinned, moveCanvasItem, moveRuleNode, multiSort, nextSortDir, normalizeCanvas, normalizeHex, orgChartInitials, orgChartZoomStep, packLanes, parseDateInput, parseDateValue, parseMetricValue, parseView, partitionFiles, pixelsToMs, placeCanvasItem, placeSpan, placesInTopLane, prefersReducedMotion, proposeMove, rankOverflow, relationshipNeighbors, relativeTimeValue, removeRuleNode, renderPlainLink, reorder, resizeCanvasItem, restoreBrandProfile, rgbToHex, rgbToHsv, ruleDepth, schedulingGridDays, searchRows, searchSegments, selectAllState, selectRangeDate, serializeView, setRuleCombinator, shiftSpan, shouldVirtualize, snapToStep, splitDateTime, startOfMonth, stepMetricValue, summarizeDiff, summarizeFilter, summarizeRule, textDiffRows, timeZoneName, timelineRepeatedHourOffset, timelineStepDelta, timelineSubTicks, timelineTicks, toDateKey, toast, toggleId, togglePage, toggleSort, tokenizeText, traverseRelationshipNode, treeNav, useAnchoredPosition, useDelayedPending, useDialog, useReducedMotion, useTable, useUixLabels, useVirtualRows, validateRuleDefinition, virtualWindow, wrapEdgeLabel, zonedDateKey, zonedDateSpan, zonedDayBounds, zonedDaySpan, zonedHourSlots, zonedTimeOfDay };
package/dist/index.d.ts CHANGED
@@ -4,6 +4,8 @@ export { UseTableOptions, UseTableResult, useTable } from './hooks/useTable.js';
4
4
  export { UseVirtualRowsOptions, UseVirtualRowsResult, useVirtualRows } from './hooks/useVirtualRows.js';
5
5
  export { UseAnchoredPositionOptions, useAnchoredPosition } from './hooks/useAnchoredPosition.js';
6
6
  export { prefersReducedMotion, useReducedMotion } from './hooks/useReducedMotion.js';
7
+ export { DelayedPendingOptions, useDelayedPending } from './hooks/useDelayedPending.js';
8
+ export { PENDING_DELAY_MS, PENDING_MIN_VISIBLE_MS, RESULT_HOLD_MS } from './motion-timing.js';
7
9
  export { Align, Placement, PositionOptions, PositionResult, Rect, Side, Size, computePosition } from './overlay-position.js';
8
10
  export { Button, ButtonGroup, ButtonGroupProps, ButtonLink, ButtonLinkProps, ButtonProps, ButtonSize, ButtonVariant } from './components/Button.js';
9
11
  export { UixLabels, UixLabelsProvider, UixLabelsProviderProps, useUixLabels } from './labels-context.js';
@@ -77,6 +79,8 @@ export { Label, LabelProps } from './components/Label.js';
77
79
  export { Avatar, AvatarGroup, AvatarGroupProps, AvatarPresence, AvatarProps, DEFAULT_PRESENCE_LABELS, PresenceDot, PresenceDotProps, UserChip, UserChipProps } from './components/Avatar.js';
78
80
  export { Comment, CommentProps, Comments, CommentsProps } from './components/Comments.js';
79
81
  export { DEFAULT_SAVE_STATUS_LABELS, SaveStatus, SaveStatusLabels, SaveStatusProps, SaveStatusState } from './components/SaveStatus.js';
82
+ export { BusyRegion, BusyRegionProps } from './components/BusyRegion.js';
83
+ export { ButtonResult, ButtonResultLabels, DEFAULT_BUTTON_RESULT_LABELS } from './components/ButtonFeedback.js';
80
84
  export { Composer, ComposerBar, ComposerBarProps, ComposerProps } from './components/Composer.js';
81
85
  export { Segmented, SegmentedOption, SegmentedOptionProps, SegmentedProps } from './components/Segmented.js';
82
86
  export { FilterOption, FilterPopover, FilterPopoverProps, SavedViewItem, SavedViewMenu, SavedViewMenuProps, SavedViewSection, ViewMenu, ViewMenuColumn, ViewMenuColumnLabels, ViewMenuProps } from './components/TableControls.js';
package/dist/index.js CHANGED
@@ -4,6 +4,8 @@ import { useTable } from "./hooks/useTable.js";
4
4
  import { useVirtualRows } from "./hooks/useVirtualRows.js";
5
5
  import { useAnchoredPosition } from "./hooks/useAnchoredPosition.js";
6
6
  import { useReducedMotion, prefersReducedMotion } from "./hooks/useReducedMotion.js";
7
+ import { useDelayedPending } from "./hooks/useDelayedPending.js";
8
+ import { PENDING_DELAY_MS, PENDING_MIN_VISIBLE_MS, RESULT_HOLD_MS } from "./motion-timing.js";
7
9
  import { computePosition } from "./overlay-position.js";
8
10
  import { Button, ButtonGroup, ButtonLink } from "./components/Button.js";
9
11
  import { UixLabelsProvider, useUixLabels } from "./labels-context.js";
@@ -105,6 +107,8 @@ import { Label } from "./components/Label.js";
105
107
  import { Avatar, AvatarGroup, PresenceDot, UserChip, DEFAULT_PRESENCE_LABELS } from "./components/Avatar.js";
106
108
  import { Comments, Comment } from "./components/Comments.js";
107
109
  import { SaveStatus, DEFAULT_SAVE_STATUS_LABELS } from "./components/SaveStatus.js";
110
+ import { BusyRegion } from "./components/BusyRegion.js";
111
+ import { DEFAULT_BUTTON_RESULT_LABELS } from "./components/ButtonFeedback.js";
108
112
  import { Composer, ComposerBar } from "./components/Composer.js";
109
113
  import { Segmented, SegmentedOption } from "./components/Segmented.js";
110
114
  import { ViewMenu, FilterPopover, SavedViewMenu } from "./components/TableControls.js";
@@ -248,6 +252,7 @@ export {
248
252
  BuilderCanvas,
249
253
  BulkBar,
250
254
  Bullet,
255
+ BusyRegion,
251
256
  Button,
252
257
  ButtonGroup,
253
258
  ButtonLink,
@@ -277,6 +282,7 @@ export {
277
282
  DEFAULT_ATTACHMENT_LABELS,
278
283
  DEFAULT_BRAND_PROFILE_EDITOR_LABELS,
279
284
  DEFAULT_BUILDER_CANVAS_LABELS,
285
+ DEFAULT_BUTTON_RESULT_LABELS,
280
286
  DEFAULT_COLOR_PICKER_LABELS,
281
287
  DEFAULT_DASHBOARD_CANVAS_LABELS,
282
288
  DEFAULT_DATE_PICKER_LABELS,
@@ -378,6 +384,8 @@ export {
378
384
  Note,
379
385
  NoticeQueue,
380
386
  OrgChart,
387
+ PENDING_DELAY_MS,
388
+ PENDING_MIN_VISIBLE_MS,
381
389
  PageHeader,
382
390
  PageIntro,
383
391
  Pagination,
@@ -390,6 +398,7 @@ export {
390
398
  Progress,
391
399
  PromptDialog,
392
400
  Prose,
401
+ RESULT_HOLD_MS,
393
402
  Radio,
394
403
  RadioCard,
395
404
  RadioGroup,
@@ -566,6 +575,7 @@ export {
566
575
  traverseRelationshipNode,
567
576
  treeNav,
568
577
  useAnchoredPosition,
578
+ useDelayedPending,
569
579
  useDialog,
570
580
  useReducedMotion,
571
581
  useTable,
@@ -17,6 +17,7 @@ import { OrgChartLabels } from './components/OrgChart.js';
17
17
  import { InlineEditLabels } from './components/InlineEdit.js';
18
18
  import { DiscardPromptLabels } from './components/DiscardPrompt.js';
19
19
  import { SearchBarLabels } from './components/SearchBar.js';
20
+ import { ButtonResultLabels } from './components/ButtonFeedback.js';
20
21
  import './link.js';
21
22
  import './calendar-model.js';
22
23
  import './scheduling-calendar-model.js';
@@ -42,6 +43,8 @@ import './components/Kbd.js';
42
43
  * on the server.
43
44
  */
44
45
  interface UixLabels {
46
+ /** The words a `Button` with `result` shows for a moment after its action (HAR-2581). */
47
+ buttonResult?: Partial<ButtonResultLabels>;
45
48
  modal?: {
46
49
  close?: string;
47
50
  };
@@ -0,0 +1,8 @@
1
+ /** Under this, a pending action shows nothing new: a spinner that would flash for 150 ms is noise. */
2
+ declare const PENDING_DELAY_MS = 300;
3
+ /** Once a pending indicator appears, it stays at least this long so it never flickers. */
4
+ declare const PENDING_MIN_VISIBLE_MS = 500;
5
+ /** How long an in-place result ("Saved", "Couldn't save") holds before the control returns. */
6
+ declare const RESULT_HOLD_MS = 1500;
7
+
8
+ export { PENDING_DELAY_MS, PENDING_MIN_VISIBLE_MS, RESULT_HOLD_MS };
@@ -0,0 +1,8 @@
1
+ const PENDING_DELAY_MS = 300;
2
+ const PENDING_MIN_VISIBLE_MS = 500;
3
+ const RESULT_HOLD_MS = 1500;
4
+ export {
5
+ PENDING_DELAY_MS,
6
+ PENDING_MIN_VISIBLE_MS,
7
+ RESULT_HOLD_MS
8
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tensor_1/react",
3
- "version": "2.46.0",
3
+ "version": "2.47.0",
4
4
  "description": "Thin React wrappers over the UIx v2 CSS component library.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",