{"version":3,"sources":["webpack:///../../../src/components/VSheet/index.ts","webpack:///./src/design/symbols/htmlSymbols.js","webpack:///./src/mixins/shared/record/recordBadgeMixin.js","webpack:///../../../src/mixins/routable/index.ts","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/mixins/measurable/index.ts","webpack:///../../../src/components/VProgressCircular/VProgressCircular.ts","webpack:///../../../src/components/VBadge/VBadge.ts","webpack:///./src/model/folder/folderModel.js","webpack:///./src/mixins/shared/record/recordIconMixin.js","webpack:///../../../src/components/VProgressCircular/index.ts","webpack:///../../../src/components/VBtn/VBtn.ts","webpack:///../../../src/components/VSheet/VSheet.ts","webpack:///../../../src/mixins/roundable/index.ts","webpack:///../../../src/mixins/elevatable/index.ts","webpack:///../../../src/mixins/toggleable/index.ts","webpack:///../../../src/mixins/transitionable/index.ts"],"names":["VSheet","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","Vue","extend","name","directives","Ripple","activeClass","append","exact","exactPath","exactActiveClass","link","href","Object","to","nuxt","replace","ripple","tag","target","isActive","proxyClass","classes","computedRipple","_a","isClickable","$listeners","$attrs","tabindex","styles","watch","$route","mounted","onRouteChange","generateRouteLink","attrs","class","style","value","ref","path","trim","assign","$refs","$nextTick","getObjectValueByPath","toggle","scopedSlots","key","fn","domProps","_vm","_u","proxy","staticRenderFns","mixins","recordIconMixin","components","RecordBadgeBase","component","height","Number","maxHeight","maxWidth","minHeight","minWidth","width","measurableStyles","convertToUnit","Colorable","intersect","button","indeterminate","rotate","size","radius","isVisible","calculatedSize","circumference","Math","PI","normalizedValue","parseFloat","strokeDashArray","round","strokeDashOffset","strokeWidth","viewBoxSize","svgStyles","transform","genCircle","offset","$createElement","fill","cx","cy","r","genSvg","children","xmlns","viewBox","genInfo","staticClass","getSlot","onObserve","entries","observer","isIntersecting","render","h","setTextColor","color","role","on","PositionableFactory","Themeable","Toggleable","Transitionable","avatar","bordered","content","required","dot","label","icon","inline","offsetX","offsetY","overlap","tile","transition","bottom","left","themeClasses","computedBottom","computedYOffset","computedLeft","isRtl","computedXOffset","computedRight","computedTop","calcPosition","$vuetify","rtl","right","top","genBadge","lang","t","setBackgroundColor","title","badge","genBadgeContent","origin","mode","slot","VIcon","genBadgeWrapper","_x","_y","_z","unshift","push","folderColor","Color","colorMD","yellow","variantType","darken","variantNumber","n2","documentColor","indigo","n1","folderColorClass","getClassColor","documentColorClass","menuItemSettingsMixin","recordIcon","recordTypeId","recordType","FILE","findFileTypeIcon","extension","findRecordTypeIcon","recordTypeIcon","typeId","_record$recordTypeId","recordTypeIconColorClass","RECORD","FOLDER","MEETING","SECTION","ITEM","DOCUMENT","menuItemColorClass","VProgressCircular","baseMixins","Routable","Positionable","Sizeable","GroupableFactory","ToggleableFactory","btnToggle","block","depressed","fab","loading","outlined","plain","retainFocusOnClick","rounded","text","options","call","absolute","isElevated","fixed","hasBg","isRound","groupClasses","elevationClasses","sizeableClasses","computedElevation","Elevatable","defaultRipple","circle","elevation","created","breakingProps","forEach","original","replacement","hasOwnProperty","breaking","e","detail","$el","blur","genContent","genLoader","setColor","includes","JSON","stringify","BindsAttrs","Measurable","Roundable","shaped","roundedClasses","listeners$","$slots","composite","values","split","length","join","isNaN","parseInt","factory","prop","event","model","val"],"mappings":"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","file":"js/chunk-d009fc90.833d727d.js","sourcesContent":["import VSheet from './VSheet'\n\nexport { VSheet }\nexport default VSheet\n","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","import Vue, { VNodeData, PropType } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'routable',\n\n directives: {\n Ripple,\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType,\n default: undefined,\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null,\n },\n tag: String,\n target: String,\n },\n\n data: () => ({\n isActive: false,\n proxyClass: '',\n }),\n\n computed: {\n classes (): object {\n const classes: Record = {}\n\n if (this.to) return classes\n\n if (this.activeClass) classes[this.activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$listeners.click ||\n this.$listeners['!click'] ||\n this.$attrs.tabindex\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({}),\n },\n\n watch: {\n $route: 'onRouteChange',\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const data: VNodeData = {\n attrs: {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n },\n class: this.classes,\n style: this.styles,\n props: {},\n directives: [{\n name: 'ripple',\n value: this.computedRipple,\n }],\n [this.to ? 'nativeOn' : 'on']: {\n ...this.$listeners,\n ...('click' in this ? { click: (this as any).click } : undefined), // #14447\n },\n ref: 'link',\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = this.nuxt ? 'nuxt-link' : 'router-link'\n Object.assign(data.props, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace,\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.attrs!.href = this.href\n }\n\n if (this.target) data.attrs!.target = this.target\n\n return { tag, data }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass || ''} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass || ''} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n },\n },\n})\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","// Helpers\nimport { convertToUnit } from '../../util/helpers'\n\n// Types\nimport Vue, { PropType } from 'vue'\n\nexport type NumberOrNumberString = PropType\n\nexport default Vue.extend({\n name: 'measurable',\n\n props: {\n height: [Number, String] as NumberOrNumberString,\n maxHeight: [Number, String] as NumberOrNumberString,\n maxWidth: [Number, String] as NumberOrNumberString,\n minHeight: [Number, String] as NumberOrNumberString,\n minWidth: [Number, String] as NumberOrNumberString,\n width: [Number, String] as NumberOrNumberString,\n },\n\n computed: {\n measurableStyles (): object {\n const styles: Record = {}\n\n const height = convertToUnit(this.height)\n const minHeight = convertToUnit(this.minHeight)\n const minWidth = convertToUnit(this.minWidth)\n const maxHeight = convertToUnit(this.maxHeight)\n const maxWidth = convertToUnit(this.maxWidth)\n const width = convertToUnit(this.width)\n\n if (height) styles.height = height\n if (minHeight) styles.minHeight = minHeight\n if (minWidth) styles.minWidth = minWidth\n if (maxHeight) styles.maxHeight = maxHeight\n if (maxWidth) styles.maxWidth = maxWidth\n if (width) styles.width = width\n\n return styles\n },\n },\n})\n","// Styles\nimport './VProgressCircular.sass'\n\n// Directives\nimport intersect from '../../directives/intersect'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\n\n// Utils\nimport { convertToUnit, getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeChildren } from 'vue'\n\n/* @vue/component */\nexport default Colorable.extend({\n name: 'v-progress-circular',\n\n directives: { intersect },\n\n props: {\n button: Boolean,\n indeterminate: Boolean,\n rotate: {\n type: [Number, String],\n default: 0,\n },\n size: {\n type: [Number, String],\n default: 32,\n },\n width: {\n type: [Number, String],\n default: 4,\n },\n value: {\n type: [Number, String],\n default: 0,\n },\n },\n\n data: () => ({\n radius: 20,\n isVisible: true,\n }),\n\n computed: {\n calculatedSize (): number {\n return Number(this.size) + (this.button ? 8 : 0)\n },\n\n circumference (): number {\n return 2 * Math.PI * this.radius\n },\n\n classes (): object {\n return {\n 'v-progress-circular--visible': this.isVisible,\n 'v-progress-circular--indeterminate': this.indeterminate,\n 'v-progress-circular--button': this.button,\n }\n },\n\n normalizedValue (): number {\n if (this.value < 0) {\n return 0\n }\n\n if (this.value > 100) {\n return 100\n }\n\n return parseFloat(this.value)\n },\n\n strokeDashArray (): number {\n return Math.round(this.circumference * 1000) / 1000\n },\n\n strokeDashOffset (): string {\n return ((100 - this.normalizedValue) / 100) * this.circumference + 'px'\n },\n\n strokeWidth (): number {\n return Number(this.width) / +this.size * this.viewBoxSize * 2\n },\n\n styles (): object {\n return {\n height: convertToUnit(this.calculatedSize),\n width: convertToUnit(this.calculatedSize),\n }\n },\n\n svgStyles (): object {\n return {\n transform: `rotate(${Number(this.rotate)}deg)`,\n }\n },\n\n viewBoxSize (): number {\n return this.radius / (1 - Number(this.width) / +this.size)\n },\n },\n\n methods: {\n genCircle (name: string, offset: string | number): VNode {\n return this.$createElement('circle', {\n class: `v-progress-circular__${name}`,\n attrs: {\n fill: 'transparent',\n cx: 2 * this.viewBoxSize,\n cy: 2 * this.viewBoxSize,\n r: this.radius,\n 'stroke-width': this.strokeWidth,\n 'stroke-dasharray': this.strokeDashArray,\n 'stroke-dashoffset': offset,\n },\n })\n },\n genSvg (): VNode {\n const children = [\n this.indeterminate || this.genCircle('underlay', 0),\n this.genCircle('overlay', this.strokeDashOffset),\n ] as VNodeChildren\n\n return this.$createElement('svg', {\n style: this.svgStyles,\n attrs: {\n xmlns: 'http://www.w3.org/2000/svg',\n viewBox: `${this.viewBoxSize} ${this.viewBoxSize} ${2 * this.viewBoxSize} ${2 * this.viewBoxSize}`,\n },\n }, children)\n },\n genInfo (): VNode {\n return this.$createElement('div', {\n staticClass: 'v-progress-circular__info',\n }, getSlot(this))\n },\n onObserve (entries: IntersectionObserverEntry[], observer: IntersectionObserver, isIntersecting: boolean) {\n this.isVisible = isIntersecting\n },\n },\n\n render (h): VNode {\n return h('div', this.setTextColor(this.color, {\n staticClass: 'v-progress-circular',\n attrs: {\n role: 'progressbar',\n 'aria-valuemin': 0,\n 'aria-valuemax': 100,\n 'aria-valuenow': this.indeterminate ? undefined : this.normalizedValue,\n },\n class: this.classes,\n directives: [{\n name: 'intersect',\n value: this.onObserve,\n }],\n style: this.styles,\n on: this.$listeners,\n }), [\n this.genSvg(),\n this.genInfo(),\n ])\n },\n})\n","// 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 {\r\n Color,\r\n colorMD,\r\n variantNumber,\r\n variantType\r\n} from \"@/design/colors/Color\";\r\n\r\n/**\r\n * Get Material Design folder Color\r\n * @returns {{name:string, variant: string, variantNumber:number}}\r\n */\r\nconst folderColor = new Color(\r\n colorMD.yellow,\r\n variantType.darken,\r\n variantNumber.n2\r\n);\r\n\r\n/**\r\n * Get Material Design compound document Color\r\n */\r\nconst documentColor = new Color(\r\n colorMD.indigo,\r\n variantType.darken,\r\n variantNumber.n1\r\n);\r\n\r\n/**\r\n * Folder Color Class\r\n * @returns {string|*}\r\n */\r\nconst folderColorClass = folderColor.getClassColor();\r\n\r\n/**\r\n * Compound document Color Class\r\n * @type {string|*}\r\n */\r\nconst documentColorClass = documentColor.getClassColor();\r\n\r\nexport { folderColor, documentColor, folderColorClass, documentColorClass };\r\n","// model\r\nimport { recordType, findRecordTypeIcon } from \"@/model/record/recordModel\";\r\nimport {\r\n documentColorClass,\r\n folderColorClass\r\n} from \"@/model/folder/folderModel\";\r\nimport { findFileTypeIcon } from \"@/model/record/fileModel\";\r\n\r\n// mixins\r\nimport { menuItemSettingsMixin } from \"../base/settings/menuItemSettingsMixin\";\r\n\r\nexport const recordIconMixin = {\r\n mixins: [menuItemSettingsMixin],\r\n methods: {\r\n /**\r\n * Get record Icon name\r\n * @param {{recordTypeId:number, children:number, extension:string}} record\r\n * @return {string|string}\r\n */\r\n recordIcon(record) {\r\n if (!record) {\r\n return undefined;\r\n }\r\n switch (record.recordTypeId) {\r\n // case recordType.FOLDER:\r\n // case recordType.DOCUMENT: {\r\n // return (record?.children ?? 0) > 0\r\n // ? iconFolderPlus\r\n // : findRecordTypeIcon(type);\r\n // }\r\n // case recordType.SECTION: {\r\n // return (record?.children ?? 0) > 0\r\n // ? iconAgendaSectionPlus\r\n // : findRecordTypeIcon(type);\r\n // }\r\n case recordType.FILE: {\r\n return findFileTypeIcon(record.extension);\r\n }\r\n default: {\r\n return findRecordTypeIcon(record.recordTypeId);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Get record Type Icon\r\n * @param {Number|number} typeId\r\n * @return {string}\r\n */\r\n recordTypeIcon(typeId) {\r\n return findRecordTypeIcon(typeId);\r\n },\r\n\r\n /**\r\n * Get record Icon Color Class\r\n * @param {{recordTypeId:number}} record\r\n * @return {undefined|string}\r\n */\r\n recordIconColorClass(record) {\r\n return record\r\n ? this.recordTypeIconColorClass(\r\n record?.recordTypeId ?? recordType.RECORD\r\n )\r\n : undefined;\r\n },\r\n\r\n /**\r\n * record Type Icon Color Class\r\n * @param {Number|number} typeId\r\n * @return {undefined|string}\r\n */\r\n recordTypeIconColorClass(typeId) {\r\n switch (typeId) {\r\n case recordType.FOLDER:\r\n case recordType.MEETING:\r\n case recordType.SECTION:\r\n case recordType.ITEM: {\r\n return folderColorClass;\r\n }\r\n case recordType.DOCUMENT: {\r\n return documentColorClass;\r\n }\r\n case recordType.RECORD: {\r\n return undefined;\r\n }\r\n default: {\r\n return this.menuItemColorClass;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n","import VProgressCircular from './VProgressCircular'\n\nexport { VProgressCircular }\nexport default VProgressCircular\n","// Styles\nimport './VBtn.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VProgressCircular from '../VProgressCircular'\n\n// Mixins\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport { factory as ToggleableFactory } from '../../mixins/toggleable'\nimport Elevatable from '../../mixins/elevatable'\nimport Positionable from '../../mixins/positionable'\nimport Routable from '../../mixins/routable'\nimport Sizeable from '../../mixins/sizeable'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\nimport { PropValidator, PropType } from 'vue/types/options'\nimport { RippleOptions } from '../../directives/ripple'\n\nconst baseMixins = mixins(\n VSheet,\n Routable,\n Positionable,\n Sizeable,\n GroupableFactory('btnToggle'),\n ToggleableFactory('inputValue')\n /* @vue/component */\n)\ninterface options extends ExtractVue {\n $el: HTMLElement\n}\n\nexport default baseMixins.extend().extend({\n name: 'v-btn',\n\n props: {\n activeClass: {\n type: String,\n default (): string | undefined {\n if (!this.btnToggle) return ''\n\n return this.btnToggle.activeClass\n },\n } as any as PropValidator,\n block: Boolean,\n depressed: Boolean,\n fab: Boolean,\n icon: Boolean,\n loading: Boolean,\n outlined: Boolean,\n plain: Boolean,\n retainFocusOnClick: Boolean,\n rounded: Boolean,\n tag: {\n type: String,\n default: 'button',\n },\n text: Boolean,\n tile: Boolean,\n type: {\n type: String,\n default: 'button',\n },\n value: null as any as PropType,\n },\n\n data: () => ({\n proxyClass: 'v-btn--active',\n }),\n\n computed: {\n classes (): any {\n return {\n 'v-btn': true,\n ...Routable.options.computed.classes.call(this),\n 'v-btn--absolute': this.absolute,\n 'v-btn--block': this.block,\n 'v-btn--bottom': this.bottom,\n 'v-btn--disabled': this.disabled,\n 'v-btn--is-elevated': this.isElevated,\n 'v-btn--fab': this.fab,\n 'v-btn--fixed': this.fixed,\n 'v-btn--has-bg': this.hasBg,\n 'v-btn--icon': this.icon,\n 'v-btn--left': this.left,\n 'v-btn--loading': this.loading,\n 'v-btn--outlined': this.outlined,\n 'v-btn--plain': this.plain,\n 'v-btn--right': this.right,\n 'v-btn--round': this.isRound,\n 'v-btn--rounded': this.rounded,\n 'v-btn--router': this.to,\n 'v-btn--text': this.text,\n 'v-btn--tile': this.tile,\n 'v-btn--top': this.top,\n ...this.themeClasses,\n ...this.groupClasses,\n ...this.elevationClasses,\n ...this.sizeableClasses,\n }\n },\n computedElevation (): string | number | undefined {\n if (this.disabled) return undefined\n\n return Elevatable.options.computed.computedElevation.call(this)\n },\n computedRipple (): RippleOptions | boolean {\n const defaultRipple = this.icon || this.fab ? { circle: true } : true\n if (this.disabled) return false\n else return this.ripple ?? defaultRipple\n },\n hasBg (): boolean {\n return !this.text && !this.plain && !this.outlined && !this.icon\n },\n isElevated (): boolean {\n return Boolean(\n !this.icon &&\n !this.text &&\n !this.outlined &&\n !this.depressed &&\n !this.disabled &&\n !this.plain &&\n (this.elevation == null || Number(this.elevation) > 0)\n )\n },\n isRound (): boolean {\n return Boolean(\n this.icon ||\n this.fab\n )\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['flat', 'text'],\n ['outline', 'outlined'],\n ['round', 'rounded'],\n ]\n\n /* istanbul ignore next */\n breakingProps.forEach(([original, replacement]) => {\n if (this.$attrs.hasOwnProperty(original)) breaking(original, replacement, this)\n })\n },\n\n methods: {\n click (e: MouseEvent): void {\n // TODO: Remove this in v3\n !this.retainFocusOnClick && !this.fab && e.detail && this.$el.blur()\n this.$emit('click', e)\n\n this.btnToggle && this.toggle()\n },\n genContent (): VNode {\n return this.$createElement('span', {\n staticClass: 'v-btn__content',\n }, getSlot(this))\n },\n genLoader (): VNode {\n return this.$createElement('span', {\n class: 'v-btn__loader',\n }, getSlot(this, 'loader') || [this.$createElement(VProgressCircular, {\n props: {\n indeterminate: true,\n size: 23,\n width: 2,\n },\n })])\n },\n },\n\n render (h): VNode {\n const children = [\n this.genContent(),\n this.loading && this.genLoader(),\n ]\n const { tag, data } = this.generateRouteLink()\n const setColor = this.hasBg\n ? this.setBackgroundColor\n : this.setTextColor\n\n if (tag === 'button') {\n data.attrs!.type = this.type\n data.attrs!.disabled = this.disabled\n }\n data.attrs!.value = ['string', 'number'].includes(typeof this.value)\n ? this.value\n : JSON.stringify(this.value)\n\n return h(tag, this.disabled ? data : setColor(this.color, data), children)\n },\n})\n","// Styles\nimport './VSheet.sass'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport Elevatable from '../../mixins/elevatable'\nimport Measurable from '../../mixins/measurable'\nimport Roundable from '../../mixins/roundable'\nimport Themeable from '../../mixins/themeable'\n\n// Helpers\nimport mixins from '../../util/mixins'\n\n// Types\nimport { VNode } from 'vue'\n\n/* @vue/component */\nexport default mixins(\n BindsAttrs,\n Colorable,\n Elevatable,\n Measurable,\n Roundable,\n Themeable\n).extend({\n name: 'v-sheet',\n\n props: {\n outlined: Boolean,\n shaped: Boolean,\n tag: {\n type: String,\n default: 'div',\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-sheet': true,\n 'v-sheet--outlined': this.outlined,\n 'v-sheet--shaped': this.shaped,\n ...this.themeClasses,\n ...this.elevationClasses,\n ...this.roundedClasses,\n }\n },\n styles (): object {\n return this.measurableStyles\n },\n },\n\n render (h): VNode {\n const data = {\n class: this.classes,\n style: this.styles,\n on: this.listeners$,\n }\n\n return h(\n this.tag,\n this.setBackgroundColor(this.color, data),\n this.$slots.default\n )\n },\n})\n","import Vue from 'vue'\n\n/* @vue/component */\nexport default Vue.extend({\n name: 'roundable',\n\n props: {\n rounded: [Boolean, String],\n tile: Boolean,\n },\n\n computed: {\n roundedClasses (): Record {\n const composite = []\n const rounded = typeof this.rounded === 'string'\n ? String(this.rounded)\n : this.rounded === true\n\n if (this.tile) {\n composite.push('rounded-0')\n } else if (typeof rounded === 'string') {\n const values = rounded.split(' ')\n\n for (const value of values) {\n composite.push(`rounded-${value}`)\n }\n } else if (rounded) {\n composite.push('rounded')\n }\n\n return composite.length > 0 ? {\n [composite.join(' ')]: true,\n } : {}\n },\n },\n})\n","import Vue from 'vue'\n\nexport default Vue.extend({\n name: 'elevatable',\n\n props: {\n elevation: [Number, String],\n },\n\n computed: {\n computedElevation (): string | number | undefined {\n return this.elevation\n },\n elevationClasses (): Record {\n const elevation = this.computedElevation\n\n if (elevation == null) return {}\n if (isNaN(parseInt(elevation))) return {}\n return { [`elevation-${this.elevation}`]: true }\n },\n },\n})\n","import Vue, { VueConstructor } from 'vue'\n\nexport type Toggleable = VueConstructor>\n\nexport function factory (prop?: T, event?: string): Toggleable\nexport function factory (prop = 'value', event = 'input') {\n return Vue.extend({\n name: 'toggleable',\n\n model: { prop, event },\n\n props: {\n [prop]: { required: false },\n },\n\n data () {\n return {\n isActive: !!this[prop],\n }\n },\n\n watch: {\n [prop] (val) {\n this.isActive = !!val\n },\n isActive (val) {\n !!val !== this[prop] && this.$emit(event, val)\n },\n },\n })\n}\n\n/* eslint-disable-next-line @typescript-eslint/no-redeclare */\nconst Toggleable = factory()\n\nexport default Toggleable\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":""}