{"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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"}