How bertman12/wc3-w3ts-frame-components works
This is a Warcraft III TypeScript library for composing reusable UI frame components. A map developer creates configured or themed components; those components create and arrange Warcraft frames, with Grid and Tooltip supporting richer layouts and presentation. Shared base-frame defaults, themes, frame utilities, event contracts, and debugging tools form the main internal layer. The README documents the component capabilities; some subsystem paths and interactions are represented only at directory level because their source was not sampled.
Main entry points: Tooltip.ts Tooltip · timer.ts Timer · button.ts Button · grid.ts Grid
Components 20
Frame components
- Button
src/components/button.ts - Glue text button
src/components/glue-text-button.ts - Backdrop
src/components/backdrop.ts - Empty frame
src/components/empty-frame.ts - Icon
src/components/icon.ts - Text area
src/components/text-area.ts - Timer
src/components/timer.ts - Tooltip
src/components/Tooltip.ts - Resource card
src/components/resource-card.ts
Layout and text
- Grid
src/grid/grid.ts - Text
src/components/text.ts - Player alert text
src/text/playerAlertText.ts
Shared runtime
- Frame base
src/components/AbstractFrameBase.ts - Frame utilities
src/frame-utils.ts - Theme config
src/theme/theme.ts - Event contracts
src/models/IEvents.ts
Debug and definitions
- Frame navigator
src/debugging/frame-navigator.ts - Custom frame definitions
frame-definitions
Other components
- Map developer
- Warcraft III UI
Connections 20
- Map developer → Button: creates
README.md - Map developer → Grid: configures
README.md - Map developer → Theme config: saves theme
README.md - Button → Warcraft III UI: creates frames
src/components/button.ts - Grid → Warcraft III UI: creates layout frames
src/grid/grid.ts - Frame base → Frame utilities: gets default owner
src/components/AbstractFrameBase.ts - Grid → Frame utilities: uses origin frame
src/grid/grid.ts - Button → Theme config: reads theme
src/components/button.ts - Timer → Backdrop: creates
src/components/timer.ts - Timer → Button: creates
src/components/timer.ts - Timer → Text: creates
src/components/timer.ts - Timer → Tooltip: creates
src/components/timer.ts - Tooltip → Grid: uses
src/components/Tooltip.ts - Tooltip → Empty frame: creates
src/components/Tooltip.ts - Tooltip → Icon: creates
src/components/Tooltip.ts - Tooltip → Text: creates
src/components/Tooltip.ts - Frame navigator → Backdrop: renders with
src/debugging/frame-navigator.ts - Frame navigator → Glue text button: renders with
src/debugging/frame-navigator.ts - Frame navigator → Text: renders with
src/debugging/frame-navigator.ts - Frame utilities → Custom frame definitions: loads TOC
src/frame-utils.ts