// Copyright 2022 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
/**
* @fileoverview Data relating to the earcons used in ChromeVox.
*/
import {TestImportManager} from '/common/testing/test_import_manager.js';
/** Earcon names. */
export enum EarconId {
ALERT_MODAL = 'alert_modal',
ALERT_NONMODAL = 'alert_nonmodal',
BUTTON = 'button',
CHECK_OFF = 'check_off',
CHECK_ON = 'check_on',
CHROMEVOX_LOADING = 'chromevox_loading',
CHROMEVOX_LOADED = 'chromevox_loaded',
EDITABLE_TEXT = 'editable_text',
INVALID_KEYPRESS = 'invalid_keypress',
LINK = 'link',
LISTBOX = 'listbox',
LIST_ITEM = 'list_item',
LONG_DESC = 'long_desc',
MATH = 'math',
NO_POINTER_ANCHOR = 'no_pointer_anchor',
OBJECT_CLOSE = 'object_close',
OBJECT_ENTER = 'object_enter',
OBJECT_EXIT = 'object_exit',
OBJECT_OPEN = 'object_open',
OBJECT_SELECT = 'object_select',
PAGE_FINISH_LOADING = 'page_finish_loading',
PAGE_START_LOADING = 'page_start_loading',
POP_UP_BUTTON = 'pop_up_button',
RECOVER_FOCUS = 'recover_focus',
SELECTION = 'selection',
SELECTION_REVERSE = 'selection_reverse',
SKIP = 'skip',
SLIDER = 'slider',
SMART_STICKY_MODE_OFF = 'smart_sticky_mode_off',
SMART_STICKY_MODE_ON = 'smart_sticky_mode_on',
WRAP = 'wrap',
WRAP_EDGE = 'wrap_edge',
}
export namespace EarconId {
export function fromName(name: string): EarconId {
return (EarconId as {[key: string]: any})[name];
}
}
/**
* Maps a earcon id to a message id description.
* Only add mappings for earcons used in ChromeVox Next. This map gets
* used to generate tutorial content.
*/
export const EarconDescription: Partial<Record<EarconId, string>> = {
[EarconId.ALERT_MODAL]: 'alert_modal_earcon_description',
[EarconId.ALERT_NONMODAL]: 'alert_nonmodal_earcon_description',
[EarconId.BUTTON]: 'button_earcon_description',
[EarconId.CHECK_OFF]: 'check_off_earcon_description',
[EarconId.CHECK_ON]: 'check_on_earcon_description',
[EarconId.CHROMEVOX_LOADING]: 'chromevox_loading_earcon_description',
[EarconId.EDITABLE_TEXT]: 'editable_text_earcon_description',
[EarconId.INVALID_KEYPRESS]: 'invalid_keypress_earcon_description',
[EarconId.LINK]: 'link_earcon_description',
[EarconId.LISTBOX]: 'listbox_earcon_description',
[EarconId.NO_POINTER_ANCHOR]: 'no_pointer_anchor_earcon_description',
[EarconId.PAGE_START_LOADING]: 'page_start_loading_earcon_description',
[EarconId.POP_UP_BUTTON]: 'pop_up_button_earcon_description',
[EarconId.SLIDER]: 'slider_earcon_description',
[EarconId.SMART_STICKY_MODE_OFF]: 'smart_sticky_mode_off_earcon_description',
[EarconId.SMART_STICKY_MODE_ON]: 'smart_sticky_mode_on_earcon_description',
[EarconId.WRAP]: 'wrap_earcon_description',
};
TestImportManager.exportForTesting(['EarconId', EarconId]);