{"version":3,"sources":["webpack:///./src/design/symbols/htmlSymbols.js","webpack:///./src/mixins/shared/record/recordBadgeMixin.js","webpack:///./src/components/record/RecordBadgeButton.vue","webpack:///src/components/record/RecordBadgeButton.vue","webpack:///./src/components/record/RecordBadgeButton.vue?e6ab","webpack:///./src/components/record/RecordBadgeButton.vue?c15a","webpack:///../../../src/components/VBadge/VBadge.ts","webpack:///../../../src/mixins/transitionable/index.ts"],"names":["downArrowWithTipLeft","recordBadgeMixin","data","symbolShortcut","props","record","undefined","badgeOverlap","type","Boolean","default","badgeBordered","badgeLight","badgeDark","badgeAvatar","disabled","iconColorClass","String","infoOnly","computed","computedIconColorClass","this","recordIconColorClass","isShortcut","_this$record$isLink","_this$record","isLink","methods","onClick","$emit","eventNames","click","attrs","scopedSlots","key","fn","domProps","_vm","_u","to","proxy","staticRenderFns","name","mixins","recordIconMixin","components","RecordBadgeBase","component","Colorable","PositionableFactory","Themeable","Toggleable","Transitionable","extend","avatar","bordered","color","content","required","dot","label","icon","inline","offsetX","Number","offsetY","overlap","tile","transition","value","classes","bottom","left","themeClasses","computedBottom","computedYOffset","computedLeft","isRtl","computedXOffset","computedRight","computedTop","calcPosition","$vuetify","rtl","offset","styles","right","top","convertToUnit","genBadge","lang","$attrs","t","setBackgroundColor","staticClass","style","title","role","directives","isActive","badge","$createElement","genBadgeContent","origin","mode","slot","getSlot","VIcon","genBadgeWrapper","render","h","children","_x","_y","_z","unshift","push","class","Vue"],"mappings":"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","file":"js/chunk-618508b5.043cd254.js","sourcesContent":["const leftArrowWithHook = \"↩\";\r\nconst downArrowWithCornerLeft = \"↵\";\r\nconst downArrowWithTipLeft = \"↲\";\r\n\r\nexport { leftArrowWithHook, downArrowWithCornerLeft, downArrowWithTipLeft };\r\n","// model\r\nimport { eventNames } from \"@/model/common/events/eventConst\";\r\n\r\n// design\r\nimport { downArrowWithTipLeft } from \"@/design/symbols/htmlSymbols\";\r\n\r\nexport const recordBadgeMixin = {\r\n data() {\r\n return {\r\n symbolShortcut: downArrowWithTipLeft\r\n };\r\n },\r\n props: {\r\n /**\r\n * @type {{id:number, name:string, categoryId:number, parentId:number, children:number, createdBy:string, creationDate:string, modificationDate:string, isDeleted:boolean, isDraft:boolean, isComposite:boolean, isLink:boolean, isLocked:boolean, isReadOnly:boolean, recordTypeId:number, recordType:string, stateId:number, state:string, version:number, versionDate:string, versionOwner:string, operations: {name: string, allowed: boolean, valid: boolean}[] }}\r\n */\r\n record: undefined,\r\n /**\r\n * Overlaps the slotted content on top of the component.\r\n * @type {boolean}\r\n */\r\n badgeOverlap: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Applies a 2px by default and 1.5px border\r\n * around the badge when using the dot property\r\n * @type {boolean}\r\n */\r\n badgeBordered: {\r\n type: Boolean,\r\n default: true\r\n },\r\n /**\r\n * Applies the light theme variant to the component.\r\n */\r\n badgeLight: {\r\n type: Boolean,\r\n default: true\r\n },\r\n badgeDark: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Removes badge padding for the use of the v-avatar in the badge slot\r\n */\r\n badgeAvatar: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * disabled Record Icon\r\n * @type {boolean}\r\n */\r\n disabled: {\r\n type: Boolean,\r\n default: false\r\n },\r\n /**\r\n * Record icon Color Class\r\n * @type {string}\r\n */\r\n iconColorClass: {\r\n type: String,\r\n default: \"\"\r\n },\r\n /**\r\n * display as information Only\r\n * @type {boolean}\r\n */\r\n infoOnly: {\r\n type: Boolean,\r\n default: false\r\n }\r\n },\r\n computed: {\r\n /**\r\n * computed Icon Color Class\r\n * @return {String|string|undefined}\r\n */\r\n computedIconColorClass() {\r\n return this.iconColorClass === \"\"\r\n ? this.recordIconColorClass(this.record)\r\n : this.iconColorClass;\r\n },\r\n /**\r\n * Determines whether provided record is Shortcut\r\n * @return {Boolean|boolean}\r\n */\r\n isShortcut() {\r\n return this.record?.isLink ?? false;\r\n }\r\n },\r\n methods: {\r\n /**\r\n * Handles click event\r\n */\r\n onClick() {\r\n this.$emit(eventNames.click);\r\n }\r\n }\r\n};\r\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-badge',{attrs:{\"value\":_vm.isShortcut,\"bottom\":\"\",\"left\":\"\",\"overlap\":\"\",\"bordered\":\"\"},scopedSlots:_vm._u([{key:\"badge\",fn:function(){return [(_vm.isShortcut)?_c('span',{domProps:{\"innerHTML\":_vm._s(_vm.symbolShortcut)}}):_vm._e()]},proxy:true},{key:\"default\",fn:function(){return [_c('record-badge-base',{attrs:{\"record\":_vm.record,\"badge-overlap\":_vm.badgeOverlap,\"badge-bordered\":_vm.badgeBordered,\"disabled\":_vm.disabled,\"info-only\":_vm.infoOnly,\"icon-color-class\":_vm.iconColorClass},scopedSlots:_vm._u([{key:\"default\",fn:function(){return [_vm._t(\"default\",function(){return [_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\",\"to\":_vm.to},on:{\"click\":_vm.onClick}},[_c('v-icon',{attrs:{\"color\":_vm.computedIconColorClass}},[_vm._v(_vm._s(_vm.recordIcon(_vm.record)))])],1)]})]},proxy:true},{key:\"tooltip\",fn:function(){return [_vm._t(\"tooltip\")]},proxy:true}],null,true)})]},proxy:true}])})\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordBadgeButton.vue?vue&type=script&lang=js\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--13-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./RecordBadgeButton.vue?vue&type=script&lang=js\"","import { render, staticRenderFns } from \"./RecordBadgeButton.vue?vue&type=template&id=e2ff43b6\"\nimport script from \"./RecordBadgeButton.vue?vue&type=script&lang=js\"\nexport * from \"./RecordBadgeButton.vue?vue&type=script&lang=js\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","// Styles\nimport './VBadge.sass'\n\n// Components\nimport VIcon from '../VIcon/VIcon'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport Transitionable from '../../mixins/transitionable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport {\n convertToUnit,\n getSlot,\n} from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nexport default mixins(\n Colorable,\n PositionableFactory(['left', 'bottom']),\n Themeable,\n Toggleable,\n Transitionable,\n/* @vue/component */\n).extend({\n name: 'v-badge',\n\n props: {\n avatar: Boolean,\n bordered: Boolean,\n color: {\n type: String,\n default: 'primary',\n },\n content: { required: false },\n dot: Boolean,\n label: {\n type: String,\n default: '$vuetify.badge',\n },\n icon: String,\n inline: Boolean,\n offsetX: [Number, String],\n offsetY: [Number, String],\n overlap: Boolean,\n tile: Boolean,\n transition: {\n type: String,\n default: 'scale-rotate-transition',\n },\n value: { default: true },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-badge--avatar': this.avatar,\n 'v-badge--bordered': this.bordered,\n 'v-badge--bottom': this.bottom,\n 'v-badge--dot': this.dot,\n 'v-badge--icon': this.icon != null,\n 'v-badge--inline': this.inline,\n 'v-badge--left': this.left,\n 'v-badge--overlap': this.overlap,\n 'v-badge--tile': this.tile,\n ...this.themeClasses,\n }\n },\n computedBottom (): string {\n return this.bottom ? 'auto' : this.computedYOffset\n },\n computedLeft (): string {\n if (this.isRtl) {\n return this.left ? this.computedXOffset : 'auto'\n }\n\n return this.left ? 'auto' : this.computedXOffset\n },\n computedRight (): string {\n if (this.isRtl) {\n return this.left ? 'auto' : this.computedXOffset\n }\n\n return !this.left ? 'auto' : this.computedXOffset\n },\n computedTop (): string {\n return this.bottom ? this.computedYOffset : 'auto'\n },\n computedXOffset (): string {\n return this.calcPosition(this.offsetX)\n },\n computedYOffset (): string {\n return this.calcPosition(this.offsetY)\n },\n isRtl (): boolean {\n return this.$vuetify.rtl\n },\n // Default fallback if offsetX\n // or offsetY are undefined.\n offset (): number {\n if (this.overlap) return this.dot ? 8 : 12\n return this.dot ? 2 : 4\n },\n styles (): object {\n if (this.inline) return {}\n\n return {\n bottom: this.computedBottom,\n left: this.computedLeft,\n right: this.computedRight,\n top: this.computedTop,\n }\n },\n },\n\n methods: {\n calcPosition (offset: string | number): string {\n return `calc(100% - ${convertToUnit(offset || this.offset)})`\n },\n genBadge () {\n const lang = this.$vuetify.lang\n const label = this.$attrs['aria-label'] || lang.t(this.label)\n\n const data = this.setBackgroundColor(this.color, {\n staticClass: 'v-badge__badge',\n style: this.styles,\n attrs: {\n 'aria-atomic': this.$attrs['aria-atomic'] || 'true',\n 'aria-label': label,\n 'aria-live': this.$attrs['aria-live'] || 'polite',\n title: this.$attrs.title,\n role: this.$attrs.role || 'status',\n },\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n const badge = this.$createElement('span', data, [this.genBadgeContent()])\n\n if (!this.transition) return badge\n\n return this.$createElement('transition', {\n props: {\n name: this.transition,\n origin: this.origin,\n mode: this.mode,\n },\n }, [badge])\n },\n genBadgeContent () {\n // Dot prop shows no content\n if (this.dot) return undefined\n\n const slot = getSlot(this, 'badge')\n\n if (slot) return slot\n if (this.content) return String(this.content)\n if (this.icon) return this.$createElement(VIcon, this.icon)\n\n return undefined\n },\n genBadgeWrapper () {\n return this.$createElement('span', {\n staticClass: 'v-badge__wrapper',\n }, [this.genBadge()])\n },\n },\n\n render (h): VNode {\n const badge = [this.genBadgeWrapper()]\n const children = [getSlot(this)]\n const {\n 'aria-atomic': _x,\n 'aria-label': _y,\n 'aria-live': _z,\n role,\n title,\n ...attrs\n } = this.$attrs\n\n if (this.inline && this.left) children.unshift(badge)\n else children.push(badge)\n\n return h('span', {\n staticClass: 'v-badge',\n attrs,\n class: this.classes,\n }, children)\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'transitionable',\n\n props: {\n mode: String,\n origin: String,\n transition: String,\n },\n})\n"],"sourceRoot":""}