1 line
20 KiB
Plaintext
1 line
20 KiB
Plaintext
|
|
{"version":3,"file":"index.mjs","sources":["../../src/tab/BaseTab.vue","../../src/tab/Tab.vue","../../src/tab/Tab.vue?vue&type=template&id=b69e200c&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabStyle from 'primevue/tab/style';\n\nexport default {\n name: 'BaseTab',\n extends: BaseComponent,\n props: {\n value: {\n type: [String, Number],\n default: undefined\n },\n disabled: {\n type: Boolean,\n default: false\n },\n as: {\n type: [String, Object],\n default: 'BUTTON'\n },\n asChild: {\n type: Boolean,\n default: false\n }\n },\n style: TabStyle,\n provide() {\n return {\n $pcTab: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" :data-p=\"dataP\" @click=\"onClick\" v-bind=\"attrs\">\n <slot></slot>\n </component>\n <slot v-else :dataP=\"dataP\" :class=\"cx('root')\" :active=\"active\" :a11yAttrs=\"a11yAttrs\" :onClick=\"onClick\"></slot>\n</template>\n\n<script>\nimport { cn } from '@primeuix/utils';\nimport { findSingle, focus, getAttribute } from '@primeuix/utils/dom';\nimport { equals } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseTab from './BaseTab.vue';\n\nexport default {\n name: 'Tab',\n extends: BaseTab,\n inheritAttrs: false,\n inject: ['$pcTabs', '$pcTabList'],\n methods: {\n onFocus() {\n this.$pcTabs.selectOnFocus && this.changeActiveValue();\n },\n onClick() {\n this.changeActiveValue();\n },\n onKeydown(event) {\n switch (event.code) {\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowRightKey(event) {\n const nextTab = this.findNextTab(event.currentTarget);\n\n nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowLeftKey(event) {\n const prevTab = this.findPrevTab(event.currentTarget);\n\n prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey(event) {\n const firstTab = this.findFirstTab();\n\n this.changeFocusedTab(event, firstTab);\n event.preventDefault();\n },\n onEndKey(event) {\n const lastTab = this.findLastTab();\n\n this.changeFocusedTab(event, lastTab);\n event.preventDefault();\n },\n onPageDownKey(event) {\n this.scrollInView(this.findLastTab());\n event.preventDefault();\n },\n onPageUpKey(event) {\n this.scrollInView(this.findFirstTab());\n event.preventDefault();\n },\n onEnterKey(event) {\n this.changeActiveValue();\n },\n findNextTab(tabElement, selfCheck = false) {\n const element = selfCheck ? tabEle
|