Source code
Revision control
Copy as Markdown
Other Tools
---
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<ConditionName, String>
string-alias: ConditionName
default: {
ALWAYS: "true",
NEVER: "false"
}
cards:
description: Collection of user facing onboarding cards.
type: Map<OnboardingCardKey, OnboardingCardData>
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_3
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
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_3
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: ""
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 can be defaulted if the card type does not required it.
default: ""
prerequisites:
type: List<ConditionName>
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<ConditionName>
description: >
A list of strings corresponding to targeting expressions.
The card will not be shown if any expression is `true`.
default: [ NEVER ]
extra-data:
type: Option<ExtraCardData>
description: Optional extra data for cards that require additional data.
default: null
ExtraCardData:
description: Holds data for cards that require additional data, e.g. add-ons, toolbar placement cards.
fields:
add-ons-data:
type: List<AddOnData>
description: >
An optional list of add-ons which will be shown in add-on onboarding card.
default: []
AddOnData:
description: An object to describe an add-on to be installed from the onboarding card.
fields:
id:
type: Text
description: The identifier for this add-on.
# This should never be defaulted.
default: ""
install-url:
type: Text
description: The url from where the add-on can be installed.
# This should never be defaulted.
default: ""
name:
type: Text
description: The name of the add-on to be displayed to the user.
# This should never be defaulted.
default: ""
description:
type: Text
description: A small description of the add-on to be displayed to the user.
# This should never be defaulted.
default: ""
icon-res:
type: Image
description: The resource id of the icon of the add-on to be displayed.
# This should never be defaulted.
default: ic_onboarding_welcome
average-rating:
type: String
description: The average rating of the add-on.
# This should never be defaulted.
default: "0.0"
review-count:
type: String
description: The amount of reviews the add-on has.
# This should never be defaulted.
default: "0.0"
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.
add-ons:
description: Allows user to install add-ons from onboarding.