// This file is auto-generated. Do not edit it manually.


export type StaticAssetPath =
  'LICENSE.md' |
  'controller_steamdeck.svg' |
  'controller_xbox360.svg' |
  'controller_xbox_adaptive.svg' |
  'controller_xboxone.svg' |
  'controller_xboxseries.svg' |
  'steamdeck_button_a.svg' |
  'steamdeck_button_a_outline.svg' |
  'steamdeck_button_b.svg' |
  'steamdeck_button_b_outline.svg' |
  'steamdeck_button_guide.svg' |
  'steamdeck_button_guide_outline.svg' |
  'steamdeck_button_l1.svg' |
  'steamdeck_button_l1_outline.svg' |
  'steamdeck_button_l2.svg' |
  'steamdeck_button_l2_outline.svg' |
  'steamdeck_button_l4.svg' |
  'steamdeck_button_l4_outline.svg' |
  'steamdeck_button_l5.svg' |
  'steamdeck_button_l5_outline.svg' |
  'steamdeck_button_options.svg' |
  'steamdeck_button_options_outline.svg' |
  'steamdeck_button_quickaccess.svg' |
  'steamdeck_button_quickaccess_outline.svg' |
  'steamdeck_button_r1.svg' |
  'steamdeck_button_r1_outline.svg' |
  'steamdeck_button_r2.svg' |
  'steamdeck_button_r2_outline.svg' |
  'steamdeck_button_r4.svg' |
  'steamdeck_button_r4_outline.svg' |
  'steamdeck_button_r5.svg' |
  'steamdeck_button_r5_outline.svg' |
  'steamdeck_button_view.svg' |
  'steamdeck_button_view_outline.svg' |
  'steamdeck_button_x.svg' |
  'steamdeck_button_x_outline.svg' |
  'steamdeck_button_y.svg' |
  'steamdeck_button_y_outline.svg' |
  'steamdeck_dpad.svg' |
  'steamdeck_dpad_all.svg' |
  'steamdeck_dpad_down.svg' |
  'steamdeck_dpad_down_outline.svg' |
  'steamdeck_dpad_horizontal.svg' |
  'steamdeck_dpad_horizontal_outline.svg' |
  'steamdeck_dpad_left.svg' |
  'steamdeck_dpad_left_outline.svg' |
  'steamdeck_dpad_none.svg' |
  'steamdeck_dpad_right.svg' |
  'steamdeck_dpad_right_outline.svg' |
  'steamdeck_dpad_up.svg' |
  'steamdeck_dpad_up_outline.svg' |
  'steamdeck_dpad_vertical.svg' |
  'steamdeck_dpad_vertical_outline.svg' |
  'steamdeck_stick_l.svg' |
  'steamdeck_stick_l_down.svg' |
  'steamdeck_stick_l_horizontal.svg' |
  'steamdeck_stick_l_left.svg' |
  'steamdeck_stick_l_press.svg' |
  'steamdeck_stick_l_right.svg' |
  'steamdeck_stick_l_up.svg' |
  'steamdeck_stick_l_vertical.svg' |
  'steamdeck_stick_r.svg' |
  'steamdeck_stick_r_down.svg' |
  'steamdeck_stick_r_horizontal.svg' |
  'steamdeck_stick_r_left.svg' |
  'steamdeck_stick_r_press.svg' |
  'steamdeck_stick_r_right.svg' |
  'steamdeck_stick_r_up.svg' |
  'steamdeck_stick_r_vertical.svg' |
  'steamdeck_stick_side_l.svg' |
  'steamdeck_stick_side_r.svg' |
  'steamdeck_stick_top_l.svg' |
  'steamdeck_stick_top_r.svg' |
  'steamdeck_trackpad.svg' |
  'steamdeck_trackpad_all.svg' |
  'steamdeck_trackpad_all_outline.svg' |
  'steamdeck_trackpad_down.svg' |
  'steamdeck_trackpad_down_outline.svg' |
  'steamdeck_trackpad_horizontal.svg' |
  'steamdeck_trackpad_horizontal_outline.svg' |
  'steamdeck_trackpad_l.svg' |
  'steamdeck_trackpad_l_all.svg' |
  'steamdeck_trackpad_l_all_outline.svg' |
  'steamdeck_trackpad_l_down.svg' |
  'steamdeck_trackpad_l_down_outline.svg' |
  'steamdeck_trackpad_l_horizontal.svg' |
  'steamdeck_trackpad_l_horizontal_outline.svg' |
  'steamdeck_trackpad_l_left.svg' |
  'steamdeck_trackpad_l_left_outline.svg' |
  'steamdeck_trackpad_l_outline.svg' |
  'steamdeck_trackpad_l_right.svg' |
  'steamdeck_trackpad_l_right_outline.svg' |
  'steamdeck_trackpad_l_up.svg' |
  'steamdeck_trackpad_l_up_outline.svg' |
  'steamdeck_trackpad_l_vertical.svg' |
  'steamdeck_trackpad_l_vertical_outline.svg' |
  'steamdeck_trackpad_left.svg' |
  'steamdeck_trackpad_left_outline.svg' |
  'steamdeck_trackpad_outline.svg' |
  'steamdeck_trackpad_r.svg' |
  'steamdeck_trackpad_r_all.svg' |
  'steamdeck_trackpad_r_all_outline.svg' |
  'steamdeck_trackpad_r_down.svg' |
  'steamdeck_trackpad_r_down_outline.svg' |
  'steamdeck_trackpad_r_horizontal.svg' |
  'steamdeck_trackpad_r_horizontal_outline.svg' |
  'steamdeck_trackpad_r_left.svg' |
  'steamdeck_trackpad_r_left_outline.svg' |
  'steamdeck_trackpad_r_outline.svg' |
  'steamdeck_trackpad_r_right.svg' |
  'steamdeck_trackpad_r_right_outline.svg' |
  'steamdeck_trackpad_r_up.svg' |
  'steamdeck_trackpad_r_up_outline.svg' |
  'steamdeck_trackpad_r_vertical.svg' |
  'steamdeck_trackpad_r_vertical_outline.svg' |
  'steamdeck_trackpad_right.svg' |
  'steamdeck_trackpad_right_outline.svg' |
  'steamdeck_trackpad_up.svg' |
  'steamdeck_trackpad_up_outline.svg' |
  'steamdeck_trackpad_vertical.svg' |
  'steamdeck_trackpad_vertical_outline.svg' |
  'xbox_button_a.svg' |
  'xbox_button_a_outline.svg' |
  'xbox_button_b.svg' |
  'xbox_button_b_outline.svg' |
  'xbox_button_back.svg' |
  'xbox_button_back_icon.svg' |
  'xbox_button_back_icon_outline.svg' |
  'xbox_button_back_outline.svg' |
  'xbox_button_color_a.svg' |
  'xbox_button_color_a_outline.svg' |
  'xbox_button_color_b.svg' |
  'xbox_button_color_b_outline.svg' |
  'xbox_button_color_x.svg' |
  'xbox_button_color_x_outline.svg' |
  'xbox_button_color_y.svg' |
  'xbox_button_color_y_outline.svg' |
  'xbox_button_menu.svg' |
  'xbox_button_menu_outline.svg' |
  'xbox_button_share.svg' |
  'xbox_button_share_outline.svg' |
  'xbox_button_start.svg' |
  'xbox_button_start_icon.svg' |
  'xbox_button_start_icon_outline.svg' |
  'xbox_button_start_outline.svg' |
  'xbox_button_view.svg' |
  'xbox_button_view_outline.svg' |
  'xbox_button_x.svg' |
  'xbox_button_x_outline.svg' |
  'xbox_button_y.svg' |
  'xbox_button_y_outline.svg' |
  'xbox_dpad.svg' |
  'xbox_dpad_all.svg' |
  'xbox_dpad_down.svg' |
  'xbox_dpad_down_outline.svg' |
  'xbox_dpad_horizontal.svg' |
  'xbox_dpad_horizontal_outline.svg' |
  'xbox_dpad_left.svg' |
  'xbox_dpad_left_outline.svg' |
  'xbox_dpad_none.svg' |
  'xbox_dpad_right.svg' |
  'xbox_dpad_right_outline.svg' |
  'xbox_dpad_round.svg' |
  'xbox_dpad_round_all.svg' |
  'xbox_dpad_round_down.svg' |
  'xbox_dpad_round_horizontal.svg' |
  'xbox_dpad_round_left.svg' |
  'xbox_dpad_round_right.svg' |
  'xbox_dpad_round_up.svg' |
  'xbox_dpad_round_vertical.svg' |
  'xbox_dpad_up.svg' |
  'xbox_dpad_up_outline.svg' |
  'xbox_dpad_vertical.svg' |
  'xbox_dpad_vertical_outline.svg' |
  'xbox_elite_paddle_bottom_left.svg' |
  'xbox_elite_paddle_bottom_left_outline.svg' |
  'xbox_elite_paddle_bottom_right.svg' |
  'xbox_elite_paddle_bottom_right_outline.svg' |
  'xbox_elite_paddle_top_left.svg' |
  'xbox_elite_paddle_top_left_outline.svg' |
  'xbox_elite_paddle_top_right.svg' |
  'xbox_elite_paddle_top_right_outline.svg' |
  'xbox_guide.svg' |
  'xbox_guide_outline.svg' |
  'xbox_lb.svg' |
  'xbox_lb_outline.svg' |
  'xbox_ls.svg' |
  'xbox_ls_outline.svg' |
  'xbox_lt.svg' |
  'xbox_lt_outline.svg' |
  'xbox_rb.svg' |
  'xbox_rb_outline.svg' |
  'xbox_rs.svg' |
  'xbox_rs_outline.svg' |
  'xbox_rt.svg' |
  'xbox_rt_outline.svg' |
  'xbox_stick_l.svg' |
  'xbox_stick_l_down.svg' |
  'xbox_stick_l_horizontal.svg' |
  'xbox_stick_l_left.svg' |
  'xbox_stick_l_press.svg' |
  'xbox_stick_l_right.svg' |
  'xbox_stick_l_up.svg' |
  'xbox_stick_l_vertical.svg' |
  'xbox_stick_r.svg' |
  'xbox_stick_r_down.svg' |
  'xbox_stick_r_horizontal.svg' |
  'xbox_stick_r_left.svg' |
  'xbox_stick_r_press.svg' |
  'xbox_stick_r_right.svg' |
  'xbox_stick_r_up.svg' |
  'xbox_stick_r_vertical.svg' |
  'xbox_stick_side_l.svg' |
  'xbox_stick_side_r.svg' |
  'xbox_stick_top_l.svg' |
  'xbox_stick_top_r.svg';

