
  <script lang="ts">
    export type {ObcUserMenuType, ObcUserMenuSize, ObcUserMenuUser, ObcUserMenuSignedInAction} from '@oicl/openbridge-webcomponents/dist/components/user-menu/user-menu.js';
      import '@oicl/openbridge-webcomponents/dist/components/user-menu/user-menu.js';
      import { setProperties } from "../../util.js";
      import type {ObcUserMenuType, ObcUserMenuSize, ObcUserMenuUser, ObcUserMenuSignedInAction} from '@oicl/openbridge-webcomponents/dist/components/user-menu/user-menu.js';
      import type { Snippet } from 'svelte';

      export interface Props {
     class?: string;
     style?: string;
      /** Controls the visual layout of the user menu. */
type?: ObcUserMenuType;
      /** Controls the overall size of the user menu. */
size?: ObcUserMenuSize;
      /** Toggles the "Recently signed in" section visibility. */
hasRecentlySignedIn?: boolean;
      /** Current username value for sign-in layouts. */
username?: string;
      /** Current password value for sign-in layouts. */
password?: string;
      /** Error message for the username field. */
usernameError?: string;
      /** Error message for the password field. */
passwordError?: string;
      /** Initials for the primary user profile. */
userInitials?: string | undefined;
      /** Label for the primary user profile. */
userLabel?: string | undefined;
      /** Recent users for the "Recently signed in" section. */
recentUsers?: ObcUserMenuUser[];
      /** Actions shown in the signed-in navigation list. */
signedInActions?: ObcUserMenuSignedInAction[]
   }
      export interface Events {
    onSignInClick?: (event: CustomEvent<{username: string, password: string}>) => void;
    onSignOutClick?: (event: CustomEvent<unknown>) => void;
    onSignedInActionClick?: (event: CustomEvent<{id: string, label: string}>) => void;
    onRecentUserClick?: (event: CustomEvent<{initials: string, label: string}>) => void
  }
      export interface Slots {
  children?: Snippet
}
      const {onSignInClick, onSignOutClick, onSignedInActionClick, onRecentUserClick, class: className, style, children, ...props} = $props<Props & Events & Slots>();

    </script>
    <obc-user-menu
    use:setProperties={props}
    class={className}
    style={style}
    onsign-in-click={onSignInClick}
   onsign-out-click={onSignOutClick}
   onsigned-in-action-click={onSignedInActionClick}
   onrecent-user-click={onRecentUserClick} >
      
    {#if children}
      {@render children()}
    {/if}
    </obc-user-menu>