/* This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ :root { min-width: 29em; } dialog[insecureauth] { --icon-url: url("chrome://global/skin/icons/security-broken.svg"); } #dialogGrid { display: grid; grid-template-columns: auto 1fr; align-items: center; max-height: 100%; } .dialogRow:not([hidden]) { display: contents; } #iconContainer { align-self: start; } #infoContainer { max-width: 45em; } #infoTitle { margin-bottom: 1em; } #infoBody { -moz-user-focus: normal; user-select: text; cursor: text !important; white-space: pre-wrap; word-break: break-word; unicode-bidi: plaintext; overflow-y: auto; } .sizeDetermined, .sizeDetermined::part(content-box), .sizeDetermined #infoBody, .sizeDetermined #infoRow, .sizeDetermined #infoContainer { /* Allow stuff to shrink */ min-height: 0; } .sizeDetermined #infoRow { /* Make the info row take all the available space, potentially shrinking, * since it's what contains the infoBody, which is scrollable */ flex: 1; } #loginLabel, #password1Label { text-align: start; } #loginTextbox, #password1Textbox { text-align: match-parent; } /* use flexbox instead of grid: */ dialog[subdialog], dialog[subdialog] #dialogGrid, dialog[subdialog] #infoContainer, dialog[subdialog] .dialogRow:not([hidden]) { display: flex; flex-direction: column; align-items: stretch; } dialog[subdialog] #iconContainer { display: none; } /* Fix padding/spacing */ dialog[subdialog] { --grid-padding: 16px; /* All the inner items should have 4px inline margin, leading to 1.16em spacing * between the dialog and its contents, and 8px horizontal spacing between items. */ padding: var(--grid-padding) calc(var(--grid-padding) - 4px); } /* Use an ID selector for the dialog to win on specificity... */ #commonDialog[subdialog] description, #commonDialog[subdialog] checkbox { margin: 0 4px; } #commonDialog[subdialog] label { margin: 4px; /* Labels for input boxes should get block as well as the regular inline margin. */ } #commonDialog[subdialog] .checkbox-label { /* The checkbox already has the horizontal margin, so override the rule * above. */ margin: 0; } #commonDialog[subdialog] input { margin: 0 4px 4px; } /* Add vertical spaces between rows: */ dialog[subdialog] .dialogRow { margin-block: 0 var(--grid-padding); } /* Fix spacing in the `prompt()` case: */ dialog[subdialog] #loginLabel[value=""] { display: none; } dialog[subdialog][windowtype="prompt:prompt"] #infoRow { margin-bottom: 4px; }