import { createVNode as _createVNode, resolveDirective as _resolveDirective } from "vue"; // Styles import "./VSystemBar.css"; // Composables import { useBackgroundColor } from "../../composables/color.mjs"; import { makeComponentProps } from "../../composables/component.mjs"; import { makeElevationProps, useElevation } from "../../composables/elevation.mjs"; import { makeLayoutItemProps, useLayoutItem } from "../../composables/layout.mjs"; import { makeRoundedProps, useRounded } from "../../composables/rounded.mjs"; import { useSsrBoot } from "../../composables/ssrBoot.mjs"; import { makeTagProps } from "../../composables/tag.mjs"; import { makeThemeProps, provideTheme } from "../../composables/theme.mjs"; // Utilities import { computed, shallowRef, toRef } from 'vue'; import { genericComponent, propsFactory, useRender } from "../../util/index.mjs"; export const makeVSystemBarProps = propsFactory({ color: String, height: [Number, String], window: Boolean, ...makeComponentProps(), ...makeElevationProps(), ...makeLayoutItemProps(), ...makeRoundedProps(), ...makeTagProps(), ...makeThemeProps() }, 'VSystemBar'); export const VSystemBar = genericComponent()({ name: 'VSystemBar', props: makeVSystemBarProps(), setup(props, _ref) { let { slots } = _ref; const { themeClasses } = provideTheme(props); const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(toRef(props, 'color')); const { elevationClasses } = useElevation(props); const { roundedClasses } = useRounded(props); const { ssrBootStyles } = useSsrBoot(); const height = computed(() => props.height ?? (props.window ? 32 : 24)); const { layoutItemStyles } = useLayoutItem({ id: props.name, order: computed(() => parseInt(props.order, 10)), position: shallowRef('top'), layoutSize: height, elementSize: height, active: computed(() => true), absolute: toRef(props, 'absolute') }); useRender(() => _createVNode(props.tag, { "class": ['v-system-bar', { 'v-system-bar--window': props.window }, themeClasses.value, backgroundColorClasses.value, elevationClasses.value, roundedClasses.value, props.class], "style": [backgroundColorStyles.value, layoutItemStyles.value, ssrBootStyles.value, props.style] }, slots)); return {}; } }); //# sourceMappingURL=VSystemBar.mjs.map