routie dev init since i didn't adhere to any proper guidance up until now
This commit is contained in:
+40
@@ -0,0 +1,40 @@
|
||||
import { mergeProps as _mergeProps, createVNode as _createVNode } from "vue";
|
||||
// Styles
|
||||
import "./VBottomSheet.css";
|
||||
|
||||
// Components
|
||||
import { makeVDialogProps, VDialog } from "../VDialog/VDialog.js"; // Composables
|
||||
import { useProxiedModel } from "../../composables/proxiedModel.js"; // Utilities
|
||||
import { genericComponent, propsFactory, useRender } from "../../util/index.js"; // Types
|
||||
export const makeVBottomSheetProps = propsFactory({
|
||||
inset: Boolean,
|
||||
...makeVDialogProps({
|
||||
transition: 'bottom-sheet-transition'
|
||||
})
|
||||
}, 'VBottomSheet');
|
||||
export const VBottomSheet = genericComponent()({
|
||||
name: 'VBottomSheet',
|
||||
props: makeVBottomSheetProps(),
|
||||
emits: {
|
||||
'update:modelValue': value => true
|
||||
},
|
||||
setup(props, {
|
||||
slots
|
||||
}) {
|
||||
const isActive = useProxiedModel(props, 'modelValue');
|
||||
useRender(() => {
|
||||
const dialogProps = VDialog.filterProps(props);
|
||||
return _createVNode(VDialog, _mergeProps(dialogProps, {
|
||||
"contentClass": ['v-bottom-sheet__content', props.contentClass],
|
||||
"modelValue": isActive.value,
|
||||
"onUpdate:modelValue": $event => isActive.value = $event,
|
||||
"class": ['v-bottom-sheet', {
|
||||
'v-bottom-sheet--inset': props.inset
|
||||
}, props.class],
|
||||
"style": props.style
|
||||
}), slots);
|
||||
});
|
||||
return {};
|
||||
}
|
||||
});
|
||||
//# sourceMappingURL=VBottomSheet.js.map
|
||||
Reference in New Issue
Block a user