Listbox
Mixins
root-container
@mixin root-container() { ... }
@mixin root-container() { position: absolute; width: 100%; display: flex; flex-direction: column; background-color: settings.$background-color; box-shadow: 0 0 0 var(--kib-listbox-border-width, #{kib-field.$control-border-width-large}) var(--kib-listbox-border-color, #{kib-field.$control-border-color-focus}), 0 0 0 var(--kib-listbox-outline-width, 0) var(--kib-listbox-outline-color, #{kib-field.$control-outline-color}); padding: 0; border-radius: kib-field.$control-border-radius; margin-top: #{spacing.get('s2')}; overflow: hidden; z-index: 6; // TODO min-height:need later max-height: unit.rem(220px); // TODO need confirmation @media (forced-colors: active) { border: unit.rem(2px) transparent solid; } }
Description
Root container
Parameters
None.
Requires
- [function]
get
- [function]
rem
- [variable]
background-color
- [variable]
control-border-width-large
- [variable]
control-border-color-focus
- [variable]
control-outline-color
- [variable]
control-border-radius
hidden
@mixin hidden() { ... }
@mixin hidden() { display: none; }
Description
Closed listbox
Parameters
None.
options
@mixin options() { ... }
@mixin options() { flex: 1 1 auto; overflow-y: auto; }
Description
Option container
Parameters
None.
status
@mixin status() { ... }
@mixin status() { @include typography.style-as('form-dropdown-header'); flex: 0 0 auto; padding: spacing.get('s2') spacing.get('s3'); margin-bottom: unit.rem(1px); color: color.get('text', 'secondary'); background-color: color.get('field', '02'); border-top-left-radius: kib-field.$control-border-radius; border-top-right-radius: kib-field.$control-border-radius; @media (forced-colors: active) { border-bottom: unit.rem(1px) transparent solid; } }
Description
Status bar at the top of listbox
Parameters
None.
Requires
- [function]
get
- [function]
rem
- [variable]
control-border-radius
no-results
@mixin no-results() { ... }
@mixin no-results() { padding: spacing.get('s2') spacing.get('s3'); color: color.get('text', 'secondary'); font-style: italic; margin: auto; }
item
@mixin item() { ... }
@mixin item() { @include typography.style-as('form-text'); display: flex; justify-content: space-between; align-items: center; padding: spacing.get('s2') spacing.get('s3'); // TODO need to adjust vertical spacing cursor: pointer; transition: background-color 200ms; @media screen and (prefers-reduced-motion: reduce) { transition: none; } &:last-child { border-bottom-left-radius: kib-field.$control-border-radius; border-bottom-right-radius: kib-field.$control-border-radius; } }
Description
Listbox item container
Parameters
None.
Requires
- [function]
get
- [variable]
control-border-radius
item-active
@mixin item-active() { ... }
@mixin item-active() { background-color: color.get('field', '03'); @media (forced-colors: active) { outline: unit.rem(2px) solid Highlight; outline-offset: unit.rem(-2px); } }
item-hover
@mixin item-hover() { ... }
@mixin item-hover() { @include item-active; }
checkbox
@mixin checkbox() { ... }
@mixin checkbox() { @include kib-choices.choice-control-custom-base; @include kib-checkbox.checkbox-control-custom-base; right: spacing.get('s1'); }
checkbox-fill
@mixin checkbox-fill() { ... }
@mixin checkbox-fill() { @include kib-checkbox.checkbox-control-fill; }
Description
Checkbox fill
Parameters
None.
selected-checkbox
@mixin selected-checkbox() { ... }
@mixin selected-checkbox() { @media (forced-colors: active) { outline: unit.rem(1px) solid Highlight; outline-offset: unit.rem(-1px); } }
selected-checkbox-fill
@mixin selected-checkbox-fill() { ... }
@mixin selected-checkbox-fill() { @include kib-checkbox.checkbox-control-fill-checked; }
Description
Selected checkbox fill
Parameters
None.
Variables
background-color
$background-color: color.get('field', 'primary') !default;
Description
background-color