summaryrefslogtreecommitdiffstats
path: root/toolkit/components/prompts/content/commonDialog.css
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/components/prompts/content/commonDialog.css')
-rw-r--r--toolkit/components/prompts/content/commonDialog.css124
1 files changed, 124 insertions, 0 deletions
diff --git a/toolkit/components/prompts/content/commonDialog.css b/toolkit/components/prompts/content/commonDialog.css
new file mode 100644
index 0000000000..3521af13c6
--- /dev/null
+++ b/toolkit/components/prompts/content/commonDialog.css
@@ -0,0 +1,124 @@
+/* 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;
+}