| 
									
										
										
										
											2021-07-10 00:45:44 +00:00
										 |  |  | import { css } from 'lit'; | 
					
						
							|  |  |  | import componentStyles from '../../styles/component.styles'; | 
					
						
							|  |  |  | import formControlStyles from '../../styles/form-control.styles'; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | export default css`
 | 
					
						
							|  |  |  |   ${componentStyles} | 
					
						
							|  |  |  |   ${formControlStyles} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   :host { | 
					
						
							| 
									
										
										
										
											2021-08-10 21:53:15 +00:00
										 |  |  |     --focus-ring: 0 0 0 var(--sl-focus-ring-width) rgb(var(--sl-color-primary-500) / var(--sl-focus-ring-alpha)); | 
					
						
							| 
									
										
										
										
											2021-07-10 00:45:44 +00:00
										 |  |  | 
 | 
					
						
							|  |  |  |     display: block; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select { | 
					
						
							|  |  |  |     display: block; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select__box { | 
					
						
							|  |  |  |     display: inline-flex; | 
					
						
							|  |  |  |     align-items: center; | 
					
						
							|  |  |  |     justify-content: start; | 
					
						
							|  |  |  |     position: relative; | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							|  |  |  |     font-family: var(--sl-input-font-family); | 
					
						
							|  |  |  |     font-weight: var(--sl-input-font-weight); | 
					
						
							|  |  |  |     letter-spacing: var(--sl-input-letter-spacing); | 
					
						
							| 
									
										
										
										
											2021-08-05 12:27:58 +00:00
										 |  |  |     background-color: rgb(var(--sl-input-background-color)); | 
					
						
							|  |  |  |     border: solid var(--sl-input-border-width) rgb(var(--sl-input-border-color)); | 
					
						
							| 
									
										
										
										
											2021-07-10 00:45:44 +00:00
										 |  |  |     vertical-align: middle; | 
					
						
							|  |  |  |     overflow: hidden; | 
					
						
							|  |  |  |     transition: var(--sl-transition-fast) color, var(--sl-transition-fast) border, var(--sl-transition-fast) box-shadow; | 
					
						
							|  |  |  |     cursor: pointer; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select:not(.select--disabled) .select__box:hover { | 
					
						
							| 
									
										
										
										
											2021-08-05 12:27:58 +00:00
										 |  |  |     background-color: rgb(var(--sl-input-background-color-hover)); | 
					
						
							|  |  |  |     border-color: rgb(var(--sl-input-border-color-hover)); | 
					
						
							|  |  |  |     color: rgb(var(--sl-input-color-hover)); | 
					
						
							| 
									
										
										
										
											2021-07-10 00:45:44 +00:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select.select--focused:not(.select--disabled) .select__box { | 
					
						
							| 
									
										
										
										
											2021-08-05 12:27:58 +00:00
										 |  |  |     background-color: rgb(var(--sl-input-background-color-focus)); | 
					
						
							|  |  |  |     border-color: rgb(var(--sl-input-border-color-focus)); | 
					
						
							| 
									
										
										
										
											2021-07-10 00:45:44 +00:00
										 |  |  |     box-shadow: var(--focus-ring); | 
					
						
							|  |  |  |     outline: none; | 
					
						
							| 
									
										
										
										
											2021-08-05 12:27:58 +00:00
										 |  |  |     color: rgb(var(--sl-input-color-focus)); | 
					
						
							| 
									
										
										
										
											2021-07-10 00:45:44 +00:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--disabled .select__box { | 
					
						
							| 
									
										
										
										
											2021-08-05 12:27:58 +00:00
										 |  |  |     background-color: rgb(var(--sl-input-background-color-disabled)); | 
					
						
							|  |  |  |     border-color: rgb(var(--sl-input-border-color-disabled)); | 
					
						
							|  |  |  |     color: rgb(var(--sl-input-color-disabled)); | 
					
						
							| 
									
										
										
										
											2021-07-10 00:45:44 +00:00
										 |  |  |     opacity: 0.5; | 
					
						
							|  |  |  |     cursor: not-allowed; | 
					
						
							|  |  |  |     outline: none; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--disabled .select__tags, | 
					
						
							|  |  |  |   .select--disabled .select__clear { | 
					
						
							|  |  |  |     pointer-events: none; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select__label { | 
					
						
							|  |  |  |     flex: 1 1 auto; | 
					
						
							|  |  |  |     display: flex; | 
					
						
							|  |  |  |     align-items: center; | 
					
						
							|  |  |  |     user-select: none; | 
					
						
							|  |  |  |     overflow-x: auto; | 
					
						
							|  |  |  |     overflow-y: hidden; | 
					
						
							|  |  |  |     white-space: nowrap; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     /* Hide scrollbar in Firefox */ | 
					
						
							|  |  |  |     scrollbar-width: none; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Hide scrollbar in Chrome/Safari */ | 
					
						
							|  |  |  |   .select__label::-webkit-scrollbar { | 
					
						
							|  |  |  |     width: 0; | 
					
						
							|  |  |  |     height: 0; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select__clear { | 
					
						
							|  |  |  |     flex: 0 0 auto; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select__icon { | 
					
						
							|  |  |  |     flex: 0 0 auto; | 
					
						
							|  |  |  |     display: inline-flex; | 
					
						
							|  |  |  |     transition: var(--sl-transition-medium) transform ease; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--open .select__icon { | 
					
						
							|  |  |  |     transform: rotate(-180deg); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Placeholder */ | 
					
						
							|  |  |  |   .select--placeholder-visible .select__label { | 
					
						
							| 
									
										
										
										
											2021-08-05 12:27:58 +00:00
										 |  |  |     color: rgb(var(--sl-input-placeholder-color)); | 
					
						
							| 
									
										
										
										
											2021-07-10 00:45:44 +00:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--disabled.select--placeholder-visible .select__label { | 
					
						
							| 
									
										
										
										
											2021-08-05 12:27:58 +00:00
										 |  |  |     color: rgb(var(--sl-input-placeholder-color-disabled)); | 
					
						
							| 
									
										
										
										
											2021-07-10 00:45:44 +00:00
										 |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Tags */ | 
					
						
							|  |  |  |   .select__tags { | 
					
						
							|  |  |  |     display: inline-flex; | 
					
						
							|  |  |  |     align-items: center; | 
					
						
							|  |  |  |     flex-wrap: wrap; | 
					
						
							|  |  |  |     justify-content: left; | 
					
						
							|  |  |  |     margin-left: var(--sl-spacing-xx-small); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Hidden input (for form control validation to show) */ | 
					
						
							|  |  |  |   .select__hidden-select { | 
					
						
							|  |  |  |     position: absolute; | 
					
						
							|  |  |  |     top: 0; | 
					
						
							|  |  |  |     left: 0; | 
					
						
							|  |  |  |     width: 100%; | 
					
						
							|  |  |  |     height: 100%; | 
					
						
							|  |  |  |     clip: rect(0 0 0 0); | 
					
						
							|  |  |  |     clip-path: inset(50%); | 
					
						
							|  |  |  |     overflow: hidden; | 
					
						
							|  |  |  |     white-space: nowrap; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* | 
					
						
							|  |  |  |    * Size modifiers | 
					
						
							|  |  |  |    */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Small */ | 
					
						
							|  |  |  |   .select--small .select__box { | 
					
						
							|  |  |  |     border-radius: var(--sl-input-border-radius-small); | 
					
						
							|  |  |  |     font-size: var(--sl-input-font-size-small); | 
					
						
							|  |  |  |     min-height: var(--sl-input-height-small); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--small .select__label { | 
					
						
							|  |  |  |     margin: 0 var(--sl-input-spacing-small); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--small .select__clear { | 
					
						
							|  |  |  |     margin-right: var(--sl-input-spacing-small); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--small .select__icon { | 
					
						
							|  |  |  |     margin-right: var(--sl-input-spacing-small); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--small .select__tags { | 
					
						
							|  |  |  |     padding-bottom: 2px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--small .select__tags sl-tag { | 
					
						
							|  |  |  |     padding-top: 2px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--small .select__tags sl-tag:not(:last-of-type) { | 
					
						
							|  |  |  |     margin-right: var(--sl-spacing-xx-small); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--small.select--has-tags .select__label { | 
					
						
							|  |  |  |     margin-left: 0; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Medium */ | 
					
						
							|  |  |  |   .select--medium .select__box { | 
					
						
							|  |  |  |     border-radius: var(--sl-input-border-radius-medium); | 
					
						
							|  |  |  |     font-size: var(--sl-input-font-size-medium); | 
					
						
							|  |  |  |     min-height: var(--sl-input-height-medium); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--medium .select__label { | 
					
						
							|  |  |  |     margin: 0 var(--sl-input-spacing-medium); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--medium .select__clear { | 
					
						
							|  |  |  |     margin-right: var(--sl-input-spacing-medium); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--medium .select__icon { | 
					
						
							|  |  |  |     margin-right: var(--sl-input-spacing-medium); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--medium .select__tags { | 
					
						
							|  |  |  |     padding-bottom: 3px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--medium .select__tags sl-tag { | 
					
						
							|  |  |  |     padding-top: 3px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--medium .select__tags sl-tag:not(:last-of-type) { | 
					
						
							|  |  |  |     margin-right: var(--sl-spacing-xx-small); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--medium.select--has-tags .select__label { | 
					
						
							|  |  |  |     margin-left: 0; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* Large */ | 
					
						
							|  |  |  |   .select--large .select__box { | 
					
						
							|  |  |  |     border-radius: var(--sl-input-border-radius-large); | 
					
						
							|  |  |  |     font-size: var(--sl-input-font-size-large); | 
					
						
							|  |  |  |     min-height: var(--sl-input-height-large); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--large .select__label { | 
					
						
							|  |  |  |     margin: 0 var(--sl-input-spacing-large); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--large .select__clear { | 
					
						
							|  |  |  |     margin-right: var(--sl-input-spacing-large); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--large .select__icon { | 
					
						
							|  |  |  |     margin-right: var(--sl-input-spacing-large); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--large .select__tags { | 
					
						
							|  |  |  |     padding-bottom: 4px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  |   .select--large .select__tags sl-tag { | 
					
						
							|  |  |  |     padding-top: 4px; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--large .select__tags sl-tag:not(:last-of-type) { | 
					
						
							|  |  |  |     margin-right: var(--sl-spacing-xx-small); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--large.select--has-tags .select__label { | 
					
						
							|  |  |  |     margin-left: 0; | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   /* | 
					
						
							|  |  |  |    * Pill modifier | 
					
						
							|  |  |  |    */ | 
					
						
							|  |  |  |   .select--pill.select--small .select__box { | 
					
						
							|  |  |  |     border-radius: var(--sl-input-height-small); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--pill.select--medium .select__box { | 
					
						
							|  |  |  |     border-radius: var(--sl-input-height-medium); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |   .select--pill.select--large .select__box { | 
					
						
							|  |  |  |     border-radius: var(--sl-input-height-large); | 
					
						
							|  |  |  |   } | 
					
						
							|  |  |  | `;
 |