@vuetify/nightly 2.6.0 → 2.6.2-master-20211201.0
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.
- package/dist/json/attributes.json +36 -0
- package/dist/json/tags.json +15 -6
- package/dist/json/web-types.json +99 -9
- package/dist/vuetify.css +37 -5
- package/dist/vuetify.css.map +1 -1
- package/dist/vuetify.js +96 -84
- package/dist/vuetify.js.map +1 -1
- package/dist/vuetify.min.css +2 -2
- package/dist/vuetify.min.js +2 -2
- package/es5/components/VBanner/VBanner.js +3 -2
- package/es5/components/VBanner/VBanner.js.map +1 -1
- package/es5/components/VBottomNavigation/VBottomNavigation.js +10 -2
- package/es5/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/es5/components/VBottomSheet/VBottomSheet.js +1 -4
- package/es5/components/VBottomSheet/VBottomSheet.js.map +1 -1
- package/es5/components/VCalendar/VCalendar.js.map +1 -1
- package/es5/components/VCalendar/VCalendarDaily.js +16 -8
- package/es5/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/es5/components/VCalendar/VCalendarWeekly.js +14 -10
- package/es5/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/es5/components/VCalendar/mixins/calendar-with-events.js +19 -20
- package/es5/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/es5/components/VCalendar/mixins/mouse.js +12 -3
- package/es5/components/VCalendar/mixins/mouse.js.map +1 -1
- package/es5/components/VDataTable/MobileRow.js +2 -2
- package/es5/components/VDataTable/MobileRow.js.map +1 -1
- package/es5/components/VDataTable/Row.js +2 -2
- package/es5/components/VDataTable/Row.js.map +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
- package/es5/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/es5/components/VDialog/VDialog.js +4 -10
- package/es5/components/VDialog/VDialog.js.map +1 -1
- package/es5/components/VItemGroup/VItemGroup.js +8 -4
- package/es5/components/VItemGroup/VItemGroup.js.map +1 -1
- package/es5/components/VRadioGroup/VRadioGroup.js +1 -3
- package/es5/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/es5/components/VTabs/VTab.js +3 -2
- package/es5/components/VTabs/VTab.js.map +1 -1
- package/es5/directives/ripple/index.js +0 -7
- package/es5/directives/ripple/index.js.map +1 -1
- package/es5/framework.js +1 -1
- package/es5/locale/it.js +6 -6
- package/es5/locale/it.js.map +1 -1
- package/es5/mixins/routable/index.js +2 -5
- package/es5/mixins/routable/index.js.map +1 -1
- package/es5/util/helpers.js +5 -5
- package/es5/util/helpers.js.map +1 -1
- package/lib/components/VBanner/VBanner.js +3 -2
- package/lib/components/VBanner/VBanner.js.map +1 -1
- package/lib/components/VBottomNavigation/VBottomNavigation.js +10 -2
- package/lib/components/VBottomNavigation/VBottomNavigation.js.map +1 -1
- package/lib/components/VBottomSheet/VBottomSheet.js +1 -4
- package/lib/components/VBottomSheet/VBottomSheet.js.map +1 -1
- package/lib/components/VCalendar/VCalendar.js.map +1 -1
- package/lib/components/VCalendar/VCalendarDaily.js +20 -8
- package/lib/components/VCalendar/VCalendarDaily.js.map +1 -1
- package/lib/components/VCalendar/VCalendarWeekly.js +10 -2
- package/lib/components/VCalendar/VCalendarWeekly.js.map +1 -1
- package/lib/components/VCalendar/mixins/calendar-with-events.js +6 -3
- package/lib/components/VCalendar/mixins/calendar-with-events.js.map +1 -1
- package/lib/components/VCalendar/mixins/mouse.js +8 -3
- package/lib/components/VCalendar/mixins/mouse.js.map +1 -1
- package/lib/components/VDataTable/MobileRow.js +2 -2
- package/lib/components/VDataTable/MobileRow.js.map +1 -1
- package/lib/components/VDataTable/Row.js +2 -2
- package/lib/components/VDataTable/Row.js.map +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js +1 -1
- package/lib/components/VDataTable/VDataTableHeaderDesktop.js.map +1 -1
- package/lib/components/VDialog/VDialog.js +4 -10
- package/lib/components/VDialog/VDialog.js.map +1 -1
- package/lib/components/VItemGroup/VItemGroup.js +7 -5
- package/lib/components/VItemGroup/VItemGroup.js.map +1 -1
- package/lib/components/VRadioGroup/VRadioGroup.js +2 -4
- package/lib/components/VRadioGroup/VRadioGroup.js.map +1 -1
- package/lib/components/VTabs/VTab.js +3 -2
- package/lib/components/VTabs/VTab.js.map +1 -1
- package/lib/directives/ripple/index.js +0 -7
- package/lib/directives/ripple/index.js.map +1 -1
- package/lib/framework.js +1 -1
- package/lib/locale/it.js +6 -6
- package/lib/locale/it.js.map +1 -1
- package/lib/mixins/routable/index.js +3 -5
- package/lib/mixins/routable/index.js.map +1 -1
- package/lib/util/helpers.js +5 -5
- package/lib/util/helpers.js.map +1 -1
- package/package.json +1 -1
- package/src/components/VBanner/VBanner.ts +16 -10
- package/src/components/VBottomNavigation/VBottomNavigation.ts +14 -2
- package/src/components/VBottomNavigation/__tests__/VBottomNavigation.spec.ts +9 -7
- package/src/components/VBottomSheet/VBottomSheet.ts +1 -4
- package/src/components/VCalendar/VCalendar.ts +1 -0
- package/src/components/VCalendar/VCalendarDaily.ts +9 -8
- package/src/components/VCalendar/VCalendarWeekly.ts +4 -2
- package/src/components/VCalendar/mixins/calendar-with-events.ts +4 -3
- package/src/components/VCalendar/mixins/mouse.ts +9 -3
- package/src/components/VDataTable/MobileRow.ts +2 -2
- package/src/components/VDataTable/Row.ts +2 -2
- package/src/components/VDataTable/VDataTableHeaderDesktop.ts +1 -1
- package/src/components/VDialog/VDialog.sass +1 -1
- package/src/components/VDialog/VDialog.ts +4 -10
- package/src/components/VItemGroup/VItemGroup.ts +5 -3
- package/src/components/VItemGroup/__tests__/VItemGroup.spec.ts +19 -2
- package/src/components/VRadioGroup/VRadioGroup.ts +0 -4
- package/src/components/VStepper/VStepper.sass +4 -4
- package/src/components/VTabs/VTab.ts +10 -2
- package/src/components/VTextarea/VTextarea.sass +13 -0
- package/src/directives/ripple/VRipple.sass +4 -1
- package/src/directives/ripple/index.ts +0 -7
- package/src/locale/it.ts +6 -6
- package/src/mixins/routable/index.ts +1 -4
- package/src/styles/settings/_variables.scss +1 -1
- package/src/util/helpers.ts +5 -5
- package/CHANGELOG.md +0 -45
- package/src/directives/ripple/_variables.scss +0 -6
- package/types/.npmignore +0 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/directives/ripple/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue'\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nfunction opacity (el: HTMLElement, value: number) {\n el.style.opacity = value.toString()\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n opacity(animation, 0)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n opacity(animation, 0.25)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n opacity(animation, 0)\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n\n if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return\n\n // Don't allow the event to trigger ripples on any other elements\n e.rippleStop = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple === true) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n bind: directive,\n unbind,\n update,\n}\n\nexport default Ripple\n"],"sourceRoot":"","file":"index.js"}
|
|
1
|
+
{"version":3,"sources":["../../../src/directives/ripple/index.ts"],"names":[],"mappings":"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","sourcesContent":["// Styles\nimport './VRipple.sass'\n\n// Utilities\nimport { consoleWarn } from '../../util/console'\nimport { keyCodes } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeDirective } from 'vue'\n\ntype VuetifyRippleEvent = (MouseEvent | TouchEvent | KeyboardEvent) & { rippleStop?: boolean }\n\nconst DELAY_RIPPLE = 80\n\nfunction transform (el: HTMLElement, value: string) {\n el.style.transform = value\n el.style.webkitTransform = value\n}\n\nexport interface RippleOptions {\n class?: string\n center?: boolean\n circle?: boolean\n}\n\nfunction isTouchEvent (e: VuetifyRippleEvent): e is TouchEvent {\n return e.constructor.name === 'TouchEvent'\n}\n\nfunction isKeyboardEvent (e: VuetifyRippleEvent): e is KeyboardEvent {\n return e.constructor.name === 'KeyboardEvent'\n}\n\nconst calculate = (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n) => {\n let localX = 0\n let localY = 0\n\n if (!isKeyboardEvent(e)) {\n const offset = el.getBoundingClientRect()\n const target = isTouchEvent(e) ? e.touches[e.touches.length - 1] : e\n\n localX = target.clientX - offset.left\n localY = target.clientY - offset.top\n }\n\n let radius = 0\n let scale = 0.3\n if (el._ripple && el._ripple.circle) {\n scale = 0.15\n radius = el.clientWidth / 2\n radius = value.center ? radius : radius + Math.sqrt((localX - radius) ** 2 + (localY - radius) ** 2) / 4\n } else {\n radius = Math.sqrt(el.clientWidth ** 2 + el.clientHeight ** 2) / 2\n }\n\n const centerX = `${(el.clientWidth - (radius * 2)) / 2}px`\n const centerY = `${(el.clientHeight - (radius * 2)) / 2}px`\n\n const x = value.center ? centerX : `${localX - radius}px`\n const y = value.center ? centerY : `${localY - radius}px`\n\n return { radius, scale, x, y, centerX, centerY }\n}\n\nconst ripples = {\n /* eslint-disable max-statements */\n show (\n e: VuetifyRippleEvent,\n el: HTMLElement,\n value: RippleOptions = {}\n ) {\n if (!el._ripple || !el._ripple.enabled) {\n return\n }\n\n const container = document.createElement('span')\n const animation = document.createElement('span')\n\n container.appendChild(animation)\n container.className = 'v-ripple__container'\n\n if (value.class) {\n container.className += ` ${value.class}`\n }\n\n const { radius, scale, x, y, centerX, centerY } = calculate(e, el, value)\n\n const size = `${radius * 2}px`\n animation.className = 'v-ripple__animation'\n animation.style.width = size\n animation.style.height = size\n\n el.appendChild(container)\n\n const computed = window.getComputedStyle(el)\n if (computed && computed.position === 'static') {\n el.style.position = 'relative'\n el.dataset.previousPosition = 'static'\n }\n\n animation.classList.add('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--visible')\n transform(animation, `translate(${x}, ${y}) scale3d(${scale},${scale},${scale})`)\n animation.dataset.activated = String(performance.now())\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--enter')\n animation.classList.add('v-ripple__animation--in')\n transform(animation, `translate(${centerX}, ${centerY}) scale3d(1,1,1)`)\n }, 0)\n },\n\n hide (el: HTMLElement | null) {\n if (!el || !el._ripple || !el._ripple.enabled) return\n\n const ripples = el.getElementsByClassName('v-ripple__animation')\n\n if (ripples.length === 0) return\n const animation = ripples[ripples.length - 1]\n\n if (animation.dataset.isHiding) return\n else animation.dataset.isHiding = 'true'\n\n const diff = performance.now() - Number(animation.dataset.activated)\n const delay = Math.max(250 - diff, 0)\n\n setTimeout(() => {\n animation.classList.remove('v-ripple__animation--in')\n animation.classList.add('v-ripple__animation--out')\n\n setTimeout(() => {\n const ripples = el.getElementsByClassName('v-ripple__animation')\n if (ripples.length === 1 && el.dataset.previousPosition) {\n el.style.position = el.dataset.previousPosition\n delete el.dataset.previousPosition\n }\n\n animation.parentNode && el.removeChild(animation.parentNode)\n }, 300)\n }, delay)\n },\n}\n\nfunction isRippleEnabled (value: any): value is true {\n return typeof value === 'undefined' || !!value\n}\n\nfunction rippleShow (e: VuetifyRippleEvent) {\n const value: RippleOptions = {}\n const element = e.currentTarget as HTMLElement\n\n if (!element || !element._ripple || element._ripple.touched || e.rippleStop) return\n\n // Don't allow the event to trigger ripples on any other elements\n e.rippleStop = true\n\n if (isTouchEvent(e)) {\n element._ripple.touched = true\n element._ripple.isTouch = true\n } else {\n // It's possible for touch events to fire\n // as mouse events on Android/iOS, this\n // will skip the event call if it has\n // already been registered as touch\n if (element._ripple.isTouch) return\n }\n value.center = element._ripple.centered || isKeyboardEvent(e)\n if (element._ripple.class) {\n value.class = element._ripple.class\n }\n\n if (isTouchEvent(e)) {\n // already queued that shows or hides the ripple\n if (element._ripple.showTimerCommit) return\n\n element._ripple.showTimerCommit = () => {\n ripples.show(e, element, value)\n }\n element._ripple.showTimer = window.setTimeout(() => {\n if (element && element._ripple && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n }\n }, DELAY_RIPPLE)\n } else {\n ripples.show(e, element, value)\n }\n}\n\nfunction rippleHide (e: Event) {\n const element = e.currentTarget as HTMLElement | null\n if (!element || !element._ripple) return\n\n window.clearTimeout(element._ripple.showTimer)\n\n // The touch interaction occurs before the show timer is triggered.\n // We still want to show ripple effect.\n if (e.type === 'touchend' && element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit()\n element._ripple.showTimerCommit = null\n\n // re-queue ripple hiding\n element._ripple.showTimer = setTimeout(() => {\n rippleHide(e)\n })\n return\n }\n\n window.setTimeout(() => {\n if (element._ripple) {\n element._ripple.touched = false\n }\n })\n ripples.hide(element)\n}\n\nfunction rippleCancelShow (e: MouseEvent | TouchEvent) {\n const element = e.currentTarget as HTMLElement | undefined\n\n if (!element || !element._ripple) return\n\n if (element._ripple.showTimerCommit) {\n element._ripple.showTimerCommit = null\n }\n\n window.clearTimeout(element._ripple.showTimer)\n}\n\nlet keyboardRipple = false\n\nfunction keyboardRippleShow (e: KeyboardEvent) {\n if (!keyboardRipple && (e.keyCode === keyCodes.enter || e.keyCode === keyCodes.space)) {\n keyboardRipple = true\n rippleShow(e)\n }\n}\n\nfunction keyboardRippleHide (e: KeyboardEvent) {\n keyboardRipple = false\n rippleHide(e)\n}\n\nfunction focusRippleHide (e: FocusEvent) {\n if (keyboardRipple === true) {\n keyboardRipple = false\n rippleHide(e)\n }\n}\n\nfunction updateRipple (el: HTMLElement, binding: VNodeDirective, wasEnabled: boolean) {\n const enabled = isRippleEnabled(binding.value)\n if (!enabled) {\n ripples.hide(el)\n }\n el._ripple = el._ripple || {}\n el._ripple.enabled = enabled\n const value = binding.value || {}\n if (value.center) {\n el._ripple.centered = true\n }\n if (value.class) {\n el._ripple.class = binding.value.class\n }\n if (value.circle) {\n el._ripple.circle = value.circle\n }\n if (enabled && !wasEnabled) {\n el.addEventListener('touchstart', rippleShow, { passive: true })\n el.addEventListener('touchend', rippleHide, { passive: true })\n el.addEventListener('touchmove', rippleCancelShow, { passive: true })\n el.addEventListener('touchcancel', rippleHide)\n\n el.addEventListener('mousedown', rippleShow)\n el.addEventListener('mouseup', rippleHide)\n el.addEventListener('mouseleave', rippleHide)\n\n el.addEventListener('keydown', keyboardRippleShow)\n el.addEventListener('keyup', keyboardRippleHide)\n\n el.addEventListener('blur', focusRippleHide)\n\n // Anchor tags can be dragged, causes other hides to fail - #1537\n el.addEventListener('dragstart', rippleHide, { passive: true })\n } else if (!enabled && wasEnabled) {\n removeListeners(el)\n }\n}\n\nfunction removeListeners (el: HTMLElement) {\n el.removeEventListener('mousedown', rippleShow)\n el.removeEventListener('touchstart', rippleShow)\n el.removeEventListener('touchend', rippleHide)\n el.removeEventListener('touchmove', rippleCancelShow)\n el.removeEventListener('touchcancel', rippleHide)\n el.removeEventListener('mouseup', rippleHide)\n el.removeEventListener('mouseleave', rippleHide)\n el.removeEventListener('keydown', keyboardRippleShow)\n el.removeEventListener('keyup', keyboardRippleHide)\n el.removeEventListener('dragstart', rippleHide)\n el.removeEventListener('blur', focusRippleHide)\n}\n\nfunction directive (el: HTMLElement, binding: VNodeDirective, node: VNode) {\n updateRipple(el, binding, false)\n\n if (process.env.NODE_ENV === 'development') {\n // warn if an inline element is used, waiting for el to be in the DOM first\n node.context && node.context.$nextTick(() => {\n const computed = window.getComputedStyle(el)\n if (computed && computed.display === 'inline') {\n const context = (node as any).fnOptions ? [(node as any).fnOptions, node.context] : [node.componentInstance]\n consoleWarn('v-ripple can only be used on block-level elements', ...context)\n }\n })\n }\n}\n\nfunction unbind (el: HTMLElement) {\n delete el._ripple\n removeListeners(el)\n}\n\nfunction update (el: HTMLElement, binding: VNodeDirective) {\n if (binding.value === binding.oldValue) {\n return\n }\n\n const wasEnabled = isRippleEnabled(binding.oldValue)\n updateRipple(el, binding, wasEnabled)\n}\n\nexport const Ripple = {\n bind: directive,\n unbind,\n update,\n}\n\nexport default Ripple\n"],"sourceRoot":"","file":"index.js"}
|
package/lib/framework.js
CHANGED
package/lib/locale/it.js
CHANGED
|
@@ -22,8 +22,8 @@ export default {
|
|
|
22
22
|
itemsPerPageAll: 'Tutti',
|
|
23
23
|
nextPage: 'Pagina seguente',
|
|
24
24
|
prevPage: 'Pagina precedente',
|
|
25
|
-
firstPage: '
|
|
26
|
-
lastPage: '
|
|
25
|
+
firstPage: 'Prima pagina',
|
|
26
|
+
lastPage: 'Ultima pagina',
|
|
27
27
|
pageText: '{0}-{1} di {2}'
|
|
28
28
|
},
|
|
29
29
|
datePicker: {
|
|
@@ -38,15 +38,15 @@ export default {
|
|
|
38
38
|
prev: 'Vista precedente',
|
|
39
39
|
next: 'Prossima vista',
|
|
40
40
|
ariaLabel: {
|
|
41
|
-
delimiter: 'Carousel slide {0}
|
|
41
|
+
delimiter: 'Carousel slide {0} di {1}'
|
|
42
42
|
}
|
|
43
43
|
},
|
|
44
44
|
calendar: {
|
|
45
45
|
moreEvents: '{0} di più'
|
|
46
46
|
},
|
|
47
47
|
fileInput: {
|
|
48
|
-
counter: '{0}
|
|
49
|
-
counterSize: '{0}
|
|
48
|
+
counter: '{0} file',
|
|
49
|
+
counterSize: '{0} file ({1} in totale)'
|
|
50
50
|
},
|
|
51
51
|
timePicker: {
|
|
52
52
|
am: 'AM',
|
|
@@ -63,7 +63,7 @@ export default {
|
|
|
63
63
|
},
|
|
64
64
|
rating: {
|
|
65
65
|
ariaLabel: {
|
|
66
|
-
icon: '
|
|
66
|
+
icon: 'Valutazione {0} di {1}'
|
|
67
67
|
}
|
|
68
68
|
}
|
|
69
69
|
};
|
package/lib/locale/it.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/locale/it.ts"],"names":[],"mappings":"AAAA,eAAe;AACb,EAAA,KAAK,EAAE,YADM;AAEb,EAAA,KAAK,EAAE,QAFM;AAGb,EAAA,YAAY,EAAE;AACZ,IAAA,aAAa,EAAE,0BADH;AAEZ,IAAA,WAAW,EAAE;AAFD,GAHD;AAOb,EAAA,SAAS,EAAE;AACT,IAAA,gBAAgB,EAAE,mBADT;AAET,IAAA,SAAS,EAAE;AACT,MAAA,cAAc,EAAE,iCADP;AAET,MAAA,aAAa,EAAE,+BAFN;AAGT,MAAA,QAAQ,EAAE,eAHD;AAIT,MAAA,YAAY,EAAE,qCAJL;AAKT,MAAA,kBAAkB,EAAE,4CALX;AAMT,MAAA,iBAAiB,EAAE;AANV,KAFF;AAUT,IAAA,MAAM,EAAE;AAVC,GAPE;AAmBb,EAAA,UAAU,EAAE;AACV,IAAA,gBAAgB,EAAE,sBADR;AAEV,IAAA,eAAe,EAAE,OAFP;AAGV,IAAA,QAAQ,EAAE,iBAHA;AAIV,IAAA,QAAQ,EAAE,mBAJA;AAKV,IAAA,SAAS,EAAE,cALD;AAMV,IAAA,QAAQ,EAAE,eANA;AAOV,IAAA,QAAQ,EAAE;AAPA,GAnBC;AA4Bb,EAAA,UAAU,EAAE;AACV,IAAA,aAAa,EAAE,iBADL;AAEV,IAAA,kBAAkB,EAAE,kBAFV;AAGV,IAAA,iBAAiB,EAAE,iBAHT;AAIV,IAAA,kBAAkB,EAAE,gBAJV;AAKV,IAAA,iBAAiB,EAAE;AALT,GA5BC;AAmCb,EAAA,UAAU,EAAE,6BAnCC;AAoCb,EAAA,QAAQ,EAAE;AACR,IAAA,IAAI,EAAE,kBADE;AAER,IAAA,IAAI,EAAE,gBAFE;AAGR,IAAA,SAAS,EAAE;AACT,MAAA,SAAS,EAAE;AADF;AAHH,GApCG;AA2Cb,EAAA,QAAQ,EAAE;AACR,IAAA,UAAU,EAAE;AADJ,GA3CG;AA8Cb,EAAA,SAAS,EAAE;AACT,IAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"sources":["../../src/locale/it.ts"],"names":[],"mappings":"AAAA,eAAe;AACb,EAAA,KAAK,EAAE,YADM;AAEb,EAAA,KAAK,EAAE,QAFM;AAGb,EAAA,YAAY,EAAE;AACZ,IAAA,aAAa,EAAE,0BADH;AAEZ,IAAA,WAAW,EAAE;AAFD,GAHD;AAOb,EAAA,SAAS,EAAE;AACT,IAAA,gBAAgB,EAAE,mBADT;AAET,IAAA,SAAS,EAAE;AACT,MAAA,cAAc,EAAE,iCADP;AAET,MAAA,aAAa,EAAE,+BAFN;AAGT,MAAA,QAAQ,EAAE,eAHD;AAIT,MAAA,YAAY,EAAE,qCAJL;AAKT,MAAA,kBAAkB,EAAE,4CALX;AAMT,MAAA,iBAAiB,EAAE;AANV,KAFF;AAUT,IAAA,MAAM,EAAE;AAVC,GAPE;AAmBb,EAAA,UAAU,EAAE;AACV,IAAA,gBAAgB,EAAE,sBADR;AAEV,IAAA,eAAe,EAAE,OAFP;AAGV,IAAA,QAAQ,EAAE,iBAHA;AAIV,IAAA,QAAQ,EAAE,mBAJA;AAKV,IAAA,SAAS,EAAE,cALD;AAMV,IAAA,QAAQ,EAAE,eANA;AAOV,IAAA,QAAQ,EAAE;AAPA,GAnBC;AA4Bb,EAAA,UAAU,EAAE;AACV,IAAA,aAAa,EAAE,iBADL;AAEV,IAAA,kBAAkB,EAAE,kBAFV;AAGV,IAAA,iBAAiB,EAAE,iBAHT;AAIV,IAAA,kBAAkB,EAAE,gBAJV;AAKV,IAAA,iBAAiB,EAAE;AALT,GA5BC;AAmCb,EAAA,UAAU,EAAE,6BAnCC;AAoCb,EAAA,QAAQ,EAAE;AACR,IAAA,IAAI,EAAE,kBADE;AAER,IAAA,IAAI,EAAE,gBAFE;AAGR,IAAA,SAAS,EAAE;AACT,MAAA,SAAS,EAAE;AADF;AAHH,GApCG;AA2Cb,EAAA,QAAQ,EAAE;AACR,IAAA,UAAU,EAAE;AADJ,GA3CG;AA8Cb,EAAA,SAAS,EAAE;AACT,IAAA,OAAO,EAAE,UADA;AAET,IAAA,WAAW,EAAE;AAFJ,GA9CE;AAkDb,EAAA,UAAU,EAAE;AACV,IAAA,EAAE,EAAE,IADM;AAEV,IAAA,EAAE,EAAE;AAFM,GAlDC;AAsDb,EAAA,UAAU,EAAE;AACV,IAAA,SAAS,EAAE;AACT,MAAA,OAAO,EAAE,2BADA;AAET,MAAA,IAAI,EAAE,iBAFG;AAGT,MAAA,QAAQ,EAAE,mBAHD;AAIT,MAAA,IAAI,EAAE,qBAJG;AAKT,MAAA,WAAW,EAAE;AALJ;AADD,GAtDC;AA+Db,EAAA,MAAM,EAAE;AACN,IAAA,SAAS,EAAE;AACT,MAAA,IAAI,EAAE;AADG;AADL;AA/DK,CAAf","sourcesContent":["export default {\n badge: 'Distintivo',\n close: 'Chiudi',\n dataIterator: {\n noResultsText: 'Nessun risultato trovato',\n loadingText: 'Caricamento in corso...',\n },\n dataTable: {\n itemsPerPageText: 'Righe per pagina:',\n ariaLabel: {\n sortDescending: 'Ordinati in ordine decrescente.',\n sortAscending: 'Ordinati in ordine crescente.',\n sortNone: 'Non ordinato.',\n activateNone: `Attiva per rimuovere l'ordinamento.`,\n activateDescending: 'Attiva per ordinare in ordine decrescente.',\n activateAscending: 'Attiva per ordinare in ordine crescente.',\n },\n sortBy: 'Ordina per',\n },\n dataFooter: {\n itemsPerPageText: 'Elementi per pagina:',\n itemsPerPageAll: 'Tutti',\n nextPage: 'Pagina seguente',\n prevPage: 'Pagina precedente',\n firstPage: 'Prima pagina',\n lastPage: 'Ultima pagina',\n pageText: '{0}-{1} di {2}',\n },\n datePicker: {\n itemsSelected: '{0} selezionati',\n nextMonthAriaLabel: 'Il prossimo mese',\n nextYearAriaLabel: `L'anno prossimo`,\n prevMonthAriaLabel: 'Il mese scorso',\n prevYearAriaLabel: `L'anno scorso`,\n },\n noDataText: 'Nessun elemento disponibile',\n carousel: {\n prev: 'Vista precedente',\n next: 'Prossima vista',\n ariaLabel: {\n delimiter: 'Carousel slide {0} di {1}',\n },\n },\n calendar: {\n moreEvents: '{0} di più',\n },\n fileInput: {\n counter: '{0} file',\n counterSize: '{0} file ({1} in totale)',\n },\n timePicker: {\n am: 'AM',\n pm: 'PM',\n },\n pagination: {\n ariaLabel: {\n wrapper: 'Navigazione impaginazione',\n next: 'Pagina seguente',\n previous: 'Pagina precedente',\n page: 'Vai alla pagina {0}',\n currentPage: 'Pagina corrente, pagina {0}',\n },\n },\n rating: {\n ariaLabel: {\n icon: 'Valutazione {0} di {1}',\n },\n },\n}\n"],"sourceRoot":"","file":"it.js"}
|
|
@@ -69,10 +69,6 @@ export default Vue.extend({
|
|
|
69
69
|
},
|
|
70
70
|
|
|
71
71
|
methods: {
|
|
72
|
-
click(e) {
|
|
73
|
-
this.$emit('click', e);
|
|
74
|
-
},
|
|
75
|
-
|
|
76
72
|
generateRouteLink() {
|
|
77
73
|
let exact = this.exact;
|
|
78
74
|
let tag;
|
|
@@ -88,7 +84,9 @@ export default Vue.extend({
|
|
|
88
84
|
value: this.computedRipple
|
|
89
85
|
}],
|
|
90
86
|
[this.to ? 'nativeOn' : 'on']: { ...this.$listeners,
|
|
91
|
-
click
|
|
87
|
+
...('click' in this ? {
|
|
88
|
+
click: this.click
|
|
89
|
+
} : undefined)
|
|
92
90
|
},
|
|
93
91
|
ref: 'link'
|
|
94
92
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"AAAA,OAAO,GAAP,MAAyC,KAAzC,C,CAEA;;AACA,OAAO,MAAP,MAAsC,yBAAtC,C,CAEA;;AACA,SAAS,oBAAT,QAAqC,oBAArC;AAEA,eAAe,GAAG,CAAC,MAAJ,CAAW;AACxB,EAAA,IAAI,EAAE,UADkB;AAGxB,EAAA,UAAU,EAAE;AACV,IAAA;AADU,GAHY;AAOxB,EAAA,KAAK,EAAE;AACL,IAAA,WAAW,EAAE,MADR;AAEL,IAAA,MAAM,EAAE,OAFH;AAGL,IAAA,QAAQ,EAAE,OAHL;AAIL,IAAA,KAAK,EAAE;AACL,MAAA,IAAI,EAAE,OADD;AAEL,MAAA,OAAO,EAAE;AAFJ,KAJF;AAQL,IAAA,SAAS,EAAE,OARN;AASL,IAAA,gBAAgB,EAAE,MATb;AAUL,IAAA,IAAI,EAAE,OAVD;AAWL,IAAA,IAAI,EAAE,CAAC,MAAD,EAAS,MAAT,CAXD;AAYL,IAAA,EAAE,EAAE,CAAC,MAAD,EAAS,MAAT,CAZC;AAaL,IAAA,IAAI,EAAE,OAbD;AAcL,IAAA,OAAO,EAAE,OAdJ;AAeL,IAAA,MAAM,EAAE;AACN,MAAA,IAAI,EAAE,CAAC,OAAD,EAAU,MAAV,CADA;AAEN,MAAA,OAAO,EAAE;AAFH,KAfH;AAmBL,IAAA,GAAG,EAAE,MAnBA;AAoBL,IAAA,MAAM,EAAE;AApBH,GAPiB;AA8BxB,EAAA,IAAI,EAAE,OAAO;AACX,IAAA,QAAQ,EAAE,KADC;AAEX,IAAA,UAAU,EAAE;AAFD,GAAP,CA9BkB;AAmCxB,EAAA,QAAQ,EAAE;AACR,IAAA,OAAO,GAAA;AACL,YAAM,OAAO,GAA4B,EAAzC;AAEA,UAAI,KAAK,EAAT,EAAa,OAAO,OAAP;AAEb,UAAI,KAAK,WAAT,EAAsB,OAAO,CAAC,KAAK,WAAN,CAAP,GAA4B,KAAK,QAAjC;AACtB,UAAI,KAAK,UAAT,EAAqB,OAAO,CAAC,KAAK,UAAN,CAAP,GAA2B,KAAK,QAAhC;AAErB,aAAO,OAAP;AACD,KAVO;;AAWR,IAAA,cAAc,GAAA;AAAA;;AACZ,6BAAO,KAAK,MAAZ,2BAAuB,CAAC,KAAK,QAAN,IAAkB,KAAK,WAA9C;AACD,KAbO;;AAcR,IAAA,WAAW,GAAA;AACT,UAAI,KAAK,QAAT,EAAmB,OAAO,KAAP;AAEnB,aAAO,OAAO,CACZ,KAAK,MAAL,IACA,KAAK,UAAL,CAAgB,KADhB,IAEA,KAAK,UAAL,CAAgB,QAAhB,CAFA,IAGA,KAAK,MAAL,CAAY,QAJA,CAAd;AAMD,KAvBO;;AAwBR,IAAA,MAAM,GAAA;AACJ,aAAO,KAAK,EAAL,IAAW,KAAK,IAAhB,IAAwB,KAAK,IAApC;AACD,KA1BO;;AA2BR,IAAA,MAAM,EAAE,OAAO,EAAP;AA3BA,GAnCc;AAiExB,EAAA,KAAK,EAAE;AACL,IAAA,MAAM,EAAE;AADH,GAjEiB;;AAqExB,EAAA,OAAO,GAAA;AACL,SAAK,aAAL;AACD,GAvEuB;;AAyExB,EAAA,OAAO,EAAE;AACP,IAAA,
|
|
1
|
+
{"version":3,"sources":["../../../src/mixins/routable/index.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue, { VNodeData, PropType } from 'vue'\n\n// Directives\nimport Ripple, { RippleOptions } from '../../directives/ripple'\n\n// Utilities\nimport { getObjectValueByPath } from '../../util/helpers'\n\nexport default Vue.extend({\n name: 'routable',\n\n directives: {\n Ripple,\n },\n\n props: {\n activeClass: String,\n append: Boolean,\n disabled: Boolean,\n exact: {\n type: Boolean as PropType<boolean | undefined>,\n default: undefined,\n },\n exactPath: Boolean,\n exactActiveClass: String,\n link: Boolean,\n href: [String, Object],\n to: [String, Object],\n nuxt: Boolean,\n replace: Boolean,\n ripple: {\n type: [Boolean, Object],\n default: null,\n },\n tag: String,\n target: String,\n },\n\n data: () => ({\n isActive: false,\n proxyClass: '',\n }),\n\n computed: {\n classes (): object {\n const classes: Record<string, boolean> = {}\n\n if (this.to) return classes\n\n if (this.activeClass) classes[this.activeClass] = this.isActive\n if (this.proxyClass) classes[this.proxyClass] = this.isActive\n\n return classes\n },\n computedRipple (): RippleOptions | boolean {\n return this.ripple ?? (!this.disabled && this.isClickable)\n },\n isClickable (): boolean {\n if (this.disabled) return false\n\n return Boolean(\n this.isLink ||\n this.$listeners.click ||\n this.$listeners['!click'] ||\n this.$attrs.tabindex\n )\n },\n isLink (): boolean {\n return this.to || this.href || this.link\n },\n styles: () => ({}),\n },\n\n watch: {\n $route: 'onRouteChange',\n },\n\n mounted () {\n this.onRouteChange()\n },\n\n methods: {\n generateRouteLink () {\n let exact = this.exact\n let tag\n\n const data: VNodeData = {\n attrs: {\n tabindex: 'tabindex' in this.$attrs ? this.$attrs.tabindex : undefined,\n },\n class: this.classes,\n style: this.styles,\n props: {},\n directives: [{\n name: 'ripple',\n value: this.computedRipple,\n }],\n [this.to ? 'nativeOn' : 'on']: {\n ...this.$listeners,\n ...('click' in this ? { click: (this as any).click } : undefined), // #14447\n },\n ref: 'link',\n }\n\n if (typeof this.exact === 'undefined') {\n exact = this.to === '/' ||\n (this.to === Object(this.to) && this.to.path === '/')\n }\n\n if (this.to) {\n // Add a special activeClass hook\n // for component level styles\n let activeClass = this.activeClass\n let exactActiveClass = this.exactActiveClass || activeClass\n\n if (this.proxyClass) {\n activeClass = `${activeClass} ${this.proxyClass}`.trim()\n exactActiveClass = `${exactActiveClass} ${this.proxyClass}`.trim()\n }\n\n tag = this.nuxt ? 'nuxt-link' : 'router-link'\n Object.assign(data.props, {\n to: this.to,\n exact,\n exactPath: this.exactPath,\n activeClass,\n exactActiveClass,\n append: this.append,\n replace: this.replace,\n })\n } else {\n tag = (this.href && 'a') || this.tag || 'div'\n\n if (tag === 'a' && this.href) data.attrs!.href = this.href\n }\n\n if (this.target) data.attrs!.target = this.target\n\n return { tag, data }\n },\n onRouteChange () {\n if (!this.to || !this.$refs.link || !this.$route) return\n const activeClass = `${this.activeClass} ${this.proxyClass || ''}`.trim()\n const exactActiveClass = `${this.exactActiveClass} ${this.proxyClass || ''}`.trim() || activeClass\n\n const path = '_vnode.data.class.' + (this.exact ? exactActiveClass : activeClass)\n\n this.$nextTick(() => {\n /* istanbul ignore else */\n if (!getObjectValueByPath(this.$refs.link, path) === this.isActive) {\n this.toggle()\n }\n })\n },\n toggle () {\n this.isActive = !this.isActive\n },\n },\n})\n"],"sourceRoot":"","file":"index.js"}
|
package/lib/util/helpers.js
CHANGED
|
@@ -326,12 +326,12 @@ export function searchItems(items, search) {
|
|
|
326
326
|
*/
|
|
327
327
|
|
|
328
328
|
export function getSlotType(vm, name, split) {
|
|
329
|
-
if (vm.$slots
|
|
329
|
+
if (vm.$slots.hasOwnProperty(name) && vm.$scopedSlots.hasOwnProperty(name) && vm.$scopedSlots[name].name) {
|
|
330
330
|
return split ? 'v-slot' : 'scoped';
|
|
331
331
|
}
|
|
332
332
|
|
|
333
|
-
if (vm.$slots
|
|
334
|
-
if (vm.$scopedSlots
|
|
333
|
+
if (vm.$slots.hasOwnProperty(name)) return 'normal';
|
|
334
|
+
if (vm.$scopedSlots.hasOwnProperty(name)) return 'scoped';
|
|
335
335
|
}
|
|
336
336
|
export function debounce(fn, delay) {
|
|
337
337
|
let timeoutId = 0;
|
|
@@ -357,9 +357,9 @@ export function getPrefixedScopedSlots(prefix, scopedSlots) {
|
|
|
357
357
|
}, {});
|
|
358
358
|
}
|
|
359
359
|
export function getSlot(vm, name = 'default', data, optional = false) {
|
|
360
|
-
if (vm.$scopedSlots
|
|
360
|
+
if (vm.$scopedSlots.hasOwnProperty(name)) {
|
|
361
361
|
return vm.$scopedSlots[name](data instanceof Function ? data() : data);
|
|
362
|
-
} else if (vm.$slots
|
|
362
|
+
} else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {
|
|
363
363
|
return vm.$slots[name];
|
|
364
364
|
}
|
|
365
365
|
|
package/lib/util/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/util/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue 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 Vue.extend({\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 (h, { data, props, children }): VNode {\n data.staticClass = (`${c} ${data.staticClass || ''}`).trim()\n\n return h(props.tag, data, children)\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 })\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: EventHandlerNonNull | (() => 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[path] !== undefined) return obj[path]\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\nconst tagsToReplace = {\n '&': '&',\n '<': '<',\n '>': '>',\n} as any\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\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 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 if (vm.$slots[name] && vm.$scopedSlots[name] && (vm.$scopedSlots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots[name]) return 'normal'\n if (vm.$scopedSlots[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 if (vm.$scopedSlots[name]) {\n return vm.$scopedSlots[name]!(data instanceof Function ? data() : data)\n } else if (vm.$slots[name] && (!data || optional)) {\n return vm.$slots[name]\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"],"sourceRoot":"","file":"helpers.js"}
|
|
1
|
+
{"version":3,"sources":["../../src/util/helpers.ts"],"names":[],"mappings":"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","sourcesContent":["import Vue 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 Vue.extend({\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 (h, { data, props, children }): VNode {\n data.staticClass = (`${c} ${data.staticClass || ''}`).trim()\n\n return h(props.tag, data, children)\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 })\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: EventHandlerNonNull | (() => 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[path] !== undefined) return obj[path]\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\nconst tagsToReplace = {\n '&': '&',\n '<': '<',\n '>': '>',\n} as any\n\nexport function escapeHTML (str: string): string {\n return str.replace(/[&<>]/g, tag => tagsToReplace[tag] || tag)\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 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 if (vm.$slots.hasOwnProperty(name) && vm.$scopedSlots.hasOwnProperty(name) && (vm.$scopedSlots[name] as any).name) {\n return split ? 'v-slot' as any : 'scoped'\n }\n if (vm.$slots.hasOwnProperty(name)) return 'normal'\n if (vm.$scopedSlots.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 if (vm.$scopedSlots.hasOwnProperty(name)) {\n return vm.$scopedSlots[name]!(data instanceof Function ? data() : data)\n } else if (vm.$slots.hasOwnProperty(name) && (!data || optional)) {\n return vm.$slots[name]\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"],"sourceRoot":"","file":"helpers.js"}
|
package/package.json
CHANGED
|
@@ -148,17 +148,23 @@ export default mixins(
|
|
|
148
148
|
},
|
|
149
149
|
|
|
150
150
|
render (h): VNode {
|
|
151
|
+
const data = {
|
|
152
|
+
staticClass: 'v-banner',
|
|
153
|
+
attrs: this.attrs$,
|
|
154
|
+
class: this.classes,
|
|
155
|
+
style: this.styles,
|
|
156
|
+
directives: [{
|
|
157
|
+
name: 'show',
|
|
158
|
+
value: this.isActive,
|
|
159
|
+
}],
|
|
160
|
+
}
|
|
161
|
+
|
|
151
162
|
return h(VExpandTransition, [
|
|
152
|
-
h(
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
directives: [{
|
|
158
|
-
name: 'show',
|
|
159
|
-
value: this.isActive,
|
|
160
|
-
}],
|
|
161
|
-
}), [this.genWrapper()]),
|
|
163
|
+
h(
|
|
164
|
+
'div',
|
|
165
|
+
this.outlined ? data : this.setBackgroundColor(this.color, data),
|
|
166
|
+
[this.genWrapper()],
|
|
167
|
+
),
|
|
162
168
|
])
|
|
163
169
|
},
|
|
164
170
|
})
|
|
@@ -91,6 +91,10 @@ export default mixins(
|
|
|
91
91
|
},
|
|
92
92
|
},
|
|
93
93
|
|
|
94
|
+
watch: {
|
|
95
|
+
canScroll: 'onScroll',
|
|
96
|
+
},
|
|
97
|
+
|
|
94
98
|
created () {
|
|
95
99
|
/* istanbul ignore next */
|
|
96
100
|
if (this.$attrs.hasOwnProperty('active')) {
|
|
@@ -100,8 +104,16 @@ export default mixins(
|
|
|
100
104
|
|
|
101
105
|
methods: {
|
|
102
106
|
thresholdMet () {
|
|
103
|
-
this.
|
|
104
|
-
|
|
107
|
+
if (this.hideOnScroll) {
|
|
108
|
+
this.isActive = !this.isScrollingUp ||
|
|
109
|
+
this.currentScroll > this.computedScrollThreshold
|
|
110
|
+
|
|
111
|
+
this.$emit('update:input-value', this.isActive)
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
if (this.currentThreshold < this.computedScrollThreshold) return
|
|
115
|
+
|
|
116
|
+
this.savedScroll = this.currentScroll
|
|
105
117
|
},
|
|
106
118
|
updateApplication (): number {
|
|
107
119
|
return this.$el
|
|
@@ -87,29 +87,31 @@ describe('VBottomNavigation.ts', () => {
|
|
|
87
87
|
expect(spy).toHaveBeenCalledTimes(2)
|
|
88
88
|
})
|
|
89
89
|
|
|
90
|
-
it('should fire an event and activate/deactivate when reached threshold', async () => {
|
|
90
|
+
it('should fire an event and activate/deactivate when reached threshold and using hideOnScroll', async () => {
|
|
91
91
|
const updateInputValue = jest.fn()
|
|
92
|
-
const wrapper = mountFunction(
|
|
92
|
+
const wrapper = mountFunction({
|
|
93
|
+
propsData: { hideOnScroll: true },
|
|
94
|
+
})
|
|
93
95
|
wrapper.vm.$on('update:input-value', updateInputValue)
|
|
94
96
|
|
|
95
97
|
expect(updateInputValue).not.toHaveBeenCalled()
|
|
96
98
|
|
|
97
99
|
// Scrolling down
|
|
98
100
|
wrapper.vm.currentScroll = 1000
|
|
99
|
-
wrapper.vm.previousScroll =
|
|
101
|
+
wrapper.vm.previousScroll = 0
|
|
100
102
|
wrapper.vm.isScrollingUp = false
|
|
101
103
|
|
|
102
104
|
wrapper.vm.thresholdMet()
|
|
103
|
-
expect(updateInputValue).
|
|
105
|
+
expect(updateInputValue).toHaveBeenCalledTimes(1)
|
|
104
106
|
expect(wrapper.vm.isActive).toBeTruthy()
|
|
105
107
|
|
|
106
|
-
// Scrolling
|
|
107
|
-
wrapper.vm.currentScroll =
|
|
108
|
+
// Scrolling up
|
|
109
|
+
wrapper.vm.currentScroll = 0
|
|
108
110
|
wrapper.vm.previousScroll = 1000
|
|
109
111
|
wrapper.vm.isScrollingUp = true
|
|
110
112
|
|
|
111
113
|
wrapper.vm.thresholdMet()
|
|
112
|
-
expect(updateInputValue).
|
|
114
|
+
expect(updateInputValue).toHaveBeenCalledTimes(2)
|
|
113
115
|
expect(wrapper.vm.isActive).toBeFalsy()
|
|
114
116
|
})
|
|
115
117
|
|
|
@@ -82,8 +82,8 @@ export default CalendarWithIntervals.extend({
|
|
|
82
82
|
key: day.date,
|
|
83
83
|
staticClass: 'v-calendar-daily_head-day',
|
|
84
84
|
class: this.getRelativeClasses(day),
|
|
85
|
-
on: this.getDefaultMouseEventHandlers(':day',
|
|
86
|
-
return this.getSlotScope(day)
|
|
85
|
+
on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {
|
|
86
|
+
return { nativeEvent, ...this.getSlotScope(day) }
|
|
87
87
|
}),
|
|
88
88
|
}, [
|
|
89
89
|
this.genHeadWeekday(day),
|
|
@@ -120,8 +120,8 @@ export default CalendarWithIntervals.extend({
|
|
|
120
120
|
on: this.getMouseEventHandlers({
|
|
121
121
|
'click:date': { event: 'click', stop: true },
|
|
122
122
|
'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },
|
|
123
|
-
},
|
|
124
|
-
return day
|
|
123
|
+
}, nativeEvent => {
|
|
124
|
+
return { nativeEvent, ...day }
|
|
125
125
|
}),
|
|
126
126
|
}, this.dayFormatter(day, false))
|
|
127
127
|
},
|
|
@@ -167,8 +167,8 @@ export default CalendarWithIntervals.extend({
|
|
|
167
167
|
key: day.date,
|
|
168
168
|
staticClass: 'v-calendar-daily__day',
|
|
169
169
|
class: this.getRelativeClasses(day),
|
|
170
|
-
on: this.getDefaultMouseEventHandlers(':time',
|
|
171
|
-
return this.getSlotScope(this.getTimestampAtEvent(
|
|
170
|
+
on: this.getDefaultMouseEventHandlers(':time', nativeEvent => {
|
|
171
|
+
return { nativeEvent, ...this.getSlotScope(this.getTimestampAtEvent(nativeEvent, day)) }
|
|
172
172
|
}),
|
|
173
173
|
}, [
|
|
174
174
|
...this.genDayIntervals(index),
|
|
@@ -192,6 +192,7 @@ export default CalendarWithIntervals.extend({
|
|
|
192
192
|
height,
|
|
193
193
|
...styler(interval),
|
|
194
194
|
},
|
|
195
|
+
|
|
195
196
|
}
|
|
196
197
|
|
|
197
198
|
const children = getSlot(this, 'interval', () => this.getSlotScope(interval))
|
|
@@ -205,8 +206,8 @@ export default CalendarWithIntervals.extend({
|
|
|
205
206
|
style: {
|
|
206
207
|
width,
|
|
207
208
|
},
|
|
208
|
-
on: this.getDefaultMouseEventHandlers(':interval',
|
|
209
|
-
return this.getTimestampAtEvent(
|
|
209
|
+
on: this.getDefaultMouseEventHandlers(':interval', nativeEvent => {
|
|
210
|
+
return { nativeEvent, ...this.getTimestampAtEvent(nativeEvent, this.parsedStart) }
|
|
210
211
|
}),
|
|
211
212
|
}
|
|
212
213
|
|
|
@@ -159,7 +159,9 @@ export default CalendarBase.extend({
|
|
|
159
159
|
key: day.date,
|
|
160
160
|
staticClass: 'v-calendar-weekly__day',
|
|
161
161
|
class: this.getRelativeClasses(day, outside),
|
|
162
|
-
on: this.getDefaultMouseEventHandlers(':day',
|
|
162
|
+
on: this.getDefaultMouseEventHandlers(':day', nativeEvent => {
|
|
163
|
+
return { nativeEvent, ...day }
|
|
164
|
+
}),
|
|
163
165
|
}, [
|
|
164
166
|
this.genDayLabel(day),
|
|
165
167
|
...(getSlot(this, 'day', () => ({ outside, index, week, ...day })) || []),
|
|
@@ -184,7 +186,7 @@ export default CalendarBase.extend({
|
|
|
184
186
|
on: this.getMouseEventHandlers({
|
|
185
187
|
'click:date': { event: 'click', stop: true },
|
|
186
188
|
'contextmenu:date': { event: 'contextmenu', stop: true, prevent: true, result: false },
|
|
187
|
-
},
|
|
189
|
+
}, nativeEvent => ({ nativeEvent, ...day })),
|
|
188
190
|
}, hasMonth
|
|
189
191
|
? this.monthFormatter(day, this.shortMonths) + ' ' + this.dayFormatter(day, false)
|
|
190
192
|
: this.dayFormatter(day, false)
|