/********************************************************
+*   (c) Mojang. All rights reserved                      *
+*   (c) Microsoft. All rights reserved.                  *
+*********************************************************/

{
  "namespace": "authentication",

  //---------------------------------------------------------------------------
  // Common
  //---------------------------------------------------------------------------

  "nothing@common.empty_panel": {
    "size": [ 0, 0 ]
  },

  "tts_control@common.non_interact_focus_border_button": {
    "tts_inherit_siblings": true,
    "size": [ "100%", "100%sm" ],
    "layer": 1,
    "bindings": [
      {
        "binding_name": "#tts_enabled",
        "binding_name_override": "#enabled"
      }
    ]
  },

  "split_button_panel@common.empty_panel": {
    "size": [ "100%", "100%c" ],
    "controls": [
      {
        "buttons": {
          "type": "stack_panel",
          "$orientation|default": "horizontal",
          "$panel_size|default": [ "100% - 8px", 18 ],
          "$panel_offset|default": [ 2, 0 ],
          "$button_size|default": [ "50% - 5px", "100%" ],
          "$button_a|default": "common.empty_panel",
          "$button_b|default": "commont.empty_panel",
          "$padding_size|default": [ 5, "100%" ],

          "orientation": "$orientation",
          "size": "$panel_size",
          "offset": "$panel_offset",
          "controls": [
            {
              "a@$button_a": {
                "size": "$button_size"
              }
            },
            {
              "paddding@common.empty_panel": {
                "size": "$padding_size"
              }
            },
            {
              "b@$button_b": {
                "size": "$button_size"
              }
            }
          ]
        }
      }
    ]
  },

  "vertical_split_button_panel@authentication.split_button_panel": {
    "size": [ "100%", "100%c" ],
    "$orientation": "vertical",
    "$panel_size": [ "100% - 8px", "100%c" ],
    "$panel_offset": [ 0, 0 ],
    "$button_size": [ "100%", 18 ],
    "$padding_size": [ "100%", 2 ]
  },

  "fixed_width_wrapper@common.empty_panel": {
    "size": [ "100%", "100%c" ],
    "$wrapped_content|default": "none",
    "$internal_size|default": [ "default", "default" ],
    "$internal_offset|default": [ 0, 0 ],
    "controls": [
      {
        "content@$wrapped_content": {
          "size": "$internal_size",
          "offset": "$internal_offset"
        }
      }
    ]
  },

  "sign_in_button@common_buttons.light_text_button": {
    "$pressed_button_name": "button.signIn",
    "size": [ "200px", "30px" ],
    "$button_text": "#sign_in_button_text",
    "$button_text_binding_type": "global",
    "bindings": [
      {
        "binding_name": "#sign_in_button_visible",
        "binding_name_override": "#visible"
      }
    ]
  },

  "download_button@common_buttons.light_text_button": {
    "$pressed_button_name": "button.goToDownload",
    "size": [ 200, 30 ],
    "$button_text": "authentication.error.outOfDate.downloadPage"
  },

  "smooth_label": {
    "type": "label",
    "font_type": "smooth",
    "font_scale_factor": 1.1,
    "color": "$body_text_color"
  },

  "smooth_bound_label@authentication.smooth_label": {
    "text": "#text",
    "$text_binding_name|default": "none",
    "bindings": [
      {
        "binding_name": "$text_binding_name",
        "binding_name_override": "#text"
      }
    ]
  },

  "title_label@authentication.smooth_bound_label": {
    "size": [ "100% - 8px", "default" ],
    "$text_binding_name": "#authentication_message",
    "layer": 1
  },

  "eula_hyperlink@common_buttons.hyperlink_button": {
    "size": [ 200, 18 ],
    "$button_text": "eula.view",
    "property_bag": {
      "#hyperlink": "https://aka.ms/meeeula"
    }
  },

  "accept_eula_button@common_buttons.light_text_button": {
    "$pressed_button_name": "button.acceptEula",
    "$button_text": "eula.acceptButton"
  },

  "eula_content": {
    "type": "stack_panel",
    "orientation": "vertical",
    "size": [ 260, "100%c" ],
    "controls": [
      {
        "prompt_wrapper@common.empty_panel": {
          "size": [ "100%", "100%cm" ],
          "controls": [
            {
              "border@authentication.tts_control": {
                "offset": [ 0, 4 ]
              }
            },
            {
              "prompt_text@authentication.smooth_label": {
                "size": [ "100% - 8px", "default" ],
                "offset": [ 0, 4 ],
                "text": "eula.intro"
              }
            }
          ]
        }
      },
      {
        "padding@common.empty_panel": {
          "size": [ "100%", 30 ]
        }
      },
      {
        "buttons@authentication.split_button_panel": {
          "size": [ "100%", "100%c + 8px" ],
          "$button_a": "authentication.eula_hyperlink",
          "$button_b": "authentication.accept_eula_button",

          "$panel_size": [ "100% - 20px", 18 ],
          "$panel_offset": [ 16, 0 ],
          "$button_size": [ 100, "100%" ],
          "$padding_size": [ 5, "100%" ]
        }
      }
    ]
  },

  "eula@authentication_modals.modal_dialog_frame": {
    "$dialog_title_text": "eula.title",
    "$dialog_content": "authentication.eula_content"
  },

  "version": {
    "type": "label",
    "color": "$main_header_text_color",
    "text": "$version",
    "size": [ "default", 10 ],
    "max_size": [ "100%", "100%" ],
    "anchor_from": "top_right",
    "anchor_to": "top_right"
  },

  //--------------------------------------------------------------------------------
  // Controls
  //--------------------------------------------------------------------------------

  "view_terms_button@common_buttons.hyperlink_button": {
    "$button_text": "authentication.store.viewTermsAndConditions",
    "$button_text_size": [ "100%", "default" ],
    "$button_text_max_size": [ "100%", 20 ],
    "$button_font_size": "normal",
    "anchor_from": "right_middle",
    "anchor_to": "right_middle",
    "property_bag": {
      "#hyperlink": "https://aka.ms/meeterms"
    }
  },

  "privacy_policy_button@common_buttons.hyperlink_button": {
    "$button_text": "authentication.store.viewPrivacyPolicy",
    "$button_text_size": [ "100%", "default" ],
    "$button_text_max_size": [ "100%", 20 ],
    "$button_font_size": "normal",
    "anchor_from": "right_middle",
    "anchor_to": "right_middle",
    "property_bag": {
      "#hyperlink": "https://aka.ms/mee_privacy"
    }
  },

  "agree_panel": {
    "type": "panel",
    "size": [ "fill", "100%" ],
    "anchor_from": "left_middle",
    "anchor_to": "left_middle",
    "layer": 3,
    "controls": [
      {
        "checkbox_control@common.checkbox": {
          "size": [ "50%", "100%" ],
          "offset": [ 0, 0 ],
          "anchor_from": "left_middle",
          "anchor_to": "left_middle",
          "$checkbox_alignment": "left_middle",
          "$checkbox_offset": [ 7, 0 ],
          "$toggle_name": "#agree_terms_and_conditions",
          "focus_change_up": "2users",
          "focus_identifier": "checkbox_control"
        }
      },
      {
        "i_agree_label": {
          "type": "label",
          "color": "$main_header_text_color",
          "text": "realmsCreateScreen.termsAndConditionsAgree",
          "font_size": "normal",
          "font_type": "smooth",
          "offset": [ 22, 0 ],
          "size": [ "75%", "default" ],
          "layer": 3,
          "anchor_from": "left_middle",
          "anchor_to": "left_middle"
        }
      }
    ]
  },

  "term_item@common.empty_panel": {
    "size": [ "fill", "100%" ],
    "$content|default": "common.empty_panel",
    "controls": [
      {
        "item@$content": {
          "size": [ "100% - 4px", "100%" ]
        }
      }
    ]
  },

  "terms_and_conditions_panel": {
    "type": "panel",
    "controls": [
      {
        "terms_string_panel": {
          "type": "panel",
          "anchor_from": "left_middle",
          "anchor_to": "left_middle",
          "size": [ "100% - 4px", "100%" ],
          "$pressed_button_name_terms_conditions": "button.tos_hyperlink",
          "$pressed_button_name_privacy_policy": "button.privpol_hyperlink",
          "controls": [
            {
              "buttons_stack_panel": {
                "type": "stack_panel",
                "orientation": "horizontal",
                "size": [ "100%", "100%" ],
                "controls": [
                  {
                    "agree@authentication.agree_panel": {
                      "size": [ 70, "100%" ]
                    }
                  },
                  {
                    "view_terms_button@authentication.term_item": {
                      "$content": "authentication.view_terms_button"
                    }
                  },
                  {
                    "privacy_policy_button@authentication.term_item": {
                      "$content": "authentication.privacy_policy_button"
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  },

  "confirmation_panel": {
    "type": "panel",
    "size": [ "100%", "100%c" ],
    "controls": [
      {
        "confirm_button@common_buttons.light_text_button": {
          "$pressed_button_name": "button.confirm",
          "size": [ "100% - 8px", 18 ],
          "$button_text": "authentication.store.confirm.button",
          "bindings": [
            {
              "binding_name": "#confirm_button_enabled",
              "binding_name_override": "#enabled"
            }
          ]
        }
      }
    ]
  },

  "scroll_stack_panel": {
    "type": "panel",
    "anchor_from": "top_left",
    "anchor_to": "top_left",
    "size": [ "100%", "100%cm" ],
    "controls": [
      { "border@authentication.tts_control": {} },
      {
        "terms@authentication.smooth_bound_label": {
          "anchor_from": "top_left",
          "anchor_to": "top_left",
          "$text_binding_name": "#edu_store_purchase_info",
          "font_scale_factor": 1,
          "size": [ "100% - 4px", "default" ]
        }
      }
    ]
  },

  "purchase_confirm_content": {
    "type": "stack_panel",
    "orientation": "vertical",
    "size": [ 318, 180 ],
    "controls": [
      {
        "header_padding@common.empty_panel": {
          "size": [ "100%", 4 ]
        }
      },
      {
        "panel_wrap@common.empty_panel": {
          "size": [ "100%", "fill" ],
          "controls": [
            {
              "scrolling_panel@common.scrolling_panel": {
                "anchor_to": "top_middle",
                "anchor_from": "top_middle",
                "$show_background": false,
                "size": [ "100% - 8px", "100%" ],
                "$scroll_size": [ 5, "100% - 4px" ],
                "$scrolling_content": "authentication.scroll_stack_panel",
                "$scrolling_pane_size": [ "100%", "100%" ]
              }
            }
          ]
        }
      },
      {
        "terms_and_conditions_panel@authentication.terms_and_conditions_panel": {
          "anchor_from": "top_middle",
          "anchor_to": "top_middle",
          "size": [ "100%", 25 ]
        }
      },
      {
        "button_padding@common.empty_panel": {
          "size": [ "100%", 2 ]
        }
      },
      {
        "confirmation_panel@authentication.confirmation_panel": {
        }
      },
      {
        "padding@common.empty_panel": {
          "size": [ "100%", 4 ]
        }
      }
    ]
  },

  "purchase_prompt_content": {
    "type": "stack_panel",
    "orientation": "vertical",
    "size": [ 260, "100%c" ],
    "controls": [
      {
        "prompt_wrap": {
          "type": "panel",
          "size": [ "100%", "100%cm + 8px" ],
          "controls": [
            { "border@authentication.tts_control": {} },
            {
              "prompt@authentication.smooth_label": {
                "text": "authentication.store.intro",
                "size": [ "100% - 8px", "default" ]
              }
            }
          ]
        }
      },
      {
        "purchase_wrap_centering_container": {
          "type": "panel",
          "size": [ "100%", "100%c" ],
          "controls": [
            {
              "purchase_wrap": {
                "type": "stack_panel",
                "anchor_from": "top_middle",
                "anchor_to": "top_middle",
                "orientation": "vertical",
                "size": [ "100% - 8px", "100%c + 4px" ],
                "controls": [
                  {
                    "purchase@common_buttons.light_text_button": {
                      "$pressed_button_name": "button.buy",
                      "size": [ "100%", 18 ],
                      "$button_text": "#edu_store_purchase_button_text",
                      "$button_text_binding_type": "global",
                      "$button_binding_condition": "once"
                    }
                  },
                  {
                    "padding_middle@common.empty_panel": {
                      "size": [ "100%", 2 ]
                    }
                  },
                  {
                    "signout@common_buttons.light_text_button": {
                      "$pressed_button_name": "button.cancel_purchase_show_demo_choice",
                      "size": [ "100%", 18 ],
                      "$button_text": "xbox.signout"
                    }
                  }
                ]
              }
            }
          ]
        }
      }
    ]
  },

  "purchase_prompt@authentication_modals.modal_dialog_frame": {
    "$dialog_title_text": "authentication.trialEndedTitle",
    "$dialog_content": "authentication.purchase_prompt_content"
  },

  "purchase_confirm@authentication_modals.modal_dialog_frame": {
    "$dialog_title_text": "authentication.store.confirmPurchase",
    "$dialog_content": "authentication.purchase_confirm_content"
  },

  "purchase_panel@common.empty_panel": {
    "size": [ "100%c", "100%c" ],
    "$close_button_to_button_id": "button.cancel_purchase",
    "controls": [
      {
        "prompt@authentication.purchase_prompt": {
          "bindings": [
            {
              "binding_name": "#asking_to_buy_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "confirm@authentication.purchase_confirm": {
          "bindings": [
            {
              "binding_name": "#confirming_purchase_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      }
    ]
  },

  "title_panel": {
    "type": "panel",
    "size": [ "100%", "100%c + 8px" ],
    "controls": [
      {
        "title_label_wrapper@common.tts_label_focus_wrapper": {
          "$tts_label_panel": "authentication.title_label",
          "offset": [ 0, 4 ],
          "anchor_from": "top_middle",
          "anchor_to": "top_middle"
        }
      }
    ]
  },

  "hyperlink_panel": {
    "type": "panel",
    "size": [ "100%", "100%c" ],
    "controls": [
      {
        "link_stack": {
          "type": "stack_panel",
          "size": [ "100% - 4px", "100%c" ],
          "controls": [
            {
              "link1@edu_common.underline_button": {
                "$single_label_size": [ "default", 10 ],
                "$single_line_font_scale_factor": 1,
                "$pressed_button_name": "button.showEligibility",
                "$single_line_label_text": "authentication.error.generic.link1"
              }
            },
            {
              "link2@edu_common.underline_button": {
                "$single_label_size": [ "default", 10 ],
                "$single_line_font_scale_factor": 1,
                "$pressed_button_name": "button.open_demo_screen",
                "$single_line_label_text": "authentication.error.generic.link2"
              }
            },
            { "padding@common.empty_panel": { "size": [ "100%", 8 ] } }
          ]
        }
      }
    ],
    "bindings": [
      {
        "binding_name": "#sign_in_error_visible",
        "binding_name_override": "#visible"
      }
    ]
  },

  // -----------------------------------------------
  //
  //    screen
  //
  // -----------------------------------------------

  "auth_screen@common.base_screen": {
    "$screen_content": "authentication.authentication_screen_content",
    "$default_text_color": [ 0.3, 0.3, 0.3 ],
    // Default directions from base_screen plus a cancel mapping for quit
    "button_mappings": [
      {
        "from_button_id": "button.menu_up",
        "to_button_id": "button.menu_up",
        "mapping_type": "global",
        "scope": "view"
      },
      {
        "from_button_id": "button.menu_down",
        "to_button_id": "button.menu_down",
        "mapping_type": "global",
        "scope": "view"
      },
      {
        "from_button_id": "button.menu_left",
        "to_button_id": "button.menu_left",
        "mapping_type": "global",
        "scope": "view"
      },
      {
        "from_button_id": "button.menu_right",
        "to_button_id": "button.menu_right",
        "mapping_type": "global",
        "scope": "view"
      },
      {
        // Let the user quit the game if they can't sign in
        "from_button_id": "button.menu_cancel",
        "to_button_id": "button.auth_cancel",
        "mapping_type": "global"
      }
    ]
  },

  "sign_in_content": {
    "type": "stack_panel",
    "orientation": "vertical",
    "size": [ 260, "100%c" ],
    "controls": [
      { "body_text@authentication.title_panel": {} },
      { "body_hyperlink@authentication.hyperlink_panel": {} },
      {
        "sign_in_wrapper@common.empty_panel": {
          "size": [ "100%", "100%c + 4px" ],
          "controls": [
            {
              "button@authentication.sign_in_button": {
                "anchor_from": "top_middle",
                "anchor_to": "top_middle",
                "size": [ "100% - 8px", 18 ]
              }
            }
          ]
        }
      },
      {
        "download_wrapper": {
          "type": "panel",
          "size": [ "100%", "100%c + 4px" ],
          "controls": [
            {
              "button@authentication.download_button": {
                "anchor_from": "top_middle",
                "anchor_to": "top_middle",
                "size": [ "100% - 8px", 18 ]
              }
            }
          ],
          "bindings": [
            {
              "binding_name": "#sign_in_error_client_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      }
    ]
  },

  "authentication_screen_content": {
    "type": "panel",
    "layer": 1,
    "controls": [
      {
        "debug@authentication.debug_panel": {
          "ignored": "$is_publish",
          "visible": "$show_debug_panel",
          "anchor_from": "top_left",
          "anchor_to": "top_left"
        }
      },
      {
        "client_version": {
          "type": "panel",
          "size": [ "100%-2px", 10 ],
          "offset": [ 0, -1 ],
          "anchor_from": "bottom_middle",
          "anchor_to": "bottom_middle",
          "controls": [
            {
              "version@authentication.version": {}
            }
          ]
        }
      },
      {
        "sign_in@authentication_modals.modal_dialog_frame": {
          "$dialog_title_text": "#sign_in_modal_title",
          "$dialog_title_text_binding_type": "global",
          "$dialog_content": "authentication.sign_in_content",
          "bindings": [
            {
              "binding_name": "#sign_in_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "sign_in_ios@authentication_modals.modal_dialog_frame": {
          "$dialog_title_text": "#sign_in_modal_title",
          "$dialog_title_text_binding_type": "global",
          "$dialog_content": "authentication.sign_in_ios_content",
          "bindings": [
            {
              "binding_name": "#sign_in_ios_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "pack_progress@authentication_modals.modal_dialog_frame": {
          "$dialog_title_text": "#sign_in_modal_title",
          "$dialog_title_text_binding_type": "global",
          "$dialog_content": "authentication.pack_progress_content",
          "bindings": [
            {
              "binding_name": "#pack_progress_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "welcome@edu_signin.screen_content": {
          "bindings": [
            {
              "binding_name": "#welcome_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "demo@edu_signin.screen_content": {
          "bindings": [
            {
              "binding_name": "#demo_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "eula@authentication.eula": {
          "bindings": [
            {
              "binding_name": "#eula_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "purchase_panel@authentication.purchase_panel": {
          "bindings": [
            {
              "binding_name": "#edu_store_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "popup_dialog_factory": {
          "type": "factory",
          "control_ids": {
            "trial_info": "@authentication.popup_dialog_trial_info",
            "trial_info_ios": "@authentication.popup_dialog_trial_info_ios",
            "generic_welcome": "@authentication.popup_dialog_generic_welcome",
            "muts_driven": "@authentication.authentication_popup"
          }
        }
      }
    ]
  },

  // Every popup has a title and body message, then anything after that as $additional_popup_content
  "popup_content_base": {
    "type": "stack_panel",
    "orientation": "vertical",
    "$popup_content_size|default": [ 250, "100%c" ],
    "size": "$popup_content_size",
    "$additional_popup_content|default": "authentication.nothing",
    "controls": [
      {
        "message": {
          "type": "panel",
          "size": [ "100%", "100%cm" ],
          "controls": [
            { "border@authentication.tts_control": {} },
            {
              "text@authentication.fixed_width_wrapper": {
                "size": [ "100%", "100%c" ],
                "$wrapped_content": "authentication.popup_message",
                "$internal_size": [ "100% - 8px", "default" ],
                "$internal_offset": [ 0, 4 ]
              }
            }
          ]
        }
      },
      {
        "content@$additional_popup_content": {
        }
      },
      {
        "footer_padding@common.empty_panel": {
          "size": [ "100%", 4 ]
        }
      }
    ]
  },

  "popup_dialog": {
    "type": "input_panel",
    "size": [ "100%c", "100%c" ],
    "modal": true,
    "layer": 100,
    "$dialog_title_text": "#popup_title",
    "$dialog_title_text_binding_type": "global",
    "$dialog_title_text_binding_condition": "once",
    "$dialog_content": "authentication.popup_content_base",
    "controls": [
      {
        "dialog@authentication_modals.modal_dialog_frame": {
        }
      }
    ],
    "button_mappings": [
      {
        "from_button_id": "button.menu_cancel",
        "to_button_id": "button.close_dialog",
        "mapping_type": "global"
      },
      {
        "from_button_id": "button.menu_up",
        "to_button_id": "button.menu_up",
        "mapping_type": "global",
        "scope": "view"
      },
      {
        "from_button_id": "button.menu_down",
        "to_button_id": "button.menu_down",
        "mapping_type": "global",
        "scope": "view"
      },
      {
        "from_button_id": "button.menu_left",
        "to_button_id": "button.menu_left",
        "mapping_type": "global",
        "scope": "view"
      },
      {
        "from_button_id": "button.menu_right",
        "to_button_id": "button.menu_right",
        "mapping_type": "global",
        "scope": "view"
      }
    ]
  },

  "trial_info_ios_additional_content@common.empty_panel": {
    "size": [ "100%", "100%c + 4px" ],
    "controls": [
      {
        "dismiss@authentication.popup_dismiss_button": {
          "size": [ "80%", 18 ],
          "anchor_from": "bottom_middle",
          "anchor_to": "bottom_middle"
        }
      }
    ]
  },

  // Quite different for ios since we can't include the external link or have a button that quits the game, which then also means a different background looks better
  "popup_dialog_trial_info_ios@authentication.popup_dialog": {
    "$popup_content_size": [ 280, "100%c" ],
    "$additional_popup_content": "authentication.trial_info_ios_additional_content"
  },

  "student_message_panel@authentication.fixed_width_wrapper": {
    "size": [ "100%", "100%cm + 16px" ],
    "$wrapped_content": "authentication.popup_message_student",
    "$internal_size": [ "100%", "default" ],
    "$internal_offset": [ 0, 12 ]
  },

  "trial_info_additional_content": {
    "type": "stack_panel",
    "orientation": "vertical",
    "size": [ "100%", "100%c" ],
    "controls": [
      {
        "buttons@authentication.split_button_panel": {
          "$button_a": "authentication.popup_dismiss_button",
          "$button_b": "authentication.popup_purchase_link"
        }
      }
    ]
  },

  "generic_welcome_additional_content": {
    "type": "stack_panel",
    "orientation": "vertical",
    "size": [ "100%", "100%c" ],
    "controls": [
      {
        "button_wrapper@common.empty_panel": {
          "size": [ "100%", "100%c" ],
          "controls": [
            {
              "buttons@authentication.vertical_split_button_panel": {
                "$button_a": "authentication.popup_hyperlink",
                "$button_b": "authentication.popup_dismiss_button"
              }
            }
          ]
        }
      }
    ]
  },

  "popup_dialog_trial_info@authentication.popup_dialog": {
    "$popup_content_size": [ 280, "100%c" ],
    "$additional_popup_content": "authentication.trial_info_additional_content"
  },

  "popup_dialog_generic_welcome@authentication.popup_dialog": {
    "$additional_popup_content": "authentication.generic_welcome_additional_content"
  },

  "popup_message": {
    "type": "stack_panel",
    "size": [ "100%", "100%c" ],
    "controls": [
      {
        "main_message@authentication.smooth_bound_label": {
          "$text_binding_name": "#popup_text",
          "size": [ "100%", "default" ],
          "layer": 1
        }
      },
      {
        "extra_message@authentication.student_message_panel": {
        }
      },
      { "padding@common.empty_panel": { "size": [ "100%", 4 ] } }
    ]
  },

  "popup_message_student@authentication.smooth_label": {
    "text": "#popup_message_student_text",
    "layer": 1,
    "anchor_from": "top_middle",
    "anchor_to": "top_middle",
    "size": [ "100% - 8px", "default" ],
    "bindings": [
      {
        "binding_name": "#popup_message_student_visible",
        "binding_name_override": "#visible"
      },
      {
        "binding_name": "#popup_message_student_text"
      }
    ]
  },

  "popup_hyperlink@common_buttons.hyperlink_button": {
    "anchor_from": "bottom_middle",
    "anchor_to": "bottom_middle",
    "$button_text_binding_type": "global",
    "$button_text": "#hyperlink_prompt_text",
    "$button_bindings": [
      {
        "binding_name": "#generic_popup_link_visible",
        "binding_name_override": "#visible"
      }
    ]
  },

  "popup_purchase_link@authentication.popup_hyperlink": {
    "$button_bindings": [
      {
        "binding_name": "#trial_purchase_link_visible",
        "binding_name_override": "#visible"
      }
    ]
  },

  "popup_dismiss_button@common_buttons.light_text_button": {
    "size": [ 100, 20 ],
    "default_focus_precedence": 1,
    "$pressed_button_name": "button.close_dialog",
    "$button_text": "gui.ok",
    "anchor_from": "bottom_middle",
    "anchor_to": "bottom_middle",
    "bindings": [
      {
        "binding_name": "#show_popup_dismiss_button",
        "binding_name_override": "#visible"
      }
    ]
  },

  "pack_progress_content": {
    "type": "stack_panel",
    "size": [ 274, "100%c" ],
    "controls": [
      { "top_padding@common.empty_panel": { "size": [ "100%", 5 ] } },
      {
        "loading_text_panel@edu_common.vertical_stack_item": {
          "controls": [
            {
              "loading_text": {
                "type": "label",
                "size": [ "default", 49 ],
                "max_size": [ "100% - 10px", 49 ],
                "color": "$loading_text_color",
                "text": "#loading_text",
                "bindings": [
                  {
                    "binding_name": "#loading_text"
                  }
                ]
              }
            }
          ]
        }
      },
      {
        "loading_bar_panel@edu_common.vertical_stack_item": {
          "controls": [
            {
              "loading_bar@popup_dialog.progress_bar_icon": {
                "size": [ "100% - 23px", 5 ]
              }
            }
          ]
        }
      },
      { "bottom_padding@common.empty_panel": { "size": [ "100%", 11 ] } }
    ]
  },

  "sign_in_ios_content": {
    "type": "stack_panel",
    "orientation": "vertical",
    "size": [ 260, "100%c" ],
    "controls": [
      { "body_text@authentication.title_panel": {} },
      { "body_hyperlink@authentication.hyperlink_panel": {} },
      {
        "signin_ios_button_panel": {
          "type": "stack_panel",
          "orientation": "vertical",
          "size": [ "100%", "100%c" ],
          "controls": [
            {
              "app_store_prompt_wrap@common.empty_panel": {
                "size": [ "100%", "100%c + 8px" ],
                "controls": [
                  {
                    "prompt@authentication.smooth_label": {
                      "size": [ "100% - 8px", "default" ],
                      "text": "authentication.educationOnly"
                    }
                  }
                ]
              }
            },
            {
              "buttons@authentication.split_button_panel": {
                "$button_a": "authentication.sign_in_ios_button",
                "$button_b": "authentication.to_app_store"
              }
            },
            {
              "pad_footer@common.empty_panel": {
                "size": [ "100%", 4 ]
              }
            }
          ],
          "bindings": [
            {
              "binding_name": "#sign_in_ios_buttons_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "error_sign_in_panel": {
          "type": "panel",
          "size": [ "100%", "100%c + 4px" ],
          "controls": [
            {
              "button@authentication.sign_in_button": {
                "size": [ "100% - 8px", 18 ],
                "anchor_from": "top_middle",
                "anchor_to": "top_middle"
              }
            }
          ],
          "bindings": [
            {
              "binding_name": "#sign_in_button_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "error_download_panel": {
          "type": "panel",
          "size": [ "100%", "100%c + 4px" ],
          "controls": [
            {
              "button@authentication.download_button": {
                "anchor_from": "top_middle",
                "anchor_to": "top_middle",
                "size": [ "100% - 8px", 18 ]
              }
            }
          ],
          "bindings": [
            {
              "binding_name": "#sign_in_error_client_visible",
              "binding_name_override": "#visible"
            }
          ]
        }
      }
    ]
  },

  "sign_in_ios_button@common_buttons.light_text_button": {
    "$pressed_button_name": "button.signIn",
    "$button_text": "authentication.signIn"
  },

  "to_app_store@common_buttons.hyperlink_button": {
    "$button_text": "authentication.minecraftInstead",
    "property_bag": {
      "#hyperlink": "https://itunes.apple.com/us/app/minecraft/id479516143?mt=8"
    }
  },

  // Debug functionality for flipping through ui states without relying on platform or service
  "debug_panel": {
    "type": "stack_panel",
    "orientation": "vertical",
    "size": [ "100%cm", "100%c" ],
    "offset": [ 2, 2 ],
    "controls": [
      {
        "state_label": {
          "type": "label",
          "color": "$body_text_color",
          "text": "Force UI State:",
          "size": [ "default", "default" ]
        }
      },
      {
        "state_text_box@common.text_edit_box": {
          "max_length": 2,
          "size": [ 25, 14 ],
          "$text_edit_box_content_binding_name": "#none",
          "$text_box_name": "debug_state_text_box",
          "$text_edit_box_binding_condition": "none",
          "$place_holder_text": "",
          "property_bag": {
            "#property_field": "#item_name"
          }
        }
      },
      {
        "open_popup@common_buttons.light_text_button": {
          "$pressed_button_name": "button.debug_open_json_popup",
          "size": [ 150, 16 ],
          "$button_text": "Load popup from clipboard",
          "bindings": [
            {
              "binding_name": "#debug_json_popup_enabled",
              "binding_name_override": "#visible"
            }
          ]
        }
      },
      {
        "refresh_popup@common_buttons.light_text_button": {
          "$pressed_button_name": "button.debug_refresh_popup",
          "size": [ 100, 16 ],
          "$button_text": "Refresh Popup"
        }
      },
      {
        "reset@common_buttons.light_text_button": {
          "$pressed_button_name": "button.debug_reset",
          "size": [ 50, 16 ],
          "$button_text": "Reset"
        }
      },
      {
        "toggle_ios@common_buttons.light_text_button": {
          "$pressed_button_name": "button.debug_toggle_ios",
          "size": [ 150, 16 ],
          "$button_text": "#debug_toggle_ios_text",
          "$button_text_binding_type": "global",
          "$button_binding_condition": "visible"
        }
      }
    ]
  },

  "authentication_popup_link_button": {
    "type": "stack_panel",
    "$single_label_size": [ "default", 10 ],
    "$single_line_font_scale_factor": 1,
    "$pressed_button_name": "('button.' + $link_type + '_popup_link')",
    "$single_line_label_text": "('#popup_' + $link_type + '_text')",
    "$label_text_bindings": [
      {
        "binding_name": "('#popup_' + $link_type + '_text')"
      }
    ],
    "controls": [
      { "top_padding@common.empty_panel": { "size": [ "100%", 10 ] } },
      { "link_button@edu_common.underline_button": {} }
    ],
    "bindings": [
      {
        "binding_name": "('#popup_' + $link_type + '_visible')",
        "binding_name_override": "#visible"
      }
    ]
  },

  "authentication_popup_contents": {
    "type": "stack_panel",
    "size": [ "100%", "100%c" ],
    "controls": [
      { "initial_padding@common.empty_panel": { "size": [ "100%", 3 ] } },
      {
        "body@authentication.smooth_bound_label": {
          "font_scale_factor": 1,
          "max_size": [ "100%", "default" ],
          "$text_binding_name": "#popup_text"
        }
      },
      {
        "learn_more_link@authentication.authentication_popup_link_button": {
          "$link_type": "learn_more"
        }
      },
      {
        "link2@authentication.authentication_popup_link_button": {
          "$link_type": "open_demo"
        }
      },
      { "end_padding@common.empty_panel": { "size": [ "100%", 3 ] } }
    ]
  },

  "resizeable_scrolling_panel@common.scrolling_panel": {
    "$scrolling_pane_size": [ "100%", "100%c" ],
    "$scroll_view_control_size": [ "100%", "100%c" ],
    "$scroll_view_stack_panel_size": [ "100%", "100%cm" ],
    "$scroll_view_port_panel_size": [ "100%", "100%cm" ],
    "$view_port_size": [ "fill", "100%cm" ],
    "$view_port_size_touch": [ "100%", "100%cm" ],
    "$scroll_view_port_size": [ "100%", "100%c" ],
    "$scroll_view_port_size_touch": [ "100%", "100%c" ]
  },

  "authentication_popup_content_panel@authentication.resizeable_scrolling_panel": {
    "size": [ 254, "100%c" ],

    // 185 fills the screen at its smallest
    "$scroll_view_port_max_size": [ "100%", 185 ],
    "$scroll_view_port_max_size_touch": [ "100%", 185 ],

    "$scrolling_content": "authentication.authentication_popup_contents",
    "$show_background": false,
    "$scroll_bar_left_padding_size": [ 0, 0 ],
    "$scroll_bar_right_padding_size": [ 0, 0 ],
    "$scroll_bar_and_track_size": [ "100%c", "100%sm - 6px" ],
    "$scroll_track_offset": [ 0, 3 ],
    "$scroll_size": [ 5, "100%" ],
    "$scroll_size_touch": "$scroll_size"
  },

  "authentication_popup_button@common_buttons.light_text_button": {
    "$button_text": "('#popup_' + $button_pos + '_lower_button_text')",
    "$button_text_binding_type": "global",
    "$button_binding_condition": "visible",

    "$pressed_button_name": "('button.' + $button_pos + '_lower_popup_button')",
    "size": [ "fill", "100%" ]
  },

  "authentication_popup_one_button": {
    "type": "panel",
    "controls": [
      {
        "button@authentication.authentication_popup_button": {
          "$button_pos": "first",
          "size": [ "100%", "100%" ]
        }
      }
    ],
    "bindings": [
      {
        "binding_name": "(not #popup_has_two_buttons)",
        "binding_name_override": "#visible"
      }
    ]
  },

  "authentication_popup_two_buttons": {
    "type": "stack_panel",
    "size": [ "100%", "100%" ],
    "orientation": "horizontal",
    "controls": [
      {
        "first_button@authentication.authentication_popup_button": {
          "$button_pos": "first"
        }
      },
      { "button_padding@common.empty_panel": { "size": [ 2, "100%" ] } },
      {
        "second_button@authentication.authentication_popup_button": {
          "$button_pos": "second"
        }
      }
    ],
    "bindings": [
      {
        "binding_name": "#popup_has_two_buttons",
        "binding_name_override": "#visible"
      }
    ]
  },

  "authentication_popup_lower_button_panel": {
    "type": "panel",
    "controls": [
      { "one_button@authentication.authentication_popup_one_button": {} },
      { "two_buttons@authentication.authentication_popup_two_buttons": {} }
    ]
  },

  "authentication_popup@popup_dialog.form_fit_modal_dialog_popup": {
    "$popup_dialog_escape_button_name": "button.close_dialog",

    "$modal_title": "#popup_title",
    "$modal_title_binding_type": "global",
    "$modal_title_binding_condition": "visible",

    "$modal_contents": "authentication.authentication_popup_content_panel",
    "$modal_contents_padding": [ 6, 0 ],

    "$popup_type": "popup_dialog.form_fit_screen_with_title_and_close_and_bottom_buttons",
    "$lower_button_control": "authentication.authentication_popup_lower_button_panel"
  }
}
