@dimailn/vuetify 2.7.2-alpha39 → 2.7.2-alpha40

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/dist/vuetify.js +56 -27
  2. package/dist/vuetify.js.map +1 -1
  3. package/dist/vuetify.min.css +1 -1
  4. package/dist/vuetify.min.js +2 -2
  5. package/es5/components/VChip/VChip.js +1 -1
  6. package/es5/components/VChip/VChip.js.map +1 -1
  7. package/es5/components/VContent/VContent.js +1 -1
  8. package/es5/components/VContent/VContent.js.map +1 -1
  9. package/es5/components/VFooter/VFooter.js +1 -1
  10. package/es5/components/VFooter/VFooter.js.map +1 -1
  11. package/es5/components/VGrid/VCol.js +1 -1
  12. package/es5/components/VGrid/VCol.js.map +1 -1
  13. package/es5/components/VGrid/VContainer.js +3 -1
  14. package/es5/components/VGrid/VContainer.js.map +1 -1
  15. package/es5/components/VGrid/VRow.js +1 -1
  16. package/es5/components/VGrid/VRow.js.map +1 -1
  17. package/es5/components/VGrid/grid.js +3 -1
  18. package/es5/components/VGrid/grid.js.map +1 -1
  19. package/es5/components/VIcon/VIcon.js +1 -1
  20. package/es5/components/VIcon/VIcon.js.map +1 -1
  21. package/es5/components/VItemGroup/VItemGroup.js +1 -1
  22. package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
  23. package/es5/components/VLazy/VLazy.js +1 -1
  24. package/es5/components/VLazy/VLazy.js.map +1 -1
  25. package/es5/components/VList/VList.js +1 -1
  26. package/es5/components/VList/VList.js.map +1 -1
  27. package/es5/components/VList/VListItem.js +1 -1
  28. package/es5/components/VList/VListItem.js.map +1 -1
  29. package/es5/components/VMain/VMain.js +1 -1
  30. package/es5/components/VMain/VMain.js.map +1 -1
  31. package/es5/components/VMenu/VMenu.js +6 -2
  32. package/es5/components/VMenu/VMenu.js.map +1 -1
  33. package/es5/components/VNavigationDrawer/VNavigationDrawer.js +3 -2
  34. package/es5/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  35. package/es5/components/VSheet/VSheet.js +3 -1
  36. package/es5/components/VSheet/VSheet.js.map +1 -1
  37. package/es5/components/VSlideGroup/VSlideGroup.js +23 -15
  38. package/es5/components/VSlideGroup/VSlideGroup.js.map +1 -1
  39. package/es5/components/VSnackbar/VSnackbar.js +7 -3
  40. package/es5/components/VSnackbar/VSnackbar.js.map +1 -1
  41. package/es5/components/VStepper/VStepper.js +1 -1
  42. package/es5/components/VStepper/VStepper.js.map +1 -1
  43. package/es5/components/VToolbar/VToolbar.js +1 -1
  44. package/es5/components/VToolbar/VToolbar.js.map +1 -1
  45. package/es5/components/VTooltip/VTooltip.js +1 -1
  46. package/es5/components/VTooltip/VTooltip.js.map +1 -1
  47. package/es5/framework.js +1 -1
  48. package/es5/util/helpers.js +9 -2
  49. package/es5/util/helpers.js.map +1 -1
  50. package/lib/components/VChip/VChip.js +2 -2
  51. package/lib/components/VChip/VChip.js.map +1 -1
  52. package/lib/components/VContent/VContent.js +2 -2
  53. package/lib/components/VContent/VContent.js.map +1 -1
  54. package/lib/components/VFooter/VFooter.js +2 -2
  55. package/lib/components/VFooter/VFooter.js.map +1 -1
  56. package/lib/components/VGrid/VCol.js +2 -2
  57. package/lib/components/VGrid/VCol.js.map +1 -1
  58. package/lib/components/VGrid/VContainer.js +2 -1
  59. package/lib/components/VGrid/VContainer.js.map +1 -1
  60. package/lib/components/VGrid/VRow.js +2 -2
  61. package/lib/components/VGrid/VRow.js.map +1 -1
  62. package/lib/components/VGrid/grid.js +2 -1
  63. package/lib/components/VGrid/grid.js.map +1 -1
  64. package/lib/components/VIcon/VIcon.js +2 -2
  65. package/lib/components/VIcon/VIcon.js.map +1 -1
  66. package/lib/components/VItemGroup/VItemGroup.js +2 -2
  67. package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
  68. package/lib/components/VLazy/VLazy.js +2 -2
  69. package/lib/components/VLazy/VLazy.js.map +1 -1
  70. package/lib/components/VList/VList.js +2 -2
  71. package/lib/components/VList/VList.js.map +1 -1
  72. package/lib/components/VList/VListItem.js +2 -2
  73. package/lib/components/VList/VListItem.js.map +1 -1
  74. package/lib/components/VMain/VMain.js +2 -2
  75. package/lib/components/VMain/VMain.js.map +1 -1
  76. package/lib/components/VMenu/VMenu.js +2 -2
  77. package/lib/components/VMenu/VMenu.js.map +1 -1
  78. package/lib/components/VNavigationDrawer/VNavigationDrawer.js +4 -3
  79. package/lib/components/VNavigationDrawer/VNavigationDrawer.js.map +1 -1
  80. package/lib/components/VSheet/VSheet.js +3 -2
  81. package/lib/components/VSheet/VSheet.js.map +1 -1
  82. package/lib/components/VSlideGroup/VSlideGroup.js +2 -2
  83. package/lib/components/VSlideGroup/VSlideGroup.js.map +1 -1
  84. package/lib/components/VSnackbar/VSnackbar.js +1 -1
  85. package/lib/components/VSnackbar/VSnackbar.js.map +1 -1
  86. package/lib/components/VStepper/VStepper.js +2 -2
  87. package/lib/components/VStepper/VStepper.js.map +1 -1
  88. package/lib/components/VToolbar/VToolbar.js +2 -2
  89. package/lib/components/VToolbar/VToolbar.js.map +1 -1
  90. package/lib/components/VTooltip/VTooltip.js +2 -2
  91. package/lib/components/VTooltip/VTooltip.js.map +1 -1
  92. package/lib/framework.js +1 -1
  93. package/lib/util/helpers.js +5 -2
  94. package/lib/util/helpers.js.map +1 -1
  95. package/package.json +1 -1
  96. package/src/components/VChip/VChip.ts +2 -2
  97. package/src/components/VContent/VContent.ts +2 -2
  98. package/src/components/VFooter/VFooter.ts +2 -2
  99. package/src/components/VGrid/VCol.ts +2 -2
  100. package/src/components/VGrid/VContainer.ts +3 -1
  101. package/src/components/VGrid/VRow.ts +2 -2
  102. package/src/components/VGrid/grid.ts +3 -1
  103. package/src/components/VIcon/VIcon.ts +2 -2
  104. package/src/components/VItemGroup/VItemGroup.ts +2 -2
  105. package/src/components/VLazy/VLazy.ts +2 -2
  106. package/src/components/VList/VList.ts +2 -2
  107. package/src/components/VList/VListItem.ts +2 -2
  108. package/src/components/VMain/VMain.ts +2 -2
  109. package/src/components/VMenu/VMenu.ts +2 -2
  110. package/src/components/VNavigationDrawer/VNavigationDrawer.ts +3 -2
  111. package/src/components/VSheet/VSheet.ts +2 -1
  112. package/src/components/VSlideGroup/VSlideGroup.ts +2 -2
  113. package/src/components/VSnackbar/VSnackbar.ts +1 -1
  114. package/src/components/VStepper/VStepper.ts +2 -2
  115. package/src/components/VToolbar/VToolbar.ts +2 -2
  116. package/src/components/VTooltip/VTooltip.ts +2 -2
  117. package/src/util/helpers.ts +9 -2
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSlideGroup/VSlideGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof BaseItemGroup,\n typeof Mobile,\n ]>\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n emits: ['click:prev', 'click:next'],\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n const wrapper = this.$refs.wrapper as HTMLElement\n if (wrapper) {\n wrapper.scrollLeft = 0\n }\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$slots.next\n ? this.$slots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return h('div', {\n class: ['v-slide-group__next', {\n 'v-slide-group__next--disabled': !this.hasNext,\n }],\n onClick: () => this.onAffixClick('next'),\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return h('div', {\n class: 'v-slide-group__content',\n ref: 'content',\n onFocusin: this.onFocusin,\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes,\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return h(VIcon, {\n disabled: !hasAffix,\n }, (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$slots.prev\n ? this.$slots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return h('div', {\n class: ['v-slide-group__prev', {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n }],\n onClick: () => this.onAffixClick('prev'),\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return h(VFadeTransition, {}, [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return withDirectives(h('div', {\n class: 'v-slide-group__wrapper',\n ref: 'wrapper',\n onScroll: this.onScroll,\n }, [this.genContent()]), [\n [\n Touch,\n {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n ],\n\n ])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this.$.isUnmounted) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const content = this.$refs.content as HTMLElement\n\n if (!content) return\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const content = this.$refs.content as HTMLElement\n const wrapper = this.$refs.wrapper as HTMLElement\n\n if (!content || !wrapper) return\n\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapper = this.$refs.wrapper as HTMLElement\n\n if (!wrapper) return\n const wrapperPosition = wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this.$.isUnmounted) return\n\n const content = this.$refs.content as HTMLElement\n const wrapper = this.$refs.wrapper as HTMLElement\n\n if (!content || !wrapper) return\n\n this.widths = {\n content: content.clientWidth,\n wrapper: wrapper.clientWidth,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ]), [\n [\n Resize,\n this.onResize,\n ],\n ])\n },\n})\n\nexport default defineComponent({\n name: 'v-slide-group',\n\n extends: BaseSlideGroup,\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VSlideGroup.js"}
1
+ {"version":3,"sources":["../../../src/components/VSlideGroup/VSlideGroup.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, withDirectives } from 'vue'\n// Styles\nimport './VSlideGroup.sass'\n\n// Components\nimport VIcon from '../VIcon'\nimport { VFadeTransition } from '../transitions'\n\n// Extensions\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Mobile from '../../mixins/mobile'\n\n// Directives\nimport Resize from '../../directives/resize'\nimport Touch from '../../directives/touch'\n\n// Utilities\nimport mixins, { ExtractVue } from '../../util/mixins'\n\n// Types\nimport { VNode, defineComponent } from 'vue'\nimport { composedPath, getSlot } from '../../util/helpers'\n\ninterface TouchEvent {\n touchstartX: number\n touchstartY: number\n touchmoveX: number\n touchmoveY: number\n stopPropagation: Function\n}\n\ninterface Widths {\n content: number\n wrapper: number\n}\n\ninterface options {\n $refs: {\n content: HTMLElement\n wrapper: HTMLElement\n }\n}\n\nfunction bias (val: number) {\n const c = 0.501\n const x = Math.abs(val)\n return Math.sign(val) * (x / ((1 / c - 2) * (1 - x) + 1))\n}\n\nexport function calculateUpdatedOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean,\n currentScrollOffset: number\n): number {\n const clientWidth = selectedElement.clientWidth\n const offsetLeft = rtl\n ? (widths.content - selectedElement.offsetLeft - clientWidth)\n : selectedElement.offsetLeft\n\n if (rtl) {\n currentScrollOffset = -currentScrollOffset\n }\n\n const totalWidth = widths.wrapper + currentScrollOffset\n const itemOffset = clientWidth + offsetLeft\n const additionalOffset = clientWidth * 0.4\n\n if (offsetLeft <= currentScrollOffset) {\n currentScrollOffset = Math.max(offsetLeft - additionalOffset, 0)\n } else if (totalWidth <= itemOffset) {\n currentScrollOffset = Math.min(currentScrollOffset - (totalWidth - itemOffset - additionalOffset), widths.content - widths.wrapper)\n }\n\n return rtl ? -currentScrollOffset : currentScrollOffset\n}\n\nexport function calculateCenteredOffset (\n selectedElement: HTMLElement,\n widths: Widths,\n rtl: boolean\n): number {\n const { offsetLeft, clientWidth } = selectedElement\n\n if (rtl) {\n const offsetCentered = widths.content - offsetLeft - clientWidth / 2 - widths.wrapper / 2\n return -Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n } else {\n const offsetCentered = offsetLeft + clientWidth / 2 - widths.wrapper / 2\n return Math.min(widths.content - widths.wrapper, Math.max(0, offsetCentered))\n }\n}\n\nexport const BaseSlideGroup = mixins<options &\n/* eslint-disable indent */\n ExtractVue<[\n typeof BaseItemGroup,\n typeof Mobile,\n ]>\n/* eslint-enable indent */\n>(\n BaseItemGroup,\n Mobile,\n /* @vue/component */\n).extend({\n name: 'base-slide-group',\n\n props: {\n activeClass: {\n type: String,\n default: 'v-slide-item--active',\n },\n centerActive: Boolean,\n nextIcon: {\n type: String,\n default: '$next',\n },\n prevIcon: {\n type: String,\n default: '$prev',\n },\n showArrows: {\n type: [Boolean, String],\n validator: (v: any) => (\n typeof v === 'boolean' || [\n 'always',\n 'never',\n 'desktop',\n 'mobile',\n ].includes(v)\n ),\n },\n },\n\n emits: ['click:prev', 'click:next'],\n\n data: () => ({\n isOverflowing: false,\n resizeTimeout: 0,\n startX: 0,\n isSwipingHorizontal: false,\n isSwiping: false,\n scrollOffset: 0,\n widths: {\n content: 0,\n wrapper: 0,\n },\n }),\n\n computed: {\n canTouch (): boolean {\n return typeof window !== 'undefined'\n },\n __cachedNext (): VNode {\n return this.genTransition('next')\n },\n __cachedPrev (): VNode {\n return this.genTransition('prev')\n },\n classes (): object {\n return {\n ...BaseItemGroup.computed.classes.call(this),\n 'v-slide-group': true,\n 'v-slide-group--has-affixes': this.hasAffixes,\n 'v-slide-group--is-overflowing': this.isOverflowing,\n }\n },\n hasAffixes (): Boolean {\n switch (this.showArrows) {\n // Always show arrows on desktop & mobile\n case 'always': return true\n\n // Always show arrows on desktop\n case 'desktop': return !this.isMobile\n\n // Show arrows on mobile when overflowing.\n // This matches the default 2.2 behavior\n case true: return this.isOverflowing || Math.abs(this.scrollOffset) > 0\n\n // Always show on mobile\n case 'mobile': return (\n this.isMobile ||\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n\n // Always hide arrows\n case 'never': return false\n\n // https://material.io/components/tabs#scrollable-tabs\n // Always show arrows when\n // overflowed on desktop\n default: return (\n !this.isMobile &&\n (this.isOverflowing || Math.abs(this.scrollOffset) > 0)\n )\n }\n },\n hasNext (): boolean {\n if (!this.hasAffixes) return false\n\n const { content, wrapper } = this.widths\n\n // Check one scroll ahead to know the width of right-most item\n return content > Math.abs(this.scrollOffset) + wrapper\n },\n hasPrev (): boolean {\n return this.hasAffixes && this.scrollOffset !== 0\n },\n },\n\n watch: {\n internalValue: 'setWidths',\n // When overflow changes, the arrows alter\n // the widths of the content and wrapper\n // and need to be recalculated\n isOverflowing: 'setWidths',\n scrollOffset (val) {\n if (this.$vuetify.rtl) val = -val\n\n let scroll =\n val <= 0\n ? bias(-val)\n : val > this.widths.content - this.widths.wrapper\n ? -(this.widths.content - this.widths.wrapper) + bias(this.widths.content - this.widths.wrapper - val)\n : -val\n\n if (this.$vuetify.rtl) scroll = -scroll\n\n this.$refs.content.style.transform = `translateX(${scroll}px)`\n },\n },\n\n mounted () {\n if (typeof ResizeObserver !== 'undefined') {\n const obs = new ResizeObserver(() => {\n this.onResize()\n })\n obs.observe(this.$el)\n obs.observe(this.$refs.content)\n this.$on('hook:destroyed', () => {\n obs.disconnect()\n })\n } else {\n let itemsLength = 0\n this.$on('hook:beforeUpdate', () => {\n itemsLength = (this.$refs.content?.children || []).length\n })\n this.$on('hook:updated', () => {\n if (itemsLength === (this.$refs.content?.children || []).length) return\n this.setWidths()\n })\n }\n },\n\n methods: {\n onScroll () {\n const wrapper = this.$refs.wrapper as HTMLElement\n if (wrapper) {\n wrapper.scrollLeft = 0\n }\n },\n onFocusin (e: FocusEvent) {\n if (!this.isOverflowing) return\n\n // Focused element is likely to be the root of an item, so a\n // breadth-first search will probably find it in the first iteration\n for (const el of composedPath(e)) {\n for (const vm of this.items) {\n if (vm.$el === el) {\n this.scrollOffset = calculateUpdatedOffset(\n vm.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n return\n }\n }\n }\n },\n // Always generate next for scrollable hint\n genNext (): VNode | null {\n const slot = this.$slots.next\n ? this.$slots.next({})\n : getSlot(this, 'next') || this.__cachedNext\n\n return h('div', {\n class: ['v-slide-group__next', {\n 'v-slide-group__next--disabled': !this.hasNext,\n }],\n onClick: () => this.onAffixClick('next'),\n key: 'next',\n }, [slot])\n },\n genContent (): VNode {\n return h('div', {\n class: 'v-slide-group__content',\n ref: 'content',\n onFocusin: this.onFocusin,\n }, getSlot(this))\n },\n genData (): object {\n return {\n class: this.classes,\n }\n },\n genIcon (location: 'prev' | 'next'): VNode | null {\n let icon = location\n\n if (this.$vuetify.rtl && location === 'prev') {\n icon = 'next'\n } else if (this.$vuetify.rtl && location === 'next') {\n icon = 'prev'\n }\n\n const upperLocation = `${location[0].toUpperCase()}${location.slice(1)}`\n const hasAffix = (this as any)[`has${upperLocation}`]\n\n if (\n !this.showArrows &&\n !hasAffix\n ) return null\n\n return h(VIcon, {\n disabled: !hasAffix,\n }, () => (this as any)[`${icon}Icon`])\n },\n // Always generate prev for scrollable hint\n genPrev (): VNode | null {\n const slot = this.$slots.prev\n ? this.$slots.prev({})\n : getSlot(this, 'prev') || this.__cachedPrev\n\n return h('div', {\n class: ['v-slide-group__prev', {\n 'v-slide-group__prev--disabled': !this.hasPrev,\n }],\n onClick: () => this.onAffixClick('prev'),\n key: 'prev',\n }, [slot])\n },\n genTransition (location: 'prev' | 'next') {\n return h(VFadeTransition, {}, () => [this.genIcon(location)])\n },\n genWrapper (): VNode {\n return withDirectives(h('div', {\n class: 'v-slide-group__wrapper',\n ref: 'wrapper',\n onScroll: this.onScroll,\n }, [this.genContent()]), [\n [\n Touch,\n {\n start: (e: TouchEvent) => this.overflowCheck(e, this.onTouchStart),\n move: (e: TouchEvent) => this.overflowCheck(e, this.onTouchMove),\n end: (e: TouchEvent) => this.overflowCheck(e, this.onTouchEnd),\n },\n ],\n\n ])\n },\n calculateNewOffset (direction: 'prev' | 'next', widths: Widths, rtl: boolean, currentScrollOffset: number) {\n const sign = rtl ? -1 : 1\n const newAbosluteOffset = sign * currentScrollOffset +\n (direction === 'prev' ? -1 : 1) * widths.wrapper\n\n return sign * Math.max(Math.min(newAbosluteOffset, widths.content - widths.wrapper), 0)\n },\n onAffixClick (location: 'prev' | 'next') {\n this.$emit(`click:${location}`)\n this.scrollTo(location)\n },\n onResize () {\n /* istanbul ignore next */\n if (this.$.isUnmounted) return\n\n this.setWidths()\n },\n onTouchStart (e: TouchEvent) {\n const content = this.$refs.content as HTMLElement\n\n if (!content) return\n\n this.startX = this.scrollOffset + e.touchstartX as number\n\n content.style.setProperty('transition', 'none')\n content.style.setProperty('willChange', 'transform')\n },\n onTouchMove (e: TouchEvent) {\n if (!this.canTouch) return\n\n if (!this.isSwiping) {\n // only calculate disableSwipeHorizontal during the first onTouchMove invoke\n // in order to ensure disableSwipeHorizontal value is consistent between onTouchStart and onTouchEnd\n const diffX = e.touchmoveX - e.touchstartX\n const diffY = e.touchmoveY - e.touchstartY\n this.isSwipingHorizontal = Math.abs(diffX) > Math.abs(diffY)\n this.isSwiping = true\n }\n\n if (this.isSwipingHorizontal) {\n // sliding horizontally\n this.scrollOffset = this.startX - e.touchmoveX\n // temporarily disable window vertical scrolling\n document.documentElement.style.overflowY = 'hidden'\n }\n },\n onTouchEnd () {\n if (!this.canTouch) return\n\n const content = this.$refs.content as HTMLElement\n const wrapper = this.$refs.wrapper as HTMLElement\n\n if (!content || !wrapper) return\n\n const maxScrollOffset = content.clientWidth - wrapper.clientWidth\n\n content.style.setProperty('transition', null)\n content.style.setProperty('willChange', null)\n\n if (this.$vuetify.rtl) {\n /* istanbul ignore else */\n if (this.scrollOffset > 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset <= -maxScrollOffset) {\n this.scrollOffset = -maxScrollOffset\n }\n } else {\n /* istanbul ignore else */\n if (this.scrollOffset < 0 || !this.isOverflowing) {\n this.scrollOffset = 0\n } else if (this.scrollOffset >= maxScrollOffset) {\n this.scrollOffset = maxScrollOffset\n }\n }\n\n this.isSwiping = false\n // rollback whole page scrolling to default\n document.documentElement.style.removeProperty('overflow-y')\n },\n overflowCheck (e: TouchEvent, fn: (e: TouchEvent) => void) {\n e.stopPropagation()\n this.isOverflowing && fn(e)\n },\n scrollIntoView /* istanbul ignore next */ () {\n if (!this.selectedItem && this.items.length) {\n const lastItemPosition = this.items[this.items.length - 1].$el.getBoundingClientRect()\n const wrapper = this.$refs.wrapper as HTMLElement\n\n if (!wrapper) return\n const wrapperPosition = wrapper.getBoundingClientRect()\n\n if (\n (this.$vuetify.rtl && wrapperPosition.right < lastItemPosition.right) ||\n (!this.$vuetify.rtl && wrapperPosition.left > lastItemPosition.left)\n ) {\n this.scrollTo('prev')\n }\n }\n\n if (!this.selectedItem) {\n return\n }\n\n if (\n this.selectedIndex === 0 ||\n (!this.centerActive && !this.isOverflowing)\n ) {\n this.scrollOffset = 0\n } else if (this.centerActive) {\n this.scrollOffset = calculateCenteredOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl\n )\n } else if (this.isOverflowing) {\n this.scrollOffset = calculateUpdatedOffset(\n this.selectedItem.$el as HTMLElement,\n this.widths,\n this.$vuetify.rtl,\n this.scrollOffset\n )\n }\n },\n scrollTo /* istanbul ignore next */ (location: 'prev' | 'next') {\n this.scrollOffset = this.calculateNewOffset(location, {\n // Force reflow\n content: this.$refs.content ? this.$refs.content.clientWidth : 0,\n wrapper: this.$refs.wrapper ? this.$refs.wrapper.clientWidth : 0,\n }, this.$vuetify.rtl, this.scrollOffset)\n },\n setWidths () {\n window.requestAnimationFrame(() => {\n if (this.$.isUnmounted) return\n\n const content = this.$refs.content as HTMLElement\n const wrapper = this.$refs.wrapper as HTMLElement\n\n if (!content || !wrapper) return\n\n this.widths = {\n content: content.clientWidth,\n wrapper: wrapper.clientWidth,\n }\n\n // https://github.com/vuetifyjs/vuetify/issues/13212\n // We add +1 to the wrappers width to prevent an issue where the `clientWidth`\n // gets calculated wrongly by the browser if using a different zoom-level.\n this.isOverflowing = this.widths.wrapper + 1 < this.widths.content\n\n this.scrollIntoView()\n })\n },\n },\n\n render (): VNode {\n return withDirectives(h('div', this.genData(), [\n this.genPrev(),\n this.genWrapper(),\n this.genNext(),\n ]), [\n [\n Resize,\n this.onResize,\n ],\n ])\n },\n})\n\nexport default defineComponent({\n name: 'v-slide-group',\n\n extends: BaseSlideGroup,\n\n provide (): object {\n return {\n slideGroup: this,\n }\n },\n})\n"],"sourceRoot":"","file":"VSlideGroup.js"}
@@ -148,7 +148,7 @@ export default mixins(VSheet, Colorable, Toggleable, PositionableFactory(['absol
148
148
  genTransition() {
149
149
  return h(Transition, {
150
150
  name: this.transition
151
- }, [this.genWrapper()]);
151
+ }, () => [this.genWrapper()]);
152
152
  },
153
153
 
154
154
  setTimeout() {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VSnackbar/VSnackbar.ts"],"names":[],"mappings":"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","sourcesContent":["import {Transition, h, vShow, withDirectives} from 'vue'\n// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { deprecate, removed } from '../../util/console'\n\n// Types\nimport { PropType, VNode } from 'vue'\n\nexport default mixins(\n VSheet,\n Colorable,\n Toggleable,\n PositionableFactory([\n 'absolute',\n 'bottom',\n 'left',\n 'right',\n 'top',\n ])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n transition: {\n type: [Boolean, String] as PropType<false | string>,\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n emits: ['update:modelValue'],\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground (): boolean {\n return (\n !this.text &&\n !this.outlined\n )\n },\n // Snackbar is dark by default\n // override themeable logic.\n isDark (): boolean {\n return this.hasBackground\n ? !this.light\n : Themeable.computed.isDark.call(this)\n },\n styles (): object {\n if (this.absolute || !this.app) return {}\n\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top,\n } = this.$vuetify.application\n\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: convertToUnit(left),\n paddingRight: convertToUnit(right),\n paddingTop: convertToUnit(bar + top),\n }\n },\n },\n\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout',\n },\n\n mounted () {\n if (this.isActive) this.setTimeout()\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this)\n }\n },\n\n methods: {\n genActions () {\n return h('div', {\n class: 'v-snack__action ',\n }, [\n getSlot(this, 'action', {\n attrs: { class: 'v-snack__btn' },\n }),\n ])\n },\n genContent () {\n return h('div', {\n class: ['v-snack__content', {\n [this.contentClass]: true,\n }],\n role: 'status',\n 'aria-live': 'polite'\n }, [getSlot(this)])\n },\n genWrapper () {\n const setColor = this.hasBackground\n ? this.setBackgroundColor\n : this.setTextColor\n\n const data = setColor(this.color, {\n class: ['v-snack__wrapper', VSheet.computed.classes.call(this)],\n style: VSheet.computed.styles.call(this),\n onPointerenter: () => window.clearTimeout(this.activeTimeout),\n onPointerleave: this.setTimeout\n })\n\n const directives = [\n [\n vShow,\n this.isActive\n ]\n ]\n\n return withDirectives(h('div', data, [\n this.genContent(),\n this.genActions(),\n ]), directives)\n },\n genTransition () {\n return h(Transition, {\n name: this.transition,\n }, [this.genWrapper()])\n },\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n const timeout = Number(this.timeout)\n\n if (\n !this.isActive ||\n // TODO: remove 0 in v3\n [0, -1].includes(timeout)\n ) {\n return\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, timeout)\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-snack', this.classes],\n style: this.styles,\n }, [\n this.transition !== false\n ? this.genTransition()\n : this.genWrapper(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VSnackbar.js"}
1
+ {"version":3,"sources":["../../../src/components/VSnackbar/VSnackbar.ts"],"names":[],"mappings":"AAAA,SAAQ,UAAR,EAAoB,CAApB,EAAuB,KAAvB,EAA8B,cAA9B,QAAmD,KAAnD,C,CACA;;AACA,OAAO,kDAAP,C,CAEA;;AACA,OAAO,MAAP,MAAmB,kBAAnB,C,CAEA;;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,SAAP,MAAsB,wBAAtB;AACA,OAAO,UAAP,MAAuB,yBAAvB;AACA,SAAS,OAAO,IAAI,mBAApB,QAA+C,2BAA/C,C,CAEA;;AACA,OAAO,MAAP,MAAmB,mBAAnB;AACA,SAAS,aAAT,EAAwB,OAAxB,QAAuC,oBAAvC;AACA,SAAS,SAAT,EAAoB,OAApB,QAAmC,oBAAnC;AAKA,eAAe,MAAM,CACnB,MADmB,EAEnB,SAFmB,EAGnB,UAHmB,EAInB,mBAAmB,CAAC,CAClB,UADkB,EAElB,QAFkB,EAGlB,MAHkB,EAIlB,OAJkB,EAKlB,KALkB,CAAD;AAOrB;AAXqB,CAAN,CAYb,MAZa,CAYN;AACP,EAAA,IAAI,EAAE,YADC;AAGP,EAAA,KAAK,EAAE;AACL,IAAA,GAAG,EAAE,OADA;AAEL,IAAA,QAAQ,EAAE,OAFL;AAGL,IAAA,YAAY,EAAE;AACZ,MAAA,IAAI,EAAE,MADM;AAEZ,MAAA,OAAO,EAAE;AAFG,KAHT;AAOL,IAAA,SAAS,EAAE,OAPN;AAQL,IAAA,IAAI,EAAE,OARD;AASL,IAAA,OAAO,EAAE;AACP,MAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CADC;AAEP,MAAA,OAAO,EAAE;AAFF,KATJ;AAaL,IAAA,UAAU,EAAE;AACV,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADI;AAEV,MAAA,OAAO,EAAE,oBAFC;AAGV,MAAA,SAAS,EAAE,CAAC,IAAI,OAAO,CAAP,KAAa,QAAb,IAAyB,CAAC,KAAK;AAHrC,KAbP;AAkBL,IAAA,QAAQ,EAAE;AAlBL,GAHA;AAuBP,EAAA,KAAK,EAAE,CAAC,mBAAD,CAvBA;AAwBP,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,aAAa,EAAE,CAAC;AADL,GAAP,CAxBC;AA4BP,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,aAAO;AACL,6BAAqB,KAAK,QADrB;AAEL,2BAAmB,KAAK,QAFnB;AAGL,2BAAmB,KAAK,MAAL,IAAe,CAAC,KAAK,GAHnC;AAIL,6BAAqB,KAAK,QAJrB;AAKL,mCAA2B,KAAK,aAL3B;AAML,yBAAiB,KAAK,IANjB;AAOL,+BAAuB,KAAK,SAAL,IAAkB,CAAC,KAAK,QAP1C;AAQL,0BAAkB,KAAK,KARlB;AASL,yBAAiB,KAAK,IATjB;AAUL,wBAAgB,KAAK,GAVhB;AAWL,6BAAqB,KAAK;AAXrB,OAAP;AAaD,KAfO;;AAgBR;AACA;AACA,IAAA,aAAa,GAAA;AACX,aACE,CAAC,KAAK,IAAN,IACA,CAAC,KAAK,QAFR;AAID,KAvBO;;AAwBR;AACA;AACA,IAAA,MAAM,GAAA;AACJ,aAAO,KAAK,aAAL,GACH,CAAC,KAAK,KADH,GAEH,SAAS,CAAC,QAAV,CAAmB,MAAnB,CAA0B,IAA1B,CAA+B,IAA/B,CAFJ;AAGD,KA9BO;;AA+BR,IAAA,MAAM,GAAA;AACJ,UAAI,KAAK,QAAL,IAAiB,CAAC,KAAK,GAA3B,EAAgC,OAAO,EAAP;AAEhC,YAAM;AACJ,QAAA,GADI;AAEJ,QAAA,MAFI;AAGJ,QAAA,MAHI;AAIJ,QAAA,WAJI;AAKJ,QAAA,IALI;AAMJ,QAAA,KANI;AAOJ,QAAA;AAPI,UAQF,KAAK,QAAL,CAAc,WARlB;AAUA,aAAO;AACL,QAAA,aAAa,EAAE,aAAa,CAAC,MAAM,GAAG,MAAT,GAAkB,WAAnB,CADvB;AAEL,QAAA,WAAW,EAAE,aAAa,CAAC,IAAD,CAFrB;AAGL,QAAA,YAAY,EAAE,aAAa,CAAC,KAAD,CAHtB;AAIL,QAAA,UAAU,EAAE,aAAa,CAAC,GAAG,GAAG,GAAP;AAJpB,OAAP;AAMD;;AAlDO,GA5BH;AAiFP,EAAA,KAAK,EAAE;AACL,IAAA,QAAQ,EAAE,YADL;AAEL,IAAA,OAAO,EAAE;AAFJ,GAjFA;;AAsFP,EAAA,OAAO,GAAA;AACL,QAAI,KAAK,QAAT,EAAmB,KAAK,UAAL;AACpB,GAxFM;;AA0FP,EAAA,OAAO,GAAA;AACL;AACA,QAAI,KAAK,MAAL,CAAY,cAAZ,CAA2B,aAA3B,CAAJ,EAA+C;AAC7C,MAAA,OAAO,CAAC,aAAD,EAAgB,IAAhB,CAAP;AACD;AAED;AACA;;;AACA,QAAI,KAAK,OAAL,IAAgB,CAApB,EAAuB;AACrB,MAAA,SAAS,CAAC,aAAD,EAAgB,IAAhB,EAAsB,IAAtB,CAAT;AACD;AACF,GArGM;;AAuGP,EAAA,OAAO,EAAE;AACP,IAAA,UAAU,GAAA;AACR,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE;AADO,OAAR,EAEL,CACD,OAAO,CAAC,IAAD,EAAO,QAAP,EAAiB;AACtB,QAAA,KAAK,EAAE;AAAE,UAAA,KAAK,EAAE;AAAT;AADe,OAAjB,CADN,CAFK,CAAR;AAOD,KATM;;AAUP,IAAA,UAAU,GAAA;AACR,aAAO,CAAC,CAAC,KAAD,EAAQ;AACd,QAAA,KAAK,EAAE,CAAC,kBAAD,EAAqB;AAC1B,WAAC,KAAK,YAAN,GAAqB;AADK,SAArB,CADO;AAId,QAAA,IAAI,EAAE,QAJQ;AAKd,qBAAa;AALC,OAAR,EAML,CAAC,OAAO,CAAC,IAAD,CAAR,CANK,CAAR;AAOD,KAlBM;;AAmBP,IAAA,UAAU,GAAA;AACR,YAAM,QAAQ,GAAG,KAAK,aAAL,GACb,KAAK,kBADQ,GAEb,KAAK,YAFT;AAIA,YAAM,IAAI,GAAG,QAAQ,CAAC,KAAK,KAAN,EAAa;AAChC,QAAA,KAAK,EAAE,CAAC,kBAAD,EAAqB,MAAM,CAAC,QAAP,CAAgB,OAAhB,CAAwB,IAAxB,CAA6B,IAA7B,CAArB,CADyB;AAEhC,QAAA,KAAK,EAAE,MAAM,CAAC,QAAP,CAAgB,MAAhB,CAAuB,IAAvB,CAA4B,IAA5B,CAFyB;AAGhC,QAAA,cAAc,EAAE,MAAM,MAAM,CAAC,YAAP,CAAoB,KAAK,aAAzB,CAHU;AAIhC,QAAA,cAAc,EAAE,KAAK;AAJW,OAAb,CAArB;AAOA,YAAM,UAAU,GAAG,CACjB,CACE,KADF,EAEE,KAAK,QAFP,CADiB,CAAnB;AAOA,aAAO,cAAc,CAAC,CAAC,CAAC,KAAD,EAAQ,IAAR,EAAc,CACnC,KAAK,UAAL,EADmC,EAEnC,KAAK,UAAL,EAFmC,CAAd,CAAF,EAGjB,UAHiB,CAArB;AAID,KA1CM;;AA2CP,IAAA,aAAa,GAAA;AACX,aAAO,CAAC,CAAC,UAAD,EAAa;AACnB,QAAA,IAAI,EAAE,KAAK;AADQ,OAAb,EAEL,MAAM,CAAC,KAAK,UAAL,EAAD,CAFD,CAAR;AAGD,KA/CM;;AAgDP,IAAA,UAAU,GAAA;AACR,MAAA,MAAM,CAAC,YAAP,CAAoB,KAAK,aAAzB;AAEA,YAAM,OAAO,GAAG,MAAM,CAAC,KAAK,OAAN,CAAtB;;AAEA,UACE,CAAC,KAAK,QAAN,IACA;AACA,OAAC,CAAD,EAAI,CAAC,CAAL,EAAQ,QAAR,CAAiB,OAAjB,CAHF,EAIE;AACA;AACD;;AAED,WAAK,aAAL,GAAqB,MAAM,CAAC,UAAP,CAAkB,MAAK;AAC1C,aAAK,QAAL,GAAgB,KAAhB;AACD,OAFoB,EAElB,OAFkB,CAArB;AAGD;;AAhEM,GAvGF;;AA0KP,EAAA,MAAM,GAAA;AACJ,WAAO,CAAC,CAAC,KAAD,EAAQ;AACd,MAAA,KAAK,EAAE,CAAC,SAAD,EAAY,KAAK,OAAjB,CADO;AAEd,MAAA,KAAK,EAAE,KAAK;AAFE,KAAR,EAGL,CACD,KAAK,UAAL,KAAoB,KAApB,GACI,KAAK,aAAL,EADJ,GAEI,KAAK,UAAL,EAHH,CAHK,CAAR;AAQD;;AAnLM,CAZM,CAAf","sourcesContent":["import {Transition, h, vShow, withDirectives} from 'vue'\n// Styles\nimport './VSnackbar.sass'\n\n// Components\nimport VSheet from '../VSheet/VSheet'\n\n// Mixins\nimport Colorable from '../../mixins/colorable'\nimport Themeable from '../../mixins/themeable'\nimport Toggleable from '../../mixins/toggleable'\nimport { factory as PositionableFactory } from '../../mixins/positionable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { deprecate, removed } from '../../util/console'\n\n// Types\nimport { PropType, VNode } from 'vue'\n\nexport default mixins(\n VSheet,\n Colorable,\n Toggleable,\n PositionableFactory([\n 'absolute',\n 'bottom',\n 'left',\n 'right',\n 'top',\n ])\n/* @vue/component */\n).extend({\n name: 'v-snackbar',\n\n props: {\n app: Boolean,\n centered: Boolean,\n contentClass: {\n type: String,\n default: '',\n },\n multiLine: Boolean,\n text: Boolean,\n timeout: {\n type: [Number, String],\n default: 5000,\n },\n transition: {\n type: [Boolean, String] as PropType<false | string>,\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n emits: ['update:modelValue'],\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground (): boolean {\n return (\n !this.text &&\n !this.outlined\n )\n },\n // Snackbar is dark by default\n // override themeable logic.\n isDark (): boolean {\n return this.hasBackground\n ? !this.light\n : Themeable.computed.isDark.call(this)\n },\n styles (): object {\n if (this.absolute || !this.app) return {}\n\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top,\n } = this.$vuetify.application\n\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: convertToUnit(left),\n paddingRight: convertToUnit(right),\n paddingTop: convertToUnit(bar + top),\n }\n },\n },\n\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout',\n },\n\n mounted () {\n if (this.isActive) this.setTimeout()\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this)\n }\n },\n\n methods: {\n genActions () {\n return h('div', {\n class: 'v-snack__action ',\n }, [\n getSlot(this, 'action', {\n attrs: { class: 'v-snack__btn' },\n }),\n ])\n },\n genContent () {\n return h('div', {\n class: ['v-snack__content', {\n [this.contentClass]: true,\n }],\n role: 'status',\n 'aria-live': 'polite'\n }, [getSlot(this)])\n },\n genWrapper () {\n const setColor = this.hasBackground\n ? this.setBackgroundColor\n : this.setTextColor\n\n const data = setColor(this.color, {\n class: ['v-snack__wrapper', VSheet.computed.classes.call(this)],\n style: VSheet.computed.styles.call(this),\n onPointerenter: () => window.clearTimeout(this.activeTimeout),\n onPointerleave: this.setTimeout\n })\n\n const directives = [\n [\n vShow,\n this.isActive\n ]\n ]\n\n return withDirectives(h('div', data, [\n this.genContent(),\n this.genActions(),\n ]), directives)\n },\n genTransition () {\n return h(Transition, {\n name: this.transition,\n }, () => [this.genWrapper()])\n },\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n const timeout = Number(this.timeout)\n\n if (\n !this.isActive ||\n // TODO: remove 0 in v3\n [0, -1].includes(timeout)\n ) {\n return\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, timeout)\n },\n },\n\n render (): VNode {\n return h('div', {\n class: ['v-snack', this.classes],\n style: this.styles,\n }, [\n this.transition !== false\n ? this.genTransition()\n : this.genWrapper(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VSnackbar.js"}
@@ -9,7 +9,7 @@ import Proxyable from '../../mixins/proxyable'; // Utilities
9
9
 
10
10
  import mixins from '../../util/mixins';
11
11
  import { breaking } from '../../util/console';
12
- import { getSlot } from '../../util/helpers';
12
+ import { getSlot, getTagValue } from '../../util/helpers';
13
13
  const baseMixins = mixins(VSheet, RegistrableProvide('stepper'), Proxyable);
14
14
  /* @vue/component */
15
15
 
@@ -116,7 +116,7 @@ export default baseMixins.extend({
116
116
  },
117
117
 
118
118
  render() {
119
- return h(this.tag, {
119
+ return h(getTagValue(this.tag), {
120
120
  class: ['v-stepper', this.classes],
121
121
  style: this.styles
122
122
  }, getSlot(this));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VStepper/VStepper.ts"],"names":[],"mappings":"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","sourcesContent":["import { h } from 'vue'\n// Styles\nimport './VStepper.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Proxyable from '../../mixins/proxyable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VSheet,\n RegistrableProvide('stepper'),\n Proxyable,\n)\n\ntype VStepperStepInstance = InstanceType<typeof VStepperStep>\ntype VStepperContentInstance = InstanceType<typeof VStepperContent>\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper',\n\n provide (): object {\n return {\n stepClick: this.stepClick,\n isVertical: this.vertical,\n }\n },\n\n props: {\n altLabels: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n vertical: Boolean,\n },\n\n emits: ['change'],\n\n data () {\n const data: Dictionary<any> = {\n isBooted: false,\n steps: [] as VStepperStepInstance[],\n content: [] as VStepperContentInstance[],\n isReverse: false,\n }\n\n data.internalLazyValue = this.modelValue != null\n ? this.modelValue\n : (data[0] || {}).step || 1\n\n return data\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper--flat': this.flat,\n 'v-stepper--is-booted': this.isBooted,\n 'v-stepper--vertical': this.vertical,\n 'v-stepper--alt-labels': this.altLabels,\n 'v-stepper--non-linear': this.nonLinear,\n ...VSheet.computed.classes.call(this),\n }\n },\n styles (): object {\n return {\n ...VSheet.computed.styles.call(this),\n }\n },\n },\n\n watch: {\n internalValue (val, oldVal) {\n this.isReverse = Number(val) < Number(oldVal)\n\n oldVal && (this.isBooted = true)\n\n this.updateView()\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$listeners.input) {\n breaking('@input', '@change', this)\n }\n },\n\n mounted () {\n this.updateView()\n },\n\n methods: {\n register (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps.push(item as VStepperStepInstance)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content.push(item as VStepperContentInstance)\n }\n },\n unregister (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps = this.steps.filter((i: VStepperStepInstance) => i !== item)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content = this.content.filter((i: VStepperContentInstance) => i !== item)\n }\n },\n stepClick (step: string | number) {\n this.$nextTick(() => (this.internalValue = step))\n },\n updateView () {\n for (let index = this.steps.length; --index >= 0;) {\n this.steps[index].toggle(this.internalValue as any)\n }\n for (let index = this.content.length; --index >= 0;) {\n this.content[index].toggle(this.internalValue as any, this.isReverse)\n }\n },\n },\n\n render (): VNode {\n return h(this.tag, {\n class: ['v-stepper', this.classes],\n style: this.styles,\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VStepper.js"}
1
+ {"version":3,"sources":["../../../src/components/VStepper/VStepper.ts"],"names":[],"mappings":"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","sourcesContent":["import { h } from 'vue'\n// Styles\nimport './VStepper.sass'\n\n// Extensions\nimport VSheet from '../VSheet'\n\n// Components\nimport VStepperStep from './VStepperStep'\nimport VStepperContent from './VStepperContent'\n\n// Mixins\nimport { provide as RegistrableProvide } from '../../mixins/registrable'\nimport Proxyable from '../../mixins/proxyable'\n\n// Utilities\nimport mixins from '../../util/mixins'\nimport { breaking } from '../../util/console'\nimport { getSlot, getTagValue } from '../../util/helpers'\n\n// Types\nimport { VNode } from 'vue'\n\nconst baseMixins = mixins(\n VSheet,\n RegistrableProvide('stepper'),\n Proxyable,\n)\n\ntype VStepperStepInstance = InstanceType<typeof VStepperStep>\ntype VStepperContentInstance = InstanceType<typeof VStepperContent>\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-stepper',\n\n provide (): object {\n return {\n stepClick: this.stepClick,\n isVertical: this.vertical,\n }\n },\n\n props: {\n altLabels: Boolean,\n nonLinear: Boolean,\n flat: Boolean,\n vertical: Boolean,\n },\n\n emits: ['change'],\n\n data () {\n const data: Dictionary<any> = {\n isBooted: false,\n steps: [] as VStepperStepInstance[],\n content: [] as VStepperContentInstance[],\n isReverse: false,\n }\n\n data.internalLazyValue = this.modelValue != null\n ? this.modelValue\n : (data[0] || {}).step || 1\n\n return data\n },\n\n computed: {\n classes (): object {\n return {\n 'v-stepper--flat': this.flat,\n 'v-stepper--is-booted': this.isBooted,\n 'v-stepper--vertical': this.vertical,\n 'v-stepper--alt-labels': this.altLabels,\n 'v-stepper--non-linear': this.nonLinear,\n ...VSheet.computed.classes.call(this),\n }\n },\n styles (): object {\n return {\n ...VSheet.computed.styles.call(this),\n }\n },\n },\n\n watch: {\n internalValue (val, oldVal) {\n this.isReverse = Number(val) < Number(oldVal)\n\n oldVal && (this.isBooted = true)\n\n this.updateView()\n },\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$listeners.input) {\n breaking('@input', '@change', this)\n }\n },\n\n mounted () {\n this.updateView()\n },\n\n methods: {\n register (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps.push(item as VStepperStepInstance)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content.push(item as VStepperContentInstance)\n }\n },\n unregister (item: VStepperStepInstance | VStepperContentInstance) {\n if (item.$options.name === 'v-stepper-step') {\n this.steps = this.steps.filter((i: VStepperStepInstance) => i !== item)\n } else if (item.$options.name === 'v-stepper-content') {\n (item as VStepperContentInstance).isVertical = this.vertical\n this.content = this.content.filter((i: VStepperContentInstance) => i !== item)\n }\n },\n stepClick (step: string | number) {\n this.$nextTick(() => (this.internalValue = step))\n },\n updateView () {\n for (let index = this.steps.length; --index >= 0;) {\n this.steps[index].toggle(this.internalValue as any)\n }\n for (let index = this.content.length; --index >= 0;) {\n this.content[index].toggle(this.internalValue as any, this.isReverse)\n }\n },\n },\n\n render (): VNode {\n return h(getTagValue(this.tag), {\n class: ['v-stepper', this.classes],\n style: this.styles,\n }, getSlot(this))\n },\n})\n"],"sourceRoot":"","file":"VStepper.js"}
@@ -6,7 +6,7 @@ import VSheet from '../VSheet/VSheet'; // Components
6
6
 
7
7
  import VImg from '../VImg/VImg'; // Utilities
8
8
 
9
- import { convertToUnit, getSlot } from '../../util/helpers';
9
+ import { convertToUnit, getSlot, getTagValue } from '../../util/helpers';
10
10
  import { breaking } from '../../util/console'; // Types
11
11
 
12
12
  import { defineComponent } from 'vue';
@@ -142,7 +142,7 @@ export default defineComponent({
142
142
  });
143
143
  if (this.isExtended) children.push(this.genExtension());
144
144
  if (this.src || this.$slots.img) children.unshift(this.genBackground());
145
- return h(this.tag, { ...this.attrs$,
145
+ return h(getTagValue(this.tag), { ...this.attrs$,
146
146
  ...data
147
147
  }, children);
148
148
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VToolbar/VToolbar.ts"],"names":[],"mappings":"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","sourcesContent":["import { h } from 'vue'\n// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType, defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-toolbar',\n extends: VSheet,\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', '<v-app-bar app>'],\n ['manual-scroll', '<v-app-bar :value=\"false\">'],\n ['clipped-left', '<v-app-bar clipped-left>'],\n ['clipped-right', '<v-app-bar clipped-right>'],\n ['inverted-scroll', '<v-app-bar inverted-scroll>'],\n ['scroll-off-screen', '<v-app-bar scroll-off-screen>'],\n ['scroll-target', '<v-app-bar scroll-target>'],\n ['scroll-threshold', '<v-app-bar scroll-threshold>'],\n ['card', '<v-app-bar flat>'],\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 genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img({ props })\n : h(VImg, props)\n\n return h('div', {\n class: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return h('div', {\n class: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return h('div', {\n class: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (): VNode {\n this.isExtended = this.extended || !!this.$slots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$slots.img) children.unshift(this.genBackground())\n\n return h(this.tag, {...this.attrs$, ...data}, children)\n }\n})\n"],"sourceRoot":"","file":"VToolbar.js"}
1
+ {"version":3,"sources":["../../../src/components/VToolbar/VToolbar.ts"],"names":[],"mappings":"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","sourcesContent":["import { h } from 'vue'\n// Styles\nimport './VToolbar.sass'\n\n// Extensions\nimport VSheet from '../VSheet/VSheet'\n\n// Components\nimport VImg, { srcObject } from '../VImg/VImg'\n\n// Utilities\nimport { convertToUnit, getSlot, getTagValue } from '../../util/helpers'\nimport { breaking } from '../../util/console'\n\n// Types\nimport { VNode, PropType, defineComponent } from 'vue'\n\n/* @vue/component */\nexport default defineComponent({\n name: 'v-toolbar',\n extends: VSheet,\n\n props: {\n absolute: Boolean,\n bottom: Boolean,\n collapse: Boolean,\n dense: Boolean,\n extended: Boolean,\n extensionHeight: {\n default: 48,\n type: [Number, String],\n },\n flat: Boolean,\n floating: Boolean,\n prominent: Boolean,\n short: Boolean,\n src: {\n type: [String, Object] as PropType<string | srcObject>,\n default: '',\n },\n tag: {\n type: String,\n default: 'header',\n },\n },\n\n data: () => ({\n isExtended: false,\n }),\n\n computed: {\n computedHeight (): number {\n const height = this.computedContentHeight\n\n if (!this.isExtended) return height\n\n const extensionHeight = parseInt(this.extensionHeight)\n\n return this.isCollapsed\n ? height\n : height + (!isNaN(extensionHeight) ? extensionHeight : 0)\n },\n computedContentHeight (): number {\n if (this.height) return parseInt(this.height)\n if (this.isProminent && this.dense) return 96\n if (this.isProminent && this.short) return 112\n if (this.isProminent) return 128\n if (this.dense) return 48\n if (this.short || this.$vuetify.breakpoint.smAndDown) return 56\n return 64\n },\n classes (): object {\n return {\n ...VSheet.computed.classes.call(this),\n 'v-toolbar': true,\n 'v-toolbar--absolute': this.absolute,\n 'v-toolbar--bottom': this.bottom,\n 'v-toolbar--collapse': this.collapse,\n 'v-toolbar--collapsed': this.isCollapsed,\n 'v-toolbar--dense': this.dense,\n 'v-toolbar--extended': this.isExtended,\n 'v-toolbar--flat': this.flat,\n 'v-toolbar--floating': this.floating,\n 'v-toolbar--prominent': this.isProminent,\n }\n },\n isCollapsed (): boolean {\n return this.collapse\n },\n isProminent (): boolean {\n return this.prominent\n },\n styles (): object {\n return {\n ...this.measurableStyles,\n height: convertToUnit(this.computedHeight),\n }\n },\n },\n\n created () {\n const breakingProps = [\n ['app', '<v-app-bar app>'],\n ['manual-scroll', '<v-app-bar :value=\"false\">'],\n ['clipped-left', '<v-app-bar clipped-left>'],\n ['clipped-right', '<v-app-bar clipped-right>'],\n ['inverted-scroll', '<v-app-bar inverted-scroll>'],\n ['scroll-off-screen', '<v-app-bar scroll-off-screen>'],\n ['scroll-target', '<v-app-bar scroll-target>'],\n ['scroll-threshold', '<v-app-bar scroll-threshold>'],\n ['card', '<v-app-bar flat>'],\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 genBackground () {\n const props = {\n height: convertToUnit(this.computedHeight),\n src: this.src,\n }\n\n const image = this.$slots.img\n ? this.$slots.img({ props })\n : h(VImg, props)\n\n return h('div', {\n class: 'v-toolbar__image',\n }, [image])\n },\n genContent () {\n return h('div', {\n class: 'v-toolbar__content',\n style: {\n height: convertToUnit(this.computedContentHeight),\n },\n }, getSlot(this))\n },\n genExtension () {\n return h('div', {\n class: 'v-toolbar__extension',\n style: {\n height: convertToUnit(this.extensionHeight),\n },\n }, getSlot(this, 'extension'))\n },\n },\n\n render (): VNode {\n this.isExtended = this.extended || !!this.$slots.extension\n\n const children = [this.genContent()]\n const data = this.setBackgroundColor(this.color, {\n class: this.classes,\n style: this.styles\n })\n\n if (this.isExtended) children.push(this.genExtension())\n if (this.src || this.$slots.img) children.unshift(this.genBackground())\n\n return h(getTagValue(this.tag), {...this.attrs$, ...data}, children)\n }\n})\n"],"sourceRoot":"","file":"VToolbar.js"}
@@ -7,7 +7,7 @@ import Delayable from '../../mixins/delayable';
7
7
  import Dependent from '../../mixins/dependent';
8
8
  import Menuable from '../../mixins/menuable'; // Helpers
9
9
 
10
- import { convertToUnit, keyCodes } from '../../util/helpers'; // Types
10
+ import { convertToUnit, keyCodes, getTagValue } from '../../util/helpers'; // Types
11
11
 
12
12
  import mixins from '../../util/mixins';
13
13
  /* @vue/component */
@@ -192,7 +192,7 @@ export default mixins(Colorable, Delayable, Dependent, Menuable).extend({
192
192
  },
193
193
 
194
194
  render() {
195
- return h(this.tag, {
195
+ return h(getTagValue(this.tag), {
196
196
  class: ['v-tooltip', this.classes]
197
197
  }, [this.showLazyContent(() => [this.genTransition()]), this.genActivator()]);
198
198
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives, VNode } from 'vue'\nimport './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.modelValue && this.callActivate()\n })\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.methods.genActivatorListeners.call(this)\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onBlur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n listeners.onKeydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return h(Transition, {\n name: this.computedTransition,\n }, () => [content])\n },\n genContent () {\n return withDirectives(\n h(\n 'div',\n this.setBackgroundColor(this.color, {\n ...this.getScopeIdAttrs(),\n class: ['v-tooltip__content', {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n }],\n style: this.styles,\n ref: 'content',\n }),\n this.getContentSlot()\n ),\n [\n [vShow, this.isContentActive]\n ]\n )\n },\n },\n\n render (): VNode {\n return h(this.tag, {\n class: ['v-tooltip', this.classes],\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
1
+ {"version":3,"sources":["../../../src/components/VTooltip/VTooltip.ts"],"names":[],"mappings":"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","sourcesContent":["import { h, Transition, vShow, withDirectives, VNode } from 'vue'\nimport './VTooltip.sass'\n\n// Mixins\nimport Activatable from '../../mixins/activatable'\nimport Colorable from '../../mixins/colorable'\nimport Delayable from '../../mixins/delayable'\nimport Dependent from '../../mixins/dependent'\nimport Menuable from '../../mixins/menuable'\n\n// Helpers\nimport { convertToUnit, keyCodes, getSlotType, getTagValue } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\n\n// Types\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(Colorable, Delayable, Dependent, Menuable).extend({\n name: 'v-tooltip',\n\n props: {\n closeDelay: {\n type: [Number, String],\n default: 0,\n },\n disabled: Boolean,\n openDelay: {\n type: [Number, String],\n default: 0,\n },\n openOnHover: {\n type: Boolean,\n default: true,\n },\n openOnFocus: {\n type: Boolean,\n default: true,\n },\n tag: {\n type: String,\n default: 'span',\n },\n transition: String,\n },\n\n data: () => ({\n calculatedMinWidth: 0,\n closeDependents: false,\n }),\n\n computed: {\n calculatedLeft (): string {\n const { activator, content } = this.dimensions\n const unknown = !this.bottom && !this.left && !this.top && !this.right\n const activatorLeft = this.attach !== false ? activator.offsetLeft : activator.left\n let left = 0\n\n if (this.top || this.bottom || unknown) {\n left = (\n activatorLeft +\n (activator.width / 2) -\n (content.width / 2)\n )\n } else if (this.left || this.right) {\n left = (\n activatorLeft +\n (this.right ? activator.width : -content.width) +\n (this.right ? 10 : -10)\n )\n }\n\n if (this.nudgeLeft) left -= parseInt(this.nudgeLeft)\n if (this.nudgeRight) left += parseInt(this.nudgeRight)\n\n return `${this.calcXOverflow(left, this.dimensions.content.width)}px`\n },\n calculatedTop (): string {\n const { activator, content } = this.dimensions\n const activatorTop = this.attach !== false ? activator.offsetTop : activator.top\n let top = 0\n\n if (this.top || this.bottom) {\n top = (\n activatorTop +\n (this.bottom ? activator.height : -content.height) +\n (this.bottom ? 10 : -10)\n )\n } else if (this.left || this.right) {\n top = (\n activatorTop +\n (activator.height / 2) -\n (content.height / 2)\n )\n }\n\n if (this.nudgeTop) top -= parseInt(this.nudgeTop)\n if (this.nudgeBottom) top += parseInt(this.nudgeBottom)\n if (this.attach === false) top += this.pageYOffset\n\n return `${this.calcYOverflow(top)}px`\n },\n classes (): object {\n return {\n 'v-tooltip--top': this.top,\n 'v-tooltip--right': this.right,\n 'v-tooltip--bottom': this.bottom,\n 'v-tooltip--left': this.left,\n 'v-tooltip--attached':\n this.attach === '' ||\n this.attach === true ||\n this.attach === 'attach',\n }\n },\n computedTransition (): string {\n if (this.transition) return this.transition\n\n return this.isActive ? 'scale-transition' : 'fade-transition'\n },\n offsetY (): boolean {\n return this.top || this.bottom\n },\n offsetX (): boolean {\n return this.left || this.right\n },\n styles (): object {\n return {\n left: this.calculatedLeft,\n maxWidth: convertToUnit(this.maxWidth),\n minWidth: convertToUnit(this.minWidth),\n top: this.calculatedTop,\n zIndex: this.zIndex || this.activeZIndex,\n }\n },\n },\n\n beforeMount () {\n this.$nextTick(() => {\n this.modelValue && this.callActivate()\n })\n },\n\n methods: {\n activate () {\n // Update coordinates and dimensions of menu\n // and its activator\n this.updateDimensions()\n // Start the transition\n requestAnimationFrame(this.startTransition)\n },\n deactivate () {\n this.runDelay('close')\n },\n genActivatorListeners () {\n const listeners = Activatable.methods.genActivatorListeners.call(this)\n\n if (this.openOnFocus) {\n listeners.onFocus = (e: Event) => {\n this.getActivator(e)\n this.runDelay('open')\n }\n listeners.onBlur = (e: Event) => {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n listeners.onKeydown = (e: KeyboardEvent) => {\n if (e.keyCode === keyCodes.esc) {\n this.getActivator(e)\n this.runDelay('close')\n }\n }\n\n return listeners\n },\n genActivatorAttributes () {\n return {\n 'aria-haspopup': true,\n 'aria-expanded': String(this.isActive),\n }\n },\n genTransition () {\n const content = this.genContent()\n\n if (!this.computedTransition) return content\n\n return h(Transition, {\n name: this.computedTransition,\n }, () => [content])\n },\n genContent () {\n return withDirectives(\n h(\n 'div',\n this.setBackgroundColor(this.color, {\n ...this.getScopeIdAttrs(),\n class: ['v-tooltip__content', {\n [this.contentClass]: true,\n menuable__content__active: this.isActive,\n 'v-tooltip__content--fixed': this.activatorFixed,\n }],\n style: this.styles,\n ref: 'content',\n }),\n this.getContentSlot()\n ),\n [\n [vShow, this.isContentActive]\n ]\n )\n },\n },\n\n render (): VNode {\n return h(getTagValue(this.tag), {\n class: ['v-tooltip', this.classes],\n }, [\n this.showLazyContent(() => [this.genTransition()]),\n this.genActivator(),\n ])\n },\n})\n"],"sourceRoot":"","file":"VTooltip.js"}
package/lib/framework.js CHANGED
@@ -46,7 +46,7 @@ export default class Vuetify {
46
46
  }
47
47
  Vuetify.install = install;
48
48
  Vuetify.installed = false;
49
- Vuetify.version = "2.7.2-alpha39";
49
+ Vuetify.version = "2.7.2-alpha40";
50
50
  Vuetify.config = {
51
51
  silent: false
52
52
  };
@@ -1,4 +1,7 @@
1
- import { defineComponent, h } from 'vue';
1
+ import { defineComponent, h, resolveComponent } from 'vue';
2
+ /** Резолвит пропс tag как компонент, если это строка с составным именем (например v-card или VCard) */
3
+
4
+ export const getTagValue = tag => tag.includes('-') || /^[A-Z]/.test(tag) ? resolveComponent(tag) : tag;
2
5
  export function createSimpleFunctional(c, el = 'div', name) {
3
6
  return defineComponent({
4
7
  name: name || c.replace(/__/g, '-'),
@@ -16,7 +19,7 @@ export function createSimpleFunctional(c, el = 'div', name) {
16
19
  const data = { ...this.$attrs
17
20
  };
18
21
  data.class = `${c} ${data.class || ''}`.trim();
19
- return h(this.tag, data, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a));
22
+ return h(getTagValue(this.tag), data, (_b = (_a = this.$slots).default) === null || _b === void 0 ? void 0 : _b.call(_a));
20
23
  }
21
24
 
22
25
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/util/helpers.ts"],"names":[],"mappings":"AAAA,SAAS,eAAT,EAA0B,CAA1B,QAAmC,KAAnC;AAKA,OAAM,SAAU,sBAAV,CACJ,CADI,EAEJ,EAAE,GAAG,KAFD,EAGJ,IAHI,EAGS;AAEb,SAAO,eAAe,CAAC;AACrB,IAAA,IAAI,EAAE,IAAI,IAAI,CAAC,CAAC,OAAF,CAAU,KAAV,EAAiB,GAAjB,CADO;AAGrB,IAAA,UAAU,EAAE,IAHS;AAKrB,IAAA,KAAK,EAAE;AACL,MAAA,GAAG,EAAE;AACH,QAAA,IAAI,EAAE,MADH;AAEH,QAAA,OAAO,EAAE;AAFN;AADA,KALc;;AAYrB,IAAA,MAAM,GAAA;;;AACJ,YAAM,IAAI,GAAG,EAAE,GAAG,KAAK;AAAV,OAAb;AAEA,MAAA,IAAI,CAAC,KAAL,GAAc,GAAG,CAAC,IAAI,IAAI,CAAC,KAAL,IAAc,EAAE,EAAzB,CAA6B,IAA7B,EAAb;AAEA,aAAO,CAAC,CAAC,KAAK,GAAN,EAAW,IAAX,EAAiB,CAAA,EAAA,GAAA,CAAA,EAAA,GAAA,KAAK,MAAL,EAAY,OAAZ,MAAmB,IAAnB,IAAmB,EAAA,KAAA,KAAA,CAAnB,GAAmB,KAAA,CAAnB,GAAmB,EAAA,CAAA,IAAA,CAAA,EAAA,CAApC,CAAR;AACD;;AAlBoB,GAAD,CAAtB;AAoBD;AAGD,OAAM,SAAU,eAAV,CAA2B,OAA3B,EAAmD,QAAQ,GAAG,EAA9D,EAAgE;AACpE,SAAO,EACL,GAAG,QADE;AAEL,OAAG,OAAO,CAAC,SAFN;AAGL,IAAA,KAAK,EAAE,OAAO,CAAC,GAHV;AAIL,QAAI,OAAO,CAAC,KAAR,IAAiB,EAArB;AAJK,GAAP;AAMD;AAED,OAAM,SAAU,oBAAV,CACJ,EADI,EAEJ,SAFI,EAGJ,EAHI,EAIJ,OAAA,GAA6C,KAJzC,EAI8C;AAElD,QAAM,IAAI,GAAI,KAAD,IAAiB;AAC5B,IAAA,EAAE,CAAC,KAAD,CAAF;AACA,IAAA,EAAE,CAAC,mBAAH,CAAuB,SAAvB,EAAkC,IAAlC,EAAwC,OAAxC;AACD,GAHD;;AAKA,EAAA,EAAE,CAAC,gBAAH,CAAoB,SAApB,EAA+B,IAA/B,EAAqC,OAArC;AACD;AAED,IAAI,gBAAgB,GAAG,KAAvB;;AACA,IAAI;AACF,MAAI,OAAO,MAAP,KAAkB,WAAtB,EAAmC;AACjC,UAAM,gBAAgB,GAAG,MAAM,CAAC,cAAP,CAAsB,EAAtB,EAA0B,SAA1B,EAAqC;AAC5D,MAAA,GAAG,EAAE,MAAK;AACR,QAAA,gBAAgB,GAAG,IAAnB;AACD;AAH2D,KAArC,CAAzB;AAMA,IAAA,MAAM,CAAC,gBAAP,CAAwB,cAAxB,EAAwC,gBAAxC,EAA0D,gBAA1D;AACA,IAAA,MAAM,CAAC,mBAAP,CAA2B,cAA3B,EAA2C,gBAA3C,EAA6D,gBAA7D;AACD;AACF,CAXD,CAWE,OAAO,CAAP,EAAU;AAAE,EAAA,OAAO,CAAC,IAAR,CAAa,CAAb;AAAiB;AAAC;;;AAChC,SAAS,gBAAT;AAEA,OAAM,SAAU,uBAAV,CACJ,EADI,EAEJ,KAFI,EAGJ,EAHI,EAIJ,OAJI,EAIO;AAEX,EAAA,EAAE,CAAC,gBAAH,CAAoB,KAApB,EAA2B,EAA3B,EAA+B,gBAAgB,GAAG,OAAH,GAAa,KAA5D;AACD;AAED,OAAM,SAAU,cAAV,CAA0B,GAA1B,EAAoC,IAApC,EAA+D,QAA/D,EAA6E;AACjF,QAAM,IAAI,GAAG,IAAI,CAAC,MAAL,GAAc,CAA3B;AAEA,MAAI,IAAI,GAAG,CAAX,EAAc,OAAO,GAAG,KAAK,SAAR,GAAoB,QAApB,GAA+B,GAAtC;;AAEd,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAApB,EAA0B,CAAC,EAA3B,EAA+B;AAC7B,QAAI,GAAG,IAAI,IAAX,EAAiB;AACf,aAAO,QAAP;AACD;;AACD,IAAA,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,CAAD,CAAL,CAAT;AACD;;AAED,MAAI,GAAG,IAAI,IAAX,EAAiB,OAAO,QAAP;AAEjB,SAAO,GAAG,CAAC,IAAI,CAAC,IAAD,CAAL,CAAH,KAAoB,SAApB,GAAgC,QAAhC,GAA2C,GAAG,CAAC,IAAI,CAAC,IAAD,CAAL,CAArD;AACD;AAED,OAAM,SAAU,SAAV,CAAqB,CAArB,EAA6B,CAA7B,EAAmC;AACvC,MAAI,CAAC,KAAK,CAAV,EAAa,OAAO,IAAP;;AAEb,MACE,CAAC,YAAY,IAAb,IACA,CAAC,YAAY,IADb,IAEA,CAAC,CAAC,OAAF,OAAgB,CAAC,CAAC,OAAF,EAHlB,EAIE;AACA;AACA,WAAO,KAAP;AACD;;AAED,MAAI,CAAC,KAAK,MAAM,CAAC,CAAD,CAAZ,IAAmB,CAAC,KAAK,MAAM,CAAC,CAAD,CAAnC,EAAwC;AACtC;AACA,WAAO,KAAP;AACD;;AAED,QAAM,KAAK,GAAG,MAAM,CAAC,IAAP,CAAY,CAAZ,CAAd;;AAEA,MAAI,KAAK,CAAC,MAAN,KAAiB,MAAM,CAAC,IAAP,CAAY,CAAZ,EAAe,MAApC,EAA4C;AAC1C;AACA,WAAO,KAAP;AACD;;AAED,SAAO,KAAK,CAAC,KAAN,CAAY,CAAC,IAAI,SAAS,CAAC,CAAC,CAAC,CAAD,CAAF,EAAO,CAAC,CAAC,CAAD,CAAR,CAA1B,CAAP;AACD;AAED,OAAM,SAAU,oBAAV,CAAgC,GAAhC,EAA0C,IAA1C,EAAwD,QAAxD,EAAsE;AAC1E;AACA,MAAI,GAAG,IAAI,IAAP,IAAe,CAAC,IAAhB,IAAwB,OAAO,IAAP,KAAgB,QAA5C,EAAsD,OAAO,QAAP;;AACtD,MAAI,GAAG,KAAK,IAAR,IAAgB,OAAO,GAAP,KAAe,QAA/B,IAA2C,CAAC,KAAK,CAAC,OAAN,CAAc,GAAd,CAA5C,IAAkE,IAAI,IAAI,GAA1E,IAAiF,GAAG,CAAC,IAAD,CAAH,KAAc,SAAnG,EAA8G;AAC5G,WAAO,GAAG,CAAC,IAAD,CAAV;AACD;;AACD,EAAA,IAAI,GAAG,IAAI,CAAC,OAAL,CAAa,YAAb,EAA2B,KAA3B,CAAP,CAN0E,CAMjC;;AACzC,EAAA,IAAI,GAAG,IAAI,CAAC,OAAL,CAAa,KAAb,EAAoB,EAApB,CAAP,CAP0E,CAO3C;;AAC/B,SAAO,cAAc,CAAC,GAAD,EAAM,IAAI,CAAC,KAAL,CAAW,GAAX,CAAN,EAAuB,QAAvB,CAArB;AACD;AAED,OAAM,SAAU,mBAAV,CACJ,IADI,EAEJ,QAFI,EAGJ,QAHI,EAGU;AAEd,MAAI,QAAQ,IAAI,IAAhB,EAAsB,OAAO,IAAI,KAAK,SAAT,GAAqB,QAArB,GAAgC,IAAvC;AAEtB,MAAI,IAAI,KAAK,MAAM,CAAC,IAAD,CAAnB,EAA2B,OAAO,QAAQ,KAAK,SAAb,GAAyB,IAAzB,GAAgC,QAAvC;AAE3B,MAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC,OAAO,oBAAoB,CAAC,IAAD,EAAO,QAAP,EAAiB,QAAjB,CAA3B;AAElC,MAAI,KAAK,CAAC,OAAN,CAAc,QAAd,CAAJ,EAA6B,OAAO,cAAc,CAAC,IAAD,EAAO,QAAP,EAAiB,QAAjB,CAArB;AAE7B,MAAI,OAAO,QAAP,KAAoB,UAAxB,EAAoC,OAAO,QAAP;AAEpC,QAAM,KAAK,GAAG,QAAQ,CAAC,IAAD,EAAO,QAAP,CAAtB;AAEA,SAAO,OAAO,KAAP,KAAiB,WAAjB,GAA+B,QAA/B,GAA0C,KAAjD;AACD;AAED,OAAM,SAAU,WAAV,CAAuB,MAAvB,EAAqC;AACzC,SAAO,KAAK,CAAC,IAAN,CAAW;AAAE,IAAA;AAAF,GAAX,EAAuB,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAjC,CAAP;AACD;AAED,OAAM,SAAU,SAAV,CAAqB,EAArB,EAAwC;AAC5C,MAAI,CAAC,EAAD,IAAO,EAAE,CAAC,QAAH,KAAgB,IAAI,CAAC,YAAhC,EAA8C,OAAO,CAAP;AAE9C,QAAM,KAAK,GAAG,CAAC,MAAM,CAAC,gBAAP,CAAwB,EAAxB,EAA4B,gBAA5B,CAA6C,SAA7C,CAAf;AAEA,MAAI,CAAC,KAAL,EAAY,OAAO,SAAS,CAAC,EAAE,CAAC,UAAJ,CAAhB;AACZ,SAAO,KAAP;AACD;AAED,OAAM,SAAU,kBAAV,CAAoD,GAApD,EAA4D,IAA5D,EAAqE;AACzE,QAAM,QAAQ,GAAG,EAAjB;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,MAAzB,EAAiC,CAAC,EAAlC,EAAsC;AACpC,UAAM,GAAG,GAAG,IAAI,CAAC,CAAD,CAAhB;;AACA,QAAI,OAAO,GAAG,CAAC,GAAD,CAAV,KAAoB,WAAxB,EAAqC;AACnC,MAAA,QAAQ,CAAC,GAAD,CAAR,GAAgB,GAAG,CAAC,GAAD,CAAnB;AACD;AACF;;AAED,SAAO,QAAP;AACD;AAED,OAAM,SAAU,aAAV,CAAyB,GAAzB,EAAkE,IAAI,GAAG,IAAzE,EAA6E;AACjF,MAAI,GAAG,IAAI,IAAP,IAAe,GAAG,KAAK,EAA3B,EAA+B;AAC7B,WAAO,SAAP;AACD,GAFD,MAEO,IAAI,KAAK,CAAC,CAAC,GAAF,CAAT,EAAkB;AACvB,WAAO,MAAM,CAAC,GAAD,CAAb;AACD,GAFM,MAEA;AACL,WAAO,GAAG,MAAM,CAAC,GAAD,CAAK,GAAG,IAAI,EAA5B;AACD;AACF;AAED,OAAM,SAAU,SAAV,CAAqB,GAArB,EAAgC;AACpC,SAAO,CAAC,GAAG,IAAI,EAAR,EAAY,OAAZ,CAAoB,iBAApB,EAAuC,OAAvC,EAAgD,WAAhD,EAAP;AACD;AAED,OAAM,SAAU,QAAV,CAAoB,GAApB,EAA4B;AAChC,SAAO,GAAG,KAAK,IAAR,IAAgB,OAAO,GAAP,KAAe,QAAtC;AACD,C,CAED;;AACA,OAAO,MAAM,QAAQ,GAAG,MAAM,CAAC,MAAP,CAAc;AACpC,EAAA,KAAK,EAAE,EAD6B;AAEpC,EAAA,GAAG,EAAE,CAF+B;AAGpC,EAAA,MAAM,EAAE,EAH4B;AAIpC,EAAA,GAAG,EAAE,EAJ+B;AAKpC,EAAA,KAAK,EAAE,EAL6B;AAMpC,EAAA,EAAE,EAAE,EANgC;AAOpC,EAAA,IAAI,EAAE,EAP8B;AAQpC,EAAA,IAAI,EAAE,EAR8B;AASpC,EAAA,KAAK,EAAE,EAT6B;AAUpC,EAAA,GAAG,EAAE,EAV+B;AAWpC,EAAA,IAAI,EAAE,EAX8B;AAYpC,EAAA,GAAG,EAAE,EAZ+B;AAapC,EAAA,SAAS,EAAE,CAbyB;AAcpC,EAAA,MAAM,EAAE,EAd4B;AAepC,EAAA,MAAM,EAAE,EAf4B;AAgBpC,EAAA,QAAQ,EAAE,EAhB0B;AAiBpC,EAAA,KAAK,EAAE;AAjB6B,CAAd,CAAjB;AAoBP;;;AAGG;;AACH,OAAM,SAAU,iBAAV,CAA6B,EAA7B,EAAsC,QAAtC,EAAsD;AAC1D;AACA,QAAM,SAAS,GAAG,EAAE,CAAC,QAAH,CAAY,KAAZ,CAAkB,SAApC,CAF0D,CAI1D;;AACA,MAAI,QAAQ,CAAC,UAAT,CAAoB,GAApB,CAAJ,EAA8B;AAC5B;AACA,UAAM,QAAQ,GAAG,yBAAyB,QAAQ,CAAC,KAAT,CAAe,GAAf,EAAoB,GAApB,GAA2B,KAA3B,CAAiC,GAAjC,EAAsC,GAAtC,EAA2C,EAArF,CAF4B,CAI5B;AACA;;AAEA,UAAM,QAAQ,GAAG,oBAAoB,CAAC,EAAD,EAAK,QAAL,EAAe,QAAf,CAArC;AAEA,QAAI,OAAO,QAAP,KAAoB,QAAxB,EAAkC,QAAQ,GAAG,QAAX,CAAlC,KACK,OAAO,QAAP;AACN;;AAED,MAAI,SAAS,IAAI,IAAjB,EAAuB;AACrB,WAAO,QAAP;AACD;;AAED,SAAO;AACL,IAAA,SADK;AAEL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE;AADD;AAFF,GAAP;AAMD;AAED,OAAM,SAAU,IAAV,CAAmB,CAAnB,EAAuB;AAC3B,SAAO,MAAM,CAAC,IAAP,CAAY,CAAZ,CAAP;AACD;AAED;;AAEG;;AACH,MAAM,UAAU,GAAG,QAAnB;AACA,OAAO,MAAM,QAAQ,GAAI,GAAD,IAAwB;AAC9C,SAAO,GAAG,CAAC,OAAJ,CAAY,UAAZ,EAAwB,CAAC,CAAD,EAAI,CAAJ,KAAU,CAAC,GAAG,CAAC,CAAC,WAAF,EAAH,GAAqB,EAAxD,CAAP;AACD,CAFM;AAIP;;AAEG;;AACH,OAAM,SAAU,SAAV,CAAqB,CAArB,EAA+B,CAA/B,EAAuC;AAC3C,QAAM,IAAI,GAAU,EAApB;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,CAAC,CAAC,MAAtB,EAA8B,CAAC,EAA/B,EAAmC;AACjC,QAAI,CAAC,CAAC,OAAF,CAAU,CAAC,CAAC,CAAD,CAAX,IAAkB,CAAtB,EAAyB,IAAI,CAAC,IAAL,CAAU,CAAC,CAAC,CAAD,CAAX;AAC1B;;AACD,SAAO,IAAP;AACD;AAED;;AAEG;;AACH,OAAM,SAAU,UAAV,CAAsB,GAAtB,EAAiC;AACrC,SAAO,GAAG,CAAC,MAAJ,CAAW,CAAX,EAAc,WAAd,KAA8B,GAAG,CAAC,KAAJ,CAAU,CAAV,CAArC;AACD;AAED,OAAM,SAAU,UAAV,CACJ,KADI,EAEJ,OAFI,EAGJ,SAHI,EAGgB;AAEpB,QAAM,GAAG,GAAG,OAAO,CAAC,CAAD,CAAnB;AACA,QAAM,MAAM,GAAmB,EAA/B;AACA,MAAI,OAAJ;;AACA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,KAAK,CAAC,MAA1B,EAAkC,CAAC,EAAnC,EAAuC;AACrC,UAAM,IAAI,GAAG,KAAK,CAAC,CAAD,CAAlB;AACA,UAAM,GAAG,GAAG,oBAAoB,CAAC,IAAD,EAAO,GAAP,EAAY,IAAZ,CAAhC;;AACA,QAAI,OAAO,KAAK,GAAhB,EAAqB;AACnB,MAAA,OAAO,GAAG,GAAV;AACA,MAAA,MAAM,CAAC,IAAP,CAAY;AACV,QAAA,IAAI,EAAE,GAAG,KAAA,IAAH,IAAA,GAAG,KAAA,KAAA,CAAH,GAAA,GAAA,GAAO,EADH;AAEV,QAAA,KAAK,EAAE;AAFG,OAAZ;AAID;;AACD,IAAA,MAAM,CAAC,MAAM,CAAC,MAAP,GAAgB,CAAjB,CAAN,CAA0B,KAA1B,CAAgC,IAAhC,CAAqC,IAArC;AACD;;AACD,SAAO,MAAP;AACD;AAED,OAAM,SAAU,WAAV,CAA0B,CAA1B,EAAuD;AAAS,SAAO,CAAC,IAAI,IAAL,GAAY,KAAK,CAAC,OAAN,CAAc,CAAd,IAAmB,CAAnB,GAAuB,CAAC,CAAD,CAAnC,GAAyC,EAAhD;AAAoD;AAE1H,OAAM,SAAU,SAAV,CACJ,KADI,EAEJ,MAFI,EAGJ,QAHI,EAIJ,MAJI,EAKJ,aALI,EAKuD;AAE3D,MAAI,MAAM,KAAK,IAAX,IAAmB,CAAC,MAAM,CAAC,MAA/B,EAAuC,OAAO,KAAP;AACvC,QAAM,cAAc,GAAG,IAAI,IAAI,CAAC,QAAT,CAAkB,MAAlB,EAA0B;AAAE,IAAA,WAAW,EAAE,QAAf;AAAyB,IAAA,KAAK,EAAE;AAAhC,GAA1B,CAAvB;AAEA,SAAO,KAAK,CAAC,IAAN,CAAW,CAAC,CAAD,EAAI,CAAJ,KAAS;AACzB,SAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,MAAM,CAAC,MAA3B,EAAmC,CAAC,EAApC,EAAwC;AACtC,YAAM,OAAO,GAAG,MAAM,CAAC,CAAD,CAAtB;AAEA,UAAI,KAAK,GAAG,oBAAoB,CAAC,CAAD,EAAI,OAAJ,CAAhC;AACA,UAAI,KAAK,GAAG,oBAAoB,CAAC,CAAD,EAAI,OAAJ,CAAhC;;AAEA,UAAI,QAAQ,CAAC,CAAD,CAAZ,EAAiB;AACf,SAAC,KAAD,EAAQ,KAAR,IAAiB,CAAC,KAAD,EAAQ,KAAR,CAAjB;AACD;;AAED,UAAI,aAAa,IAAI,aAAa,CAAC,OAAD,CAAlC,EAA6C;AAC3C,cAAM,YAAY,GAAG,aAAa,CAAC,OAAD,CAAb,CAAuB,KAAvB,EAA8B,KAA9B,CAArB;AAEA,YAAI,CAAC,YAAL,EAAmB;AAEnB,eAAO,YAAP;AACD,OAhBqC,CAkBtC;;;AACA,UAAI,KAAK,KAAK,IAAV,IAAkB,KAAK,KAAK,IAAhC,EAAsC;AACpC;AACD,OArBqC,CAuBtC;;;AACA,UAAI,KAAK,YAAY,IAAjB,IAAyB,KAAK,YAAY,IAA9C,EAAoD;AAClD,eAAO,KAAK,CAAC,OAAN,KAAkB,KAAK,CAAC,OAAN,EAAzB;AACD;;AAED,OAAC,KAAD,EAAQ,KAAR,IAAiB,CAAC,KAAD,EAAQ,KAAR,EAAe,GAAf,CAAmB,CAAC,IAAI,CAAC,CAAC,IAAI,EAAN,EAAU,QAAV,GAAqB,iBAArB,EAAxB,CAAjB;;AAEA,UAAI,KAAK,KAAK,KAAd,EAAqB;AACnB,YAAI,CAAC,KAAK,CAAC,KAAD,CAAN,IAAiB,CAAC,KAAK,CAAC,KAAD,CAA3B,EAAoC,OAAO,MAAM,CAAC,KAAD,CAAN,GAAgB,MAAM,CAAC,KAAD,CAA7B;AACpC,eAAO,cAAc,CAAC,OAAf,CAAuB,KAAvB,EAA8B,KAA9B,CAAP;AACD;AACF;;AAED,WAAO,CAAP;AACD,GAtCM,CAAP;AAuCD;AAED,OAAM,SAAU,aAAV,CAAyB,KAAzB,EAAqC,MAArC,EAA4D,IAA5D,EAAqE;AACzE,SAAO,KAAK,IAAI,IAAT,IACL,MAAM,IAAI,IADL,IAEL,OAAO,KAAP,KAAiB,SAFZ,IAGL,KAAK,CAAC,QAAN,GAAiB,iBAAjB,GAAqC,OAArC,CAA6C,MAAM,CAAC,iBAAP,EAA7C,MAA6E,CAAC,CAHhF;AAID;AAED,OAAM,SAAU,WAAV,CAA4C,KAA5C,EAAwD,MAAxD,EAAsE;AAC1E,MAAI,CAAC,MAAL,EAAa,OAAO,KAAP;AACb,EAAA,MAAM,GAAG,MAAM,CAAC,QAAP,GAAkB,WAAlB,EAAT;AACA,MAAI,MAAM,CAAC,IAAP,OAAkB,EAAtB,EAA0B,OAAO,KAAP;AAE1B,SAAO,KAAK,CAAC,MAAN,CAAc,IAAD,IAAe,MAAM,CAAC,IAAP,CAAY,IAAZ,EAAkB,IAAlB,CAAuB,GAAG,IAAI,aAAa,CAAC,oBAAoB,CAAC,IAAD,EAAO,GAAP,CAArB,EAAkC,MAAlC,EAA0C,IAA1C,CAA3C,CAA5B,CAAP;AACD;AAED;;;;;AAKG;;AACH,OAAM,SAAU,WAAV,CAAkD,EAAlD,EAA2D,IAA3D,EAAyE,KAAzE,EAAkF;AACtF,SAAO,QAAP;;AAEA,MAAI,EAAE,CAAC,MAAH,CAAU,cAAV,CAAyB,IAAzB,KAAkC,EAAE,CAAC,MAAH,CAAU,cAAV,CAAyB,IAAzB,CAAlC,IAAqE,EAAE,CAAC,MAAH,CAAU,IAAV,EAAwB,IAAjG,EAAuG;AACrG,WAAO,KAAK,GAAG,QAAH,GAAqB,QAAjC;AACD;;AACD,MAAI,EAAE,CAAC,MAAH,CAAU,cAAV,CAAyB,IAAzB,CAAJ,EAAoC,OAAO,QAAP;AACpC,MAAI,EAAE,CAAC,MAAH,CAAU,cAAV,CAAyB,IAAzB,CAAJ,EAAoC,OAAO,QAAP;AACrC;AAED,OAAM,SAAU,QAAV,CAAoB,EAApB,EAAkC,KAAlC,EAA+C;AACnD,MAAI,SAAS,GAAG,CAAhB;AACA,SAAO,CAAC,GAAG,IAAJ,KAAmB;AACxB,IAAA,YAAY,CAAC,SAAD,CAAZ;AACA,IAAA,SAAS,GAAG,UAAU,CAAC,MAAM,EAAE,CAAC,GAAG,IAAJ,CAAT,EAAoB,KAApB,CAAtB;AACD,GAHD;AAID;AAED,OAAM,SAAU,QAAV,CAAuD,EAAvD,EAA8D,KAA9D,EAA2E;AAC/E,MAAI,UAAU,GAAG,KAAjB;AACA,SAAO,CAAC,GAAG,IAAJ,KAAiD;AACtD,QAAI,CAAC,UAAL,EAAiB;AACf,MAAA,UAAU,GAAG,IAAb;AACA,MAAA,UAAU,CAAC,MAAM,UAAU,GAAG,KAApB,EAA2B,KAA3B,CAAV;AACA,aAAO,EAAE,CAAC,GAAG,IAAJ,CAAT;AACD;AACF,GAND;AAOD;AAED,OAAM,SAAU,sBAAV,CAAkC,MAAlC,EAAkD,WAAlD,EAAkE;AACtE,SAAO,MAAM,CAAC,IAAP,CAAY,WAAZ,EAAyB,MAAzB,CAAgC,CAAC,IAAI,CAAC,CAAC,UAAF,CAAa,MAAb,CAArC,EAA2D,MAA3D,CAAkE,CAAC,GAAD,EAAW,CAAX,KAAwB;AAC/F,IAAA,GAAG,CAAC,CAAC,CAAC,OAAF,CAAU,MAAV,EAAkB,EAAlB,CAAD,CAAH,GAA6B,WAAW,CAAC,CAAD,CAAxC;AACA,WAAO,GAAP;AACD,GAHM,EAGJ,EAHI,CAAP;AAID;AAED,OAAM,SAAU,OAAV,CAAmB,EAAnB,EAA4B,IAAI,GAAG,SAAnC,EAA8C,IAA9C,EAA8E,QAAQ,GAAG,KAAzF,EAA8F;AAClG,QAAM,SAAS,GAAG,SAAS,CAAC,IAAD,CAA3B;;AAEA,MAAI,EAAE,CAAC,MAAH,CAAU,cAAV,CAAyB,IAAzB,CAAJ,EAAoC;AAClC,WAAO,EAAE,CAAC,MAAH,CAAU,IAAV,EAAiB,IAAI,YAAY,QAAhB,GAA2B,IAAI,EAA/B,GAAoC,IAArD,CAAP;AACD,GAFD,MAEO,IAAI,EAAE,CAAC,MAAH,CAAU,cAAV,CAAyB,SAAzB,CAAJ,EAAyC;AAC9C,WAAO,EAAE,CAAC,MAAH,CAAU,SAAV,EAAsB,IAAI,YAAY,QAAhB,GAA2B,IAAI,EAA/B,GAAoC,IAA1D,CAAP;AACD,GAFM,MAEA,IAAI,EAAE,CAAC,MAAH,CAAU,cAAV,CAAyB,IAAzB,MAAmC,CAAC,IAAD,IAAS,QAA5C,CAAJ,EAA2D;AAChE,WAAO,EAAE,CAAC,MAAH,CAAU,IAAV,CAAP;AACD,GAFM,MAEA,IAAI,EAAE,CAAC,MAAH,CAAU,cAAV,CAAyB,SAAzB,MAAwC,CAAC,IAAD,IAAS,QAAjD,CAAJ,EAAgE;AACrE,WAAO,EAAE,CAAC,MAAH,CAAU,SAAV,CAAP;AACD;;AACD,SAAO,SAAP;AACD;AAED,OAAM,SAAU,KAAV,CAAiB,KAAjB,EAAgC,GAAG,GAAG,CAAtC,EAAyC,GAAG,GAAG,CAA/C,EAAgD;AACpD,SAAO,IAAI,CAAC,GAAL,CAAS,GAAT,EAAc,IAAI,CAAC,GAAL,CAAS,GAAT,EAAc,KAAd,CAAd,CAAP;AACD;AAED,OAAM,SAAU,MAAV,CAAkB,GAAlB,EAA+B,MAA/B,EAA+C,IAAI,GAAG,GAAtD,EAAyD;AAC7D,SAAO,GAAG,GAAG,IAAI,CAAC,MAAL,CAAY,IAAI,CAAC,GAAL,CAAS,CAAT,EAAY,MAAM,GAAG,GAAG,CAAC,MAAzB,CAAZ,CAAb;AACD;AAED,OAAM,SAAU,KAAV,CAAiB,GAAjB,EAA8B,IAAI,GAAG,CAArC,EAAsC;AAC1C,QAAM,OAAO,GAAa,EAA1B;AACA,MAAI,KAAK,GAAG,CAAZ;;AACA,SAAO,KAAK,GAAG,GAAG,CAAC,MAAnB,EAA2B;AACzB,IAAA,OAAO,CAAC,IAAR,CAAa,GAAG,CAAC,MAAJ,CAAW,KAAX,EAAkB,IAAlB,CAAb;AACA,IAAA,KAAK,IAAI,IAAT;AACD;;AACD,SAAO,OAAP;AACD;AAED,OAAM,SAAU,qBAAV,CAAiC,KAAjC,EAAgD,MAAM,GAAG,KAAzD,EAA8D;AAClE,QAAM,IAAI,GAAG,MAAM,GAAG,IAAH,GAAU,IAA7B;;AACA,MAAI,KAAK,GAAG,IAAZ,EAAkB;AAChB,WAAO,GAAG,KAAK,IAAf;AACD;;AAED,QAAM,MAAM,GAAG,MAAM,GAAG,CAAC,IAAD,EAAO,IAAP,EAAa,IAAb,CAAH,GAAwB,CAAC,GAAD,EAAM,GAAN,EAAW,GAAX,CAA7C;AACA,MAAI,IAAI,GAAG,CAAC,CAAZ;;AACA,SAAO,IAAI,CAAC,GAAL,CAAS,KAAT,KAAmB,IAAnB,IAA2B,IAAI,GAAG,MAAM,CAAC,MAAP,GAAgB,CAAzD,EAA4D;AAC1D,IAAA,KAAK,IAAI,IAAT;AACA,MAAE,IAAF;AACD;;AACD,SAAO,GAAG,KAAK,CAAC,OAAN,CAAc,CAAd,CAAgB,IAAI,MAAM,CAAC,IAAD,CAAM,GAA1C;AACD;AAED,OAAM,SAAU,kBAAV,CAA8B,GAA9B,EAAyE;AAC7E,MAAI,CAAC,GAAL,EAAU,OAAO,EAAP;AAEV,SAAO,MAAM,CAAC,IAAP,CAAY,GAAZ,EAAiB,MAAjB,CAAwB,CAAC,CAAD,EAAS,GAAT,KAAwB;AACrD,IAAA,CAAC,CAAC,QAAQ,CAAC,GAAD,CAAT,CAAD,GAAmB,GAAG,CAAC,GAAD,CAAtB;AACA,WAAO,CAAP;AACD,GAHM,EAGJ,EAHI,CAAP;AAID;AAED,OAAM,SAAU,SAAV,CACJ,MAAA,GAA0B,EADtB,EAEJ,MAAA,GAA0B,EAFtB,EAEwB;AAE5B,OAAK,MAAM,GAAX,IAAkB,MAAlB,EAA0B;AACxB,UAAM,cAAc,GAAG,MAAM,CAAC,GAAD,CAA7B;AACA,UAAM,cAAc,GAAG,MAAM,CAAC,GAAD,CAA7B,CAFwB,CAIxB;AACA;;AACA,QACE,QAAQ,CAAC,cAAD,CAAR,IACA,QAAQ,CAAC,cAAD,CAFV,EAGE;AACA,MAAA,MAAM,CAAC,GAAD,CAAN,GAAc,SAAS,CAAC,cAAD,EAAiB,cAAjB,CAAvB;AAEA;AACD;;AAED,IAAA,MAAM,CAAC,GAAD,CAAN,GAAc,cAAd;AACD;;AAED,SAAO,MAAP;AACD;AAED,OAAM,SAAU,SAAV,CAAwB,MAAxB,EAAwC,GAAxC,EAA8C;AAClD,SAAO,KAAK,CAAC,MAAD,CAAL,CAAc,IAAd,CAAmB,GAAnB,CAAP;AACD;AAED;;AACA,OAAM,SAAU,YAAV,CAAwB,CAAxB,EAAgC;AACpC,MAAI,CAAC,CAAC,YAAN,EAAoB,OAAO,CAAC,CAAC,YAAF,EAAP;AAEpB,QAAM,IAAI,GAAG,EAAb;AACA,MAAI,EAAE,GAAG,CAAC,CAAC,MAAX;;AAEA,SAAO,EAAP,EAAW;AACT,IAAA,IAAI,CAAC,IAAL,CAAU,EAAV;;AAEA,QAAI,EAAE,CAAC,OAAH,KAAe,MAAnB,EAA2B;AACzB,MAAA,IAAI,CAAC,IAAL,CAAU,QAAV;AACA,MAAA,IAAI,CAAC,IAAL,CAAU,MAAV;AAEA,aAAO,IAAP;AACD;;AAED,IAAA,EAAE,GAAG,EAAE,CAAC,aAAR;AACD;;AACD,SAAO,IAAP;AACD;AAED,OAAM,SAAU,cAAV,CAA0B,KAA1B,EAA+B;AACnC,QAAM,IAAI,GAAG,MAAM,CAAC,IAAP,CAAY,KAAZ,EAAmB,IAAnB,EAAb;AAEA,QAAM,GAAG,GAAG,EAAZ;;AAEA,OAAK,IAAI,CAAC,GAAG,CAAb,EAAgB,CAAC,GAAG,IAAI,CAAC,MAAzB,EAAiC,CAAC,EAAlC,EAAsC;AACpC,IAAA,GAAG,CAAC,IAAI,CAAC,CAAD,CAAL,CAAH,GAAe,KAAK,CAAC,IAAI,CAAC,CAAD,CAAL,CAApB;AACD;;AAED,SAAO,GAAP;AACD;AAED;;;;AAIG;;AACH,OAAM,SAAU,gBAAV,CACJ,OADI,EACmF;AAEvF,MAAI,CAAC,OAAL,EAAc,OAAO,EAAP;;AAEd,MAAI,OAAO,OAAP,KAAmB,QAAnB,IAA+B,CAAC,KAAK,CAAC,OAAN,CAAc,OAAd,CAApC,EAA4D;AAC1D,WAAO,OAAP;AACD;;AAED,MAAI,OAAO,OAAP,KAAmB,QAAvB,EAAiC;AAC/B,UAAM,OAAO,GAAG,OAAO,CAAC,IAAR,EAAhB;AACA,QAAI,CAAC,OAAL,EAAc,OAAO,EAAP;AAEd,WAAO,OAAO,CAAC,KAAR,CAAc,KAAd,EAAqB,MAArB,CAA4B,CAAC,GAAD,EAAM,GAAN,KAAa;AAC9C,MAAA,GAAG,CAAC,GAAD,CAAH,GAAW,IAAX;AACA,aAAO,GAAP;AACD,KAHM,EAGJ,EAHI,CAAP;AAID;;AAED,MAAI,KAAK,CAAC,OAAN,CAAc,OAAd,CAAJ,EAA4B;AAC1B,WAAO,OAAO,CAAC,MAAR,CAAe,CAAC,GAAD,EAAM,GAAN,KAAa;AACjC,UAAI,OAAO,GAAP,KAAe,QAAnB,EAA6B;AAC3B,cAAM,OAAO,GAAG,GAAG,CAAC,IAAJ,EAAhB;;AACA,YAAI,OAAJ,EAAa;AACX,UAAA,OAAO,CAAC,KAAR,CAAc,KAAd,EAAqB,OAArB,CAA6B,SAAS,IAAG;AACvC,YAAA,GAAG,CAAC,SAAD,CAAH,GAAiB,IAAjB;AACD,WAFD;AAGD;AACF,OAPD,MAOO,IAAI,GAAG,IAAI,OAAO,GAAP,KAAe,QAA1B,EAAoC;AACzC,QAAA,MAAM,CAAC,MAAP,CAAc,GAAd,EAAmB,GAAnB;AACD;;AACD,aAAO,GAAP;AACD,KAZM,EAYJ,EAZI,CAAP;AAaD;;AAED,SAAO,EAAP;AACD","sourcesContent":["import { defineComponent, h } from 'vue'\nimport { VNode, VNodeDirective } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return defineComponent({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n props: {\n tag: {\n type: String,\n default: el,\n },\n },\n\n render (): VNode {\n const data = { ...this.$attrs }\n\n data.class = (`${c} ${data.class || ''}`).trim()\n\n return h(this.tag, data, this.$slots.default?.())\n },\n })\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {}),\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n const once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n },\n }) as EventListener & EventListenerOptions\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: (event: any) => void,\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj !== null && typeof obj === 'object' && !Array.isArray(obj) && path in obj && obj[path] !== undefined) {\n return obj[path]\n }\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component\n\n // Look for overrides\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n\n const override = getObjectValueByPath(vm, iconPath, iconName)\n\n if (typeof override === 'string') iconName = override\n else return override\n }\n\n if (component == null) {\n return iconName\n }\n\n return {\n component,\n props: {\n icon: iconName,\n },\n }\n}\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems<T extends any = any> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction<T>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/**\n * Returns:\n * - 'normal' for old style slots - `<template slot=\"default\">`\n * - 'scoped' for old style scoped slots (`<template slot=\"default\" slot-scope=\"data\">`) or bound v-slot (`#default=\"data\"`)\n * - 'v-slot' for unbound v-slot (`#default`) - only if the third param is true, otherwise counts as scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n return 'scoped'\n\n if (vm.$slots.hasOwnProperty(name) && vm.$slots.hasOwnProperty(name) && (vm.$slots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots.hasOwnProperty(name)) return 'normal'\n if (vm.$slots.hasOwnProperty(name)) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n obj[k.replace(prefix, '')] = scopedSlots[k]\n return obj\n }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object | (() => object), optional = false) {\n const kebabName = kebabCase(name)\n\n if (vm.$slots.hasOwnProperty(name)) {\n return vm.$slots[name]!(data instanceof Function ? data() : data)\n } else if (vm.$slots.hasOwnProperty(kebabName)) {\n return vm.$slots[kebabName]!(data instanceof Function ? data() : data)\n } else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {\n return vm.$slots[name]\n } else if (vm.$slots.hasOwnProperty(kebabName) && (!data || optional)) {\n return vm.$slots[kebabName]\n }\n return undefined\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n const base = binary ? 1024 : 1000\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Dictionary<any> = {},\n target: Dictionary<any> = {}\n) {\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n source[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n source[key] = targetProperty\n }\n\n return source\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\n/** Polyfill for Event.prototype.composedPath */\nexport function composedPath (e: Event): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n}\n\nexport function normalizeAttrs (attrs) {\n const keys = Object.keys(attrs).sort()\n\n const obj = {}\n\n for (let i = 0; i < keys.length; i++) {\n obj[keys[i]] = attrs[keys[i]]\n }\n\n return obj\n}\n\n/**\n * Нормализует классы из различных форматов в объект\n * @param classes - классы в виде строки, объекта или массива\n * @returns объект с нормализованными классами\n */\nexport function normalizeClasses (\n classes: string | Record<string, any> | Array<string | Record<string, any>> | undefined\n): Record<string, any> {\n if (!classes) return {}\n\n if (typeof classes === 'object' && !Array.isArray(classes)) {\n return classes\n }\n\n if (typeof classes === 'string') {\n const trimmed = classes.trim()\n if (!trimmed) return {}\n\n return trimmed.split(/\\s+/).reduce((acc, cls) => {\n acc[cls] = true\n return acc\n }, {} as Record<string, any>)\n }\n\n if (Array.isArray(classes)) {\n return classes.reduce((acc, cls) => {\n if (typeof cls === 'string') {\n const trimmed = cls.trim()\n if (trimmed) {\n trimmed.split(/\\s+/).forEach(className => {\n acc[className] = true\n })\n }\n } else if (cls && typeof cls === 'object') {\n Object.assign(acc, cls)\n }\n return acc\n }, {} as Record<string, any>)\n }\n\n return {}\n}\n"],"sourceRoot":"","file":"helpers.js"}
1
+ {"version":3,"sources":["../../src/util/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import { defineComponent, h, resolveComponent } from 'vue'\nimport { VNode, VNodeDirective } from 'vue/types'\nimport { VuetifyIcon } from 'vuetify/types/services/icons'\nimport { DataTableCompareFunction, SelectItemKey, ItemGroup } from 'vuetify/types'\n\n/** Резолвит пропс tag как компонент, если это строка с составным именем (например v-card или VCard) */\nexport const getTagValue = (tag: string) => (\n tag.includes('-') || /^[A-Z]/.test(tag)\n ? resolveComponent(tag)\n : tag\n)\n\nexport function createSimpleFunctional (\n c: string,\n el = 'div',\n name?: string\n) {\n return defineComponent({\n name: name || c.replace(/__/g, '-'),\n\n functional: true,\n\n props: {\n tag: {\n type: String,\n default: el,\n },\n },\n\n render (): VNode {\n const data = { ...this.$attrs }\n\n data.class = (`${c} ${data.class || ''}`).trim()\n\n return h(getTagValue(this.tag), data, this.$slots.default?.())\n },\n })\n}\n\nexport type BindingConfig = Pick<VNodeDirective, 'arg' | 'modifiers' | 'value'>\nexport function directiveConfig (binding: BindingConfig, defaults = {}): VNodeDirective {\n return {\n ...defaults,\n ...binding.modifiers,\n value: binding.arg,\n ...(binding.value || {}),\n }\n}\n\nexport function addOnceEventListener (\n el: EventTarget,\n eventName: string,\n cb: (event: Event) => void,\n options: boolean | AddEventListenerOptions = false\n): void {\n const once = (event: Event) => {\n cb(event)\n el.removeEventListener(eventName, once, options)\n }\n\n el.addEventListener(eventName, once, options)\n}\n\nlet passiveSupported = false\ntry {\n if (typeof window !== 'undefined') {\n const testListenerOpts = Object.defineProperty({}, 'passive', {\n get: () => {\n passiveSupported = true\n },\n }) as EventListener & EventListenerOptions\n\n window.addEventListener('testListener', testListenerOpts, testListenerOpts)\n window.removeEventListener('testListener', testListenerOpts, testListenerOpts)\n }\n} catch (e) { console.warn(e) } /* eslint-disable-line no-console */\nexport { passiveSupported }\n\nexport function addPassiveEventListener (\n el: EventTarget,\n event: string,\n cb: (event: any) => void,\n options: {}\n): void {\n el.addEventListener(event, cb, passiveSupported ? options : false)\n}\n\nexport function getNestedValue (obj: any, path: (string | number)[], fallback?: any): any {\n const last = path.length - 1\n\n if (last < 0) return obj === undefined ? fallback : obj\n\n for (let i = 0; i < last; i++) {\n if (obj == null) {\n return fallback\n }\n obj = obj[path[i]]\n }\n\n if (obj == null) return fallback\n\n return obj[path[last]] === undefined ? fallback : obj[path[last]]\n}\n\nexport function deepEqual (a: any, b: any): boolean {\n if (a === b) return true\n\n if (\n a instanceof Date &&\n b instanceof Date &&\n a.getTime() !== b.getTime()\n ) {\n // If the values are Date, compare them as timestamps\n return false\n }\n\n if (a !== Object(a) || b !== Object(b)) {\n // If the values aren't objects, they were already checked for equality\n return false\n }\n\n const props = Object.keys(a)\n\n if (props.length !== Object.keys(b).length) {\n // Different number of props, don't bother to check\n return false\n }\n\n return props.every(p => deepEqual(a[p], b[p]))\n}\n\nexport function getObjectValueByPath (obj: any, path: string, fallback?: any): any {\n // credit: http://stackoverflow.com/questions/6491463/accessing-nested-javascript-objects-with-string-key#comment55278413_6491621\n if (obj == null || !path || typeof path !== 'string') return fallback\n if (obj !== null && typeof obj === 'object' && !Array.isArray(obj) && path in obj && obj[path] !== undefined) {\n return obj[path]\n }\n path = path.replace(/\\[(\\w+)\\]/g, '.$1') // convert indexes to properties\n path = path.replace(/^\\./, '') // strip a leading dot\n return getNestedValue(obj, path.split('.'), fallback)\n}\n\nexport function getPropertyFromItem (\n item: object,\n property: SelectItemKey,\n fallback?: any\n): any {\n if (property == null) return item === undefined ? fallback : item\n\n if (item !== Object(item)) return fallback === undefined ? item : fallback\n\n if (typeof property === 'string') return getObjectValueByPath(item, property, fallback)\n\n if (Array.isArray(property)) return getNestedValue(item, property, fallback)\n\n if (typeof property !== 'function') return fallback\n\n const value = property(item, fallback)\n\n return typeof value === 'undefined' ? fallback : value\n}\n\nexport function createRange (length: number): number[] {\n return Array.from({ length }, (v, k) => k)\n}\n\nexport function getZIndex (el?: Element | null): number {\n if (!el || el.nodeType !== Node.ELEMENT_NODE) return 0\n\n const index = +window.getComputedStyle(el).getPropertyValue('z-index')\n\n if (!index) return getZIndex(el.parentNode as Element)\n return index\n}\n\nexport function filterObjectOnKeys<T, K extends keyof T> (obj: T, keys: K[]): { [N in K]: T[N] } {\n const filtered = {} as { [N in K]: T[N] }\n\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i]\n if (typeof obj[key] !== 'undefined') {\n filtered[key] = obj[key]\n }\n }\n\n return filtered\n}\n\nexport function convertToUnit (str: string | number | null | undefined, unit = 'px'): string | undefined {\n if (str == null || str === '') {\n return undefined\n } else if (isNaN(+str!)) {\n return String(str)\n } else {\n return `${Number(str)}${unit}`\n }\n}\n\nexport function kebabCase (str: string): string {\n return (str || '').replace(/([a-z])([A-Z])/g, '$1-$2').toLowerCase()\n}\n\nexport function isObject (obj: any): obj is object {\n return obj !== null && typeof obj === 'object'\n}\n\n// KeyboardEvent.keyCode aliases\nexport const keyCodes = Object.freeze({\n enter: 13,\n tab: 9,\n delete: 46,\n esc: 27,\n space: 32,\n up: 38,\n down: 40,\n left: 37,\n right: 39,\n end: 35,\n home: 36,\n del: 46,\n backspace: 8,\n insert: 45,\n pageup: 33,\n pagedown: 34,\n shift: 16,\n})\n\n/**\n * This remaps internal names like '$cancel' or '$vuetify.icons.cancel'\n * to the current name or component for that icon.\n */\nexport function remapInternalIcon (vm: Vue, iconName: string): VuetifyIcon {\n // Look for custom component in the configuration\n const component = vm.$vuetify.icons.component\n\n // Look for overrides\n if (iconName.startsWith('$')) {\n // Get the target icon name\n const iconPath = `$vuetify.icons.values.${iconName.split('$').pop()!.split('.').pop()}`\n\n // Now look up icon indirection name,\n // e.g. '$vuetify.icons.values.cancel'\n\n const override = getObjectValueByPath(vm, iconPath, iconName)\n\n if (typeof override === 'string') iconName = override\n else return override\n }\n\n if (component == null) {\n return iconName\n }\n\n return {\n component,\n props: {\n icon: iconName,\n },\n }\n}\n\nexport function keys<O> (o: O) {\n return Object.keys(o) as (keyof O)[]\n}\n\n/**\n * Camelize a hyphen-delimited string.\n */\nconst camelizeRE = /-(\\w)/g\nexport const camelize = (str: string): string => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : '')\n}\n\n/**\n * Returns the set difference of B and A, i.e. the set of elements in B but not in A\n */\nexport function arrayDiff (a: any[], b: any[]): any[] {\n const diff: any[] = []\n for (let i = 0; i < b.length; i++) {\n if (a.indexOf(b[i]) < 0) diff.push(b[i])\n }\n return diff\n}\n\n/**\n * Makes the first character of a string uppercase\n */\nexport function upperFirst (str: string): string {\n return str.charAt(0).toUpperCase() + str.slice(1)\n}\n\nexport function groupItems<T extends any = any> (\n items: T[],\n groupBy: string[],\n groupDesc: boolean[]\n): ItemGroup<T>[] {\n const key = groupBy[0]\n const groups: ItemGroup<T>[] = []\n let current\n for (let i = 0; i < items.length; i++) {\n const item = items[i]\n const val = getObjectValueByPath(item, key, null)\n if (current !== val) {\n current = val\n groups.push({\n name: val ?? '',\n items: [],\n })\n }\n groups[groups.length - 1].items.push(item)\n }\n return groups\n}\n\nexport function wrapInArray<T> (v: T | T[] | null | undefined): T[] { return v != null ? Array.isArray(v) ? v : [v] : [] }\n\nexport function sortItems<T extends any = any> (\n items: T[],\n sortBy: string[],\n sortDesc: boolean[],\n locale: string,\n customSorters?: Record<string, DataTableCompareFunction<T>>\n): T[] {\n if (sortBy === null || !sortBy.length) return items\n const stringCollator = new Intl.Collator(locale, { sensitivity: 'accent', usage: 'sort' })\n\n return items.sort((a, b) => {\n for (let i = 0; i < sortBy.length; i++) {\n const sortKey = sortBy[i]\n\n let sortA = getObjectValueByPath(a, sortKey)\n let sortB = getObjectValueByPath(b, sortKey)\n\n if (sortDesc[i]) {\n [sortA, sortB] = [sortB, sortA]\n }\n\n if (customSorters && customSorters[sortKey]) {\n const customResult = customSorters[sortKey](sortA, sortB)\n\n if (!customResult) continue\n\n return customResult\n }\n\n // Check if both cannot be evaluated\n if (sortA === null && sortB === null) {\n continue\n }\n\n // Dates should be compared numerically\n if (sortA instanceof Date && sortB instanceof Date) {\n return sortA.getTime() - sortB.getTime()\n }\n\n [sortA, sortB] = [sortA, sortB].map(s => (s || '').toString().toLocaleLowerCase())\n\n if (sortA !== sortB) {\n if (!isNaN(sortA) && !isNaN(sortB)) return Number(sortA) - Number(sortB)\n return stringCollator.compare(sortA, sortB)\n }\n }\n\n return 0\n })\n}\n\nexport function defaultFilter (value: any, search: string | null, item: any) {\n return value != null &&\n search != null &&\n typeof value !== 'boolean' &&\n value.toString().toLocaleLowerCase().indexOf(search.toLocaleLowerCase()) !== -1\n}\n\nexport function searchItems<T extends any = any> (items: T[], search: string): T[] {\n if (!search) return items\n search = search.toString().toLowerCase()\n if (search.trim() === '') return items\n\n return items.filter((item: any) => Object.keys(item).some(key => defaultFilter(getObjectValueByPath(item, key), search, item)))\n}\n\n/**\n * Returns:\n * - 'normal' for old style slots - `<template slot=\"default\">`\n * - 'scoped' for old style scoped slots (`<template slot=\"default\" slot-scope=\"data\">`) or bound v-slot (`#default=\"data\"`)\n * - 'v-slot' for unbound v-slot (`#default`) - only if the third param is true, otherwise counts as scoped\n */\nexport function getSlotType<T extends boolean = false> (vm: Vue, name: string, split?: T): (T extends true ? 'v-slot' : never) | 'normal' | 'scoped' | void {\n return 'scoped'\n\n if (vm.$slots.hasOwnProperty(name) && vm.$slots.hasOwnProperty(name) && (vm.$slots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots.hasOwnProperty(name)) return 'normal'\n if (vm.$slots.hasOwnProperty(name)) return 'scoped'\n}\n\nexport function debounce (fn: Function, delay: number) {\n let timeoutId = 0 as any\n return (...args: any[]) => {\n clearTimeout(timeoutId)\n timeoutId = setTimeout(() => fn(...args), delay)\n }\n}\n\nexport function throttle<T extends (...args: any[]) => any> (fn: T, limit: number) {\n let throttling = false\n return (...args: Parameters<T>): void | ReturnType<T> => {\n if (!throttling) {\n throttling = true\n setTimeout(() => throttling = false, limit)\n return fn(...args)\n }\n }\n}\n\nexport function getPrefixedScopedSlots (prefix: string, scopedSlots: any) {\n return Object.keys(scopedSlots).filter(k => k.startsWith(prefix)).reduce((obj: any, k: string) => {\n obj[k.replace(prefix, '')] = scopedSlots[k]\n return obj\n }, {})\n}\n\nexport function getSlot (vm: Vue, name = 'default', data?: object | (() => object), optional = false) {\n const kebabName = kebabCase(name)\n\n if (vm.$slots.hasOwnProperty(name)) {\n return vm.$slots[name]!(data instanceof Function ? data() : data)\n } else if (vm.$slots.hasOwnProperty(kebabName)) {\n return vm.$slots[kebabName]!(data instanceof Function ? data() : data)\n } else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {\n return vm.$slots[name]\n } else if (vm.$slots.hasOwnProperty(kebabName) && (!data || optional)) {\n return vm.$slots[kebabName]\n }\n return undefined\n}\n\nexport function clamp (value: number, min = 0, max = 1) {\n return Math.max(min, Math.min(max, value))\n}\n\nexport function padEnd (str: string, length: number, char = '0') {\n return str + char.repeat(Math.max(0, length - str.length))\n}\n\nexport function chunk (str: string, size = 1) {\n const chunked: string[] = []\n let index = 0\n while (index < str.length) {\n chunked.push(str.substr(index, size))\n index += size\n }\n return chunked\n}\n\nexport function humanReadableFileSize (bytes: number, binary = false): string {\n const base = binary ? 1024 : 1000\n if (bytes < base) {\n return `${bytes} B`\n }\n\n const prefix = binary ? ['Ki', 'Mi', 'Gi'] : ['k', 'M', 'G']\n let unit = -1\n while (Math.abs(bytes) >= base && unit < prefix.length - 1) {\n bytes /= base\n ++unit\n }\n return `${bytes.toFixed(1)} ${prefix[unit]}B`\n}\n\nexport function camelizeObjectKeys (obj: Record<string, any> | null | undefined) {\n if (!obj) return {}\n\n return Object.keys(obj).reduce((o: any, key: string) => {\n o[camelize(key)] = obj[key]\n return o\n }, {})\n}\n\nexport function mergeDeep (\n source: Dictionary<any> = {},\n target: Dictionary<any> = {}\n) {\n for (const key in target) {\n const sourceProperty = source[key]\n const targetProperty = target[key]\n\n // Only continue deep merging if\n // both properties are objects\n if (\n isObject(sourceProperty) &&\n isObject(targetProperty)\n ) {\n source[key] = mergeDeep(sourceProperty, targetProperty)\n\n continue\n }\n\n source[key] = targetProperty\n }\n\n return source\n}\n\nexport function fillArray<T> (length: number, obj: T) {\n return Array(length).fill(obj)\n}\n\n/** Polyfill for Event.prototype.composedPath */\nexport function composedPath (e: Event): EventTarget[] {\n if (e.composedPath) return e.composedPath()\n\n const path = []\n let el = e.target as Element\n\n while (el) {\n path.push(el)\n\n if (el.tagName === 'HTML') {\n path.push(document)\n path.push(window)\n\n return path\n }\n\n el = el.parentElement!\n }\n return path\n}\n\nexport function normalizeAttrs (attrs) {\n const keys = Object.keys(attrs).sort()\n\n const obj = {}\n\n for (let i = 0; i < keys.length; i++) {\n obj[keys[i]] = attrs[keys[i]]\n }\n\n return obj\n}\n\n/**\n * Нормализует классы из различных форматов в объект\n * @param classes - классы в виде строки, объекта или массива\n * @returns объект с нормализованными классами\n */\nexport function normalizeClasses (\n classes: string | Record<string, any> | Array<string | Record<string, any>> | undefined\n): Record<string, any> {\n if (!classes) return {}\n\n if (typeof classes === 'object' && !Array.isArray(classes)) {\n return classes\n }\n\n if (typeof classes === 'string') {\n const trimmed = classes.trim()\n if (!trimmed) return {}\n\n return trimmed.split(/\\s+/).reduce((acc, cls) => {\n acc[cls] = true\n return acc\n }, {} as Record<string, any>)\n }\n\n if (Array.isArray(classes)) {\n return classes.reduce((acc, cls) => {\n if (typeof cls === 'string') {\n const trimmed = cls.trim()\n if (trimmed) {\n trimmed.split(/\\s+/).forEach(className => {\n acc[className] = true\n })\n }\n } else if (cls && typeof cls === 'object') {\n Object.assign(acc, cls)\n }\n return acc\n }, {} as Record<string, any>)\n }\n\n return {}\n}\n"],"sourceRoot":"","file":"helpers.js"}