{"version":3,"file":"use-fab.mjs","sources":["../../../../../../packages/components/ui/fab/use-fab.ts"],"sourcesContent":["import { computed } from 'vue'\n\nconst labelPositions = ['top', 'right', 'bottom', 'left']\n\nexport const useFabProps = {\n  type: {\n    type: String,\n    default: 'a'\n  },\n\n  outline: Boolean,\n  push: Boolean,\n  flat: Boolean,\n  unelevated: Boolean,\n\n  color: String,\n  textColor: String,\n  glossy: Boolean,\n\n  square: Boolean,\n  padding: String,\n  size: String,\n\n  label: {\n    type: [String, Number],\n    default: ''\n  },\n  labelPosition: {\n    type: String,\n    default: 'right',\n    validator: v => labelPositions.includes(v)\n  },\n  externalLabel: Boolean,\n  hideLabel: {\n    type: Boolean\n  },\n  labelClass: [Array, String, Object],\n  labelStyle: [Array, String, Object],\n\n  disable: Boolean,\n\n  tabindex: [Number, String]\n}\n\nexport default function (props, showing) {\n  return {\n    formClass: computed(() => `vc-fab--form-${props.square === true ? 'square' : 'rounded'}`),\n\n    stacked: computed(() => props.externalLabel === false && ['top', 'bottom'].includes(props.labelPosition)),\n\n    labelProps: computed(() => {\n      if (props.externalLabel === true) {\n        const hideLabel = props.hideLabel === null ? showing.value === false : props.hideLabel\n\n        return {\n          action: 'push',\n          data: {\n            class: [\n              props.labelClass,\n              'vc-fab__label vc-tooltip--style vc-fab__label--external' +\n                ` vc-fab__label--external-${props.labelPosition}` +\n                (hideLabel === true ? ' vc-fab__label--external-hidden' : '')\n            ],\n            style: props.labelStyle\n          }\n        }\n      }\n\n      return {\n        action: ['left', 'top'].includes(props.labelPosition) ? 'unshift' : 'push',\n        data: {\n          class: [\n            props.labelClass,\n            `vc-fab__label vc-fab__label--internal vc-fab__label--internal-${props.labelPosition}` +\n              (props.hideLabel === true ? ' vc-fab__label--internal-hidden' : '')\n          ],\n          style: props.labelStyle\n        }\n      }\n    })\n  }\n}\n"],"names":[],"mappings":"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"}