onboarding.fml.yaml (25400B)
1 --- 2 features: 3 4 juno-onboarding: 5 description: A feature that shows the onboarding flow. 6 7 variables: 8 use-onboarding-redesign: 9 description: If true, use the onboarding redesign. 10 type: Boolean 11 default: false 12 conditions: 13 description: > 14 A collection of out the box conditional expressions to be 15 used in determining whether a card should show or not. 16 Each entry maps to a valid JEXL expression. 17 type: Map<ConditionName, String> 18 string-alias: ConditionName 19 default: { 20 ALWAYS: "true", 21 NEVER: "false" 22 } 23 cards: 24 description: Collection of user facing onboarding cards. 25 type: Map<OnboardingCardKey, OnboardingCardData> 26 string-alias: OnboardingCardKey 27 default: 28 terms-of-service: 29 card-type: terms-of-service 30 title: onboarding_welcome_to_firefox 31 body: onboarding_terms_of_service_sub_header_2 32 ordering: 1 33 image-res: ic_addons_extensions 34 primary-button-label: onboarding_term_of_service_agree_and_continue_button_label_2 35 extra-data: 36 term-of-service-data: 37 line-one-text: onboarding_term_of_service_line_one_2 38 line-one-link-text: onboarding_term_of_service_line_one_link_text_2 39 line-two-text: onboarding_term_of_service_line_two_2 40 line-two-link-text: onboarding_term_of_service_line_two_link_text 41 line-three-text: onboarding_term_of_service_line_three 42 line-three-link-text: onboarding_term_of_service_line_three_link_text 43 44 default-browser: 45 card-type: default-browser 46 title: juno_onboarding_default_browser_title_nimbus_2 47 ordering: 10 48 body: juno_onboarding_default_browser_description_nimbus_3 49 image-res: ic_addons_extensions 50 primary-button-label: juno_onboarding_default_browser_positive_button 51 secondary-button-label: juno_onboarding_default_browser_negative_button 52 53 add-search-widget: 54 card-type: add-search-widget 55 title: juno_onboarding_add_search_widget_title 56 body: juno_onboarding_add_search_widget_description 57 image-res: ic_addons_extensions 58 ordering: 15 59 primary-button-label: juno_onboarding_add_search_widget_positive_button 60 secondary-button-label: juno_onboarding_add_search_widget_negative_button 61 62 sync-sign-in: 63 card-type: sync-sign-in 64 title: juno_onboarding_sign_in_title_2 65 body: juno_onboarding_sign_in_description_3 66 image-res: ic_addons_extensions 67 ordering: 20 68 primary-button-label: juno_onboarding_sign_in_positive_button 69 secondary-button-label: juno_onboarding_sign_in_negative_button 70 71 notification-permission: 72 card-type: notification-permission 73 title: juno_onboarding_enable_notifications_title_nimbus_2 74 body: juno_onboarding_enable_notifications_description_nimbus_2 75 image-res: ic_addons_extensions 76 ordering: 30 77 primary-button-label: juno_onboarding_enable_notifications_positive_button 78 secondary-button-label: juno_onboarding_enable_notifications_negative_button 79 80 theme-selection: 81 card-type: theme-selection 82 title: onboarding_customize_theme_title 83 body: onboarding_customize_theme_description 84 image-res: ic_pick_a_theme 85 ordering: 33 86 primary-button-label: onboarding_save_and_continue_button 87 extra-data: 88 customization-theme-data: 89 - theme-type: theme-system 90 label: onboarding_customize_theme_system_option 91 image-res: ic_pick_a_theme_system_auto 92 - theme-type: theme-light 93 label: onboarding_customize_theme_light_option 94 image-res: ic_pick_a_theme_light 95 - theme-type: theme-dark 96 label: onboarding_customize_theme_dark_option 97 image-res: ic_pick_a_theme_dark 98 99 toolbar-placement: 100 card-type: toolbar-placement 101 title: onboarding_customize_toolbar_title 102 body: onboarding_customize_toolbar_description 103 image-res: ic_onboarding_customize_toolbar 104 ordering: 37 105 primary-button-label: onboarding_save_and_continue_button 106 extra-data: 107 customization-toolbar-data: 108 - toolbar-type: toolbar-top 109 label: onboarding_customize_toolbar_top_option 110 image-res: ic_onboarding_top_toolbar 111 - toolbar-type: toolbar-bottom 112 label: onboarding_customize_toolbar_bottom_option 113 image-res: ic_onboarding_bottom_toolbar 114 115 marketing: 116 card-type: marketing-data 117 title: onboarding_marketing_title 118 body: onboarding_marketing_body 119 ordering: 40 120 image-res: ic_addons_extensions 121 primary-button-label: onboarding_marketing_positive_button 122 extra-data: 123 marketing-data: 124 body-line-one-text: onboarding_marketing_learn_more 125 body-line-one-link-text: onboarding_marketing_learn_more 126 body-line-two-text: onboarding_marketing_opt_out_checkbox 127 defaults: 128 - channel: developer 129 value: 130 cards: 131 terms-of-service: 132 card-type: terms-of-service 133 enabled: false 134 title: onboarding_welcome_to_firefox 135 ordering: 0 136 image-res: ic_addons_extensions 137 primary-button-label: onboarding_term_of_service_agree_and_continue_button_label_2 138 extra-data: 139 term-of-service-data: 140 line-one-text: onboarding_term_of_service_line_one_2 141 line-one-link-text: onboarding_term_of_service_line_one_link_text_2 142 line-two-text: onboarding_term_of_service_line_two_2 143 line-two-link-text: onboarding_term_of_service_line_two_link_text 144 line-three-text: onboarding_term_of_service_line_three 145 line-three-link-text: onboarding_term_of_service_line_three_link_text 146 147 terms-of-service-redesign: 148 card-type: terms-of-service 149 enabled: false 150 title: onboarding_redesign_tou_title 151 ordering: 0 152 image-res: ic_firefox 153 primary-button-label: onboarding_redesign_tou_agree_and_continue_button_label 154 extra-data: 155 term-of-service-data: 156 subheader-one-text: onboarding_redesign_tou_subheader_one 157 subheader-two-text: onboarding_redesign_tou_subheader_two 158 subheader-three-text: onboarding_redesign_tou_subheader_three 159 line-one-text: onboarding_redesign_tou_body_one 160 line-one-link-text: onboarding_redesign_tou_body_one_link_text 161 line-two-text: onboarding_redesign_tou_body_two 162 line-two-link-text: onboarding_redesign_tou_body_two_link_text 163 line-three-text: onboarding_redesign_tou_body_three 164 line-three-link-text: onboarding_redesign_tou_body_three_link_text 165 166 default-browser: 167 card-type: default-browser 168 enabled: true 169 title: juno_onboarding_default_browser_title_nimbus_2 170 ordering: 5 171 body: juno_onboarding_default_browser_description_nimbus_3 172 image-res: ic_addons_extensions 173 primary-button-label: juno_onboarding_default_browser_positive_button 174 secondary-button-label: juno_onboarding_default_browser_negative_button 175 176 default-browser-redesign: 177 card-type: default-browser 178 enabled: false 179 title: onboarding_redesign_set_default_browser_title 180 ordering: 5 181 body: onboarding_redesign_set_default_browser_body 182 primary-button-label: juno_onboarding_default_browser_positive_button 183 secondary-button-label: juno_onboarding_default_browser_negative_button 184 185 add-search-widget: 186 enabled: true 187 card-type: add-search-widget 188 title: juno_onboarding_add_search_widget_title 189 body: juno_onboarding_add_search_widget_description 190 image-res: ic_addons_extensions 191 ordering: 10 192 primary-button-label: juno_onboarding_add_search_widget_positive_button 193 secondary-button-label: juno_onboarding_add_search_widget_negative_button 194 195 sync-sign-in: 196 enabled: true 197 card-type: sync-sign-in 198 title: juno_onboarding_sign_in_title_2 199 body: juno_onboarding_sign_in_description_3 200 image-res: ic_addons_extensions 201 ordering: 15 202 primary-button-label: juno_onboarding_sign_in_positive_button 203 secondary-button-label: juno_onboarding_sign_in_negative_button 204 205 sync-sign-in-redesign: 206 enabled: false 207 card-type: sync-sign-in 208 title: onboarding_redesign_sync_title 209 body: onboarding_redesign_sync_body 210 ordering: 15 211 primary-button-label: onboarding_redesign_sync_positive_button 212 secondary-button-label: onboarding_redesign_sync_negative_button 213 214 notification-permission: 215 enabled: true 216 card-type: notification-permission 217 title: juno_onboarding_enable_notifications_title_nimbus_2 218 body: juno_onboarding_enable_notifications_description_nimbus_2 219 image-res: ic_addons_extensions 220 ordering: 20 221 primary-button-label: juno_onboarding_enable_notifications_positive_button 222 secondary-button-label: juno_onboarding_enable_notifications_negative_button 223 224 theme-selection: 225 card-type: theme-selection 226 enabled: false 227 title: onboarding_customize_theme_title 228 body: onboarding_customize_theme_description 229 image-res: ic_pick_a_theme 230 ordering: 30 231 primary-button-label: onboarding_save_and_continue_button 232 extra-data: 233 customization-theme-data: 234 - theme-type: theme-system 235 label: onboarding_customize_theme_system_option 236 image-res: ic_pick_a_theme_system_auto 237 - theme-type: theme-light 238 label: onboarding_customize_theme_light_option 239 image-res: ic_pick_a_theme_light 240 - theme-type: theme-dark 241 label: onboarding_customize_theme_dark_option 242 image-res: ic_pick_a_theme_dark 243 244 toolbar-placement: 245 card-type: toolbar-placement 246 enabled: false 247 title: onboarding_customize_toolbar_title 248 body: onboarding_customize_toolbar_description 249 image-res: ic_onboarding_customize_toolbar 250 ordering: 35 251 primary-button-label: onboarding_save_and_start_button 252 extra-data: 253 customization-toolbar-data: 254 - toolbar-type: toolbar-top 255 label: onboarding_customize_toolbar_top_option 256 image-res: ic_onboarding_top_toolbar 257 - toolbar-type: toolbar-bottom 258 label: onboarding_customize_toolbar_bottom_option 259 image-res: ic_onboarding_bottom_toolbar 260 261 toolbar-placement-redesign: 262 card-type: toolbar-placement 263 enabled: false 264 title: onboarding_redesign_customize_toolbar_title 265 body: onboarding_customize_toolbar_description 266 image-res: ic_onboarding_customize_toolbar 267 ordering: 35 268 primary-button-label: onboarding_redesign_continue_button 269 extra-data: 270 customization-toolbar-data: 271 - toolbar-type: toolbar-top 272 label: onboarding_customize_toolbar_top_option 273 image-res: ic_onboarding_top_toolbar 274 - toolbar-type: toolbar-bottom 275 label: onboarding_customize_toolbar_bottom_option 276 image-res: ic_onboarding_bottom_toolbar 277 278 marketing-data: 279 card-type: marketing-data 280 enabled: false 281 title: onboarding_marketing_title 282 body: onboarding_marketing_body 283 image-res: ic_addons_extensions 284 ordering: 40 285 primary-button-label: onboarding_marketing_positive_button 286 extra-data: 287 marketing-data: 288 body-line-one-text: onboarding_marketing_learn_more 289 body-line-one-link-text: onboarding_marketing_learn_more 290 body-line-two-text: onboarding_marketing_opt_out_checkbox 291 292 marketing-data-redesign: 293 card-type: marketing-data 294 enabled: false 295 title: onboarding_marketing_redesign_title 296 body: onboarding_marketing_body 297 image-res: ic_onboarding_marketing_redesign 298 ordering: 40 299 primary-button-label: onboarding_marketing_redesign_positive_button 300 extra-data: 301 marketing-data: 302 body-line-one-text: onboarding_marketing_redesign_learn_more 303 body-line-one-link-text: onboarding_marketing_redesign_learn_more 304 body-line-two-text: onboarding_marketing_redesign_opt_out_checkbox 305 306 - channel: nightly 307 value: 308 use-onboarding-redesign: true 309 cards: 310 terms-of-service: 311 title: onboarding_redesign_tou_title 312 primary-button-label: onboarding_redesign_tou_agree_and_continue_button_label 313 extra-data: 314 term-of-service-data: 315 subheader-one-text: onboarding_redesign_tou_subheader_one 316 subheader-two-text: onboarding_redesign_tou_subheader_two 317 subheader-three-text: onboarding_redesign_tou_subheader_three 318 line-one-text: onboarding_redesign_tou_body_one 319 line-one-link-text: onboarding_redesign_tou_body_one_link_text 320 line-two-text: onboarding_redesign_tou_body_two 321 line-two-link-text: onboarding_redesign_tou_body_two_link_text 322 line-three-text: onboarding_redesign_tou_body_three 323 line-three-link-text: onboarding_redesign_tou_body_three_link_text 324 325 default-browser: 326 title: onboarding_redesign_set_default_browser_title 327 body: onboarding_redesign_set_default_browser_body 328 primary-button-label: juno_onboarding_default_browser_positive_button 329 secondary-button-label: juno_onboarding_default_browser_negative_button 330 331 sync-sign-in: 332 title: onboarding_redesign_sync_title 333 body: onboarding_redesign_sync_body 334 primary-button-label: onboarding_redesign_sync_positive_button 335 secondary-button-label: onboarding_redesign_sync_negative_button 336 337 toolbar-placement: 338 title: onboarding_redesign_customize_toolbar_title 339 body: onboarding_customize_toolbar_description 340 image-res: ic_onboarding_customize_toolbar 341 primary-button-label: onboarding_redesign_continue_button 342 extra-data: 343 customization-toolbar-data: 344 - toolbar-type: toolbar-top 345 label: onboarding_customize_toolbar_top_option 346 image-res: ic_onboarding_top_toolbar 347 - toolbar-type: toolbar-bottom 348 label: onboarding_customize_toolbar_bottom_option 349 image-res: ic_onboarding_bottom_toolbar 350 351 marketing: 352 title: onboarding_marketing_redesign_title 353 body: onboarding_marketing_body 354 image-res: ic_onboarding_marketing_redesign 355 primary-button-label: onboarding_marketing_redesign_positive_button 356 extra-data: 357 marketing-data: 358 body-line-one-text: onboarding_marketing_redesign_learn_more 359 body-line-one-link-text: onboarding_marketing_redesign_learn_more 360 body-line-two-text: onboarding_marketing_redesign_opt_out_checkbox 361 362 # Disable the defaults that are not included in the redesign. 363 theme-selection: 364 enabled: false 365 366 objects: 367 368 OnboardingCardData: 369 description: An object to describe a user facing onboarding card. 370 fields: 371 card-type: 372 type: OnboardingCardType 373 description: The type of the card. 374 # This should never be defaulted. 375 default: default-browser 376 enabled: 377 type: Boolean 378 description: If true, this card is shown to the user. 379 default: true 380 title: 381 type: Text 382 description: The title text displayed to the user. 383 # This should never be defaulted. 384 default: "" 385 body: 386 type: Text 387 description: The message text displayed to the user. May contain linkable text. 388 # This should never be defaulted. 389 default: "" 390 image-res: 391 type: Image 392 description: The resource id of the image to be displayed. 393 # This should never be defaulted. 394 default: ic_addons_extensions 395 ordering: 396 type: Int 397 description: Used to sequence the cards. 398 # This should never be defaulted. 399 default: 0 400 primary-button-label: 401 type: Text 402 description: The text to display on the primary button. 403 # This should never be defaulted. 404 default: "" 405 secondary-button-label: 406 type: Text 407 description: The text to display on the secondary button. 408 # This can be defaulted if the card type does not required it. 409 default: "" 410 prerequisites: 411 type: List<ConditionName> 412 description: > 413 A list of strings corresponding to targeting expressions. 414 The card will be shown if all expressions are `true` and if 415 no expressions in the `disqualifiers` table are true, or 416 if the `disqualifiers` table is empty. 417 default: [ ALWAYS ] 418 disqualifiers: 419 type: List<ConditionName> 420 description: > 421 A list of strings corresponding to targeting expressions. 422 The card will not be shown if any expression is `true`. 423 default: [ NEVER ] 424 extra-data: 425 type: Option<ExtraCardData> 426 description: Optional extra data for cards that require additional data. 427 default: null 428 429 ExtraCardData: 430 description: Holds data for cards that require additional data, e.g. toolbar placement cards. 431 fields: 432 customization-toolbar-data: 433 type: List<CustomizationToolbarData> 434 description: > 435 An optional list of toolbar placements for the toolbar placement card. 436 default: [] 437 customization-theme-data: 438 type: List<CustomizationThemeData> 439 description: An optional list of theme choices for the theme selection card. 440 default: [] 441 term-of-service-data: 442 type: Option<TermsOfServiceData> 443 description: > 444 An optional terms of service data for the onboarding card. 445 default: null 446 marketing-data: 447 type: Option<MarketingData> 448 description: > 449 An optional marketing data for the onboarding card. 450 default: null 451 452 CustomizationToolbarData: 453 description: An object to describe the placement of the toolbar. 454 fields: 455 toolbar-type: 456 type: ToolbarType 457 description: The type of toolbar placement. 458 # This should never be defaulted. 459 default: toolbar-top 460 label: 461 type: Text 462 description: Display text for the toolbar placement option (e.g. "Top placement"). 463 # This should never be defaulted. 464 default: "" 465 image-res: 466 type: Image 467 description: The resource id of toolbar placement image. 468 # This should never be defaulted. 469 default: ic_onboarding_customize_toolbar 470 471 CustomizationThemeData: 472 description: Defines an option for theme selection. 473 fields: 474 theme-type: 475 type: ThemeType 476 description: The type of the theming option. 477 # This should never be defaulted. 478 default: theme-system 479 label: 480 type: Text 481 description: Display text for the theme option (e.g., "Light Theme"). 482 # This should never be defaulted. 483 default: "" 484 image-res: 485 type: Image 486 description: The resource id of the image to be displayed. 487 # This should never be defaulted. 488 default: ic_pick_a_theme_system_auto 489 490 TermsOfServiceData: 491 description: An object to describe the terms of service onboarding card. 492 fields: 493 subheader-one-text: 494 type: Option<Text> 495 description: Optional text for the first subheader of the card. 496 default: null 497 subheader-two-text: 498 type: Option<Text> 499 description: Optional text for the second subheader of the card. 500 default: null 501 subheader-three-text: 502 type: Option<Text> 503 description: Optional text for the third subheader of the card. 504 default: null 505 line-one-text: 506 type: Text 507 description: The text for line one. 508 # This should never be defaulted. 509 default: "" 510 line-one-link-text: 511 type: Text 512 description: The text for the link of line one. 513 # This should never be defaulted. 514 default: "" 515 line-one-link-url: 516 type: Text 517 description: The url for the link of line one. 518 # This should never be defaulted. 519 default: "" 520 line-two-text: 521 type: Text 522 description: The text for line two. 523 # This should never be defaulted. 524 default: "" 525 line-two-link-text: 526 type: Text 527 description: The text for the link of line two. 528 # This should never be defaulted. 529 default: "" 530 line-two-link-url: 531 type: Text 532 description: The url for the link of line two. 533 # This should never be defaulted. 534 default: "" 535 line-three-text: 536 type: Text 537 description: The text for line three. 538 # This should never be defaulted. 539 default: "" 540 line-three-link-text: 541 type: Text 542 description: The text for the link of line three. 543 # This should never be defaulted. 544 default: "" 545 546 MarketingData: 547 description: An object to describe the marketing data onboarding card. 548 fields: 549 body-line-one-text: 550 type: Text 551 description: The text for line one of the body. 552 default: "" 553 body-line-one-link-text: 554 type: Text 555 description: The link text from line one of the body. 556 default: "" 557 body-line-two-text: 558 type: Text 559 description: The text for line two of the body. 560 default: "" 561 562 enums: 563 564 OnboardingCardType: 565 description: An enum to describe a type of card. 566 variants: 567 default-browser: 568 description: Allows user to set Firefox as the default browser. 569 sync-sign-in: 570 description: Allows user to sync with a Firefox account. 571 notification-permission: 572 description: Allows user to enable notification permission. 573 add-search-widget: 574 description: Allows user to add search widget to homescreen. 575 toolbar-placement: 576 description: Allows user to choose the toolbar position. 577 theme-selection: 578 description: Allows user to choose between dark and light themes. 579 terms-of-service: 580 description: Page to display the terms of services. 581 marketing-data: 582 description: Allows user to opt out of marketing data collection. 583 584 ToolbarType: 585 description: An enum to describe a toolbar placement option. 586 variants: 587 toolbar-top: 588 description: Sets the toolbar placement on the top. 589 toolbar-bottom: 590 description: Sets the toolbar placement on the bottom. 591 592 ThemeType: 593 description: An enum to describe a theme selection option. 594 variants: 595 theme-system: 596 description: Adapts the theme to match the device's system setting. 597 theme-light: 598 description: Sets the theme to light mode. 599 theme-dark: 600 description: Sets the theme to dark mode.