diff --git a/valdi_modules/navigation_internal/src/NavigationView.tsx b/valdi_modules/navigation_internal/src/NavigationView.tsx index 9283a18..c10283b 100644 --- a/valdi_modules/navigation_internal/src/NavigationView.tsx +++ b/valdi_modules/navigation_internal/src/NavigationView.tsx @@ -59,6 +59,10 @@ interface NavigationPresent extends NavigationInfo {} type NavigationOperation = (done: () => void) => void; +/** + * Web/desktop navigation stack renderer that stacks components as full-screen views and animates push (slide-right) and present (slide-up) transitions. + * Manages a serial task queue so navigation animations run sequentially without overlap. + */ export class NavigationView extends StatefulComponent<{}, State, NavigationViewContext> { state: State = { stack: [] }; diff --git a/valdi_modules/widgets/src/components/animation/AnimationSliding.tsx b/valdi_modules/widgets/src/components/animation/AnimationSliding.tsx index 975749d..40c4779 100644 --- a/valdi_modules/widgets/src/components/animation/AnimationSliding.tsx +++ b/valdi_modules/widgets/src/components/animation/AnimationSliding.tsx @@ -23,6 +23,10 @@ interface AnimationSlidingState { progress: number; } +/** + * Translates its children from a start X/Y offset to an end X/Y offset after an optional delay. + * Progress animates from 0 to 1 using the provided animationOptions. + */ export class AnimationSliding extends StatefulComponent { state: AnimationSlidingState = { progress: 0, diff --git a/valdi_modules/widgets/src/components/animation/AnimationSquishy.tsx b/valdi_modules/widgets/src/components/animation/AnimationSquishy.tsx index a531a8a..ca3dd2d 100644 --- a/valdi_modules/widgets/src/components/animation/AnimationSquishy.tsx +++ b/valdi_modules/widgets/src/components/animation/AnimationSquishy.tsx @@ -21,6 +21,9 @@ interface AnimationSquishyState { progress: number; } +/** + * Scales its children in ("grow") or out ("shrink") after an optional delay, with optional tilt offsets applied to the translation. + */ export class AnimationSquishy extends StatefulComponent { state: AnimationSquishyState = { progress: 0, diff --git a/valdi_modules/widgets/src/components/button/ConfirmationButton.tsx b/valdi_modules/widgets/src/components/button/ConfirmationButton.tsx index f2ae956..1d58caa 100644 --- a/valdi_modules/widgets/src/components/button/ConfirmationButton.tsx +++ b/valdi_modules/widgets/src/components/button/ConfirmationButton.tsx @@ -13,6 +13,9 @@ export interface ConfirmationButtonViewModel { accessibilityLabel?: string; } +/** + * Full-width XL PRIMARY CoreButton pre-configured for confirmation actions; switches to INACTIVE coloring when disabled. + */ export class ConfirmationButton extends Component { onRender(): void { const viewModel = this.viewModel; diff --git a/valdi_modules/widgets/src/components/button/FloatingActionButton.tsx b/valdi_modules/widgets/src/components/button/FloatingActionButton.tsx index 81ae789..7651682 100644 --- a/valdi_modules/widgets/src/components/button/FloatingActionButton.tsx +++ b/valdi_modules/widgets/src/components/button/FloatingActionButton.tsx @@ -32,6 +32,10 @@ interface FloatingActionButtonColorTheme { icon: SemanticColor; } +/** + * Absolutely-positioned circular search button anchored to the bottom-right corner. + * Slides in or out of view by animating its bottom margin; respects safe area insets on tall devices. + */ export class FloatingActionButton extends StatefulComponent< FloatingActionButtonViewModel, FloatingActionButtonState, diff --git a/valdi_modules/widgets/src/components/button/PillButton.tsx b/valdi_modules/widgets/src/components/button/PillButton.tsx index ce07b5d..a3f944f 100644 --- a/valdi_modules/widgets/src/components/button/PillButton.tsx +++ b/valdi_modules/widgets/src/components/button/PillButton.tsx @@ -18,6 +18,9 @@ export interface PillButtonViewModel { accessibilityLabel?: string; } +/** + * SMALL SECONDARY CoreButton with optional icon and selection state; selected items render the foreground in brand primary color. + */ export class PillButton extends Component { onRender(): void { const viewModel = this.viewModel; diff --git a/valdi_modules/widgets/src/components/card/Card.tsx b/valdi_modules/widgets/src/components/card/Card.tsx index 04c1de0..8ff1f02 100644 --- a/valdi_modules/widgets/src/components/card/Card.tsx +++ b/valdi_modules/widgets/src/components/card/Card.tsx @@ -24,6 +24,9 @@ export enum CardShadow { NONE, } +/** + * Rounded container (10pt radius by default) with an optional drop shadow, configurable background color, and tap handler. + */ export class Card extends Component { onRender(): void { const viewModel = this.viewModel ?? {}; diff --git a/valdi_modules/widgets/src/components/card/CollapsibleCard.tsx b/valdi_modules/widgets/src/components/card/CollapsibleCard.tsx index 7913cb5..071e900 100644 --- a/valdi_modules/widgets/src/components/card/CollapsibleCard.tsx +++ b/valdi_modules/widgets/src/components/card/CollapsibleCard.tsx @@ -76,6 +76,10 @@ const animationOptions: PresetCurveAnimationOptions = { duration: 0.2, }; +/** + * Card that initially shows up to `maxNumCollapsedComponents` rows and animates height to reveal or hide additional rows. + * Rows can be supplied as render functions or ComponentDef objects; supply `rowHeight` to enable lazy rendering. + */ export class CollapsibleCard extends StatefulComponent< CollapsibleCardViewModel, CollapsibleCardState diff --git a/valdi_modules/widgets/src/components/cell/Cell.tsx b/valdi_modules/widgets/src/components/cell/Cell.tsx index f91cb5b..6bd3a34 100644 --- a/valdi_modules/widgets/src/components/cell/Cell.tsx +++ b/valdi_modules/widgets/src/components/cell/Cell.tsx @@ -54,6 +54,10 @@ export interface CellViewModel { accessoryMarginRight?: number; } +/** + * Standard list row with configurable packing density, left/right accessory slots, and label slots for + * title, subtitle, identity, meta, and reason text. + */ export class Cell extends Component { identityAccessoryRef = new ElementRef(); rightAccessoryRef = new ElementRef(); diff --git a/valdi_modules/widgets/src/components/cell/subtitle/DelimitedCellSubtitle.tsx b/valdi_modules/widgets/src/components/cell/subtitle/DelimitedCellSubtitle.tsx index 3fb625e..4936aa0 100644 --- a/valdi_modules/widgets/src/components/cell/subtitle/DelimitedCellSubtitle.tsx +++ b/valdi_modules/widgets/src/components/cell/subtitle/DelimitedCellSubtitle.tsx @@ -13,6 +13,9 @@ export interface GenericCellSubtitleViewModel { children?: RenderFunction; } +/** + * Subtitle row that renders an array of render functions separated by a dot delimiter, with an optional left accessory slot. + */ export class DelimitedCellSubtitle extends Component { onRender(): void { const viewModel = this.viewModel ?? {}; diff --git a/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleBadge.tsx b/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleBadge.tsx index 3e10954..f8137f1 100644 --- a/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleBadge.tsx +++ b/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleBadge.tsx @@ -4,6 +4,9 @@ import { TextStyleFont } from 'widgets/src/styles/TextStyleFont'; import { SemanticColor } from 'widgets/src/styles/semanticColors'; import { SubtitleText } from './SubtitleText'; +/** + * Subtitle label rendered in CAPTION_EMPHASIS font and brand-primary color, used to highlight a badge value in a cell subtitle. + */ export class SubtitleBadge extends Component { onRender(): void { ; diff --git a/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleBrand.tsx b/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleBrand.tsx index f910f17..46dc149 100644 --- a/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleBrand.tsx +++ b/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleBrand.tsx @@ -4,6 +4,9 @@ import { TextStyleFont } from 'widgets/src/styles/TextStyleFont'; import { SemanticColor } from 'widgets/src/styles/semanticColors'; import { SubtitleText } from './SubtitleText'; +/** + * Subtitle label rendered in CAPTION font and primary text color, used for brand-name text in a cell subtitle. + */ export class SubtitleBrand extends Component { onRender(): void { ; diff --git a/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleText.tsx b/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleText.tsx index aac9f0a..bec2986 100644 --- a/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleText.tsx +++ b/valdi_modules/widgets/src/components/cell/subtitle/component/SubtitleText.tsx @@ -2,6 +2,9 @@ import { Component } from 'valdi_core/src/Component'; import { CommonLabel, CommonTextAttributes, ViewAttributes } from 'valdi_tsx/src/NativeTemplateElements'; import { style } from '../../style'; +/** + * Base subtitle label that applies the shared cell subtitle style; used directly or via SubtitleBadge/SubtitleBrand. + */ export class SubtitleText extends Component { onRender(): void {