open-vault/ui/lib/core/addon/components/chevron.js
Hamid Ghaf 27bb03bbc0
adding copyright header (#19555)
* adding copyright header

* fix fmt and a test
2023-03-15 09:00:52 -07:00

42 lines
1.1 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: MPL-2.0
*/
/**
* @module Chevron
* `Chevron` components render `Icon` with one of the `chevron-` glyphs.
*
* @example
* ```js
* <Chevron @direction="up" />
* ```
*
* @param [direction="right"] {String} - the direction the chevron icon points. Accepted values are
* "right", "down", "left", "up".
* @param [isButton=false] {String} - if true, adjusts the CSS classes to push the icon closer to the right of a button.
*
*/
import Component from '@ember/component';
import { computed } from '@ember/object';
import { assert } from '@ember/debug';
import layout from '../templates/components/chevron';
const DIRECTIONS = ['right', 'left', 'up', 'down'];
export default Component.extend({
tagName: '',
layout,
direction: 'right',
isButton: false,
glyph: computed('direction', function () {
const { direction } = this;
assert(
`The direction property of ${this.toString()} must be one of the following: ${DIRECTIONS.join(', ')}`,
DIRECTIONS.includes(direction)
);
return `chevron-${direction}`;
}),
});