# UI Controls

Control visibility and behavior of UI elements.

| Parameter | Type | Default | Description | Effect |
|-----------|------|---------|-------------|--------|
| isHideHeaderMain | boolean | false | Hide main header | Removes the top navigation header |
| hideFeelingDialog | boolean | false | Hide feeling dialog | Skips the post-workout feeling prompt |
| hideMusicIcon | boolean | - | Hide music control | Removes the music toggle button |
| hideMistakesFeedback | boolean | - | Hide mistake feedback | Disables on-screen form correction prompts |
| showModalWarmUp | boolean | - | Show warm-up modal | Displays warm-up recommendation before workout |
| showSettings | boolean | - | Show settings button | Displays settings access in the UI |
| isDrawingPose | boolean | - | Enable pose drawing | Activates skeleton visualization on camera feed |
| isOnboarding | boolean | true | Enable onboarding flow | Shows/hides the initial onboarding experience |
| hideCompletionOverlay | boolean | false | Hide workout completion overlay | Skips the workout completion summary screen shown at the end of a workout |
| preventGestureControl | boolean | false | Disable gesture control | Prevents users from pausing and resuming workouts using hand gestures |
| disableGuide | boolean | false | Disable onboarding guide | Suppresses the guide entirely for embedded contexts where onboarding isn't needed |
| disableCookies | boolean | false | Disable all cookies | Automatically declines all cookies, hides the cookie management button and consent link. Useful for GDPR compliance or privacy-sensitive environments |
| hideStatisticsHeader | boolean | false | Hide statistics header | Hides the header on the workout statistics/results screen |
| nativeParentScroll | boolean | false | Native scroll delegation | Delegates scroll behavior of the statistics screen to the native parent container instead of using internal scroll. Enable if your native app manages its own scrolling |

**UI Controls Configuration**

_Swift (iOS)_
```swift
// Via customParams
kinestex.createView(
    customParams: [
        "isHideHeaderMain": true,
        "hideFeelingDialog": true,
        "hideMusicIcon": true,
        "hideMistakesFeedback": false,
        "isOnboarding": false,
        "hideCompletionOverlay": true,
        "preventGestureControl": true,
        "disableGuide": true,
        "disableCookies": true,
        "hideStatisticsHeader": false,
        "nativeParentScroll": false
    ]
)
```

_Kotlin (Android)_
```kotlin
// Via customParams
KinesteXSDK.createView(
    customParams = mapOf(
        "isHideHeaderMain" to true,
        "hideFeelingDialog" to true,
        "hideMusicIcon" to true,
        "hideMistakesFeedback" to false,
        "isOnboarding" to false,
        "hideCompletionOverlay" to true,
        "preventGestureControl" to true,
        "disableGuide" to true,
        "disableCookies" to true,
        "hideStatisticsHeader" to false,
        "nativeParentScroll" to false
    )
)
```

_React Native_
```jsx
// Via customParameters
const postData: IPostData = {
  key: 'YOUR_API_KEY',
  userId: 'user-123',
  company: 'YOUR_COMPANY',
  customParameters: {
    isHideHeaderMain: true,
    hideFeelingDialog: true,
    hideMusicIcon: true,
    hideMistakesFeedback: false,
    isOnboarding: false,
    hideCompletionOverlay: true,
    preventGestureControl: true,
    disableGuide: true,
    disableCookies: true,
    hideStatisticsHeader: false,
    nativeParentScroll: false,
  },
};
```

_Flutter_
```dart
// Via customParams
KinesteXAIFramework.createView(
  customParams: {
    "isHideHeaderMain": true,
    "hideFeelingDialog": true,
    "hideMusicIcon": true,
    "hideMistakesFeedback": false,
    "isOnboarding": false,
    "hideCompletionOverlay": true,
    "preventGestureControl": true,
    "disableGuide": true,
    "disableCookies": true,
    "hideStatisticsHeader": false,
    "nativeParentScroll": false,
  },
);
```

_HTML / JavaScript_
```html
// Direct in postData object
const postData = {
  userId: "user-123",
  company: "YOUR_COMPANY",
  key: "YOUR_API_KEY",
  isHideHeaderMain: true,
  hideFeelingDialog: true,
  hideMusicIcon: true,
  hideMistakesFeedback: false,
  isOnboarding: false,
  hideCompletionOverlay: true,
  preventGestureControl: true,
  disableGuide: true,
  disableCookies: true,
  hideStatisticsHeader: false,
  nativeParentScroll: false,
};
```

_React (TypeScript)_
```tsx
// Via customParameters
const postData: IPostData = {
  key: 'YOUR_API_KEY',
  userId: 'user-123',
  company: 'YOUR_COMPANY',
  customParameters: {
    isHideHeaderMain: true,
    hideFeelingDialog: true,
    hideMusicIcon: true,
    hideMistakesFeedback: false,
    isOnboarding: false,
    hideCompletionOverlay: true,
    preventGestureControl: true,
    disableGuide: true,
    disableCookies: true,
    hideStatisticsHeader: false,
    nativeParentScroll: false,
  },
};
```

---
Source: https://kinestex.com/docs/customization-parameters/ui-controls · Index: https://kinestex.com/llms.txt
