VBanner.mjs.map 10.0 KB

1
  1. {"version":3,"file":"VBanner.mjs","names":["VBannerActions","VBannerText","VAvatar","VDefaultsProvider","makeBorderProps","useBorder","useBackgroundColor","makeComponentProps","provideDefaults","makeDensityProps","useDensity","makeDimensionProps","useDimension","makeDisplayProps","useDisplay","makeElevationProps","useElevation","IconValue","makeLocationProps","useLocation","makePositionProps","usePosition","makeRoundedProps","useRounded","makeTagProps","makeThemeProps","provideTheme","toRef","genericComponent","propsFactory","useRender","makeVBannerProps","avatar","String","bgColor","color","icon","lines","stacked","Boolean","sticky","text","mobile","VBanner","name","props","setup","_ref","slots","backgroundColorClasses","backgroundColorStyles","borderClasses","densityClasses","displayClasses","dimensionStyles","elevationClasses","locationStyles","positionClasses","roundedClasses","themeClasses","density","hasText","hasPrependMedia","hasPrepend","prepend","_createVNode","tag","value","class","style","default","image","actions"],"sources":["../../../src/components/VBanner/VBanner.tsx"],"sourcesContent":["// Styles\nimport './VBanner.sass'\n\n// Components\nimport { VBannerActions } from './VBannerActions'\nimport { VBannerText } from './VBannerText'\nimport { VAvatar } from '@/components/VAvatar'\nimport { VDefaultsProvider } from '@/components/VDefaultsProvider'\n\n// Composables\nimport { makeBorderProps, useBorder } from '@/composables/border'\nimport { useBackgroundColor } from '@/composables/color'\nimport { makeComponentProps } from '@/composables/component'\nimport { provideDefaults } from '@/composables/defaults'\nimport { makeDensityProps, useDensity } from '@/composables/density'\nimport { makeDimensionProps, useDimension } from '@/composables/dimensions'\nimport { makeDisplayProps, useDisplay } from '@/composables/display'\nimport { makeElevationProps, useElevation } from '@/composables/elevation'\nimport { IconValue } from '@/composables/icons'\nimport { makeLocationProps, useLocation } from '@/composables/location'\nimport { makePositionProps, usePosition } from '@/composables/position'\nimport { makeRoundedProps, useRounded } from '@/composables/rounded'\nimport { makeTagProps } from '@/composables/tag'\nimport { makeThemeProps, provideTheme } from '@/composables/theme'\n\n// Utilities\nimport { toRef } from 'vue'\nimport { genericComponent, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { PropType } from 'vue'\n\nexport type VBannerSlots = {\n default: never\n prepend: never\n text: never\n actions: never\n}\n\nexport const makeVBannerProps = propsFactory({\n avatar: String,\n bgColor: String,\n color: String,\n icon: IconValue,\n lines: String as PropType<'one' | 'two' | 'three'>,\n stacked: Boolean,\n sticky: Boolean,\n text: String,\n\n ...makeBorderProps(),\n ...makeComponentProps(),\n ...makeDensityProps(),\n ...makeDimensionProps(),\n ...makeDisplayProps({ mobile: null }),\n ...makeElevationProps(),\n ...makeLocationProps(),\n ...makePositionProps(),\n ...makeRoundedProps(),\n ...makeTagProps(),\n ...makeThemeProps(),\n}, 'VBanner')\n\nexport const VBanner = genericComponent<VBannerSlots>()({\n name: 'VBanner',\n\n props: makeVBannerProps(),\n\n setup (props, { slots }) {\n const { backgroundColorClasses, backgroundColorStyles } = useBackgroundColor(props, 'bgColor')\n const { borderClasses } = useBorder(props)\n const { densityClasses } = useDensity(props)\n const { displayClasses, mobile } = useDisplay(props)\n const { dimensionStyles } = useDimension(props)\n const { elevationClasses } = useElevation(props)\n const { locationStyles } = useLocation(props)\n const { positionClasses } = usePosition(props)\n const { roundedClasses } = useRounded(props)\n\n const { themeClasses } = provideTheme(props)\n\n const color = toRef(props, 'color')\n const density = toRef(props, 'density')\n\n provideDefaults({ VBannerActions: { color, density } })\n\n useRender(() => {\n const hasText = !!(props.text || slots.text)\n const hasPrependMedia = !!(props.avatar || props.icon)\n const hasPrepend = !!(hasPrependMedia || slots.prepend)\n\n return (\n <props.tag\n class={[\n 'v-banner',\n {\n 'v-banner--stacked': props.stacked || mobile.value,\n 'v-banner--sticky': props.sticky,\n [`v-banner--${props.lines}-line`]: !!props.lines,\n },\n themeClasses.value,\n backgroundColorClasses.value,\n borderClasses.value,\n densityClasses.value,\n displayClasses.value,\n elevationClasses.value,\n positionClasses.value,\n roundedClasses.value,\n props.class,\n ]}\n style={[\n backgroundColorStyles.value,\n dimensionStyles.value,\n locationStyles.value,\n props.style,\n ]}\n role=\"banner\"\n >\n { hasPrepend && (\n <div key=\"prepend\" class=\"v-banner__prepend\">\n { !slots.prepend ? (\n <VAvatar\n key=\"prepend-avatar\"\n color={ color.value }\n density={ density.value }\n icon={ props.icon }\n image={ props.avatar }\n />\n ) : (\n <VDefaultsProvider\n key=\"prepend-defaults\"\n disabled={ !hasPrependMedia }\n defaults={{\n VAvatar: {\n color: color.value,\n density: density.value,\n icon: props.icon,\n image: props.avatar,\n },\n }}\n v-slots:default={ slots.prepend }\n />\n )}\n </div>\n )}\n\n <div class=\"v-banner__content\">\n { hasText && (\n <VBannerText key=\"text\">\n { slots.text?.() ?? props.text }\n </VBannerText>\n )}\n\n { slots.default?.() }\n </div>\n\n { slots.actions && (\n <VBannerActions key=\"actions\" v-slots:default={ slots.actions } />\n )}\n </props.tag>\n )\n })\n },\n})\n\nexport type VBanner = InstanceType<typeof VBanner>\n"],"mappings":"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","ignoreList":[]}