diff options
Diffstat (limited to 'assets/sass/@primer/css/autocomplete')
-rw-r--r-- | assets/sass/@primer/css/autocomplete/README.md | 25 | ||||
-rw-r--r-- | assets/sass/@primer/css/autocomplete/autocomplete.scss | 43 | ||||
-rw-r--r-- | assets/sass/@primer/css/autocomplete/index.scss | 4 | ||||
-rw-r--r-- | assets/sass/@primer/css/autocomplete/suggester.scss | 75 |
4 files changed, 147 insertions, 0 deletions
diff --git a/assets/sass/@primer/css/autocomplete/README.md b/assets/sass/@primer/css/autocomplete/README.md new file mode 100644 index 0000000..398bc22 --- /dev/null +++ b/assets/sass/@primer/css/autocomplete/README.md @@ -0,0 +1,25 @@ +--- +bundle: "autocomplete" +generated: true +--- + +# Primer CSS: `autocomplete` bundle + +## Usage + +Primer CSS source files are written in [SCSS]. To include this Primer CSS module in your own build, ensure that your `node_modules` directory is listed in your Sass include paths, then import it with: + +```scss +@import "@primer/css/autocomplete/index.scss"; +``` + +## Build + +The `@primer/css` npm package includes a standalone CSS build of this module in `dist/autocomplete.css`. + +## License + +[MIT](https://github.com/primer/css/blob/master/LICENSE) © [GitHub](https://github.com/) + + +[scss]: https://sass-lang.com/documentation/syntax#scss diff --git a/assets/sass/@primer/css/autocomplete/autocomplete.scss b/assets/sass/@primer/css/autocomplete/autocomplete.scss new file mode 100644 index 0000000..5c5d1f8 --- /dev/null +++ b/assets/sass/@primer/css/autocomplete/autocomplete.scss @@ -0,0 +1,43 @@ +// A pop up list of items used to show autocompleted results +.autocomplete-results { + position: absolute; + z-index: 99; + width: 100%; + max-height: 20em; + overflow-y: auto; + // stylelint-disable-next-line primer/typography + font-size: 13px; + list-style: none; + background: $bg-white; + border-radius: $border-radius; + // stylelint-disable-next-line primer/box-shadow + box-shadow: 0 0 5px $black-fade-30; +} + +// One of the items that appears within an autocomplete group +// Bold black text on white background + +.autocomplete-item { + display: block; + padding: $spacer-1 $spacer-2; + overflow: hidden; + font-weight: $font-weight-bold; + text-decoration: none; + text-overflow: ellipsis; + white-space: nowrap; + cursor: pointer; + + &:hover, + &.selected, + &[aria-selected=true], + &.navigation-focus { + color: $text-white; + text-decoration: none; + background-color: $bg-blue; + + // Inherit color on all child elements to ensure enough contrast + * { + color: inherit !important; + } + } +} diff --git a/assets/sass/@primer/css/autocomplete/index.scss b/assets/sass/@primer/css/autocomplete/index.scss new file mode 100644 index 0000000..f311c0c --- /dev/null +++ b/assets/sass/@primer/css/autocomplete/index.scss @@ -0,0 +1,4 @@ +// support files +@import "../support/index.scss"; +@import "./autocomplete.scss"; +@import "./suggester.scss"; diff --git a/assets/sass/@primer/css/autocomplete/suggester.scss b/assets/sass/@primer/css/autocomplete/suggester.scss new file mode 100644 index 0000000..5ac5421 --- /dev/null +++ b/assets/sass/@primer/css/autocomplete/suggester.scss @@ -0,0 +1,75 @@ +// Needs refactoring +// stylelint-disable selector-max-type, selector-no-qualifying-type + +.suggester { + position: relative; + top: 0; + left: 0; + min-width: 180px; + padding: 0; + margin: 0; + margin-top: $spacer-4; + list-style: none; + cursor: pointer; + background: $bg-white; + border: $border; + border-radius: $border-radius; + box-shadow: $box-shadow-medium; + + li { + display: block; + padding: $spacer-1 $spacer-2; + font-weight: $font-weight-bold; + border-bottom: $border; + + small { + font-weight: $font-weight-normal; + color: $text-gray; + } + + &:last-child { + border-bottom: 0; + border-bottom-right-radius: $border-radius; + border-bottom-left-radius: $border-radius; + } + + &:first-child { + border-top-left-radius: $border-radius; + border-top-right-radius: $border-radius; + } + + &:hover, + &[aria-selected="true"], + &.navigation-focus { + color: $text-white; + text-decoration: none; + background: $bg-blue; + + small { + color: $text-white; + } + } + } +} + +.suggester-container { + position: absolute; + top: 0; + left: 0; + z-index: 30; +} + +// Responsive + +.page-responsive { + @media (max-width: $width-sm) { + .suggester-container { + right: $spacer-2 !important; + left: $spacer-2 !important; + } + + .suggester li { + padding: $spacer-2 $spacer-3; + } + } +} |