summaryrefslogtreecommitdiff
path: root/www/lib/ionic/scss/_form.scss
diff options
context:
space:
mode:
Diffstat (limited to 'www/lib/ionic/scss/_form.scss')
-rw-r--r--www/lib/ionic/scss/_form.scss327
1 files changed, 327 insertions, 0 deletions
diff --git a/www/lib/ionic/scss/_form.scss b/www/lib/ionic/scss/_form.scss
new file mode 100644
index 00000000..288f633d
--- /dev/null
+++ b/www/lib/ionic/scss/_form.scss
@@ -0,0 +1,327 @@
+/**
+ * Forms
+ * --------------------------------------------------
+ */
+
+// Make all forms have space below them
+form {
+ margin: 0 0 $line-height-base;
+}
+
+// Groups of fields with labels on top (legends)
+legend {
+ display: block;
+ margin-bottom: $line-height-base;
+ padding: 0;
+ width: 100%;
+ border: $input-border-width solid $input-border;
+ color: $dark;
+ font-size: $font-size-base * 1.5;
+ line-height: $line-height-base * 2;
+
+ small {
+ color: $stable;
+ font-size: $line-height-base * .75;
+ }
+}
+
+// Set font for forms
+label,
+input,
+button,
+select,
+textarea {
+ @include font-shorthand($font-size-base, normal, $line-height-base); // Set size, weight, line-height here
+}
+input,
+button,
+select,
+textarea {
+ font-family: $font-family-base; // And only set font-family here for those that need it (note the missing label element)
+}
+
+
+// Input List
+// -------------------------------
+
+.item-input {
+ @include display-flex();
+ @include align-items(center);
+ position: relative;
+ overflow: hidden;
+ padding: 6px 0 5px 16px;
+
+ input {
+ @include border-radius(0);
+ @include flex(1, 220px);
+ @include appearance(none);
+ margin: 0;
+ padding-right: 24px;
+ background-color: transparent;
+ }
+
+ .button .icon {
+ @include flex(0, 0, 24px);
+ position: static;
+ display: inline-block;
+ height: auto;
+ text-align: center;
+ font-size: 16px;
+ }
+
+ .button-bar {
+ @include border-radius(0);
+ @include flex(1, 0, 220px);
+ @include appearance(none);
+ }
+
+ .icon {
+ min-width: 14px;
+ }
+}
+// prevent flex-shrink on WP
+.platform-windowsphone .item-input input{
+ flex-shrink: 1;
+}
+
+.item-input-inset {
+ @include display-flex();
+ @include align-items(center);
+ position: relative;
+ overflow: hidden;
+ padding: ($item-padding / 3) * 2;
+}
+
+.item-input-wrapper {
+ @include display-flex();
+ @include flex(1, 0);
+ @include align-items(center);
+ @include border-radius(4px);
+ padding-right: 8px;
+ padding-left: 8px;
+ background: #eee;
+}
+
+.item-input-inset .item-input-wrapper input {
+ padding-left: 4px;
+ height: 29px;
+ background: transparent;
+ line-height: 18px;
+}
+
+.item-input-wrapper ~ .button {
+ margin-left: ($item-padding / 3) * 2;
+}
+
+.input-label {
+ display: table;
+ padding: 7px 10px 7px 0px;
+ max-width: 200px;
+ width: 35%;
+ color: $input-label-color;
+ font-size: 16px;
+}
+
+.placeholder-icon {
+ color: #aaa;
+ &:first-child {
+ padding-right: 6px;
+ }
+ &:last-child {
+ padding-left: 6px;
+ }
+}
+
+.item-stacked-label {
+ display: block;
+ background-color: transparent;
+ box-shadow: none;
+
+ .input-label, .icon {
+ display: inline-block;
+ padding: 4px 0 0 0px;
+ vertical-align: middle;
+ }
+}
+
+.item-stacked-label input,
+.item-stacked-label textarea {
+ @include border-radius(2px);
+ padding: 4px 8px 3px 0;
+ border: none;
+ background-color: $input-bg;
+}
+.item-stacked-label input {
+ overflow: hidden;
+ height: $line-height-computed + $font-size-base + 12px;
+}
+
+.item-select.item-stacked-label select {
+ position: relative;
+ padding: 0px;
+ max-width: 90%;
+ direction:ltr;
+ white-space: pre-wrap;
+ margin: -3px;
+}
+
+.item-floating-label {
+ display: block;
+ background-color: transparent;
+ box-shadow: none;
+
+ .input-label {
+ position: relative;
+ padding: 5px 0 0 0;
+ opacity: 0;
+ top: 10px;
+ @include transition(opacity .15s ease-in, top .2s linear);
+
+ &.has-input {
+ opacity: 1;
+ top: 0;
+ @include transition(opacity .15s ease-in, top .2s linear);
+ }
+ }
+}
+
+
+// Form Controls
+// -------------------------------
+
+// Shared size and type resets
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"] {
+ display: block;
+ padding-top: 2px;
+ padding-left: 0;
+ height: $line-height-computed + $font-size-base;
+ color: $input-color;
+ vertical-align: middle;
+ font-size: $font-size-base;
+ line-height: $font-size-base + 2;
+}
+
+.platform-ios,
+.platform-android {
+ input[type="datetime-local"],
+ input[type="date"],
+ input[type="month"],
+ input[type="time"],
+ input[type="week"] {
+ padding-top: 8px;
+ }
+}
+
+.item-input {
+ input,
+ textarea {
+ width: 100%;
+ }
+}
+
+textarea {
+ padding-left: 0;
+ @include placeholder($input-color-placeholder, -3px);
+}
+
+// Reset height since textareas have rows
+textarea {
+ height: auto;
+}
+
+// Everything else
+textarea,
+input[type="text"],
+input[type="password"],
+input[type="datetime"],
+input[type="datetime-local"],
+input[type="date"],
+input[type="month"],
+input[type="time"],
+input[type="week"],
+input[type="number"],
+input[type="email"],
+input[type="url"],
+input[type="search"],
+input[type="tel"],
+input[type="color"] {
+ border: 0;
+}
+
+// Position radios and checkboxes better
+input[type="radio"],
+input[type="checkbox"] {
+ margin: 0;
+ line-height: normal;
+}
+
+// Reset width of input images, buttons, radios, checkboxes
+.item-input {
+ input[type="file"],
+ input[type="image"],
+ input[type="submit"],
+ input[type="reset"],
+ input[type="button"],
+ input[type="radio"],
+ input[type="checkbox"] {
+ width: auto; // Override of generic input selector
+ }
+}
+
+// Set the height of file to match text inputs
+input[type="file"] {
+ line-height: $input-height-base;
+}
+
+// Text input classes to hide text caret during scroll
+.previous-input-focus,
+.cloned-text-input + input,
+.cloned-text-input + textarea {
+ position: absolute !important;
+ left: -9999px;
+ width: 200px;
+}
+
+
+// Placeholder
+// -------------------------------
+input,
+textarea {
+ @include placeholder();
+}
+
+
+// DISABLED STATE
+// -------------------------------
+
+// Disabled and read-only inputs
+input[disabled],
+select[disabled],
+textarea[disabled],
+input[readonly]:not(.cloned-text-input),
+textarea[readonly]:not(.cloned-text-input),
+select[readonly] {
+ background-color: $input-bg-disabled;
+ cursor: not-allowed;
+}
+// Explicitly reset the colors here
+input[type="radio"][disabled],
+input[type="checkbox"][disabled],
+input[type="radio"][readonly],
+input[type="checkbox"][readonly] {
+ background-color: transparent;
+}