vuetify
Version:
Vue Material Component Framework
51 lines (50 loc) • 1.31 kB
JavaScript
import { createVNode as _createVNode, mergeProps as _mergeProps } from "vue";
// Styles
import "./VBtnToggle.css";
// Components
import { filterVBtnGroupProps, makeVBtnGroupProps, VBtnGroup } from "../VBtnGroup/VBtnGroup.mjs"; // Composables
import { makeGroupProps, useGroup } from "../../composables/group.mjs"; // Utility
import { genericComponent, useRender } from "../../util/index.mjs"; // Types
export const VBtnToggleSymbol = Symbol.for('vuetify:v-btn-toggle');
export const VBtnToggle = genericComponent()({
name: 'VBtnToggle',
props: {
...makeVBtnGroupProps(),
...makeGroupProps()
},
emits: {
'update:modelValue': value => true
},
setup(props, _ref) {
let {
slots
} = _ref;
const {
isSelected,
next,
prev,
select,
selected
} = useGroup(props, VBtnToggleSymbol);
useRender(() => {
const [btnGroupProps] = filterVBtnGroupProps(props);
return _createVNode(VBtnGroup, _mergeProps({
"class": "v-btn-toggle"
}, btnGroupProps), {
default: () => [slots.default?.({
isSelected,
next,
prev,
select,
selected
})]
});
});
return {
next,
prev,
select
};
}
});
//# sourceMappingURL=VBtnToggle.mjs.map