T00 foundation: theme, motion, assets, icon, buttons, gallery
Theme tokens in light and dark with high contrast, a palette cross-fade, motion curves and a damped spring, embedded Lucide icons with Inter and JetBrains Mono, Icon, Button, IconButton, and a gallery that captures its own window. Reviewed by codex gpt-6-astra (max): PASS in round 3.
This commit is contained in:
258 files changed
+16908
No files matched your search
@@ -0,0 +1,365 @@
|
||||
# Chapters 1–10
|
||||
|
||||
## T01 Primitives — `src/primitives`
|
||||
|
||||
- [ ] Box / View — native `div()`
|
||||
- [ ] Text — native: strings and `StyledText` are elements
|
||||
- [x] Icon (T00)
|
||||
- [x] IconSet / IconRegistry (T00)
|
||||
- [ ] Svg — native `svg()`
|
||||
- [ ] Image — loading, failed, placeholder over `img()`
|
||||
- [ ] Canvas — native `canvas()`
|
||||
- [ ] Divider / Separator
|
||||
- [ ] Spacer — native `div().flex_1()`
|
||||
- [ ] Portal — native `deferred(anchored())`
|
||||
- [ ] Overlay / Backdrop
|
||||
- [ ] Slot — native `impl IntoElement` params and `ParentElement`
|
||||
- [ ] Show / When — native `.when()` / `.when_some()`
|
||||
- [ ] For / Each — native `.children(iter)`
|
||||
- [ ] Fragment — native: children take iterators
|
||||
- [ ] VisuallyHidden — blocked: gpui 0.2.2 has no accessibility tree
|
||||
- [ ] FocusRing
|
||||
- [ ] FocusScope / FocusTrap
|
||||
- [ ] ClickOutside — native `on_mouse_down_out`
|
||||
- [ ] HoverArea — native `on_hover` / `.hover()`
|
||||
- [ ] Pressable — press state, long press
|
||||
- [ ] KeyboardHandler — native `on_key_down` / `on_action`
|
||||
- [ ] Measure
|
||||
- [ ] ResizeObserver → `primitives::Measure`
|
||||
- [ ] IntersectionObserver
|
||||
- [ ] Clipboard — native `write_to_clipboard` / `read_from_clipboard`
|
||||
- [ ] Tooltip Trigger — owns `Tooltip`: delay, follow mouse, rich content
|
||||
|
||||
## T02 Typography — `src/typography`
|
||||
|
||||
- [ ] Heading (H1–H6)
|
||||
- [ ] Title / Subtitle
|
||||
- [ ] Paragraph
|
||||
- [ ] Label
|
||||
- [ ] Caption
|
||||
- [ ] Overline
|
||||
- [ ] Code
|
||||
- [ ] Kbd — ⌘ / Ctrl by platform
|
||||
- [ ] KbdCombo
|
||||
- [ ] Blockquote
|
||||
- [ ] Highlight / Mark
|
||||
- [ ] Truncate — native `.truncate()`
|
||||
- [ ] LineClamp — native `.line_clamp(n)`
|
||||
- [ ] MiddleEllipsis
|
||||
- [ ] EllipsisTooltip
|
||||
- [ ] Link
|
||||
- [ ] ExternalLink
|
||||
- [ ] RelativeTime
|
||||
- [ ] DateTimeText
|
||||
- [ ] NumberText
|
||||
- [ ] CurrencyText
|
||||
- [ ] PercentText
|
||||
- [ ] FileSizeText
|
||||
- [ ] DurationText
|
||||
- [ ] PluralText
|
||||
- [ ] CopyableText
|
||||
- [ ] SelectableText — prove: selection over `StyledText` layout
|
||||
- [ ] Emoji — shortcodes
|
||||
- [ ] Latex / MathInline — prove: TeX subset
|
||||
- [ ] AnimatedNumber
|
||||
- [ ] Typewriter
|
||||
- [ ] GradientText — per-glyph tonal ramp
|
||||
- [ ] ShimmerText
|
||||
|
||||
## T03 Layout — `src/layout`
|
||||
|
||||
- [ ] Stack / HStack / VStack
|
||||
- [ ] Flex — native `.flex()`
|
||||
- [ ] Grid / GridItem — native `.grid()`, `.col_span()`
|
||||
- [ ] SimpleGrid
|
||||
- [ ] Masonry
|
||||
- [ ] Center — native `.flex().items_center().justify_center()`
|
||||
- [ ] Container
|
||||
- [ ] AspectRatio
|
||||
- [ ] Inset / Padding — native `.p_*()`
|
||||
- [ ] Wrap — native `.flex_wrap()`
|
||||
- [ ] Absolute / Positioned — native `.absolute()`
|
||||
- [ ] Layer / ZStack
|
||||
- [ ] ScrollArea
|
||||
- [ ] Scrollbar
|
||||
- [ ] ScrollShadow
|
||||
- [ ] ScrollToTop
|
||||
- [ ] StickyHeader
|
||||
- [ ] SplitPane — horizontal, vertical, nested
|
||||
- [ ] ResizablePanel / ResizablePanelGroup → `layout::SplitPane`
|
||||
- [ ] ResizeHandle
|
||||
- [ ] Collapsible
|
||||
- [ ] Accordion / AccordionItem
|
||||
- [ ] Card / CardHeader / CardBody / CardFooter
|
||||
- [ ] Panel / PanelHeader
|
||||
- [ ] Section / SectionHeader
|
||||
- [ ] Group / Fieldset
|
||||
- [ ] Frame
|
||||
- [ ] Well
|
||||
- [ ] Sidebar
|
||||
- [ ] Drawer
|
||||
- [ ] Sheet
|
||||
- [ ] Page / PageHeader / PageContent
|
||||
- [ ] AppShell
|
||||
- [ ] MasterDetail
|
||||
- [ ] ThreeColumnLayout → `layout::SplitPane`
|
||||
- [ ] Dock / DockPanel
|
||||
- [ ] DockZone / DropIndicator
|
||||
- [ ] FloatingPanel
|
||||
- [ ] Pane / PaneGroup
|
||||
- [ ] Workspace — versioned layout snapshot
|
||||
- [ ] Viewport
|
||||
|
||||
## T04 Window & Shell — `src/shell`
|
||||
|
||||
- [ ] TitleBar
|
||||
- [ ] WindowControls — macOS, Windows, Linux
|
||||
- [ ] TrafficLights → `shell::WindowControls`
|
||||
- [ ] WindowDragRegion — native `window_control_area`
|
||||
- [ ] WindowResizeBorder — prove: client-side decorations
|
||||
- [ ] MenuBar
|
||||
- [ ] NativeMenu — native `cx.set_menus()`
|
||||
- [ ] Toolbar / ToolbarGroup / ToolbarSeparator
|
||||
- [ ] StatusBar / StatusBarItem
|
||||
- [ ] ActivityBar
|
||||
- [ ] NavigationRail → `shell::ActivityBar`
|
||||
- [ ] TabBar
|
||||
- [ ] SplashScreen
|
||||
- [ ] AboutDialog
|
||||
- [ ] TrayIcon / TrayMenu — prove
|
||||
- [ ] DockBadge — prove
|
||||
- [ ] JumpList — native `cx.set_dock_menu()`
|
||||
- [ ] SystemNotification — prove
|
||||
- [ ] MultiWindow Manager
|
||||
- [ ] WindowSwitcher
|
||||
- [ ] QuickLauncher
|
||||
- [ ] MiniWindow / CompactMode
|
||||
- [ ] AlwaysOnTop — native `WindowKind::PopUp`
|
||||
- [ ] PictureInPicture — host content
|
||||
- [ ] UpdateBanner / UpdateDialog
|
||||
- [ ] CrashReporter
|
||||
- [ ] OfflineIndicator
|
||||
- [ ] ZoomControl
|
||||
|
||||
## T05 Buttons & Actions — `src/buttons`
|
||||
|
||||
- [x] Button (T00)
|
||||
- [x] IconButton (T00)
|
||||
- [ ] ButtonGroup
|
||||
- [ ] SplitButton
|
||||
- [ ] DropdownButton / MenuButton
|
||||
- [ ] ToggleButton
|
||||
- [ ] ToggleGroup
|
||||
- [ ] SegmentedControl
|
||||
- [ ] FloatingActionButton
|
||||
- [ ] LoadingButton → `buttons::Button` loading state
|
||||
- [ ] ConfirmButton — hold or click twice
|
||||
- [ ] HoldToConfirm → `buttons::ConfirmButton`
|
||||
- [ ] CopyButton
|
||||
- [ ] ShareButton
|
||||
- [ ] CloseButton
|
||||
- [ ] BackButton
|
||||
- [ ] MoreButton
|
||||
- [ ] ActionBar
|
||||
- [ ] BulkActionBar
|
||||
- [ ] ActionSheet
|
||||
- [ ] QuickActions
|
||||
- [ ] ShortcutHint
|
||||
|
||||
## T06a Forms · Text — `src/forms`
|
||||
|
||||
- [ ] Input / TextField
|
||||
- [ ] TextArea
|
||||
- [ ] PasswordInput
|
||||
- [ ] SearchInput
|
||||
- [ ] NumberInput
|
||||
- [ ] ScrubInput
|
||||
- [ ] CurrencyInput
|
||||
- [ ] PercentInput
|
||||
- [ ] UnitInput
|
||||
- [ ] EmailInput
|
||||
- [ ] UrlInput
|
||||
- [ ] PhoneInput
|
||||
- [ ] MaskedInput
|
||||
- [ ] PinInput / OTPInput
|
||||
- [ ] InlineEdit / EditableText
|
||||
- [ ] InputGroup / InputAddon
|
||||
- [ ] ClearableInput → `forms::Input`
|
||||
- [ ] AutoResizeInput → `forms::Input`
|
||||
- [ ] MentionInput
|
||||
- [ ] HashtagInput
|
||||
- [ ] TagInput / TokenInput
|
||||
- [ ] KeyValueInput
|
||||
- [ ] ListInput
|
||||
- [ ] PathInput — native dialog via `prompt_for_paths`
|
||||
- [ ] RegexInput
|
||||
- [ ] ExpressionInput
|
||||
- [ ] HotkeyInput / ShortcutRecorder
|
||||
|
||||
## T06b Forms · Selection
|
||||
|
||||
- [ ] Checkbox
|
||||
- [ ] CheckboxGroup
|
||||
- [ ] CheckboxCard
|
||||
- [ ] Radio / RadioGroup
|
||||
- [ ] RadioCard
|
||||
- [ ] Switch / Toggle
|
||||
- [ ] Select
|
||||
- [ ] NativeSelect — blocked: gpui 0.2.2 has no native popup menu
|
||||
- [ ] Combobox
|
||||
- [ ] Autocomplete
|
||||
- [ ] MultiSelect
|
||||
- [ ] CascadeSelect / Cascader
|
||||
- [ ] TreeSelect
|
||||
- [ ] TransferList
|
||||
- [ ] ListBox
|
||||
- [ ] ChoiceChips / FilterChips
|
||||
- [ ] Rating
|
||||
- [ ] Slider
|
||||
- [ ] RangeSlider
|
||||
- [ ] VerticalSlider → `forms::Slider`
|
||||
- [ ] Knob / Dial
|
||||
- [ ] Stepper
|
||||
|
||||
## T06c Forms · Date & Time
|
||||
|
||||
- [ ] Calendar
|
||||
- [ ] DatePicker
|
||||
- [ ] DateRangePicker
|
||||
- [ ] TimePicker
|
||||
- [ ] DateTimePicker
|
||||
- [ ] MonthPicker / YearPicker / QuarterPicker
|
||||
- [ ] WeekPicker
|
||||
- [ ] RelativeDatePicker
|
||||
- [ ] TimezoneSelect
|
||||
- [ ] DurationPicker
|
||||
- [ ] CronEditor
|
||||
|
||||
## T06d Forms · Color
|
||||
|
||||
- [ ] ColorPicker — HSV, RGB, HEX, alpha
|
||||
- [ ] ColorSwatch
|
||||
- [ ] ColorPalette
|
||||
- [ ] EyeDropper — prove: `NSColorSampler`
|
||||
- [ ] GradientEditor
|
||||
|
||||
## T06e Forms · Files
|
||||
|
||||
- [ ] FilePicker / FileInput
|
||||
- [ ] FolderPicker
|
||||
- [ ] DropZone
|
||||
- [ ] UploadList
|
||||
- [ ] ImageUpload — preview, crop
|
||||
- [ ] AvatarUpload
|
||||
|
||||
## T06f Forms · Other
|
||||
|
||||
- [ ] SignaturePad
|
||||
- [ ] CodeInput
|
||||
- [ ] JsonInput
|
||||
- [ ] FontPicker
|
||||
- [ ] IconPicker
|
||||
- [ ] EmojiPicker
|
||||
- [ ] LanguageSelect
|
||||
- [ ] CountrySelect
|
||||
- [ ] CurrencySelect
|
||||
|
||||
## T06g Forms · Structure
|
||||
|
||||
- [ ] Form
|
||||
- [ ] FormField
|
||||
- [ ] FormLabel
|
||||
- [ ] FormDescription / HelperText
|
||||
- [ ] FormError / ValidationMessage
|
||||
- [ ] FormSection
|
||||
- [ ] FormActions
|
||||
- [ ] FieldArray
|
||||
- [ ] InlineForm
|
||||
- [ ] WizardForm / MultiStepForm
|
||||
- [ ] DirtyIndicator
|
||||
|
||||
## T07 Navigation — `src/navigation`
|
||||
|
||||
- [ ] Tabs — top, left, bottom
|
||||
- [ ] EditorTabs
|
||||
- [ ] TabOverflowMenu
|
||||
- [ ] Breadcrumb
|
||||
- [ ] Pagination
|
||||
- [ ] LoadMore
|
||||
- [ ] Stepper / Steps / Wizard — as `Steps`
|
||||
- [ ] Sidebar Navigation / NavItem / NavGroup
|
||||
- [ ] NavigationMenu
|
||||
- [ ] ActivityBar Item → `shell::ActivityBar`
|
||||
- [ ] BackForwardNavigation
|
||||
- [ ] History Navigation → `navigation::BackForwardNavigation`
|
||||
- [ ] Anchor / TableOfContents
|
||||
- [ ] JumpTo / GoToLine
|
||||
- [ ] CommandPalette
|
||||
- [ ] QuickOpen
|
||||
- [ ] QuickSwitcher
|
||||
- [ ] SearchPalette
|
||||
- [ ] SpotlightSearch → `navigation::SearchPalette`
|
||||
- [ ] Tour / Onboarding
|
||||
|
||||
## T08 Menus — `src/menus`
|
||||
|
||||
- [ ] Menu / MenuItem / MenuGroup / MenuSeparator
|
||||
- [ ] SubMenu
|
||||
- [ ] CheckboxMenuItem
|
||||
- [ ] RadioMenuItem
|
||||
- [ ] MenuItemShortcut
|
||||
- [ ] MenuItemIcon
|
||||
- [ ] ContextMenu
|
||||
- [ ] DropdownMenu
|
||||
- [ ] MenuBar Menu → `shell::MenuBar`
|
||||
- [ ] OverflowMenu
|
||||
- [ ] MegaMenu
|
||||
- [ ] SearchableMenu
|
||||
- [ ] PieMenu / RadialMenu
|
||||
|
||||
## T09 Overlays — `src/overlays`
|
||||
|
||||
- [ ] Tooltip → `primitives::Tooltip`
|
||||
- [ ] Popover
|
||||
- [ ] HoverCard
|
||||
- [ ] Dialog / Modal
|
||||
- [ ] AlertDialog
|
||||
- [ ] ConfirmDialog
|
||||
- [ ] PromptDialog
|
||||
- [ ] FullscreenDialog
|
||||
- [ ] Sheet → `layout::Sheet`
|
||||
- [ ] Drawer → `layout::Drawer`
|
||||
- [ ] Lightbox
|
||||
- [ ] Spotlight / Coachmark
|
||||
- [ ] FloatingToolbar
|
||||
- [ ] Callout / Peek
|
||||
- [ ] DropdownPanel → `overlays::Popover`
|
||||
- [ ] InlinePopup → `overlays::Popover`
|
||||
- [ ] ToastViewport
|
||||
|
||||
## T10 Feedback — `src/feedback`
|
||||
|
||||
- [ ] Toast — success, error, warning, info, action, undo
|
||||
- [ ] Notification
|
||||
- [ ] NotificationCenter
|
||||
- [ ] Alert
|
||||
- [ ] Banner
|
||||
- [ ] Callout / Admonition
|
||||
- [ ] InlineMessage
|
||||
- [ ] StatusMessage
|
||||
- [ ] Snackbar → `feedback::Toast`
|
||||
- [ ] UndoToast → `feedback::Toast`
|
||||
- [ ] ErrorView
|
||||
- [ ] ErrorBoundary — renders and logs a `Result` error; never catches panics
|
||||
- [ ] NotFound / 404 → `feedback::ErrorView`
|
||||
- [ ] NoPermission / 403 → `feedback::ErrorView`
|
||||
- [ ] Maintenance → `feedback::ErrorView`
|
||||
- [ ] Offline → `feedback::ErrorView`
|
||||
- [ ] EmptyState
|
||||
- [ ] Result
|
||||
- [ ] ConfirmationCard
|
||||
- [ ] SavingIndicator
|
||||
- [ ] SyncStatus
|
||||
- [ ] ConnectionStatus
|
||||
- [ ] Countdown
|
||||
- [ ] Timer
|
||||
@@ -0,0 +1,361 @@
|
||||
# Chapters 11–20
|
||||
|
||||
## T11a Loading — `src/motion`
|
||||
|
||||
- [ ] Spinner — ring, dots, bars, pulse, orbit, wave
|
||||
- [ ] DotsLoader → `motion::Spinner`
|
||||
- [ ] BarsLoader → `motion::Spinner`
|
||||
- [ ] PulseLoader → `motion::Spinner`
|
||||
- [ ] RingLoader → `motion::Spinner`
|
||||
- [ ] OrbitLoader → `motion::Spinner`
|
||||
- [ ] WaveLoader → `motion::Spinner`
|
||||
- [ ] Skeleton / SkeletonText / SkeletonAvatar / SkeletonCard / SkeletonTable
|
||||
- [ ] Shimmer
|
||||
- [ ] ProgressBar — determinate, indeterminate, segmented, buffered
|
||||
- [ ] ProgressCircle / ProgressRing
|
||||
- [ ] StepProgress
|
||||
- [ ] LoadingOverlay
|
||||
- [ ] LoadingScreen
|
||||
- [ ] InlineLoader → `motion::Spinner`
|
||||
- [ ] LazyLoad
|
||||
- [ ] Suspense / AsyncView
|
||||
- [ ] RefreshIndicator
|
||||
- [ ] TypingIndicator
|
||||
|
||||
## T11b Motion
|
||||
|
||||
- [ ] Transition — fade, slide, scale, collapse
|
||||
- [ ] AnimatePresence
|
||||
- [ ] Motion
|
||||
- [ ] Spring
|
||||
- [ ] Stagger
|
||||
- [ ] Reorder
|
||||
- [ ] Flip
|
||||
- [ ] CountUp → `typography::AnimatedNumber`
|
||||
- [ ] Marquee
|
||||
- [ ] Ripple
|
||||
- [ ] Confetti
|
||||
- [ ] Glow / Pulse
|
||||
- [ ] Blink / Flash
|
||||
- [ ] Shake
|
||||
- [ ] ParticleBackground
|
||||
- [ ] AnimatedGradient — slow tonal drift
|
||||
- [ ] Lottie Player — prove: `rlottie` frames
|
||||
|
||||
## T12 Data Display — `src/data_display`
|
||||
|
||||
- [ ] Badge / CountBadge / DotBadge
|
||||
- [ ] Tag / Chip
|
||||
- [ ] Avatar — image, initials, icon, presence
|
||||
- [ ] AvatarGroup
|
||||
- [ ] UserChip
|
||||
- [ ] Statistic / KPI Card
|
||||
- [ ] Metric
|
||||
- [ ] TrendIndicator
|
||||
- [ ] DescriptionList
|
||||
- [ ] PropertyGrid
|
||||
- [ ] KeyValueList → `data_display::DescriptionList`
|
||||
- [ ] InfoRow → `data_display::DescriptionList`
|
||||
- [ ] Timeline / TimelineItem
|
||||
- [ ] ActivityFeed
|
||||
- [ ] Changelog
|
||||
- [ ] Carousel
|
||||
- [ ] Gallery
|
||||
- [ ] Accordion list → `layout::Accordion`
|
||||
- [ ] Card Grid → `layout::SimpleGrid`
|
||||
- [ ] QRCode
|
||||
- [ ] Barcode
|
||||
- [ ] ColorSwatch display → `forms::ColorSwatch`
|
||||
- [ ] Meter
|
||||
- [ ] Gauge
|
||||
- [ ] UsageBar
|
||||
- [ ] Rating display → `forms::Rating`
|
||||
- [ ] Comparison
|
||||
- [ ] BeforeAfter
|
||||
- [ ] Watermark
|
||||
|
||||
## T13 Lists & Trees — `src/lists`
|
||||
|
||||
- [ ] List / ListItem
|
||||
- [ ] VirtualList — native `list()` / `uniform_list()`, themed rows
|
||||
- [ ] InfiniteList
|
||||
- [ ] SortableList
|
||||
- [ ] SelectableList — single, multi, shift range
|
||||
- [ ] GroupedList — sticky group headers
|
||||
- [ ] SectionList → `lists::GroupedList`
|
||||
- [ ] ReorderableList → `lists::SortableList`
|
||||
- [ ] SwipeableListItem — prove: horizontal trackpad scroll
|
||||
- [ ] Tree / TreeView
|
||||
- [ ] VirtualTree → `lists::Tree`
|
||||
- [ ] FileTree
|
||||
- [ ] CheckboxTree
|
||||
- [ ] Outline
|
||||
- [ ] NestedList → `lists::Outline`
|
||||
- [ ] DirectoryListing
|
||||
- [ ] Menu List → `menus::Menu`
|
||||
- [ ] Transfer List → `forms::TransferList`
|
||||
|
||||
## T14 Tables — `src/tables`
|
||||
|
||||
- [ ] Table
|
||||
- [ ] DataTable — sort, filter, page, select
|
||||
- [ ] VirtualTable → `tables::DataTable`
|
||||
- [ ] DataGrid
|
||||
- [ ] Spreadsheet — formula subset, merge, freeze, fill handle
|
||||
- [ ] TreeTable
|
||||
- [ ] PivotTable
|
||||
- [ ] ColumnResizer
|
||||
- [ ] ColumnReorder
|
||||
- [ ] ColumnVisibility
|
||||
- [ ] ColumnPinning
|
||||
- [ ] RowSelection
|
||||
- [ ] RowExpansion
|
||||
- [ ] RowGrouping
|
||||
- [ ] InlineRowEdit
|
||||
- [ ] CellRenderer
|
||||
- [ ] TableToolbar
|
||||
- [ ] FilterBuilder
|
||||
- [ ] SortBuilder
|
||||
- [ ] AggregationFooter
|
||||
- [ ] TableDensity
|
||||
- [ ] ConditionalFormatting
|
||||
- [ ] HeatmapTable
|
||||
- [ ] ComparisonTable
|
||||
|
||||
## T15 Charts — `src/charts`
|
||||
|
||||
- [ ] LineChart
|
||||
- [ ] AreaChart / StackedArea
|
||||
- [ ] BarChart
|
||||
- [ ] PieChart / DonutChart
|
||||
- [ ] ScatterChart
|
||||
- [ ] BubbleChart
|
||||
- [ ] RadarChart
|
||||
- [ ] HeatmapChart
|
||||
- [ ] CalendarHeatmap
|
||||
- [ ] Treemap
|
||||
- [ ] Sunburst
|
||||
- [ ] SankeyChart
|
||||
- [ ] FunnelChart
|
||||
- [ ] WaterfallChart
|
||||
- [ ] BoxPlot
|
||||
- [ ] Histogram
|
||||
- [ ] ViolinPlot
|
||||
- [ ] GanttChart
|
||||
- [ ] NetworkGraph / ForceGraph
|
||||
- [ ] ChordDiagram
|
||||
- [ ] ParallelCoordinates
|
||||
- [ ] Sparkline / SparkBar / SparkArea
|
||||
- [ ] Bullet Chart
|
||||
- [ ] ProgressChart
|
||||
- [ ] RealtimeChart
|
||||
- [ ] ChartLegend
|
||||
- [ ] ChartTooltip
|
||||
- [ ] ChartCrosshair
|
||||
- [ ] ChartAxis / ChartGrid
|
||||
- [ ] ChartZoom / Brush
|
||||
- [ ] ChartAnnotation
|
||||
- [ ] ChartExport — SVG and CSV
|
||||
|
||||
## T16a Finance · Market charts — `src/finance`
|
||||
|
||||
- [ ] CandlestickChart
|
||||
- [ ] OHLCChart → `finance::CandlestickChart`
|
||||
- [ ] HeikinAshiChart → `finance::CandlestickChart`
|
||||
- [ ] LineQuoteChart
|
||||
- [ ] VolumeChart
|
||||
- [ ] DepthChart
|
||||
- [ ] MarketProfile / VolumeProfile
|
||||
- [ ] RenkoChart / PointAndFigure
|
||||
- [ ] MultiChartLayout
|
||||
- [ ] ChartSync
|
||||
- [ ] TimeRangeSelector
|
||||
- [ ] IntervalSelector
|
||||
- [ ] ChartTypeSwitcher
|
||||
|
||||
## T16b Finance · Technical analysis
|
||||
|
||||
- [ ] IndicatorOverlay — MA, EMA, BOLL, VWAP
|
||||
- [ ] IndicatorPane — MACD, RSI, KDJ, OBV
|
||||
- [ ] IndicatorSelector
|
||||
- [ ] DrawingTools
|
||||
- [ ] DrawingToolbar
|
||||
- [ ] CompareSymbol
|
||||
- [ ] PriceAlertLine
|
||||
|
||||
## T16c Finance · Quotes & book
|
||||
|
||||
- [ ] Ticker / TickerTape
|
||||
- [ ] QuoteCard
|
||||
- [ ] PriceText
|
||||
- [ ] PriceChangeBadge
|
||||
- [ ] OrderBook
|
||||
- [ ] Level2 Quotes
|
||||
- [ ] TimeAndSales / TradeTape
|
||||
- [ ] MarketDepthLadder / DOM
|
||||
- [ ] SpreadIndicator
|
||||
- [ ] BidAskBar
|
||||
|
||||
## T16d Finance · Trading
|
||||
|
||||
- [ ] OrderEntry / TradePanel
|
||||
- [ ] QuickTradeButtons
|
||||
- [ ] PositionTable
|
||||
- [ ] OrderTable
|
||||
- [ ] TradeHistoryTable
|
||||
- [ ] PnLDisplay
|
||||
- [ ] LeverageSlider
|
||||
- [ ] MarginIndicator
|
||||
- [ ] RiskMeter
|
||||
- [ ] OrderConfirmDialog
|
||||
- [ ] OptionChain
|
||||
- [ ] GreeksTable
|
||||
- [ ] PayoffDiagram
|
||||
|
||||
## T16e Finance · Markets & assets
|
||||
|
||||
- [ ] Watchlist
|
||||
- [ ] SymbolSearch
|
||||
- [ ] SymbolBadge
|
||||
- [ ] MarketHeatmap
|
||||
- [ ] SectorTreemap → `charts::Treemap`
|
||||
- [ ] Screener / FilterPanel
|
||||
- [ ] MarketOverview
|
||||
- [ ] IndexCard
|
||||
- [ ] MarketStatus
|
||||
- [ ] TradingSessionClock
|
||||
- [ ] EconomicCalendar
|
||||
- [ ] EarningsCalendar
|
||||
- [ ] NewsFeed
|
||||
- [ ] SentimentGauge → `data_display::Gauge`
|
||||
- [ ] PortfolioSummary
|
||||
- [ ] AssetAllocationChart → `charts::PieChart`
|
||||
- [ ] PerformanceChart — equity curve, drawdown
|
||||
- [ ] DividendTable
|
||||
- [ ] FinancialStatementTable
|
||||
- [ ] CurrencyConverter
|
||||
- [ ] CryptoWalletCard
|
||||
- [ ] TransactionList
|
||||
- [ ] Candle Countdown
|
||||
|
||||
## T17a Editor · Core — `src/editor`
|
||||
|
||||
- [ ] CodeEditor — highlight, multi-cursor, selection, undo, redo
|
||||
- [ ] EditorGutter
|
||||
- [ ] LineNumbers — absolute, relative
|
||||
- [ ] FoldingControl
|
||||
- [ ] Minimap
|
||||
- [ ] Ruler / IndentGuide
|
||||
- [ ] BracketMatcher / RainbowBrackets
|
||||
- [ ] WhitespaceRenderer
|
||||
- [ ] CursorRenderer — block, line, underline, blink
|
||||
- [ ] SelectionHighlight
|
||||
- [ ] MultiCursor
|
||||
- [ ] VimModeIndicator
|
||||
- [ ] StickyScroll
|
||||
- [ ] Breadcrumb → `navigation::Breadcrumb`
|
||||
- [ ] InlayHints
|
||||
- [ ] CodeLens
|
||||
- [ ] InlineDecoration
|
||||
- [ ] GhostText
|
||||
- [ ] InlineChat
|
||||
- [ ] InlineDiff
|
||||
- [ ] ReadOnlyBanner
|
||||
|
||||
## T17b Editor · Intelligence
|
||||
|
||||
- [ ] CompletionMenu
|
||||
- [ ] SignatureHelp
|
||||
- [ ] HoverInfo
|
||||
- [ ] QuickFix / CodeActionMenu
|
||||
- [ ] RenameInput
|
||||
- [ ] PeekView → `overlays::Peek`
|
||||
- [ ] ReferencesPanel
|
||||
- [ ] SymbolOutline
|
||||
- [ ] GoToSymbol
|
||||
- [ ] CallHierarchy / TypeHierarchy
|
||||
|
||||
## T17c Editor · Search
|
||||
|
||||
- [ ] FindWidget
|
||||
- [ ] ReplaceWidget → `editor::FindWidget`
|
||||
- [ ] SearchPanel
|
||||
- [ ] SearchResultItem
|
||||
- [ ] SearchFilters
|
||||
|
||||
## T17d Editor · Panels
|
||||
|
||||
- [ ] ProblemsPanel / DiagnosticsList
|
||||
- [ ] OutputPanel
|
||||
- [ ] DebugConsole
|
||||
- [ ] ExtensionsPanel / PluginList
|
||||
- [ ] SettingsEditor — UI and JSON
|
||||
- [ ] KeybindingsEditor
|
||||
- [ ] ThemePreview
|
||||
- [ ] WelcomePage
|
||||
- [ ] RecentProjects
|
||||
- [ ] ProjectSwitcher
|
||||
- [ ] TaskRunner / RunConfiguration
|
||||
|
||||
## T17e Editor · Status items
|
||||
|
||||
- [ ] CursorPosition
|
||||
- [ ] LanguageMode
|
||||
- [ ] Encoding
|
||||
- [ ] LineEnding
|
||||
- [ ] IndentSettings
|
||||
- [ ] BranchIndicator
|
||||
- [ ] LspStatus
|
||||
- [ ] NotificationBell
|
||||
|
||||
## T18 Terminal — `src/terminal`
|
||||
|
||||
- [ ] Terminal — prove: `alacritty_terminal` grid and PTY
|
||||
- [ ] TerminalTabs → `navigation::EditorTabs`
|
||||
- [ ] TerminalSplit → `layout::PaneGroup`
|
||||
- [ ] TerminalToolbar
|
||||
- [ ] TerminalSearch → `editor::FindWidget`
|
||||
- [ ] TerminalLink
|
||||
- [ ] ShellSelector
|
||||
- [ ] CommandBlock
|
||||
- [ ] CommandHistory
|
||||
- [ ] AnsiText
|
||||
- [ ] LogViewer
|
||||
- [ ] ProcessList
|
||||
|
||||
## T19 Git — `src/git`
|
||||
|
||||
- [ ] DiffViewer — split, unified
|
||||
- [ ] InlineDiff → `editor::InlineDiff`
|
||||
- [ ] ThreeWayMerge
|
||||
- [ ] ConflictResolver
|
||||
- [ ] ChangesList
|
||||
- [ ] CommitInput
|
||||
- [ ] CommitGraph
|
||||
- [ ] CommitList / CommitItem
|
||||
- [ ] BranchSelector
|
||||
- [ ] BranchList
|
||||
- [ ] TagList
|
||||
- [ ] StashList
|
||||
- [ ] BlameView / GitBlameAnnotation
|
||||
- [ ] FileHistory
|
||||
- [ ] PullRequestCard
|
||||
- [ ] ReviewComment
|
||||
- [ ] DiffStat
|
||||
- [ ] GitStatusBadge
|
||||
|
||||
## T20 Debug — `src/debug`
|
||||
|
||||
- [ ] DebugToolbar
|
||||
- [ ] BreakpointList
|
||||
- [ ] BreakpointGutter → `editor::EditorGutter`
|
||||
- [ ] CallStack
|
||||
- [ ] VariablesPanel
|
||||
- [ ] WatchPanel
|
||||
- [ ] ThreadList
|
||||
- [ ] MemoryViewer / HexViewer
|
||||
- [ ] Disassembly
|
||||
- [ ] PerformanceProfiler / Flamegraph
|
||||
- [ ] TimelineProfiler
|
||||
- [ ] NetworkInspector
|
||||
- [ ] ConsoleREPL → `editor::DebugConsole`
|
||||
@@ -0,0 +1,334 @@
|
||||
# Chapters 21–30
|
||||
|
||||
## T21a Documents · Editing — `src/documents`
|
||||
|
||||
- [ ] RichTextEditor
|
||||
- [ ] MarkdownEditor — WYSIWYG, source, split
|
||||
- [ ] BlockEditor
|
||||
- [ ] Block types — paragraph, heading, list, todo, quote, code, divider, table, image, video, embed, math, callout, toggle, columns, synced
|
||||
- [ ] BlockHandle
|
||||
- [ ] SlashMenu
|
||||
- [ ] FloatingFormatToolbar → `overlays::FloatingToolbar`
|
||||
- [ ] FixedFormatToolbar
|
||||
- [ ] LinkEditor
|
||||
- [ ] MentionMenu
|
||||
- [ ] EmojiAutocomplete
|
||||
- [ ] TableEditor
|
||||
- [ ] ImageEditorBlock
|
||||
- [ ] MathEditor / LatexBlock
|
||||
- [ ] MermaidBlock / DiagramBlock — host renders the SVG
|
||||
- [ ] CodeBlockEditor
|
||||
- [ ] TodoItem / Checklist
|
||||
- [ ] PlaceholderText
|
||||
- [ ] WordCount / CharacterCount
|
||||
- [ ] ReadingTime
|
||||
|
||||
## T21b Documents · Reading
|
||||
|
||||
- [ ] MarkdownRenderer
|
||||
- [ ] DocumentViewer — host pages
|
||||
- [ ] PDFViewer — host pages; thumbnails, search, zoom, notes
|
||||
- [ ] EpubReader — host chapters
|
||||
- [ ] OfficePreview — host pages
|
||||
- [ ] PageThumbnailList
|
||||
- [ ] TableOfContents → `navigation::TableOfContents`
|
||||
- [ ] DocumentOutline → `navigation::TableOfContents`
|
||||
- [ ] Footnote
|
||||
- [ ] Glossary / TooltipTerm
|
||||
- [ ] ReadingProgress
|
||||
- [ ] FocusMode / ZenMode
|
||||
- [ ] PrintPreview — host pages
|
||||
|
||||
## T21c Documents · Knowledge
|
||||
|
||||
- [ ] PageTree
|
||||
- [ ] Backlinks
|
||||
- [ ] GraphView → `charts::NetworkGraph`
|
||||
- [ ] PageCover / PageIcon
|
||||
- [ ] PageProperties
|
||||
- [ ] DatabaseView — table, board, gallery, calendar, timeline
|
||||
- [ ] TemplatePicker
|
||||
- [ ] TrashBin
|
||||
- [ ] VersionHistory
|
||||
- [ ] PageHistoryDiff
|
||||
- [ ] Favorites / Pinned
|
||||
|
||||
## T22 Collaboration — `src/collab`
|
||||
|
||||
- [ ] PresenceAvatars
|
||||
- [ ] RemoteCursor
|
||||
- [ ] RemoteSelection
|
||||
- [ ] CommentThread
|
||||
- [ ] CommentBubble / CommentMarker
|
||||
- [ ] CommentSidebar
|
||||
- [ ] Reply / ReactionPicker
|
||||
- [ ] Reactions
|
||||
- [ ] Annotation / Highlight
|
||||
- [ ] SuggestionMode
|
||||
- [ ] TrackChanges
|
||||
- [ ] ShareDialog
|
||||
- [ ] PermissionSelect
|
||||
- [ ] InviteInput
|
||||
- [ ] AccessList
|
||||
- [ ] ActivityLog → `data_display::ActivityFeed`
|
||||
- [ ] FollowMode
|
||||
- [ ] LiveIndicator
|
||||
|
||||
## T23a AI Chat · Messages — `src/chat`
|
||||
|
||||
- [ ] ChatContainer
|
||||
- [ ] MessageList — virtualized, stick to bottom, new-message hint
|
||||
- [ ] MessageBubble — user, assistant, system, error
|
||||
- [ ] MessageAvatar
|
||||
- [ ] MessageHeader
|
||||
- [ ] MessageFooter
|
||||
- [ ] StreamingText
|
||||
- [ ] StreamingMarkdown
|
||||
- [ ] StreamingCursor
|
||||
- [ ] CodeBlock — language, copy, download, run, fold, apply
|
||||
- [ ] MathBlock → `typography::Latex`
|
||||
- [ ] TableBlock → `documents::MarkdownRenderer`
|
||||
- [ ] MermaidRenderer → `documents::MermaidBlock`
|
||||
- [ ] ImageMessage / ImageGrid
|
||||
- [ ] FileMessage
|
||||
- [ ] AudioMessage
|
||||
- [ ] VideoMessage — host frames
|
||||
- [ ] LinkPreviewCard
|
||||
- [ ] QuoteReply
|
||||
- [ ] MessageActions
|
||||
- [ ] MessageEditor
|
||||
- [ ] BranchNavigator
|
||||
- [ ] RegenerateButton
|
||||
- [ ] StopGeneratingButton
|
||||
- [ ] ContinueButton
|
||||
- [ ] ErrorMessage / RetryMessage
|
||||
- [ ] RateLimitNotice
|
||||
- [ ] FeedbackForm
|
||||
- [ ] ScrollToBottomButton
|
||||
- [ ] DateSeparator
|
||||
- [ ] ThinkingBlock / ReasoningPanel
|
||||
- [ ] ThinkingIndicator
|
||||
- [ ] ThinkingDuration
|
||||
|
||||
## T23b AI Chat · Citations
|
||||
|
||||
- [ ] CitationBadge / InlineCitation
|
||||
- [ ] SourceCard
|
||||
- [ ] SourceList / SourcesPanel
|
||||
- [ ] SearchProgress
|
||||
- [ ] WebResultCard
|
||||
- [ ] DocumentChunkPreview
|
||||
|
||||
## T23c AI Chat · Input
|
||||
|
||||
- [ ] PromptInput / Composer
|
||||
- [ ] AttachmentButton
|
||||
- [ ] AttachmentChip / AttachmentPreview
|
||||
- [ ] PasteImagePreview
|
||||
- [ ] DragDropOverlay
|
||||
- [ ] VoiceInputButton
|
||||
- [ ] VoiceWaveform / RecordingIndicator
|
||||
- [ ] SlashCommandMenu → `documents::SlashMenu`
|
||||
- [ ] PromptTemplateMenu
|
||||
- [ ] ContextMentionMenu
|
||||
- [ ] ContextChips
|
||||
- [ ] ModelSelector
|
||||
- [ ] ModeSelector
|
||||
- [ ] ToolToggleMenu
|
||||
- [ ] TemperatureSlider / ParameterPanel
|
||||
- [ ] SystemPromptEditor
|
||||
- [ ] TokenCounter
|
||||
- [ ] ContextWindowMeter
|
||||
- [ ] CostEstimator
|
||||
- [ ] SendButton
|
||||
- [ ] InputHint
|
||||
|
||||
## T23d AI Chat · Conversations
|
||||
|
||||
- [ ] ConversationList
|
||||
- [ ] ConversationItem
|
||||
- [ ] ConversationSearch
|
||||
- [ ] NewChatButton
|
||||
- [ ] FolderList / ProjectList
|
||||
- [ ] ProjectKnowledgePanel
|
||||
- [ ] SharedConversationView
|
||||
- [ ] ConversationExport
|
||||
|
||||
## T23e AI Chat · Welcome
|
||||
|
||||
- [ ] WelcomeScreen / Greeting
|
||||
- [ ] SuggestionChips / StarterPrompts
|
||||
- [ ] PromptLibrary
|
||||
- [ ] FollowUpSuggestions
|
||||
- [ ] CapabilityCards
|
||||
|
||||
## T24 Agent — `src/agent`
|
||||
|
||||
- [ ] ToolCallCard
|
||||
- [ ] ToolCallGroup
|
||||
- [ ] ToolApprovalDialog
|
||||
- [ ] PermissionPrompt
|
||||
- [ ] AgentStepList / TaskTimeline
|
||||
- [ ] AgentPlan / TodoList
|
||||
- [ ] AgentStatus
|
||||
- [ ] AgentProgress
|
||||
- [ ] SubAgentTree
|
||||
- [ ] FileChangeCard
|
||||
- [ ] MultiFileDiff Review
|
||||
- [ ] CommandExecutionCard
|
||||
- [ ] BrowserPreview / ScreenshotStream — host frames
|
||||
- [ ] ComputerUseViewer — host frames
|
||||
- [ ] ArtifactPanel
|
||||
- [ ] ArtifactVersionSwitcher
|
||||
- [ ] LivePreview — host content
|
||||
- [ ] SandboxStatus
|
||||
- [ ] MCPServerList / ConnectorList
|
||||
- [ ] ToolRegistry Panel
|
||||
- [ ] MemoryPanel
|
||||
- [ ] CheckpointList / Rewind
|
||||
- [ ] InterruptButton
|
||||
- [ ] HumanInputRequest
|
||||
- [ ] TokenUsageChart
|
||||
- [ ] CostBreakdown
|
||||
- [ ] TraceViewer
|
||||
- [ ] EvalResultTable
|
||||
|
||||
## T25 Generative — `src/generative`
|
||||
|
||||
- [ ] ImageGenerationPanel
|
||||
- [ ] GenerationQueue
|
||||
- [ ] GenerationGrid
|
||||
- [ ] VariationPicker
|
||||
- [ ] PromptEnhancer
|
||||
- [ ] NegativePromptInput
|
||||
- [ ] StylePresetPicker
|
||||
- [ ] SeedInput
|
||||
- [ ] AspectRatioPicker
|
||||
- [ ] InpaintCanvas
|
||||
- [ ] MaskBrush
|
||||
- [ ] ImageCompare → `data_display::BeforeAfter`
|
||||
- [ ] AudioGenerationPlayer
|
||||
- [ ] VideoGenerationTimeline
|
||||
- [ ] TTSVoicePicker
|
||||
- [ ] ModelCard
|
||||
- [ ] ModelDownloadManager
|
||||
- [ ] ModelStatus
|
||||
- [ ] HardwareMonitor
|
||||
- [ ] FineTuneJobCard
|
||||
- [ ] DatasetViewer
|
||||
- [ ] EmbeddingVisualizer — 2D, 3D projection
|
||||
- [ ] PromptPlayground
|
||||
- [ ] PromptDiff / PromptVersionHistory
|
||||
- [ ] ABCompareView
|
||||
|
||||
## T26 Media — `src/media`
|
||||
|
||||
- [ ] ImageViewer — zoom, pan, rotate, fit
|
||||
- [ ] ImageCropper
|
||||
- [ ] ImageAnnotator
|
||||
- [ ] ImageThumbnail
|
||||
- [ ] Lightbox / Gallery Viewer → `overlays::Lightbox`
|
||||
- [ ] VideoPlayer — host frames
|
||||
- [ ] VideoTimeline / Scrubber
|
||||
- [ ] VideoThumbnailStrip
|
||||
- [ ] AudioPlayer — host playback
|
||||
- [ ] AudioWaveform
|
||||
- [ ] AudioSpectrum / Visualizer
|
||||
- [ ] VolumeControl
|
||||
- [ ] PlaybackSpeedControl
|
||||
- [ ] MediaControls
|
||||
- [ ] Playlist
|
||||
- [ ] SubtitleEditor
|
||||
- [ ] ScreenRecorderControls
|
||||
- [ ] CameraPreview — host frames
|
||||
- [ ] MicLevelMeter
|
||||
- [ ] DeviceSelector
|
||||
- [ ] 3DModelViewer — host frames, orbit input
|
||||
|
||||
## T27 Files — `src/files`
|
||||
|
||||
- [ ] FileExplorer — list, icons, columns
|
||||
- [ ] FileGrid
|
||||
- [ ] FileList
|
||||
- [ ] FileItem
|
||||
- [ ] FileIcon
|
||||
- [ ] FilePreview / QuickLook
|
||||
- [ ] FileBreadcrumb / PathBar → `navigation::Breadcrumb`
|
||||
- [ ] FolderTree → `lists::FileTree`
|
||||
- [ ] FileContextMenu → `menus::ContextMenu`
|
||||
- [ ] RenameInline → `forms::InlineEdit`
|
||||
- [ ] DragDropFiles → `forms::DropZone`
|
||||
- [ ] FileOperationProgress
|
||||
- [ ] TransferQueue
|
||||
- [ ] DownloadManager
|
||||
- [ ] StorageUsage → `data_display::UsageBar`
|
||||
- [ ] RecentFiles
|
||||
- [ ] Favorites / Bookmarks → `documents::Favorites`
|
||||
- [ ] FileSearch
|
||||
- [ ] DuplicateFinder
|
||||
- [ ] ArchiveViewer — host entries
|
||||
- [ ] HexViewer → `debug::HexViewer`
|
||||
|
||||
## T28 Messaging — `src/messaging`
|
||||
|
||||
- [ ] ChannelList / ChatList
|
||||
- [ ] ChannelItem
|
||||
- [ ] DirectMessageItem
|
||||
- [ ] MessageThread
|
||||
- [ ] ThreadPanel
|
||||
- [ ] ChatMessage
|
||||
- [ ] UnreadDivider
|
||||
- [ ] MessageReactions → `collab::Reactions`
|
||||
- [ ] ReadReceipt
|
||||
- [ ] TypingIndicator → `motion::TypingIndicator`
|
||||
- [ ] MemberList
|
||||
- [ ] UserProfileCard
|
||||
- [ ] OnlineStatus
|
||||
- [ ] StatusSetter
|
||||
- [ ] VoiceCallBar
|
||||
- [ ] VideoCallGrid — host frames
|
||||
- [ ] ScreenShareView — host frames
|
||||
- [ ] CallControls
|
||||
- [ ] ParticipantTile
|
||||
- [ ] IncomingCallDialog
|
||||
- [ ] StickerPicker
|
||||
- [ ] GifPicker — host images
|
||||
- [ ] PinnedMessages
|
||||
- [ ] ChannelHeader
|
||||
- [ ] HuddleIndicator
|
||||
|
||||
## T29 Mail — `src/mail`
|
||||
|
||||
- [ ] MailboxList / FolderList
|
||||
- [ ] MailList
|
||||
- [ ] MailItem
|
||||
- [ ] MailReader
|
||||
- [ ] MailComposer
|
||||
- [ ] RecipientInput
|
||||
- [ ] MailThreadView
|
||||
- [ ] QuotedText
|
||||
- [ ] SignatureEditor
|
||||
- [ ] LabelPicker
|
||||
- [ ] SnoozePicker
|
||||
- [ ] ScheduleSend
|
||||
- [ ] InboxZeroState
|
||||
|
||||
## T30 Calendar — `src/calendar`
|
||||
|
||||
- [ ] CalendarMonthView
|
||||
- [ ] CalendarWeekView
|
||||
- [ ] CalendarDayView
|
||||
- [ ] AgendaView
|
||||
- [ ] YearView
|
||||
- [ ] MiniCalendar → `forms::Calendar`
|
||||
- [ ] EventCard / EventChip
|
||||
- [ ] EventEditor
|
||||
- [ ] EventPopover
|
||||
- [ ] TimeGrid — drag to create, resize
|
||||
- [ ] AllDayRow
|
||||
- [ ] CurrentTimeIndicator
|
||||
- [ ] RecurrenceEditor
|
||||
- [ ] AvailabilityPicker
|
||||
- [ ] TimezoneOverlay
|
||||
- [ ] ReminderPicker
|
||||
- [ ] AttendeeList
|
||||
@@ -0,0 +1,292 @@
|
||||
# Chapters 31–43
|
||||
|
||||
## T31 Project — `src/project`
|
||||
|
||||
- [ ] KanbanBoard / KanbanColumn / KanbanCard
|
||||
- [ ] TaskList
|
||||
- [ ] TaskItem — check, priority, due date, assignee
|
||||
- [ ] TaskDetailPanel
|
||||
- [ ] SubtaskList
|
||||
- [ ] GanttChart / TimelineView → `charts::GanttChart`
|
||||
- [ ] Roadmap
|
||||
- [ ] Sprint Board → `project::KanbanBoard`
|
||||
- [ ] Burndown Chart
|
||||
- [ ] PriorityIndicator
|
||||
- [ ] StatusSelect
|
||||
- [ ] AssigneePicker
|
||||
- [ ] DueDatePicker → `forms::DatePicker`
|
||||
- [ ] LabelManager
|
||||
- [ ] IssueCard
|
||||
- [ ] IssueIdBadge
|
||||
- [ ] MilestoneProgress
|
||||
- [ ] WorkloadView
|
||||
- [ ] TimeTracker
|
||||
- [ ] Pomodoro Timer
|
||||
|
||||
## T32 Canvas & Design — `src/canvas`
|
||||
|
||||
- [ ] InfiniteCanvas
|
||||
- [ ] CanvasGrid / Guides
|
||||
- [ ] Ruler
|
||||
- [ ] SelectionBox
|
||||
- [ ] TransformHandles
|
||||
- [ ] SnapIndicator
|
||||
- [ ] LayerPanel
|
||||
- [ ] AssetPanel
|
||||
- [ ] InspectorPanel
|
||||
- [ ] AlignmentToolbar
|
||||
- [ ] ToolPalette
|
||||
- [ ] ZoomControls / ZoomIndicator
|
||||
- [ ] MiniMap
|
||||
- [ ] ArtboardFrame
|
||||
- [ ] ShapeTools — rect, ellipse, polygon, line, arrow
|
||||
- [ ] PenTool / PathEditor
|
||||
- [ ] TextTool
|
||||
- [ ] BrushTool / BrushSettings
|
||||
- [ ] ColorPanel
|
||||
- [ ] GradientPanel → `forms::GradientEditor`
|
||||
- [ ] ShadowEditor
|
||||
- [ ] BorderEditor
|
||||
- [ ] TypographyPanel
|
||||
- [ ] ConstraintsEditor
|
||||
- [ ] AutoLayoutControls
|
||||
- [ ] ExportPanel
|
||||
- [ ] NodeEditor / NodeGraph
|
||||
- [ ] Node / Port / Edge / Connection
|
||||
- [ ] FlowChart / DiagramEditor
|
||||
- [ ] MindMap
|
||||
- [ ] Whiteboard
|
||||
- [ ] StickyNote
|
||||
- [ ] Connector Line
|
||||
- [ ] HistoryPanel
|
||||
|
||||
## T33 DB & Dev Tools — `src/devtools`
|
||||
|
||||
- [ ] ConnectionManager
|
||||
- [ ] ConnectionForm
|
||||
- [ ] SchemaTree
|
||||
- [ ] QueryEditor → `editor::CodeEditor`
|
||||
- [ ] QueryResultGrid → `tables::DataGrid`
|
||||
- [ ] QueryHistory
|
||||
- [ ] QueryPlanViewer
|
||||
- [ ] TableStructureEditor
|
||||
- [ ] ERDiagram
|
||||
- [ ] IndexManager
|
||||
- [ ] RedisKeyBrowser
|
||||
- [ ] DocumentViewer (MongoDB / JSON) → `devtools::JsonViewer`
|
||||
- [ ] JsonViewer / JsonTree
|
||||
- [ ] JsonEditor
|
||||
- [ ] YamlViewer
|
||||
- [ ] XmlViewer
|
||||
- [ ] ApiRequestBuilder
|
||||
- [ ] ResponseViewer
|
||||
- [ ] HeadersTable
|
||||
- [ ] QueryParamsEditor → `forms::KeyValueInput`
|
||||
- [ ] EnvironmentSelector
|
||||
- [ ] CollectionTree
|
||||
- [ ] WebSocketConsole
|
||||
- [ ] GraphQLExplorer
|
||||
- [ ] RegexTester
|
||||
- [ ] Base64 / Encoder
|
||||
- [ ] ColorContrastChecker
|
||||
- [ ] ContainerList
|
||||
- [ ] PodList
|
||||
- [ ] ResourceMonitor
|
||||
|
||||
## T34 Dashboard — `src/dashboard`
|
||||
|
||||
- [ ] Dashboard Grid
|
||||
- [ ] Widget / DashboardCard
|
||||
- [ ] StatCard → `data_display::Statistic`
|
||||
- [ ] MetricsChart → `charts::LineChart`
|
||||
- [ ] AlertList
|
||||
- [ ] IncidentCard
|
||||
- [ ] UptimeBar
|
||||
- [ ] ServiceStatus
|
||||
- [ ] HealthCheck Indicator
|
||||
- [ ] LogStream → `terminal::LogViewer`
|
||||
- [ ] TraceWaterfall → `agent::TraceViewer`
|
||||
- [ ] EventStream
|
||||
- [ ] ResourceGauge → `data_display::Gauge`
|
||||
- [ ] SystemMonitor
|
||||
- [ ] ProcessTable → `terminal::ProcessList`
|
||||
- [ ] NetworkGraph (throughput) → `charts::RealtimeChart`
|
||||
- [ ] MapView / GeoHeatmap → `maps::MapView`, `maps::GeoHeatmap` (T41)
|
||||
- [ ] WorldMap → `maps::WorldMap` (T41)
|
||||
- [ ] RefreshIntervalSelector
|
||||
- [ ] DashboardFilterBar
|
||||
|
||||
## T35 Settings — `src/settings`
|
||||
|
||||
- [ ] SettingsLayout
|
||||
- [ ] SettingsSection
|
||||
- [ ] SettingsRow
|
||||
- [ ] SettingsSearch
|
||||
- [ ] ThemeSelector → `theme::ThemeSwitcher`
|
||||
- [ ] AccentColorPicker
|
||||
- [ ] FontSizeControl
|
||||
- [ ] FontFamilySelect → `forms::FontPicker`
|
||||
- [ ] DensitySelector
|
||||
- [ ] LanguageSelector → `forms::LanguageSelect`
|
||||
- [ ] KeyboardShortcutsList
|
||||
- [ ] ShortcutEditor → `editor::KeybindingsEditor`
|
||||
- [ ] ProxySettings
|
||||
- [ ] StorageSettings / CacheClear
|
||||
- [ ] PrivacySettings
|
||||
- [ ] NotificationSettings
|
||||
- [ ] StartupSettings
|
||||
- [ ] ImportExportSettings
|
||||
- [ ] ResetToDefault
|
||||
- [ ] AdvancedSettings / FeatureFlags
|
||||
- [ ] DeveloperMode Toggle
|
||||
|
||||
## T36 Account — `src/account`
|
||||
|
||||
- [ ] LoginForm
|
||||
- [ ] SignupForm
|
||||
- [ ] OAuthButtons
|
||||
- [ ] MagicLinkForm
|
||||
- [ ] TwoFactorInput
|
||||
- [ ] ForgotPassword
|
||||
- [ ] ProfileCard
|
||||
- [ ] ProfileEditor
|
||||
- [ ] AccountSwitcher
|
||||
- [ ] WorkspaceSwitcher / OrgSwitcher
|
||||
- [ ] UserMenu
|
||||
- [ ] SessionList
|
||||
- [ ] ApiKeyManager
|
||||
- [ ] SubscriptionCard / PlanBadge
|
||||
- [ ] UsageQuota
|
||||
- [ ] BillingHistory
|
||||
- [ ] PaymentMethodForm
|
||||
- [ ] UpgradePrompt / Paywall
|
||||
- [ ] TeamMemberTable
|
||||
- [ ] RoleSelector
|
||||
- [ ] InvitationList
|
||||
|
||||
## T37 Onboarding & Help — `src/onboarding`
|
||||
|
||||
- [ ] OnboardingWizard
|
||||
- [ ] WelcomeTour → `navigation::Tour`
|
||||
- [ ] Coachmark / Hotspot — Coachmark → `overlays::Spotlight`; Hotspot here
|
||||
- [ ] FeatureHighlight / NewBadge
|
||||
- [ ] Checklist (first-run tasks)
|
||||
- [ ] HelpTooltip
|
||||
- [ ] HelpPanel / DocsSidebar
|
||||
- [ ] KeyboardShortcutCheatsheet
|
||||
- [ ] WhatsNewDialog
|
||||
- [ ] FeedbackWidget
|
||||
- [ ] ContactSupport
|
||||
- [ ] InlineHelp
|
||||
- [ ] EmptyStateWithAction → `feedback::EmptyState`
|
||||
|
||||
## T38 Interaction — `src/interaction`
|
||||
|
||||
- [ ] Draggable — native `on_drag`
|
||||
- [ ] Droppable / DropTarget — native `on_drop`, `drag_over`
|
||||
- [ ] DragOverlay / DragPreview — native drag view
|
||||
- [ ] DragGhost → DragPreview (native)
|
||||
- [ ] Sortable / SortableContext
|
||||
- [ ] Resizable
|
||||
- [ ] Rotatable
|
||||
- [ ] Selectable / SelectionArea
|
||||
- [ ] RubberBandSelection → `interaction::SelectionArea`
|
||||
- [ ] LongPress → `primitives::Pressable`
|
||||
- [ ] DoubleClick — native `ClickEvent::click_count`
|
||||
- [ ] Gesture — prove: wheel zoom, pinch, two-finger swipe
|
||||
- [ ] PanZoom → `layout::Viewport`
|
||||
- [ ] Hotkeys / KeyBinding — native `actions!`, `bind_keys`, `key_context`
|
||||
- [ ] KeyChord — native multi-keystroke bindings
|
||||
- [ ] Undo / Redo Manager
|
||||
- [ ] InfiniteScroll Trigger → `lists::InfiniteList`
|
||||
- [ ] VirtualScroller — native `list()` / `uniform_list()`
|
||||
- [ ] ScrollSync
|
||||
- [ ] Autofocus — native `window.focus()`
|
||||
- [ ] RovingTabIndex
|
||||
- [ ] TypeAhead
|
||||
- [ ] FocusVisible → `primitives::FocusRing`
|
||||
|
||||
## T39 Theme — `src/theme`
|
||||
|
||||
- [x] ThemeProvider (T00)
|
||||
- [ ] ThemeSwitcher
|
||||
- [x] ColorTokens / DesignTokens (T00)
|
||||
- [ ] ThemeEditor
|
||||
- [ ] ThemeImporter — VS Code theme JSON
|
||||
- [ ] SyntaxThemes
|
||||
- [ ] IconThemeProvider
|
||||
- [ ] DensityProvider (T00)
|
||||
- [ ] RadiusProvider (T00)
|
||||
- [ ] FontProvider (T00)
|
||||
- [ ] HighContrastMode (T00)
|
||||
- [ ] ReducedMotionProvider (T00)
|
||||
- [ ] Platform Style
|
||||
- [ ] VibrancyBackground / Mica / Acrylic — native `WindowBackgroundAppearance::Blurred`
|
||||
- [x] Elevation / Shadow (T00)
|
||||
|
||||
## T40 i18n & a11y — `src/i18n`
|
||||
|
||||
- [ ] I18nProvider
|
||||
- [ ] Trans / LocalizedText
|
||||
- [ ] LocaleNumber / LocaleDate
|
||||
- [ ] RTL layout — prove: mirrored stacks
|
||||
- [ ] LiveRegion / Announcer — blocked: gpui 0.2.2 has no accessibility tree
|
||||
- [ ] SkipLink
|
||||
- [ ] AccessibleIcon — blocked: no accessibility tree
|
||||
- [ ] AriaLabel helper — blocked: no accessibility tree
|
||||
- [ ] KeyboardNavigationHelper
|
||||
- [ ] ScreenReaderOnly — blocked: no accessibility tree
|
||||
- [ ] ColorBlindSafe Palette
|
||||
|
||||
## T41 Maps — `src/maps`
|
||||
|
||||
- [ ] MapView — host tiles
|
||||
- [ ] MapMarker
|
||||
- [ ] MapPopup
|
||||
- [ ] MapCluster
|
||||
- [ ] RouteLine
|
||||
- [ ] GeoJSON Layer
|
||||
- [ ] ChoroplethMap
|
||||
- [ ] LocationPicker
|
||||
- [ ] CoordinateDisplay
|
||||
- [ ] WorldMap (from T34)
|
||||
- [ ] GeoHeatmap (from T34)
|
||||
|
||||
## T42 Misc — `src/misc`
|
||||
|
||||
- [ ] Clock / WorldClock
|
||||
- [ ] Stopwatch
|
||||
- [ ] Calculator
|
||||
- [ ] UnitConverter
|
||||
- [ ] QRCodeScanner — prove: host frames, `rqrr` decode
|
||||
- [ ] BarcodeDisplay → `data_display::Barcode`
|
||||
- [ ] Captcha
|
||||
- [ ] Signature → `forms::SignaturePad`
|
||||
- [ ] Rating Widget → `forms::Rating`
|
||||
- [ ] Poll / Survey
|
||||
- [ ] Quiz / Flashcard
|
||||
- [ ] ChangeLog Viewer → `data_display::Changelog`
|
||||
- [ ] LicenseViewer
|
||||
- [ ] Terms / Consent Dialog
|
||||
- [ ] CookieBanner
|
||||
- [ ] WebView — prove: `wry`
|
||||
- [ ] IframeEmbed / EmbedCard
|
||||
- [ ] HTMLPreview → `misc::WebView`
|
||||
- [ ] PrintButton — blocked: gpui 0.2.2 has no print API
|
||||
- [ ] ExportDialog — PDF, PNG, CSV, JSON
|
||||
- [ ] ImportDialog — field mapping
|
||||
- [ ] CSVImporter
|
||||
- [ ] ShareSheet
|
||||
|
||||
## T43 Library Tooling — `src/tooling`
|
||||
|
||||
- [ ] ComponentGallery / Storybook
|
||||
- [ ] PlaygroundPanel
|
||||
- [ ] InspectorOverlay
|
||||
- [ ] FPSMeter / PerfOverlay
|
||||
- [ ] RenderCounter
|
||||
- [ ] EventLogger
|
||||
- [ ] DesignTokenViewer
|
||||
- [ ] IconBrowser
|
||||
- [ ] A11yChecker — contrast audit
|
||||
- [ ] ScreenshotTest Harness — self-capture
|
||||
Reference in new issue
Block a user