From e868aee0aeefca3d2f0ebce94780b0ddb55cbfa7 Mon Sep 17 00:00:00 2001 From: "Simon (Darkside) Jackson" Date: Tue, 23 Jun 2026 10:27:35 +0100 Subject: [PATCH 1/6] Stable --- ContentExplorer.meta | 8 + ContentExplorer/ContentExplorerDemo.cs | 230 +++++++++++ ContentExplorer/ContentExplorerDemo.cs.meta | 2 + ContentExplorer/ContentExplorerDemo.unity | 287 ++++++++++++++ .../ContentExplorerDemo.unity.meta | 7 + ContentExplorer/ContentExplorerStyles.uss | 101 +++++ .../ContentExplorerStyles.uss.meta | 12 + ContentExplorer/ContentExplorerUxmlBinder.cs | 88 +++++ .../ContentExplorerUxmlBinder.cs.meta | 11 + ContentExplorer/ContentExplorerUxmlDemo.unity | 287 ++++++++++++++ .../ContentExplorerUxmlDemo.unity.meta | 7 + ContentExplorer/ContentExplorerUxmlView.uxml | 48 +++ .../ContentExplorerUxmlView.uxml.meta | 10 + DropDownPhoneEntry.meta | 8 + DropDownPhoneEntry/DropDownPhoneEntryDemo.cs | 191 +++++++++ .../DropDownPhoneEntryDemo.cs.meta | 2 + .../DropDownPhoneEntryDemo.unity | 287 ++++++++++++++ .../DropDownPhoneEntryDemo.unity.meta | 7 + .../DropDownPhoneEntryStyles.uss | 168 ++++++++ .../DropDownPhoneEntryStyles.uss.meta | 12 + .../DropDownPhoneEntryUxmlBinder.cs | 163 ++++++++ .../DropDownPhoneEntryUxmlBinder.cs.meta | 11 + .../DropDownPhoneEntryUxmlDemo.unity | 287 ++++++++++++++ .../DropDownPhoneEntryUxmlDemo.unity.meta | 7 + .../DropDownPhoneEntryUxmlView.uxml | 30 ++ .../DropDownPhoneEntryUxmlView.uxml.meta | 10 + ImageCropOverlay.meta | 8 + ImageCropOverlay/ImageCropOverlayDemo.cs | 254 ++++++++++++ ImageCropOverlay/ImageCropOverlayDemo.cs.meta | 2 + ImageCropOverlay/ImageCropOverlayDemo.unity | 287 ++++++++++++++ .../ImageCropOverlayDemo.unity.meta | 7 + .../ImageCropOverlayDemoStyles.uss | 122 ++++++ .../ImageCropOverlayDemoStyles.uss.meta | 12 + LICENSE.meta | 7 + ProfileEditor.meta | 8 + ProfileEditor/ProfileEditorDemo.cs | 248 ++++++++++++ ProfileEditor/ProfileEditorDemo.cs.meta | 2 + ProfileEditor/ProfileEditorDemo.unity | 287 ++++++++++++++ ProfileEditor/ProfileEditorDemo.unity.meta | 7 + ProfileEditor/ProfileEditorStyles.uss | 182 +++++++++ ProfileEditor/ProfileEditorStyles.uss.meta | 12 + README.md.meta | 7 + RegistrationForm.meta | 8 + RegistrationForm/RegistrationFormDemo.cs | 285 ++++++++++++++ RegistrationForm/RegistrationFormDemo.cs.meta | 2 + RegistrationForm/RegistrationFormDemo.unity | 287 ++++++++++++++ .../RegistrationFormDemo.unity.meta | 7 + RegistrationForm/RegistrationFormStyles.uss | 122 ++++++ .../RegistrationFormStyles.uss.meta | 12 + .../RegistrationFormUxmlBinder.cs | 188 +++++++++ .../RegistrationFormUxmlBinder.cs.meta | 11 + .../RegistrationFormUxmlDemo.unity | 287 ++++++++++++++ .../RegistrationFormUxmlDemo.unity.meta | 7 + .../RegistrationFormUxmlView.uxml | 35 ++ .../RegistrationFormUxmlView.uxml.meta | 10 + ScrollSnapAndDots.meta | 8 + ScrollSnapAndDots/ScrollSnapAndDotsDemo.cs | 213 +++++++++++ .../ScrollSnapAndDotsDemo.cs.meta | 2 + ScrollSnapAndDots/ScrollSnapAndDotsDemo.unity | 287 ++++++++++++++ .../ScrollSnapAndDotsDemo.unity.meta | 7 + ScrollSnapAndDots/ScrollSnapAndDotsStyles.uss | 101 +++++ .../ScrollSnapAndDotsStyles.uss.meta | 12 + ScrollSnapSplit.meta | 8 + ScrollSnapSplit/ScrollSnapSplitCSharpView.cs | 141 +++++++ .../ScrollSnapSplitCSharpView.cs.meta | 11 + ScrollSnapSplit/ScrollSnapSplitDemo.unity | 358 +++++++++++++++++ .../ScrollSnapSplitDemo.unity.meta | 7 + ScrollSnapSplit/ScrollSnapSplitLayout.cs | 37 ++ ScrollSnapSplit/ScrollSnapSplitLayout.cs.meta | 11 + ScrollSnapSplit/ScrollSnapSplitUxmlView.cs | 74 ++++ .../ScrollSnapSplitUxmlView.cs.meta | 11 + ScrollSnapSplit/ScrollSnapSplitView.uxml | 47 +++ ScrollSnapSplit/ScrollSnapSplitView.uxml.meta | 10 + Shared.meta | 8 + Shared/SampleStyles.uss | 102 +++++ Shared/SampleStyles.uss.meta | 12 + ...oolkitExtensionsExamplePanelSettings.asset | 52 +++ ...tExtensionsExamplePanelSettings.asset.meta | 8 + Shared/UIToolkitExtensionsExamplesTheme.tss | 11 + .../UIToolkitExtensionsExamplesTheme.tss.meta | 11 + StepWizard.meta | 8 + StepWizard/StepWizardDemo.cs | 345 +++++++++++++++++ StepWizard/StepWizardDemo.cs.meta | 2 + StepWizard/StepWizardDemo.unity | 287 ++++++++++++++ StepWizard/StepWizardDemo.unity.meta | 7 + StepWizard/StepWizardStyles.uss | 237 ++++++++++++ StepWizard/StepWizardStyles.uss.meta | 12 + StepWizard/StepWizardUxmlBinder.cs | 128 +++++++ StepWizard/StepWizardUxmlBinder.cs.meta | 11 + StepWizard/StepWizardUxmlDemo.unity | 287 ++++++++++++++ StepWizard/StepWizardUxmlDemo.unity.meta | 7 + StepWizard/StepWizardUxmlView.uxml | 122 ++++++ StepWizard/StepWizardUxmlView.uxml.meta | 10 + ToastNotifications.meta | 8 + ToastNotifications/ToastNotificationsDemo.cs | 361 ++++++++++++++++++ .../ToastNotificationsDemo.cs.meta | 2 + .../ToastNotificationsDemo.unity | 287 ++++++++++++++ .../ToastNotificationsDemo.unity.meta | 7 + .../ToastNotificationsStyles.uss | 111 ++++++ .../ToastNotificationsStyles.uss.meta | 12 + 100 files changed, 8794 insertions(+) create mode 100644 ContentExplorer.meta create mode 100644 ContentExplorer/ContentExplorerDemo.cs create mode 100644 ContentExplorer/ContentExplorerDemo.cs.meta create mode 100644 ContentExplorer/ContentExplorerDemo.unity create mode 100644 ContentExplorer/ContentExplorerDemo.unity.meta create mode 100644 ContentExplorer/ContentExplorerStyles.uss create mode 100644 ContentExplorer/ContentExplorerStyles.uss.meta create mode 100644 ContentExplorer/ContentExplorerUxmlBinder.cs create mode 100644 ContentExplorer/ContentExplorerUxmlBinder.cs.meta create mode 100644 ContentExplorer/ContentExplorerUxmlDemo.unity create mode 100644 ContentExplorer/ContentExplorerUxmlDemo.unity.meta create mode 100644 ContentExplorer/ContentExplorerUxmlView.uxml create mode 100644 ContentExplorer/ContentExplorerUxmlView.uxml.meta create mode 100644 DropDownPhoneEntry.meta create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryDemo.cs create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryDemo.cs.meta create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryDemo.unity create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryDemo.unity.meta create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryStyles.uss create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryStyles.uss.meta create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryUxmlBinder.cs create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryUxmlBinder.cs.meta create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryUxmlDemo.unity create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryUxmlDemo.unity.meta create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryUxmlView.uxml create mode 100644 DropDownPhoneEntry/DropDownPhoneEntryUxmlView.uxml.meta create mode 100644 ImageCropOverlay.meta create mode 100644 ImageCropOverlay/ImageCropOverlayDemo.cs create mode 100644 ImageCropOverlay/ImageCropOverlayDemo.cs.meta create mode 100644 ImageCropOverlay/ImageCropOverlayDemo.unity create mode 100644 ImageCropOverlay/ImageCropOverlayDemo.unity.meta create mode 100644 ImageCropOverlay/ImageCropOverlayDemoStyles.uss create mode 100644 ImageCropOverlay/ImageCropOverlayDemoStyles.uss.meta create mode 100644 LICENSE.meta create mode 100644 ProfileEditor.meta create mode 100644 ProfileEditor/ProfileEditorDemo.cs create mode 100644 ProfileEditor/ProfileEditorDemo.cs.meta create mode 100644 ProfileEditor/ProfileEditorDemo.unity create mode 100644 ProfileEditor/ProfileEditorDemo.unity.meta create mode 100644 ProfileEditor/ProfileEditorStyles.uss create mode 100644 ProfileEditor/ProfileEditorStyles.uss.meta create mode 100644 README.md.meta create mode 100644 RegistrationForm.meta create mode 100644 RegistrationForm/RegistrationFormDemo.cs create mode 100644 RegistrationForm/RegistrationFormDemo.cs.meta create mode 100644 RegistrationForm/RegistrationFormDemo.unity create mode 100644 RegistrationForm/RegistrationFormDemo.unity.meta create mode 100644 RegistrationForm/RegistrationFormStyles.uss create mode 100644 RegistrationForm/RegistrationFormStyles.uss.meta create mode 100644 RegistrationForm/RegistrationFormUxmlBinder.cs create mode 100644 RegistrationForm/RegistrationFormUxmlBinder.cs.meta create mode 100644 RegistrationForm/RegistrationFormUxmlDemo.unity create mode 100644 RegistrationForm/RegistrationFormUxmlDemo.unity.meta create mode 100644 RegistrationForm/RegistrationFormUxmlView.uxml create mode 100644 RegistrationForm/RegistrationFormUxmlView.uxml.meta create mode 100644 ScrollSnapAndDots.meta create mode 100644 ScrollSnapAndDots/ScrollSnapAndDotsDemo.cs create mode 100644 ScrollSnapAndDots/ScrollSnapAndDotsDemo.cs.meta create mode 100644 ScrollSnapAndDots/ScrollSnapAndDotsDemo.unity create mode 100644 ScrollSnapAndDots/ScrollSnapAndDotsDemo.unity.meta create mode 100644 ScrollSnapAndDots/ScrollSnapAndDotsStyles.uss create mode 100644 ScrollSnapAndDots/ScrollSnapAndDotsStyles.uss.meta create mode 100644 ScrollSnapSplit.meta create mode 100644 ScrollSnapSplit/ScrollSnapSplitCSharpView.cs create mode 100644 ScrollSnapSplit/ScrollSnapSplitCSharpView.cs.meta create mode 100644 ScrollSnapSplit/ScrollSnapSplitDemo.unity create mode 100644 ScrollSnapSplit/ScrollSnapSplitDemo.unity.meta create mode 100644 ScrollSnapSplit/ScrollSnapSplitLayout.cs create mode 100644 ScrollSnapSplit/ScrollSnapSplitLayout.cs.meta create mode 100644 ScrollSnapSplit/ScrollSnapSplitUxmlView.cs create mode 100644 ScrollSnapSplit/ScrollSnapSplitUxmlView.cs.meta create mode 100644 ScrollSnapSplit/ScrollSnapSplitView.uxml create mode 100644 ScrollSnapSplit/ScrollSnapSplitView.uxml.meta create mode 100644 Shared.meta create mode 100644 Shared/SampleStyles.uss create mode 100644 Shared/SampleStyles.uss.meta create mode 100644 Shared/UIToolkitExtensionsExamplePanelSettings.asset create mode 100644 Shared/UIToolkitExtensionsExamplePanelSettings.asset.meta create mode 100644 Shared/UIToolkitExtensionsExamplesTheme.tss create mode 100644 Shared/UIToolkitExtensionsExamplesTheme.tss.meta create mode 100644 StepWizard.meta create mode 100644 StepWizard/StepWizardDemo.cs create mode 100644 StepWizard/StepWizardDemo.cs.meta create mode 100644 StepWizard/StepWizardDemo.unity create mode 100644 StepWizard/StepWizardDemo.unity.meta create mode 100644 StepWizard/StepWizardStyles.uss create mode 100644 StepWizard/StepWizardStyles.uss.meta create mode 100644 StepWizard/StepWizardUxmlBinder.cs create mode 100644 StepWizard/StepWizardUxmlBinder.cs.meta create mode 100644 StepWizard/StepWizardUxmlDemo.unity create mode 100644 StepWizard/StepWizardUxmlDemo.unity.meta create mode 100644 StepWizard/StepWizardUxmlView.uxml create mode 100644 StepWizard/StepWizardUxmlView.uxml.meta create mode 100644 ToastNotifications.meta create mode 100644 ToastNotifications/ToastNotificationsDemo.cs create mode 100644 ToastNotifications/ToastNotificationsDemo.cs.meta create mode 100644 ToastNotifications/ToastNotificationsDemo.unity create mode 100644 ToastNotifications/ToastNotificationsDemo.unity.meta create mode 100644 ToastNotifications/ToastNotificationsStyles.uss create mode 100644 ToastNotifications/ToastNotificationsStyles.uss.meta diff --git a/ContentExplorer.meta b/ContentExplorer.meta new file mode 100644 index 0000000..3fb9058 --- /dev/null +++ b/ContentExplorer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d54f69fd90050e41a745774b685bce3 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/ContentExplorer/ContentExplorerDemo.cs b/ContentExplorer/ContentExplorerDemo.cs new file mode 100644 index 0000000..ecbce6c --- /dev/null +++ b/ContentExplorer/ContentExplorerDemo.cs @@ -0,0 +1,230 @@ +// Examples~/ContentExplorer/ContentExplorerDemo.cs +// Demonstrates: CollapsibleSection, IconLabelButton, LoadingIcon +// +// Scene setup: +// 1. Open the provided ContentExplorer scene (the UIDocument and this +// ContentExplorerDemo component live on the same GameObject; the demo +// resolves the UIDocument via GetComponent() at runtime). +// 2. Press Play — a loading spinner blocks interaction for 1.5 s, then three +// collapsible accordion sections appear. Tap any row to see which item was selected. + +using System.Collections; +using UnityEngine; +using UnityEngine.UIElements; +using UnityUIToolkit.Extensions; + +namespace UnityUIToolkit.Extensions.Examples +{ + /// + /// Content explorer demo showcasing , + /// , and . + /// + /// On Start a full-screen loading overlay is displayed using + /// which blocks pointer events (blockInteraction: true). + /// After 1.5 seconds the spinner is stopped and the three collapsible sections + /// are revealed with a simple fade-in. + /// + /// Each section contains several rows. + /// Clicking a row writes the selection into the status label at the bottom. + /// + public class ContentExplorerDemo : MonoBehaviour + { + // ── Section data ────────────────────────────────────────────────────────── + private static readonly (string section, string[] items)[] SectionData = + { + ( + "Getting Started", + new[] + { + "Introduction to UI Toolkit", + "Your first VisualElement", + "Styling with USS classes", + "Working with events", + } + ), + ( + "Controls", + new[] + { + "PillButton — gradient actions", + "PillInputField — mobile-ready input", + "ScrollSnap — paging container", + "QuadrantStepper — segmented navigation", + } + ), + ( + "Utilities", + new[] + { + "VisualElementShakeUtility", + "UIToolkitExtensions helpers", + "ToastSwipeDismissManipulator", + } + ), + }; + + // ── Runtime references ──────────────────────────────────────────────────── + private UIDocument uiDocument; + private LoadingIcon loadingIcon; + private VisualElement contentScroll; + private Label statusLabel; + private Texture2D spinnerTexture; + + // ────────────────────────────────────────────────────────────────────────── + private void Start() + { + uiDocument = GetComponent(); + if (uiDocument == null) + { + Debug.LogError("ContentExplorerDemo requires a UIDocument on the same GameObject.", this); + return; + } + + VisualElement root = uiDocument.rootVisualElement; + root.Clear(); + BuildUI(root); + } + + private void OnDestroy() + { + if (spinnerTexture != null) + Destroy(spinnerTexture); + } + + // ────────────────────────────────────────────────────────────────────────── + private void BuildUI(VisualElement root) + { + // ── Screen wrapper ──────────────────────────────────────────────────── + // position: relative is needed for the absolute loading overlay + var screen = UIToolkitExtensions.CreateVisualElement(root, "contentExplorer__screen"); + + // ── Header ──────────────────────────────────────────────────────────── + var header = UIToolkitExtensions.CreateVisualElement(screen, "contentExplorer__header"); + + var titleLabel = UIToolkitExtensions.CreateVisualElement