primevue
Version:
PrimeVue is an open source UI library for Vue featuring a rich set of 80+ components, a theme designer, various theme alternatives such as Material, Bootstrap, Tailwind, premium templates and professional support. In addition, it integrates with PrimeBloc
1 lines • 40.6 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../src/dock/BaseDock.vue","../../src/dock/DockSub.vue","../../src/dock/DockSub.vue?vue&type=template&id=3bb06619&lang.js","../../src/dock/Dock.vue","../../src/dock/Dock.vue?vue&type=template&id=2f238c36&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport DockStyle from 'primevue/dock/style';\n\nexport default {\n name: 'BaseDock',\n extends: BaseComponent,\n props: {\n position: {\n type: String,\n default: 'bottom'\n },\n model: null,\n class: null,\n style: null,\n tooltipOptions: null,\n menuId: {\n type: String,\n default: null\n },\n tabindex: {\n type: Number,\n default: 0\n },\n breakpoint: {\n type: String,\n default: '960px'\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n }\n },\n style: DockStyle,\n provide() {\n return {\n $pcDock: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :class=\"cx('listContainer')\" v-bind=\"ptm('listContainer')\">\n <ul\n ref=\"list\"\n :id=\"idx\"\n :class=\"cx('list')\"\n role=\"menu\"\n :aria-orientation=\"position === 'bottom' || position === 'top' ? 'horizontal' : 'vertical'\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :tabindex=\"tabindex\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n @focus=\"onListFocus\"\n @blur=\"onListBlur\"\n @keydown=\"onListKeyDown\"\n @mouseleave=\"onListMouseLeave\"\n v-bind=\"ptm('list')\"\n >\n <template v-for=\"(processedItem, index) of model\" :key=\"index\">\n <li\n :id=\"getItemId(index)\"\n :class=\"cx('item', { processedItem, id: getItemId(index) })\"\n role=\"menuitem\"\n :aria-label=\"processedItem.label\"\n :aria-disabled=\"disabled(processedItem)\"\n @click=\"onItemClick($event, processedItem)\"\n @mouseenter=\"onItemMouseEnter(index)\"\n v-bind=\"getPTOptions('item', processedItem, index)\"\n :data-p-focused=\"isItemActive(getItemId(index))\"\n :data-p-disabled=\"disabled(processedItem) || false\"\n >\n <div :class=\"cx('itemContent')\" v-bind=\"getPTOptions('itemContent', processedItem, index)\">\n <template v-if=\"!templates['item']\">\n <a\n v-tooltip:[tooltipOptions]=\"{ value: processedItem.label, disabled: !tooltipOptions }\"\n :href=\"processedItem.url\"\n :class=\"cx('itemLink')\"\n :target=\"processedItem.target\"\n tabindex=\"-1\"\n v-bind=\"getPTOptions('itemLink', processedItem, index)\"\n >\n <!-- TODO: icon deprecated since v4.0-->\n <template v-if=\"!templates['icon'] && !templates['itemicon']\">\n <span v-ripple :class=\"[cx('itemIcon'), processedItem.icon]\" v-bind=\"getPTOptions('itemIcon', processedItem, index)\"></span>\n </template>\n <component v-else :is=\"templates['icon'] || templates['itemicon']\" :item=\"processedItem\" :class=\"cx('itemIcon')\"></component>\n </a>\n </template>\n <component v-else :is=\"templates['item']\" :item=\"processedItem\" :index=\"index\" :label=\"processedItem.label\" :props=\"getMenuItemProps(processedItem, index)\"></component>\n </div>\n </li>\n </template>\n </ul>\n </div>\n</template>\n\n<script>\nimport { find, findSingle } from '@primeuix/utils/dom';\nimport { resolve } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport Ripple from 'primevue/ripple';\nimport Tooltip from 'primevue/tooltip';\nimport { mergeProps } from 'vue';\n\nexport default {\n name: 'DockSub',\n hostName: 'Dock',\n extends: BaseComponent,\n emits: ['focus', 'blur'],\n props: {\n position: {\n type: String,\n default: 'bottom'\n },\n model: {\n type: Array,\n default: null\n },\n templates: {\n type: null,\n default: null\n },\n tooltipOptions: null,\n menuId: {\n type: String,\n default: null\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n }\n },\n data() {\n return {\n currentIndex: -3,\n focused: false,\n focusedOptionIndex: -1\n };\n },\n methods: {\n getItemId(index) {\n return `${this.idx}_${index}`;\n },\n getItemProp(processedItem, name) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name]) : undefined;\n },\n getPTOptions(key, item, index) {\n return this.ptm(key, {\n context: {\n index,\n item,\n active: this.isItemActive(this.getItemId(index))\n }\n });\n },\n isSameMenuItem(event) {\n return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[data-pc-section=\"item\"]')));\n },\n isItemActive(id) {\n return id === this.focusedOptionIndex;\n },\n onListMouseLeave() {\n this.currentIndex = -3;\n },\n onItemMouseEnter(index) {\n this.currentIndex = index;\n },\n onItemClick(event, processedItem) {\n if (this.isSameMenuItem(event)) {\n const command = this.getItemProp(processedItem, 'command');\n\n command && command({ originalEvent: event, item: processedItem.item });\n }\n },\n onListFocus(event) {\n this.focused = true;\n this.changeFocusedOptionIndex(0);\n this.$emit('focus', event);\n },\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown': {\n if (this.position === 'left' || this.position === 'right') this.onArrowDownKey();\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n if (this.position === 'left' || this.position === 'right') this.onArrowUpKey();\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n if (this.position === 'top' || this.position === 'bottom') this.onArrowDownKey();\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n if (this.position === 'top' || this.position === 'bottom') this.onArrowUpKey();\n event.preventDefault();\n break;\n }\n\n case 'Home': {\n this.onHomeKey();\n event.preventDefault();\n break;\n }\n\n case 'End': {\n this.onEndKey();\n event.preventDefault();\n break;\n }\n\n case 'Enter':\n case 'NumpadEnter':\n\n case 'Space': {\n this.onSpaceKey(event);\n event.preventDefault();\n break;\n }\n\n default:\n break;\n }\n },\n onArrowDownKey() {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n },\n onArrowUpKey() {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n },\n onHomeKey() {\n this.changeFocusedOptionIndex(0);\n },\n onEndKey() {\n this.changeFocusedOptionIndex(find(this.$refs.list, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]').length - 1);\n },\n onSpaceKey() {\n const element = findSingle(this.$refs.list, `li[id=\"${`${this.focusedOptionIndex}`}\"]`);\n const anchorElement = element && findSingle(element, '[data-pc-section=\"itemlink\"]');\n\n anchorElement ? anchorElement.click() : element && element.click();\n },\n findNextOptionIndex(index) {\n const menuitems = find(this.$refs.list, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...menuitems].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n },\n findPrevOptionIndex(index) {\n const menuitems = find(this.$refs.list, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...menuitems].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n },\n changeFocusedOptionIndex(index) {\n const menuitems = find(this.$refs.list, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n\n let order = index >= menuitems.length ? menuitems.length - 1 : index < 0 ? 0 : index;\n\n this.focusedOptionIndex = menuitems[order].getAttribute('id');\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n getMenuItemProps(item, index) {\n return {\n action: mergeProps(\n {\n tabindex: -1,\n class: this.cx('itemLink')\n },\n this.getPTOptions('itemLink', item, index)\n ),\n icon: mergeProps(\n {\n class: [this.cx('itemIcon'), item.icon]\n },\n this.getPTOptions('itemIcon', item, index)\n )\n };\n }\n },\n computed: {\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n },\n idx() {\n return this.menuId || this.$id;\n }\n },\n directives: {\n ripple: Ripple,\n tooltip: Tooltip\n }\n};\n</script>\n","<template>\n <div :class=\"cx('listContainer')\" v-bind=\"ptm('listContainer')\">\n <ul\n ref=\"list\"\n :id=\"idx\"\n :class=\"cx('list')\"\n role=\"menu\"\n :aria-orientation=\"position === 'bottom' || position === 'top' ? 'horizontal' : 'vertical'\"\n :aria-activedescendant=\"focused ? focusedOptionId : undefined\"\n :tabindex=\"tabindex\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n @focus=\"onListFocus\"\n @blur=\"onListBlur\"\n @keydown=\"onListKeyDown\"\n @mouseleave=\"onListMouseLeave\"\n v-bind=\"ptm('list')\"\n >\n <template v-for=\"(processedItem, index) of model\" :key=\"index\">\n <li\n :id=\"getItemId(index)\"\n :class=\"cx('item', { processedItem, id: getItemId(index) })\"\n role=\"menuitem\"\n :aria-label=\"processedItem.label\"\n :aria-disabled=\"disabled(processedItem)\"\n @click=\"onItemClick($event, processedItem)\"\n @mouseenter=\"onItemMouseEnter(index)\"\n v-bind=\"getPTOptions('item', processedItem, index)\"\n :data-p-focused=\"isItemActive(getItemId(index))\"\n :data-p-disabled=\"disabled(processedItem) || false\"\n >\n <div :class=\"cx('itemContent')\" v-bind=\"getPTOptions('itemContent', processedItem, index)\">\n <template v-if=\"!templates['item']\">\n <a\n v-tooltip:[tooltipOptions]=\"{ value: processedItem.label, disabled: !tooltipOptions }\"\n :href=\"processedItem.url\"\n :class=\"cx('itemLink')\"\n :target=\"processedItem.target\"\n tabindex=\"-1\"\n v-bind=\"getPTOptions('itemLink', processedItem, index)\"\n >\n <!-- TODO: icon deprecated since v4.0-->\n <template v-if=\"!templates['icon'] && !templates['itemicon']\">\n <span v-ripple :class=\"[cx('itemIcon'), processedItem.icon]\" v-bind=\"getPTOptions('itemIcon', processedItem, index)\"></span>\n </template>\n <component v-else :is=\"templates['icon'] || templates['itemicon']\" :item=\"processedItem\" :class=\"cx('itemIcon')\"></component>\n </a>\n </template>\n <component v-else :is=\"templates['item']\" :item=\"processedItem\" :index=\"index\" :label=\"processedItem.label\" :props=\"getMenuItemProps(processedItem, index)\"></component>\n </div>\n </li>\n </template>\n </ul>\n </div>\n</template>\n\n<script>\nimport { find, findSingle } from '@primeuix/utils/dom';\nimport { resolve } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport Ripple from 'primevue/ripple';\nimport Tooltip from 'primevue/tooltip';\nimport { mergeProps } from 'vue';\n\nexport default {\n name: 'DockSub',\n hostName: 'Dock',\n extends: BaseComponent,\n emits: ['focus', 'blur'],\n props: {\n position: {\n type: String,\n default: 'bottom'\n },\n model: {\n type: Array,\n default: null\n },\n templates: {\n type: null,\n default: null\n },\n tooltipOptions: null,\n menuId: {\n type: String,\n default: null\n },\n tabindex: {\n type: Number,\n default: 0\n },\n ariaLabel: {\n type: String,\n default: null\n },\n ariaLabelledby: {\n type: String,\n default: null\n }\n },\n data() {\n return {\n currentIndex: -3,\n focused: false,\n focusedOptionIndex: -1\n };\n },\n methods: {\n getItemId(index) {\n return `${this.idx}_${index}`;\n },\n getItemProp(processedItem, name) {\n return processedItem && processedItem.item ? resolve(processedItem.item[name]) : undefined;\n },\n getPTOptions(key, item, index) {\n return this.ptm(key, {\n context: {\n index,\n item,\n active: this.isItemActive(this.getItemId(index))\n }\n });\n },\n isSameMenuItem(event) {\n return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('[data-pc-section=\"item\"]')));\n },\n isItemActive(id) {\n return id === this.focusedOptionIndex;\n },\n onListMouseLeave() {\n this.currentIndex = -3;\n },\n onItemMouseEnter(index) {\n this.currentIndex = index;\n },\n onItemClick(event, processedItem) {\n if (this.isSameMenuItem(event)) {\n const command = this.getItemProp(processedItem, 'command');\n\n command && command({ originalEvent: event, item: processedItem.item });\n }\n },\n onListFocus(event) {\n this.focused = true;\n this.changeFocusedOptionIndex(0);\n this.$emit('focus', event);\n },\n onListBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onListKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown': {\n if (this.position === 'left' || this.position === 'right') this.onArrowDownKey();\n event.preventDefault();\n break;\n }\n\n case 'ArrowUp': {\n if (this.position === 'left' || this.position === 'right') this.onArrowUpKey();\n event.preventDefault();\n break;\n }\n\n case 'ArrowRight': {\n if (this.position === 'top' || this.position === 'bottom') this.onArrowDownKey();\n event.preventDefault();\n break;\n }\n\n case 'ArrowLeft': {\n if (this.position === 'top' || this.position === 'bottom') this.onArrowUpKey();\n event.preventDefault();\n break;\n }\n\n case 'Home': {\n this.onHomeKey();\n event.preventDefault();\n break;\n }\n\n case 'End': {\n this.onEndKey();\n event.preventDefault();\n break;\n }\n\n case 'Enter':\n case 'NumpadEnter':\n\n case 'Space': {\n this.onSpaceKey(event);\n event.preventDefault();\n break;\n }\n\n default:\n break;\n }\n },\n onArrowDownKey() {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n },\n onArrowUpKey() {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n },\n onHomeKey() {\n this.changeFocusedOptionIndex(0);\n },\n onEndKey() {\n this.changeFocusedOptionIndex(find(this.$refs.list, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]').length - 1);\n },\n onSpaceKey() {\n const element = findSingle(this.$refs.list, `li[id=\"${`${this.focusedOptionIndex}`}\"]`);\n const anchorElement = element && findSingle(element, '[data-pc-section=\"itemlink\"]');\n\n anchorElement ? anchorElement.click() : element && element.click();\n },\n findNextOptionIndex(index) {\n const menuitems = find(this.$refs.list, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...menuitems].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;\n },\n findPrevOptionIndex(index) {\n const menuitems = find(this.$refs.list, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n const matchedOptionIndex = [...menuitems].findIndex((link) => link.id === index);\n\n return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;\n },\n changeFocusedOptionIndex(index) {\n const menuitems = find(this.$refs.list, 'li[data-pc-section=\"item\"][data-p-disabled=\"false\"]');\n\n let order = index >= menuitems.length ? menuitems.length - 1 : index < 0 ? 0 : index;\n\n this.focusedOptionIndex = menuitems[order].getAttribute('id');\n },\n disabled(item) {\n return typeof item.disabled === 'function' ? item.disabled() : item.disabled;\n },\n getMenuItemProps(item, index) {\n return {\n action: mergeProps(\n {\n tabindex: -1,\n class: this.cx('itemLink')\n },\n this.getPTOptions('itemLink', item, index)\n ),\n icon: mergeProps(\n {\n class: [this.cx('itemIcon'), item.icon]\n },\n this.getPTOptions('itemIcon', item, index)\n )\n };\n }\n },\n computed: {\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n },\n idx() {\n return this.menuId || this.$id;\n }\n },\n directives: {\n ripple: Ripple,\n tooltip: Tooltip\n }\n};\n</script>\n","<template>\n <div :class=\"containerClass\" :style=\"style\" v-bind=\"ptmi('root')\">\n <DockSub :model=\"model\" :templates=\"$slots\" :tooltipOptions=\"tooltipOptions\" :position=\"position\" :menuId=\"menuId\" :aria-label=\"ariaLabel\" :aria-labelledby=\"ariaLabelledby\" :tabindex=\"tabindex\" :pt=\"pt\" :unstyled=\"unstyled\"></DockSub>\n </div>\n</template>\n\n<script>\nimport BaseDock from './BaseDock.vue';\nimport DockSub from './DockSub.vue';\n\nexport default {\n name: 'Dock',\n extends: BaseDock,\n inheritAttrs: false,\n matchMediaListener: null,\n data() {\n return {\n query: null,\n queryMatches: false\n };\n },\n mounted() {\n this.bindMatchMediaListener();\n },\n beforeUnmount() {\n this.unbindMatchMediaListener();\n },\n methods: {\n bindMatchMediaListener() {\n if (!this.matchMediaListener) {\n const query = matchMedia(`(max-width: ${this.breakpoint})`);\n\n this.query = query;\n this.queryMatches = query.matches;\n\n this.matchMediaListener = () => {\n this.queryMatches = query.matches;\n this.mobileActive = false;\n };\n\n this.query.addEventListener('change', this.matchMediaListener);\n }\n },\n unbindMatchMediaListener() {\n if (this.matchMediaListener) {\n this.query.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n }\n },\n computed: {\n containerClass() {\n return [this.class, this.cx('root')];\n }\n },\n components: {\n DockSub\n }\n};\n</script>\n","<template>\n <div :class=\"containerClass\" :style=\"style\" v-bind=\"ptmi('root')\">\n <DockSub :model=\"model\" :templates=\"$slots\" :tooltipOptions=\"tooltipOptions\" :position=\"position\" :menuId=\"menuId\" :aria-label=\"ariaLabel\" :aria-labelledby=\"ariaLabelledby\" :tabindex=\"tabindex\" :pt=\"pt\" :unstyled=\"unstyled\"></DockSub>\n </div>\n</template>\n\n<script>\nimport BaseDock from './BaseDock.vue';\nimport DockSub from './DockSub.vue';\n\nexport default {\n name: 'Dock',\n extends: BaseDock,\n inheritAttrs: false,\n matchMediaListener: null,\n data() {\n return {\n query: null,\n queryMatches: false\n };\n },\n mounted() {\n this.bindMatchMediaListener();\n },\n beforeUnmount() {\n this.unbindMatchMediaListener();\n },\n methods: {\n bindMatchMediaListener() {\n if (!this.matchMediaListener) {\n const query = matchMedia(`(max-width: ${this.breakpoint})`);\n\n this.query = query;\n this.queryMatches = query.matches;\n\n this.matchMediaListener = () => {\n this.queryMatches = query.matches;\n this.mobileActive = false;\n };\n\n this.query.addEventListener('change', this.matchMediaListener);\n }\n },\n unbindMatchMediaListener() {\n if (this.matchMediaListener) {\n this.query.removeEventListener('change', this.matchMediaListener);\n this.matchMediaListener = null;\n }\n }\n },\n computed: {\n containerClass() {\n return [this.class, this.cx('root')];\n }\n },\n components: {\n DockSub\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","position","type","String","model","style","tooltipOptions","menuId","tabindex","Number","breakpoint","ariaLabel","ariaLabelledby","DockStyle","provide","$pcDock","$parentInstance","hostName","emits","Array","templates","data","currentIndex","focused","focusedOptionIndex","methods","getItemId","index","concat","idx","getItemProp","processedItem","item","resolve","undefined","getPTOptions","key","ptm","context","active","isItemActive","isSameMenuItem","event","currentTarget","isSameNode","target","closest","id","onListMouseLeave","onItemMouseEnter","onItemClick","command","originalEvent","onListFocus","changeFocusedOptionIndex","$emit","onListBlur","onListKeyDown","code","onArrowDownKey","preventDefault","onArrowUpKey","onHomeKey","onEndKey","onSpaceKey","optionIndex","findNextOptionIndex","findPrevOptionIndex","find","$refs","list","length","element","findSingle","anchorElement","click","menuitems","matchedOptionIndex","_toConsumableArray","findIndex","link","order","getAttribute","disabled","getMenuItemProps","action","mergeProps","cx","icon","computed","focusedOptionId","$id","directives","ripple","Ripple","tooltip","Tooltip","_openBlock","_createElementBlock","_mergeProps","_ctx","_createElementVNode","ref","$options","role","$props","$data","onFocus","apply","arguments","onBlur","onKeydown","onMouseleave","_Fragment","_renderList","label","onClick","$event","onMouseenter","_withDirectives","href","url","_createBlock","_resolveDynamicComponent","_directive_tooltip","value","BaseDock","inheritAttrs","matchMediaListener","query","queryMatches","mounted","bindMatchMediaListener","beforeUnmount","unbindMatchMediaListener","_this","matchMedia","matches","mobileActive","addEventListener","removeEventListener","containerClass","components","DockSub","ptmi","_createVNode","_component_DockSub","$slots","pt","unstyled"],"mappings":"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"}