@viewdo/dxp-story-player-assets
Version:
## Installation
440 lines (373 loc) • 11.8 kB
text/less
.form-input-mixins(){
//error message containers
._defaultInputContainerErrorStyles{
margin: .5em 0 0;
text-align: left;
}
.genErrorMessageContainers(@containerStyle:default) when (@containerStyle = default){
.ivx-input-error-container{
._defaultInputContainerErrorStyles;
}
}
//error messages
._defaultErrorMessageStyles{
color: @red;
font-size: .75em;
}
.genErrorMessages(@inputStyle:default) when (@inputStyle = default){
.ivx-input-error-message{
._defaultErrorMessageStyles;
}
}
.genTextInputs(@inputStyle, @customProperties) when (@inputStyle = custom){
.ivx-input-error-message{
._defaultErrorMessageStyles;
}
.setErrorMessageProperties(@inputStyle, @customProperties);
}
.setErrorMessageProperties(@inputType, @list) when (@inputType = custom){
.ivx-input-error-message{
.setPropertyFromList(@list);
}
}
.setErrorMessageProperties(@inputType, @list) when not (@inputType = default){
.ivx-input-error-message-@{inputType}{
.setPropertyFromList(@list);
}
}
//text input containers
._defaultInputContainerTextStyles{
margin-top: 1em;
.ivx-input-label{
display: block;
text-transform: uppercase;
font-weight: bold;
font-size: .75em;
// TODO: Remove this from this mixin
color: @primary;
padding-bottom: .5em;
text-align: left;
}
}
.genTextInputContainers(@containerStyle:default, @label:show) when (@containerStyle = default){
.ivx-input-container-text,
.ivx-input-container-email,
.ivx-input-container-url,
.ivx-input-container-number{
._defaultInputContainerTextStyles;
}
}
//text inputs
._defaultTextInputStyles{
font-size: 1rem;
border: 1px solid #BDBDBD;
padding: .5em .75em;
width: 100%;
box-sizing: border-box;
}
.genTextInputs(@inputStyle:default) when (@inputStyle = default){
.ivx-input-text,
.ivx-input-email,
.ivx-input-url,
.ivx-input-number{
._defaultTextInputStyles;
}
}
.genTextInputs(@inputStyle, @borderRadius: 4px) when (@inputStyle = rounded){
.ivx-input-text,
.ivx-input-email,
.ivx-input-url,
.ivx-input-number{
._defaultTextInputStyles;
border-radius: @borderRadius;
}
}
.genTextInputs(@inputStyle, @customProperties) when (@inputStyle = custom){
.ivx-input-text,
.ivx-input-email,
.ivx-input-url,
.ivx-input-number{
._defaultTextInputStyles;
}
.setTextInputProperties(@inputStyle, @customProperties);
}
.setTextInputProperties(@inputType, @list) when (@inputType = custom){
.ivx-input-text,
.ivx-input-email,
.ivx-input-url,
.ivx-input-number{
.setPropertyFromList(@list);
}
}
.setTextInputProperties(@inputType, @list) when not (@inputType = default){
.ivx-input-text-@{inputType},
.ivx-input-email-@{inputType},
.ivx-input-url-@{inputType},
.ivx-input-number-@{inputType}{
.setPropertyFromList(@list);
}
}
//textarea input containers
._defaultInputContainerTextareaStyles{
margin-top: 1em;
.ivx-input-label{
display: block;
text-transform: uppercase;
font-weight: bold;
font-size: .75em;
// TODO: Remove this from this mixin
color: @primary;
padding-bottom: .5em;
text-align: left;
}
}
.genTextareaInputContainers(@containerStyle:default, @label:show) when (@containerStyle = default){
.ivx-input-container-textarea{
._defaultInputContainerTextareaStyles;
}
}
//textarea inputs
._defaultTextareaInputStyles{
font-size: 1rem;
border: 1px solid #BDBDBD;
padding: .5em .75em;
width: 100%;
box-sizing: border-box;
}
.genTextareaInputs(@inputStyle:default) when (@inputStyle = default){
.ivx-input-textarea{
._defaultTextareaInputStyles;
}
}
.genTextareaInputs(@inputStyle, @borderRadius: 4px) when (@inputStyle = rounded){
.ivx-input-textarea{
._defaultTextareaInputStyles;
border-radius: @borderRadius;
}
}
.genTextareaInputs(@inputStyle, @customProperties) when (@inputStyle = custom){
.ivx-input-textarea{
._defaultTextareaInputStyles;
}
.setTextareaInputProperties(@inputStyle, @customProperties);
}
.setTextareaInputProperties(@inputType, @list) when (@inputType = custom){
.ivx-input-textarea{
.setPropertyFromList(@list);
}
}
.setTextareaInputProperties(@inputType, @list) when not (@inputType = default){
.ivx-input-textarea-@{inputType}{
.setPropertyFromList(@list);
}
}
//radio input containers
._defaultInputContainerRadioStyles{
margin-top: 1em;
.ivx-input-label{
margin-top: .5em;
}
.ivx-input-label + .ivx-input-label{
margin-left: .5em;
}
}
.genRadioInputContainers(@containerStyle:default, @label:show) when (@containerStyle = default){
.ivx-input-container-radio{
._defaultInputContainerRadioStyles;
}
}
//radio inputs
._defaultRadioInputStyles{
margin-right: .5em;
}
.genRadioInputs(@inputStyle:default) when (@inputStyle = default){
.ivx-input-radio{
._defaultRadioInputStyles;
}
}
.genTextInputs(@inputStyle, @customProperties) when (@inputStyle = custom){
.ivx-input-radio{
._defaultRadioInputStyles;
}
.setRadioInputProperties(@inputStyle, @customProperties);
}
.setRadioInputProperties(@inputType, @list) when (@inputType = custom){
.ivx-input-radio{
.setPropertyFromList(@list);
}
}
.setRadioInputProperties(@inputType, @list) when not (@inputType = default){
.ivx-input-radio-@{inputType}{
.setPropertyFromList(@list);
}
}
//checkbox input containers
._defaultInputContainerCheckboxStyles{
margin-top: 1em;
.ivx-input-label{
margin-top: .5em;
}
.ivx-input-label + .ivx-input-label{
margin-left: .5em;
}
}
.genCheckboxInputContainers(@containerStyle:default, @label:show) when (@containerStyle = default){
.ivx-input-container-checkbox{
._defaultInputContainerCheckboxStyles;
}
}
//checkbox inputs
._defaultCheckboxInputStyles{
margin-right: .5em;
}
.genCheckboxInputs(@inputStyle:default) when (@inputStyle = default){
.ivx-input-checkbox{
._defaultCheckboxInputStyles;
}
}
.genCheckboxInputs(@inputStyle, @customProperties) when (@inputStyle = custom){
.ivx-input-checkbox{
._defaultCheckboxInputStyles;
}
.setCheckboxInputProperties(@inputStyle, @customProperties);
}
.setCheckboxInputProperties(@inputType, @list) when (@inputType = custom){
.ivx-input-checkbox{
.setPropertyFromList(@list);
}
}
.setCheckboxInputProperties(@inputType, @list) when not (@inputType = default){
.ivx-input-checkbox-@{inputType}{
.setPropertyFromList(@list);
}
}
//for longer labels on checkbox inputs
.ivx-input-container-checkbox{
.ivx-input-label.ivx-input-label-long{
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
.ivx-input-checkbox:before{
position: relative;
margin-top: 0;
}
small{
display: inline-block;
text-align: left;
padding-left: .5rem;
}
}
}
//options containers
._defaultInputContainerOptionsStyles{
margin-top: 1em;
.ivx-input-label{
display: block;
font-size: .75em;
padding-bottom: .5em;
text-align: left;
}
.ivx-input-label + .ivx-input-label{
}
}
.genOptionsInputContainers(@containerStyle:default, @label:show) when (@containerStyle = default){
.ivx-input-container-options{
._defaultInputContainerOptionsStyles;
}
}
.genOptionsInputContainers(@containerStyle, @customStyles, @label:show) when (@containerStyle = custom){
.ivx-input-container-options{
@customStyles();
}
}
//options input
._defaultOptionsInputStyles{
font-size: 1rem;
border: 1px solid #BDBDBD;
background: @white;
height: 2.25em;
width: 100%;
box-sizing: border-box;
}
.genOptionsInputs(@inputStyle:default) when (@inputStyle = default){
.ivx-input-options{
._defaultOptionsInputStyles;
}
}
.genCheckboxInputs(@inputStyle, @customProperties) when (@inputStyle = custom){
.ivx-input-options{
._defaultOptionsInputStyles;
}
.setOptionsInputProperties(@inputStyle, @customProperties);
}
.setOptionsInputProperties(@inputType, @list) when (@inputType = custom){
.ivx-input-options{
.setPropertyFromList(@list);
}
}
.setOptionsInputProperties(@inputType, @list) when not (@inputType = default){
.ivx-input-options-@{inputType}{
.setPropertyFromList(@list);
}
}
//submit button containers
._defaultSubmitButtonContainerCheckboxStyles{
margin: 1em 0;
}
.genSubmitButtonInputContainers(@containerStyle:default) when (@containerStyle = default){
.ivx-input-container-submit-button{
._defaultSubmitButtonContainerCheckboxStyles;
}
}
//submit buttons
._default-submit-button-styles(){
font-size: 1rem;
border: none;
background: black;
color: white;
padding: .75em 2em;
}
.genSubmitButtonInputs(@submitType: default, @submitStyle:{}) when (@submitType = default){
.ivx-input-submit-button{
._default-submit-button-styles;
@submitStyle();
}
}
.genSubmitButtonInputs(@submitType: default, @submitStyle:{}) when not (@submitType = default){
.ivx-input-submit-button-@{submitType}{
._default-submit-button-styles;
@submitStyle();
}
}
.createIconSubmitButtons(@icons){
.ivx-input-submit-button-icon{
._iconStyle();
padding: .75em;
}
.ivx-input-submit-button-icon-labeled{
._iconStyle();
i{
margin-right: .5em;
}
}
.ivx-input-submit-button-icon-labeled-right{
._iconStyle();
i{
margin-left: .5em;
}
}
._iconStyle(){
i{
height: 1.2em;
width: 1.2em;
margin: -.2em;
font-family: @icons;
font-size: 1.25em;
}
i:before{
vertical-align: middle;
}
}
}
}