Mailspring/static/components/editable-list.less
Juan Tejada 281e458d39 feat(account-prefs): Adds new page for Account in preferences
Summary:
Adds the new Account preferences page. This consists of two major React components,
PreferencesAccountList and PreferencesAccountDetails, both of which use EditableList.

I added a bunch of fixes and updated the API for EditableList, plus a bit of
refactoring for PreferencesAccount component, and a bunch of CSS so its a big diff.

The detailed changelog:

Updates to EditableList:
  - Fix bug updating selection state when arrows pressed to move selection
  - Add new props:
    - allowEmptySelection to allow the list to have no selection
    - createInputProps to pass aditional props to the createInput
  - Add scroll region for list items
  - Update styles and refactor render methods

Other Updates:
- Updates Account model to hold aliases and a label
  - Adds getter for label to default to email
- Update accountswitcher to display label, update styles and spec

- Refactor PreferencesAccounts component:
  - Splits it into smaller components,
  - Removes unused code
- Splits preferences styelsheets into smaller separate stylesheet for
  account page. Adds some updates and fixes (scroll-region padding)
- Update AccountStore to be able to perform updates on an account.
- Adds new Action to update account, and an action to remove account to
  be consistent with Action usage
- Adds components for Account list and Aliases list using EditableList

Test Plan: - All specs pass, but need to write new tests!

Reviewers: bengotow, evan

Reviewed By: bengotow

Differential Revision: https://phab.nylas.com/D2332
2015-12-10 15:27:29 -08:00

84 lines
1.8 KiB
Plaintext

@import "ui-variables";
.nylas-editable-list {
.items-wrapper {
display: flex;
flex-direction: column;
border: 1px solid @border-secondary-bg;
background-color: @background-primary;
height: 90px;
font-size: 0.9em;
.selected {
background-color: @component-active-color;
color: @component-active-bg;
}
.edit-icon {
display: none;
cursor: pointer;
}
.editable-item {
padding: (@padding-small-vertical - 1) @padding-small-horizontal;
cursor: default;
border-bottom: 1px solid @border-color-divider;
flex-shrink: 0;
&.selected.with-edit-icon {
display: flex;
align-items: center;
padding-right: 20px;
img.edit-icon {
display: inline;
background-color: @component-active-bg;
margin-left: auto;
}
}
&>input {
border: none;
padding: 0;
font-size: inherit;
background-color: @component-active-color;
color: @component-active-bg;
}
::-webkit-input-placeholder {
color: @text-color-inverse-very-subtle;
}
}
.create-item-input {
&>input {
padding: (@padding-small-vertical - 1) @padding-small-horizontal;
border: none;
border-bottom: 1px solid @border-color-divider;
font-size: inherit;
}
::-webkit-input-placeholder {
font-style: italic;
}
}
}
.buttons-wrapper {
display: flex;
border: 1px solid @border-secondary-bg;
border-top: none;
background-color: @background-secondary;
.btn-editable-list {
display: flex;
justify-content: center;
height: 25px;
width: 25px;
border-right: 1px solid #dddddd;
font-size: 1em;
cursor: default;
color: @text-color-subtle;
}
}
}