%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /home/ugotscom/.trash/laravel/node_modules/bootstrap-vue/src/components/avatar/
Upload File :
Create Path :
Current File : /home/ugotscom/.trash/laravel/node_modules/bootstrap-vue/src/components/avatar/avatar-group.js

import Vue from '../../vue'
import { NAME_AVATAR_GROUP } from '../../constants/components'
import { makePropsConfigurable } from '../../utils/config'
import { mathMax, mathMin } from '../../utils/math'
import { toFloat } from '../../utils/number'
import normalizeSlotMixin from '../../mixins/normalize-slot'
import { computeSize } from './avatar'

// --- Main component ---
// @vue/component
export const BAvatarGroup = /*#__PURE__*/ Vue.extend({
  name: NAME_AVATAR_GROUP,
  mixins: [normalizeSlotMixin],
  provide() {
    return { bvAvatarGroup: this }
  },
  props: makePropsConfigurable(
    {
      variant: {
        // Child avatars will prefer this variant over their own
        type: String,
        default: null
      },
      size: {
        // Child avatars will always use this over their own size
        type: String
        // default: null
      },
      overlap: {
        type: [Number, String],
        default: 0.3
      },
      square: {
        // Child avatars will prefer this prop (if set) over their own
        type: Boolean,
        default: false
      },
      rounded: {
        // Child avatars will prefer this prop (if set) over their own
        type: [Boolean, String],
        default: false
      },
      tag: {
        type: String,
        default: 'div'
      }
    },
    NAME_AVATAR_GROUP
  ),
  computed: {
    computedSize() {
      return computeSize(this.size)
    },
    overlapScale() {
      return mathMin(mathMax(toFloat(this.overlap, 0), 0), 1) / 2
    },
    paddingStyle() {
      let value = this.computedSize
      value = value ? `calc(${value} * ${this.overlapScale})` : null
      return value ? { paddingLeft: value, paddingRight: value } : {}
    }
  },
  render(h) {
    const $inner = h('div', { staticClass: 'b-avatar-group-inner', style: this.paddingStyle }, [
      this.normalizeSlot()
    ])

    return h(this.tag, { staticClass: 'b-avatar-group', attrs: { role: 'group' } }, [$inner])
  }
})

Zerion Mini Shell 1.0