Skip to content

Add toggle, dropdown, tween helpers, and draggable smoothing options to Vide#67

Open
isarsindri wants to merge 40 commits intocentau:mainfrom
isarsindri:main
Open

Add toggle, dropdown, tween helpers, and draggable smoothing options to Vide#67
isarsindri wants to merge 40 commits intocentau:mainfrom
isarsindri:main

Conversation

@isarsindri
Copy link

@isarsindri isarsindri commented Mar 3, 2026

This PR adds a small set of reusable UI components and animation utilities to Vide, focused on practical game UI needs while keeping the API surface minimal.

Changes
• vide.toggle: Themeable boolean switch component with controlled (value) and uncontrolled (default) usage patterns, plus onChanged support.
• vide.dropdown: Themeable dropdown/select component with scroll support (maxVisible, rowHeight, gap), option tables ({ label, value, disabled }), and improved layering via optional baseZIndex.
• vide.tween: Tweening utilities for UI animation, including tweenTo() and optional presets for consistent easing.
• vide.draggable: Adds optional smoothTime parameter for smoother dragging feel, while preserving existing axis behaviour and callbacks.

image_2026-03-03_134342352

Docs made for:
• toggle()
• dropdown()
• tween

Notes
• Dropdown layering reliability is improved by encouraging ScreenGui.ZIndexBehavior = Enum.ZIndexBehavior.Global and allowing a baseZIndex range for popups and rows.
• All additions are optional and backward compatible with existing patterns.

-- DOES NOT USE DEPRECATED .DRAGGABLE!
Add documentation for draggable() action in 12-actions.md
Added detailed documentation for the draggable function, including options, supported instances, and an example of usage.
Corrected comment formatting in the slider component example.
Updated the components section to improve formatting and clarity.
Removed unnecessary blank line and adjusted code formatting.
Added a nil check for UserInputService to handle non-Roblox environments.
Updated UserInputService initialization and added checks for non-Roblox environments and GuiObject types.
Refactor draggable functionality to improve clarity and maintainability.
Added documentation for the Tween module, including usage and exports.
Added a warning about tweening reactive properties and suggested alternatives.
Added toggle, and dropdown with themes and event handling.
Fixed the order of components having menu.luau last.
…p not compatible.

Refactor draggable factory to remove cleanup parameter and handle connections more efficiently.
Removed cleanup parameter from draggable initialization.
Added optional 'smoothTime' parameter to DraggableOptions.
Added detailed options for the draggable function, including axis constraints, smoothing, and drag event callbacks.
@isarsindri isarsindri marked this pull request as draft March 3, 2026 12:46
@isarsindri isarsindri marked this pull request as ready for review March 3, 2026 12:49
@isarsindri isarsindri marked this pull request as draft March 3, 2026 12:51
fix test fail again! yes i'm a retard
@isarsindri isarsindri marked this pull request as ready for review March 3, 2026 12:54
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant