discourse/app/assets/javascripts/select-kit/addon/components/dropdown-select-box/dropdown-select-box-header.js
Joffrey JAFFEUX cb59681d86
DEV: select-kit third major update with focus on accessibility (#13303)
Major changes included:
- better support for screen readers
- trapping focus in modals
- better tabbing order in composer
- alerts on no content found/number of items found
- better autofocus in modals
- mini-tag-chooser is now a multi-select component
- each multi-select-component will now display selection on one row
2021-08-23 10:44:19 +02:00

34 lines
1.1 KiB
JavaScript

import SingleSelectHeaderComponent from "select-kit/components/select-kit/single-select-header";
import { computed } from "@ember/object";
import layout from "select-kit/templates/components/dropdown-select-box/dropdown-select-box-header";
import { readOnly } from "@ember/object/computed";
export default SingleSelectHeaderComponent.extend({
layout,
classNames: ["dropdown-select-box-header"],
classNameBindings: ["btnClassName", "btnStyleClass"],
showFullTitle: readOnly("selectKit.options.showFullTitle"),
customStyle: readOnly("selectKit.options.customStyle"),
btnClassName: computed("showFullTitle", function () {
return `btn ${this.showFullTitle ? "btn-icon-text" : "no-text btn-icon"}`;
}),
btnStyleClass: computed("customStyle", function () {
return `${this.customStyle ? "" : "btn-default"}`;
}),
caretUpIcon: readOnly("selectKit.options.caretUpIcon"),
caretDownIcon: readOnly("selectKit.options.caretDownIcon"),
caretIcon: computed(
"selectKit.isExpanded",
"caretUpIcon",
"caretDownIcon",
function () {
return this.selectKit.isExpanded ? this.caretUpIcon : this.caretDownIcon;
}
),
});