/**
 * Represents the known directories containing static assets.
 * '.' represents the root directory.
 */
export type StaticAssetDirectory =
  '.';

/**
 * Represents the relative paths of files located *directly* within a specific directory.
 * Use '.' for the root directory.
 * @template Dir - A directory path string literal type from StaticAssetDirectory (e.g., 'icons/', 'icons/sun/', '.').
 */
export type FilesInFolder<Dir extends '.' | StaticAssetDirectory> = 
  Dir extends '.'
    ? Exclude<StaticAssetPath, `${string}/${string}`>
    : Extract<StaticAssetPath, `${Dir}${string}`> extends infer Match
      ? Match extends `${Dir}${infer FileName}`
        ? FileName extends `${string}/${string}`
          ? never
          : Match
        : never
      : never;



const assets = new Set<string>([
  'LICENSE.md',
  'controller_steamdeck.svg',
  'controller_xbox360.svg',
  'controller_xbox_adaptive.svg',
  'controller_xboxone.svg',
  'controller_xboxseries.svg',
  'steamdeck_button_a.svg',
  'steamdeck_button_a_outline.svg',
  'steamdeck_button_b.svg',
  'steamdeck_button_b_outline.svg',
  'steamdeck_button_guide.svg',
  'steamdeck_button_guide_outline.svg',
  'steamdeck_button_l1.svg',
  'steamdeck_button_l1_outline.svg',
  'steamdeck_button_l2.svg',
  'steamdeck_button_l2_outline.svg',
  'steamdeck_button_l4.svg',
  'steamdeck_button_l4_outline.svg',
  'steamdeck_button_l5.svg',
  'steamdeck_button_l5_outline.svg',
  'steamdeck_button_options.svg',
  'steamdeck_button_options_outline.svg',
  'steamdeck_button_quickaccess.svg',
  'steamdeck_button_quickaccess_outline.svg',
  'steamdeck_button_r1.svg',
  'steamdeck_button_r1_outline.svg',
  'steamdeck_button_r2.svg',
  'steamdeck_button_r2_outline.svg',
  'steamdeck_button_r4.svg',
  'steamdeck_button_r4_outline.svg',
  'steamdeck_button_r5.svg',
  'steamdeck_button_r5_outline.svg',
  'steamdeck_button_view.svg',
  'steamdeck_button_view_outline.svg',
  'steamdeck_button_x.svg',
  'steamdeck_button_x_outline.svg',
  'steamdeck_button_y.svg',
  'steamdeck_button_y_outline.svg',
  'steamdeck_dpad.svg',
  'steamdeck_dpad_all.svg',
  'steamdeck_dpad_down.svg',
  'steamdeck_dpad_down_outline.svg',
  'steamdeck_dpad_horizontal.svg',
  'steamdeck_dpad_horizontal_outline.svg',
  'steamdeck_dpad_left.svg',
  'steamdeck_dpad_left_outline.svg',
  'steamdeck_dpad_none.svg',
  'steamdeck_dpad_right.svg',
  'steamdeck_dpad_right_outline.svg',
  'steamdeck_dpad_up.svg',
  'steamdeck_dpad_up_outline.svg',
  'steamdeck_dpad_vertical.svg',
  'steamdeck_dpad_vertical_outline.svg',
  'steamdeck_stick_l.svg',
  'steamdeck_stick_l_down.svg',
  'steamdeck_stick_l_horizontal.svg',
  'steamdeck_stick_l_left.svg',
  'steamdeck_stick_l_press.svg',
  'steamdeck_stick_l_right.svg',
  'steamdeck_stick_l_up.svg',
  'steamdeck_stick_l_vertical.svg',
  'steamdeck_stick_r.svg',
  'steamdeck_stick_r_down.svg',
  'steamdeck_stick_r_horizontal.svg',
  'steamdeck_stick_r_left.svg',
  'steamdeck_stick_r_press.svg',
  'steamdeck_stick_r_right.svg',
  'steamdeck_stick_r_up.svg',
  'steamdeck_stick_r_vertical.svg',
  'steamdeck_stick_side_l.svg',
  'steamdeck_stick_side_r.svg',
  'steamdeck_stick_top_l.svg',
  'steamdeck_stick_top_r.svg',
  'steamdeck_trackpad.svg',
  'steamdeck_trackpad_all.svg',
  'steamdeck_trackpad_all_outline.svg',
  'steamdeck_trackpad_down.svg',
  'steamdeck_trackpad_down_outline.svg',
  'steamdeck_trackpad_horizontal.svg',
  'steamdeck_trackpad_horizontal_outline.svg',
  'steamdeck_trackpad_l.svg',
  'steamdeck_trackpad_l_all.svg',
  'steamdeck_trackpad_l_all_outline.svg',
  'steamdeck_trackpad_l_down.svg',
  'steamdeck_trackpad_l_down_outline.svg',
  'steamdeck_trackpad_l_horizontal.svg',
  'steamdeck_trackpad_l_horizontal_outline.svg',
  'steamdeck_trackpad_l_left.svg',
  'steamdeck_trackpad_l_left_outline.svg',
  'steamdeck_trackpad_l_outline.svg',
  'steamdeck_trackpad_l_right.svg',
  'steamdeck_trackpad_l_right_outline.svg',
  'steamdeck_trackpad_l_up.svg',
  'steamdeck_trackpad_l_up_outline.svg',
  'steamdeck_trackpad_l_vertical.svg',
  'steamdeck_trackpad_l_vertical_outline.svg',
  'steamdeck_trackpad_left.svg',
  'steamdeck_trackpad_left_outline.svg',
  'steamdeck_trackpad_outline.svg',
  'steamdeck_trackpad_r.svg',
  'steamdeck_trackpad_r_all.svg',
  'steamdeck_trackpad_r_all_outline.svg',
  'steamdeck_trackpad_r_down.svg',
  'steamdeck_trackpad_r_down_outline.svg',
  'steamdeck_trackpad_r_horizontal.svg',
  'steamdeck_trackpad_r_horizontal_outline.svg',
  'steamdeck_trackpad_r_left.svg',
  'steamdeck_trackpad_r_left_outline.svg',
  'steamdeck_trackpad_r_outline.svg',
  'steamdeck_trackpad_r_right.svg',
  'steamdeck_trackpad_r_right_outline.svg',
  'steamdeck_trackpad_r_up.svg',
  'steamdeck_trackpad_r_up_outline.svg',
  'steamdeck_trackpad_r_vertical.svg',
  'steamdeck_trackpad_r_vertical_outline.svg',
  'steamdeck_trackpad_right.svg',
  'steamdeck_trackpad_right_outline.svg',
  'steamdeck_trackpad_up.svg',
  'steamdeck_trackpad_up_outline.svg',
  'steamdeck_trackpad_vertical.svg',
  'steamdeck_trackpad_vertical_outline.svg',
  'xbox_button_a.svg',
  'xbox_button_a_outline.svg',
  'xbox_button_b.svg',
  'xbox_button_b_outline.svg',
  'xbox_button_back.svg',
  'xbox_button_back_icon.svg',
  'xbox_button_back_icon_outline.svg',
  'xbox_button_back_outline.svg',
  'xbox_button_color_a.svg',
  'xbox_button_color_a_outline.svg',
  'xbox_button_color_b.svg',
  'xbox_button_color_b_outline.svg',
  'xbox_button_color_x.svg',
  'xbox_button_color_x_outline.svg',
  'xbox_button_color_y.svg',
  'xbox_button_color_y_outline.svg',
  'xbox_button_menu.svg',
  'xbox_button_menu_outline.svg',
  'xbox_button_share.svg',
  'xbox_button_share_outline.svg',
  'xbox_button_start.svg',
  'xbox_button_start_icon.svg',
  'xbox_button_start_icon_outline.svg',
  'xbox_button_start_outline.svg',
  'xbox_button_view.svg',
  'xbox_button_view_outline.svg',
  'xbox_button_x.svg',
  'xbox_button_x_outline.svg',
  'xbox_button_y.svg',
  'xbox_button_y_outline.svg',
  'xbox_dpad.svg',
  'xbox_dpad_all.svg',
  'xbox_dpad_down.svg',
  'xbox_dpad_down_outline.svg',
  'xbox_dpad_horizontal.svg',
  'xbox_dpad_horizontal_outline.svg',
  'xbox_dpad_left.svg',
  'xbox_dpad_left_outline.svg',
  'xbox_dpad_none.svg',
  'xbox_dpad_right.svg',
  'xbox_dpad_right_outline.svg',
  'xbox_dpad_round.svg',
  'xbox_dpad_round_all.svg',
  'xbox_dpad_round_down.svg',
  'xbox_dpad_round_horizontal.svg',
  'xbox_dpad_round_left.svg',
  'xbox_dpad_round_right.svg',
  'xbox_dpad_round_up.svg',
  'xbox_dpad_round_vertical.svg',
  'xbox_dpad_up.svg',
  'xbox_dpad_up_outline.svg',
  'xbox_dpad_vertical.svg',
  'xbox_dpad_vertical_outline.svg',
  'xbox_elite_paddle_bottom_left.svg',
  'xbox_elite_paddle_bottom_left_outline.svg',
  'xbox_elite_paddle_bottom_right.svg',
  'xbox_elite_paddle_bottom_right_outline.svg',
  'xbox_elite_paddle_top_left.svg',
  'xbox_elite_paddle_top_left_outline.svg',
  'xbox_elite_paddle_top_right.svg',
  'xbox_elite_paddle_top_right_outline.svg',
  'xbox_guide.svg',
  'xbox_guide_outline.svg',
  'xbox_lb.svg',
  'xbox_lb_outline.svg',
  'xbox_ls.svg',
  'xbox_ls_outline.svg',
  'xbox_lt.svg',
  'xbox_lt_outline.svg',
  'xbox_rb.svg',
  'xbox_rb_outline.svg',
  'xbox_rs.svg',
  'xbox_rs_outline.svg',
  'xbox_rt.svg',
  'xbox_rt_outline.svg',
  'xbox_stick_l.svg',
  'xbox_stick_l_down.svg',
  'xbox_stick_l_horizontal.svg',
  'xbox_stick_l_left.svg',
  'xbox_stick_l_press.svg',
  'xbox_stick_l_right.svg',
  'xbox_stick_l_up.svg',
  'xbox_stick_l_vertical.svg',
  'xbox_stick_r.svg',
  'xbox_stick_r_down.svg',
  'xbox_stick_r_horizontal.svg',
  'xbox_stick_r_left.svg',
  'xbox_stick_r_press.svg',
  'xbox_stick_r_right.svg',
  'xbox_stick_r_up.svg',
  'xbox_stick_r_vertical.svg',
  'xbox_stick_side_l.svg',
  'xbox_stick_side_r.svg',
  'xbox_stick_top_l.svg',
  'xbox_stick_top_r.svg'
]);

// Store basePath resolved from Vite config
const BASE_PATH = "/";


/**
 * Gets the URL for a specific static asset
 * @param path Path to the asset
 * @returns The URL for the asset
 */
export function staticAssets(path: StaticAssetPath): string {
  if (!assets.has(path)) {
    throw new Error(
      "Static asset does not exist in static assets directory"
    );
  }
  return `${BASE_PATH}${path}`;
}

