UNPKG

@gitlab/ui

Version:
53 lines (47 loc) 1.38 kB
import { extend, mergeData } from '../../vue'; import { NAME_DROPDOWN_FORM } from '../../constants/components'; import { PROP_TYPE_BOOLEAN, PROP_TYPE_ARRAY_OBJECT_STRING } from '../../constants/props'; import { sortKeys, omit } from '../../utils/object'; import { makePropsConfigurable, makeProp } from '../../utils/props'; import { props as props$1, BForm } from '../form/form'; // --- Props --- const props = makePropsConfigurable(sortKeys({ ...props$1, disabled: makeProp(PROP_TYPE_BOOLEAN, false), formClass: makeProp(PROP_TYPE_ARRAY_OBJECT_STRING) }), NAME_DROPDOWN_FORM); // --- Main component --- // @vue/component const BDropdownForm = /*#__PURE__*/extend({ name: NAME_DROPDOWN_FORM, functional: true, props, render(h, _ref) { let { props, data, listeners, children } = _ref; return h('li', mergeData(omit(data, ['attrs', 'on']), { attrs: { role: 'presentation' } }), [h(BForm, { staticClass: 'b-dropdown-form', class: [props.formClass, { disabled: props.disabled }], props, attrs: { ...(data.attrs || {}), disabled: props.disabled, // Tab index of -1 for keyboard navigation tabindex: props.disabled ? null : '-1' }, on: listeners, ref: 'form' }, children)]); } }); export { BDropdownForm, props };