Enhance SelectionOption component with hover state and caret visibility logic

- Refactored the `SelectionOption` to be a Roact component that tracks hover state.
- Added logic to determine caret visibility based on node properties (parent-only, has children, and selection state).
- Updated background and text transparency based on hover state for improved UX.
- Adjusted event handling for mouse enter, mouse leave, and click actions to accommodate new behavior.
- Modified `SelectionRadio` to pass necessary props to `SelectionOption` for consistent behavior.
This commit is contained in:
Joe 2026-02-01 09:51:48 -06:00
parent 2b2ada219e
commit 6ed96f1f7e
27 changed files with 99 additions and 56 deletions

View file

@ -4,4 +4,3 @@ expression: normalized_stdout
---
Writing OnlyOneCopy/child_of_one.luau
Writing ReplicatedStorage/child_replicated_storage.luau
Created sourcemap at <TEMP>/child_but_not\sourcemap.json

View file

@ -5,4 +5,3 @@ expression: normalized_stdout
Writing src/csv.csv
Writing src/csv_init/init.csv
Writing src/csv_init
Created sourcemap at <TEMP>/csv\sourcemap.json

View file

@ -3,4 +3,3 @@ source: tests/rojo_test/syncback_util.rs
expression: normalized_stdout
---
Writing container.model.json5
Created sourcemap at <TEMP>/duplicate_rojo_id\sourcemap.json

View file

@ -6,4 +6,3 @@ Writing src/ignored_part.model.json5
Writing src/int_value.model.json5
Writing src/subfolder/string_value.txt
Writing src/subfolder
Created sourcemap at <TEMP>/ignore_paths_adding\sourcemap.json

View file

@ -4,4 +4,3 @@ expression: normalized_stdout
---
Writing src/non-init.luau
Writing src/init-file
Created sourcemap at <TEMP>/ignore_paths_init\sourcemap.json

View file

@ -3,4 +3,3 @@ source: tests/rojo_test/syncback_util.rs
expression: normalized_stdout
---
Writing src/Message.model.json5
Created sourcemap at <TEMP>/ignore_paths_removing\sourcemap.json

View file

@ -4,4 +4,3 @@ expression: normalized_stdout
---
Writing src/IncludeMe/.gitkeep
Writing src/IncludeMe
Created sourcemap at <TEMP>/ignore_trees_adding\sourcemap.json

View file

@ -3,4 +3,3 @@ source: tests/rojo_test/syncback_util.rs
expression: normalized_stdout
---
Removing src
Created sourcemap at <TEMP>/ignore_trees_removing\sourcemap.json

View file

@ -6,4 +6,3 @@ Writing src/dir_with_meta/init.meta.json5
Writing src/model_json.model.json5
Writing src/project_json.project.json5
Writing src/dir_with_meta
Created sourcemap at <TEMP>/json_middlewares\sourcemap.json

View file

@ -4,4 +4,3 @@ expression: normalized_stdout
---
Writing nested.project.json5
Writing string_value.txt
Created sourcemap at <TEMP>/nested_projects\sourcemap.json

View file

@ -6,4 +6,3 @@ Writing src/modules/ClientModule.luau
Writing src/modules/ServerModule.luau
Removing client-only.project.json5
Removing server-only.project.json5
Created sourcemap at <TEMP>/nested_projects_weird\sourcemap.json

View file

@ -4,4 +4,3 @@ expression: normalized_stdout
---
Writing src/init.luau
Writing src
Created sourcemap at <TEMP>/project_init\sourcemap.json

View file

@ -4,4 +4,3 @@ expression: normalized_stdout
---
Writing attribute_mismatch.luau
Writing property_mismatch.project.json5
Created sourcemap at <TEMP>/project_reserialize\sourcemap.json

View file

@ -6,4 +6,3 @@ Writing src/ChildWithoutDuplicates/Child/.gitkeep
Writing src/ChildWithDuplicates
Writing src/ChildWithoutDuplicates
Writing src/ChildWithoutDuplicates/Child
Created sourcemap at <TEMP>/rbxm_fallback\sourcemap.json

View file

@ -4,4 +4,3 @@ expression: normalized_stdout
---
Writing src/pointer.model.json5
Writing src/target.model.json5
Created sourcemap at <TEMP>/ref_properties\sourcemap.json

View file

@ -4,4 +4,3 @@ expression: normalized_stdout
---
Writing src/pointer.model.json5
Writing src/target.txt
Created sourcemap at <TEMP>/ref_properties_blank\sourcemap.json

View file

@ -6,4 +6,3 @@ Writing src/Pointer_1.model.json5
Writing src/Pointer_2.model.json5
Writing src/Target_1.model.json5
Writing src/Target_2.model.json5
Created sourcemap at <TEMP>/ref_properties_conflict\sourcemap.json

View file

@ -7,4 +7,3 @@ Writing src/Pointer_2.model.json5
Writing src/Target/init.meta.json5
Writing src/Target
Removing src/Target.model.json5
Created sourcemap at <TEMP>/ref_properties_duplicate\sourcemap.json

View file

@ -5,4 +5,3 @@ expression: normalized_stdout
Writing src/Pointer1.model.json5
Writing src/Pointer2.model.json5
Writing src/Pointer3.model.json5
Created sourcemap at <TEMP>/ref_properties_pruned\sourcemap.json

View file

@ -6,4 +6,3 @@ Writing default.project.json5
Writing src/model_json.model.json5
Writing src/rbxm.rbxm
Writing src/rbxmx.rbxmx
Created sourcemap at <TEMP>/respect_old_middleware\sourcemap.json

View file

@ -8,4 +8,3 @@ Writing src/adjacent.meta.json5
Writing src/init/init.meta.json5
Writing src/model.model.json5
Writing src/init
Created sourcemap at <TEMP>/schema_roundtrip\sourcemap.json

View file

@ -4,4 +4,3 @@ expression: normalized_stdout
---
Writing default.project.json5
Writing string_value.txt
Created sourcemap at <TEMP>/string_value_project\sourcemap.json

View file

@ -4,4 +4,3 @@ expression: normalized_stdout
---
Writing src/module.modulescript
Writing src/text.text
Created sourcemap at <TEMP>/sync_rules\sourcemap.json

View file

@ -3,4 +3,3 @@ source: tests/rojo_test/syncback_util.rs
expression: normalized_stdout
---
Writing default.project.json5
Created sourcemap at <TEMP>/unscriptable_properties\sourcemap.json