--- features: juno-onboarding: description: A feature that shows the onboarding flow. variables: conditions: description: > A collection of out the box conditional expressions to be used in determining whether a card should show or not. Each entry maps to a valid JEXL expression. type: Map string-alias: ConditionName default: { ALWAYS: "true", NEVER: "false" } cards: description: Collection of user facing onboarding cards. type: Map string-alias: OnboardingCardKey default: default-browser: card-type: default-browser title: juno_onboarding_default_browser_title_nimbus_2 ordering: 10 body: juno_onboarding_default_browser_description_nimbus_2 link-text: juno_onboarding_default_browser_description_link_text image-res: ic_onboarding_welcome primary-button-label: juno_onboarding_default_browser_positive_button secondary-button-label: juno_onboarding_default_browser_negative_button add-search-widget: card-type: add-search-widget enabled: false title: juno_onboarding_add_search_widget_title body: juno_onboarding_add_search_widget_description image-res: ic_onboarding_search_widget ordering: 15 primary-button-label: juno_onboarding_add_search_widget_positive_button secondary-button-label: juno_onboarding_add_search_widget_negative_button sync-sign-in: card-type: sync-sign-in title: juno_onboarding_sign_in_title_2 body: juno_onboarding_sign_in_description_2 image-res: ic_onboarding_sync ordering: 20 primary-button-label: juno_onboarding_sign_in_positive_button secondary-button-label: juno_onboarding_sign_in_negative_button notification-permission: card-type: notification-permission title: juno_onboarding_enable_notifications_title_nimbus_2 body: juno_onboarding_enable_notifications_description_nimbus_2 image-res: ic_notification_permission ordering: 30 primary-button-label: juno_onboarding_enable_notifications_positive_button secondary-button-label: juno_onboarding_enable_notifications_negative_button objects: OnboardingCardData: description: An object to describe a user facing onboarding card. fields: card-type: type: OnboardingCardType description: The type of the card. # This should never be defaulted. default: default-browser enabled: type: Boolean description: If true, this card is shown to the user. default: true title: type: Text description: The title text displayed to the user. # This should never be defaulted. default: "" body: type: Text description: The message text displayed to the user. May contain linkable text. # This should never be defaulted. default: "" link-text: type: Option description: > The text to link from the body text. This should match the linkable text from the body text exactly. e.g. body: This is a policy link link-text: policy link default: null image-res: type: Image description: The resource id of the image to be displayed. # This should never be defaulted. default: ic_onboarding_welcome ordering: type: Int description: Used to sequence the cards. # This should never be defaulted. default: 0 primary-button-label: type: Text description: The text to display on the primary button. # This should never be defaulted. default: "" secondary-button-label: type: Text description: The text to display on the secondary button. # This should never be defaulted. default: "" prerequisites: type: List description: > A list of strings corresponding to targeting expressions. The card will be shown if all expressions are `true` and if no expressions in the `disqualifiers` table are true, or if the `disqualifiers` table is empty. default: [ ALWAYS ] disqualifiers: type: List description: > A list of strings corresponding to targeting expressions. The card will not be shown if any expression is `true`. default: [ NEVER ] enums: OnboardingCardType: description: An enum to describe a type of card. variants: default-browser: description: Allows user to set Firefox as the default browser. sync-sign-in: description: Allows user to sync with a Firefox account. notification-permission: description: Allows user to enable notification permission. add-search-widget: description: Allows user to add search widget to homescreen.