All Downloads are FREE. Search and download functionalities are using the official Maven repository.

package.lib.components.VFab.VFab.mjs.map Maven / Gradle / Ivy

{"version":3,"file":"VFab.mjs","names":["makeVBtnProps","VBtn","makeLayoutItemProps","useLayoutItem","makeLocationProps","useProxiedModel","useResizeObserver","useToggleScope","makeTransitionProps","MaybeTransition","computed","ref","shallowRef","toRef","watchEffect","genericComponent","omit","propsFactory","useRender","makeVFabProps","app","Boolean","appear","extended","layout","offset","modelValue","type","default","active","transition","VFab","name","props","emits","value","setup","_ref","slots","model","height","layoutItemStyles","resizeRef","entries","length","target","clientHeight","hasPosition","absolute","position","location","split","shift","orientation","id","order","parseInt","layoutSize","elementSize","vFabRef","btnProps","filterProps","_createVNode","class","width","undefined","style","_withDirectives","_mergeProps","_vShow"],"sources":["../../../src/components/VFab/VFab.tsx"],"sourcesContent":["// Styles\nimport './VFab.sass'\n\n// Components\nimport { makeVBtnProps, VBtn } from '@/components/VBtn/VBtn'\n\n// Composables\nimport { makeLayoutItemProps, useLayoutItem } from '@/composables/layout'\nimport { makeLocationProps } from '@/composables/location'\nimport { useProxiedModel } from '@/composables/proxiedModel'\nimport { useResizeObserver } from '@/composables/resizeObserver'\nimport { useToggleScope } from '@/composables/toggleScope'\nimport { makeTransitionProps, MaybeTransition } from '@/composables/transition'\n\n// Utilities\nimport { computed, ref, shallowRef, toRef, watchEffect } from 'vue'\nimport { genericComponent, omit, propsFactory, useRender } from '@/util'\n\n// Types\nimport type { ComputedRef } from 'vue'\nimport type { Position } from '@/composables/layout'\n\nexport const makeVFabProps = propsFactory({\n  app: Boolean,\n  appear: Boolean,\n  extended: Boolean,\n  layout: Boolean,\n  offset: Boolean,\n  modelValue: {\n    type: Boolean,\n    default: true,\n  },\n\n  ...omit(makeVBtnProps({ active: true }), ['location']),\n  ...makeLayoutItemProps(),\n  ...makeLocationProps(),\n  ...makeTransitionProps({ transition: 'fab-transition' }),\n}, 'VFab')\n\nexport const VFab = genericComponent()({\n  name: 'VFab',\n\n  props: makeVFabProps(),\n\n  emits: {\n    'update:modelValue': (value: boolean) => true,\n  },\n\n  setup (props, { slots }) {\n    const model = useProxiedModel(props, 'modelValue')\n    const height = shallowRef(56)\n    const layoutItemStyles = ref()\n\n    const { resizeRef } = useResizeObserver(entries => {\n      if (!entries.length) return\n      height.value = entries[0].target.clientHeight\n    })\n\n    const hasPosition = computed(() => props.app || props.absolute)\n\n    const position = computed(() => {\n      if (!hasPosition.value) return false\n\n      return props.location?.split(' ').shift() ?? 'bottom'\n    }) as ComputedRef\n\n    const orientation = computed(() => {\n      if (!hasPosition.value) return false\n\n      return props.location?.split(' ')[1] ?? 'end'\n    })\n\n    useToggleScope(() => props.app, () => {\n      const layout = useLayoutItem({\n        id: props.name,\n        order: computed(() => parseInt(props.order, 10)),\n        position,\n        layoutSize: computed(() => props.layout ? height.value + 24 : 0),\n        elementSize: computed(() => height.value + 24),\n        active: computed(() => props.app && model.value),\n        absolute: toRef(props, 'absolute'),\n      })\n\n      watchEffect(() => {\n        layoutItemStyles.value = layout.layoutItemStyles.value\n      })\n    })\n\n    const vFabRef = ref()\n\n    useRender(() => {\n      const btnProps = VBtn.filterProps(props)\n\n      return (\n        \n          
\n \n \n \n
\n
\n )\n })\n\n return {}\n },\n})\n\nexport type VFab = InstanceType\n"],"mappings":"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","ignoreList":[]}



© 2015 - 2024 Weber Informatics LLC | Privacy Policy