claude-web/node_modules/primevue/speeddial/index.mjs.map

1 line
60 KiB
Plaintext

{"version":3,"file":"index.mjs","sources":["../../src/speeddial/BaseSpeedDial.vue","../../src/speeddial/SpeedDial.vue","../../src/speeddial/SpeedDial.vue?vue&type=template&id=415baf66&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SpeedDialStyle from 'primevue/speeddial/style';\n\nexport default {\n name: 'BaseSpeedDial',\n extends: BaseComponent,\n props: {\n model: null,\n visible: {\n type: Boolean,\n default: false\n },\n direction: {\n type: String,\n default: 'up'\n },\n transitionDelay: {\n type: Number,\n default: 30\n },\n type: {\n type: String,\n default: 'linear'\n },\n radius: {\n type: Number,\n default: 0\n },\n mask: {\n type: Boolean,\n default: false\n },\n disabled: {\n type: Boolean,\n default: false\n },\n hideOnClickOutside: {\n type: Boolean,\n default: true\n },\n buttonClass: null,\n maskStyle: null,\n maskClass: null,\n showIcon: {\n type: String,\n default: undefined\n },\n hideIcon: {\n type: String,\n default: undefined\n },\n rotateAnimation: {\n type: Boolean,\n default: true\n },\n tooltipOptions: null,\n style: null,\n class: null,\n buttonProps: {\n type: Object,\n default() {\n return { rounded: true };\n }\n },\n actionButtonProps: {\n type: Object,\n default() {\n return { severity: 'secondary', rounded: true, size: 'small' };\n }\n },\n ariaLabelledby: {\n type: String,\n default: null\n },\n ariaLabel: {\n type: String,\n default: null\n }\n },\n style: SpeedDialStyle,\n provide() {\n return {\n $pcSpeedDial: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <div :ref=\"containerRef\" :class=\"containerClass\" :style=\"[style, sx('root')]\" v-bind=\"ptmi('root')\">\n <slot name=\"button\" :visible=\"d_visible\" :toggleCallback=\"onClick\">\n <Button\n :class=\"[cx('pcButton'), buttonClass]\"\n :disabled=\"disabled\"\n :aria-expanded=\"d_visible\"\n :aria-haspopup=\"true\"\n :aria-controls=\"d_visible ? $id + '_list' : undefined\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n :unstyled=\"unstyled\"\n @click=\"onClick($event)\"\n @keydown=\"onTogglerKeydown\"\n v-bind=\"buttonProps\"\n :pt=\"ptm('pcButton')\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"icon\" :visible=\"d_visible\">\n <component v-if=\"d_visible && !!hideIcon\" :is=\"hideIcon ? 'span' : 'PlusIcon'\" :class=\"[hideIcon, slotProps.class]\" v-bind=\"ptm('pcButton')['icon']\" data-pc-section=\"icon\" />\n <component v-else :is=\"showIcon ? 'span' : 'PlusIcon'\" :class=\"[d_visible && !!hideIcon ? hideIcon : showIcon, slotProps.class]\" v-bind=\"ptm('pcButton')['icon']\" data-pc-section=\"icon\" />\n </slot>\n </template>\n </Button>\n </slot>\n <ul :ref=\"listRef\" :id=\"$id + '_list'\" :class=\"cx('list')\" :style=\"sx('list')\" role=\"menu\" tabindex=\"-1\" @focus=\"onFocus\" @blur=\"onBlur\" @keydown=\"onKeyDown\" v-bind=\"ptm('list')\">\n <template v-for=\"(item, index) of model\" :key=\"index\">\n <li\n v-if=\"isItemVisible(item)\"\n :id=\"`${$id}_${index}`\"\n :class=\"cx('item', { id: `${$id}_${index}` })\"\n :style=\"getItemStyle(index)\"\n role=\"none\"\n :data-p-active=\"isItemActive(`${$id}_${index}`)\"\n v-bind=\"getPTOptions(`${$id}_${index}`, 'item')\"\n >\n <template v-if=\"!$slots.item\">\n <Button\n v-tooltip:[tooltipOptions]=\"{ value: item.label, disabled: !tooltipOptions }\"\n :tabindex=\"-1\"\n role=\"menuitem\"\n :class=\"cx('pcAction', { item })\"\n :aria-label=\"item.label\"\n :disabled=\"disabled\"\n :unstyled=\"unstyled\"\n @click=\"onItemClick($event, item)\"\n v-bind=\"actionButtonProps\"\n :pt=\"getPTOptions(`${$id}_${index}`, 'pcAction')\"\n >\n <template v-if=\"item.icon\" #icon=\"slotProps\">\n <slot name=\"itemicon\" :item=\"item\" :class=\"slotProps.class\">\n <span :class=\"[item.icon, slotProps.class]\" v-bind=\"getPTOptions(`${$id}_${index}`, 'actionIcon')\"></span>\n </slot>\n </template>\n </Button>\n </template>\n <component v-else :is=\"$slots.item\" :item=\"item\" :onClick=\"(event) => onItemClick(event, item)\" :toggleCallback=\"(event) => onItemClick(event, item)\"></component>\n </li>\n </template>\n </ul>\n </div>\n <Transition name=\"p-overlay-mask\">\n <div v-if=\"mask && d_visible\" :class=\"[cx('mask'), maskClass]\" :style=\"maskStyle\" v-bind=\"ptm('mask')\"></div>\n </Transition>\n</template>\n\n<script>\nimport { $dt } from '@primeuix/styled';\nimport { find, findSingle, focus, hasClass } from '@primeuix/utils/dom';\nimport PlusIcon from '@primevue/icons/plus';\nimport Button from 'primevue/button';\nimport Ripple from 'primevue/ripple';\nimport Tooltip from 'primevue/tooltip';\nimport BaseSpeedDial from './BaseSpeedDial.vue';\n\n// Set fix value for SSR.\nconst Math_PI = 3.14159265358979;\n\nexport default {\n name: 'SpeedDial',\n extends: BaseSpeedDial,\n inheritAttrs: false,\n emits: ['click', 'show', 'hide', 'focus', 'blur'],\n documentClickListener: null,\n container: null,\n list: null,\n data() {\n return {\n d_visible: this.visible,\n isItemClicked: false,\n focused: false,\n focusedOptionIndex: -1\n };\n },\n watch: {\n visible(newValue) {\n this.d_visible = newValue;\n }\n },\n mounted() {\n if (this.type !== 'linear') {\n const button = findSingle(this.container, '[data-pc-name=\"pcbutton\"]');\n const firstItem = findSingle(this.list, '[data-pc-section=\"item\"]');\n\n if (button && firstItem) {\n const wDiff = Math.abs(button.offsetWidth - firstItem.offsetWidth);\n const hDiff = Math.abs(button.offsetHeight - firstItem.offsetHeight);\n\n this.list.style.setProperty($dt('item.diff.x').name, `${wDiff / 2}px`);\n this.list.style.setProperty($dt('item.diff.y').name, `${hDiff / 2}px`);\n }\n }\n\n if (this.hideOnClickOutside) {\n this.bindDocumentClickListener();\n }\n },\n beforeUnmount() {\n this.unbindDocumentClickListener();\n },\n methods: {\n getPTOptions(id, key) {\n return this.ptm(key, {\n context: {\n active: this.isItemActive(id),\n hidden: !this.d_visible\n }\n });\n },\n onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onItemClick(e, item) {\n if (item.command) {\n item.command({ originalEvent: e, item });\n }\n\n this.hide();\n\n this.isItemClicked = true;\n e.preventDefault();\n },\n onClick(event) {\n this.d_visible ? this.hide() : this.show();\n this.isItemClicked = true;\n this.$emit('click', event);\n },\n show() {\n this.d_visible = true;\n this.$emit('show');\n },\n hide() {\n this.d_visible = false;\n this.$emit('hide');\n },\n calculateTransitionDelay(index) {\n const length = this.model.length;\n const visible = this.d_visible;\n\n return (visible ? index : length - index - 1) * this.transitionDelay;\n },\n onTogglerKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n this.onTogglerArrowDown(event);\n\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n this.onTogglerArrowUp(event);\n\n break;\n\n case 'Escape':\n this.onEscapeKey();\n\n break;\n\n default:\n break;\n }\n },\n onKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDown(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUp(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeft(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRight(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(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 default:\n break;\n }\n },\n onTogglerArrowUp(event) {\n this.show();\n this.navigatePrevItem(event);\n\n event.preventDefault();\n },\n onTogglerArrowDown(event) {\n this.show();\n this.navigateNextItem(event);\n\n event.preventDefault();\n },\n onEnterKey(event) {\n const items = find(this.container, '[data-pc-section=\"item\"]');\n const itemIndex = [...items].findIndex((item) => item.id === this.focusedOptionIndex);\n const buttonEl = findSingle(this.container, 'button');\n\n this.onItemClick(event, this.model[itemIndex]);\n this.onBlur(event);\n\n buttonEl && focus(buttonEl);\n },\n onEscapeKey() {\n this.hide();\n\n const buttonEl = findSingle(this.container, 'button');\n\n buttonEl && focus(buttonEl);\n },\n onArrowUp(event) {\n if (this.direction === 'down') {\n this.navigatePrevItem(event);\n } else {\n this.navigateNextItem(event);\n }\n },\n onArrowDown(event) {\n if (this.direction === 'down') {\n this.navigateNextItem(event);\n } else {\n this.navigatePrevItem(event);\n }\n },\n\n onArrowLeft(event) {\n const leftValidDirections = ['left', 'up-right', 'down-left'];\n const rightValidDirections = ['right', 'up-left', 'down-right'];\n\n if (leftValidDirections.includes(this.direction)) {\n this.navigateNextItem(event);\n } else if (rightValidDirections.includes(this.direction)) {\n this.navigatePrevItem(event);\n } else {\n this.navigatePrevItem(event);\n }\n },\n\n onArrowRight(event) {\n const leftValidDirections = ['left', 'up-right', 'down-left'];\n const rightValidDirections = ['right', 'up-left', 'down-right'];\n\n if (leftValidDirections.includes(this.direction)) {\n this.navigatePrevItem(event);\n } else if (rightValidDirections.includes(this.direction)) {\n this.navigateNextItem(event);\n } else {\n this.navigateNextItem(event);\n }\n },\n onEndKey(event) {\n event.preventDefault();\n\n this.focusedOptionIndex = -1;\n this.navigatePrevItem(event);\n },\n onHomeKey(event) {\n event.preventDefault();\n\n this.focusedOptionIndex = -1;\n this.navigateNextItem(event);\n },\n navigateNextItem(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n\n event.preventDefault();\n },\n navigatePrevItem(event) {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n\n event.preventDefault();\n },\n changeFocusedOptionIndex(index) {\n const items = find(this.container, '[data-pc-section=\"item\"]');\n const filteredItems = [...items].filter((item) => !hasClass(findSingle(item, 'a'), 'p-disabled'));\n\n if (filteredItems[index]) {\n this.focusedOptionIndex = filteredItems[index].getAttribute('id');\n const buttonEl = findSingle(filteredItems[index], '[type=\"button\"]');\n\n buttonEl && focus(buttonEl);\n }\n },\n findPrevOptionIndex(index) {\n const items = find(this.container, '[data-pc-section=\"item\"]');\n const filteredItems = [...items].filter((item) => !hasClass(findSingle(item, 'a'), 'p-disabled'));\n const newIndex = index === -1 ? filteredItems[filteredItems.length - 1].id : index;\n let matchedOptionIndex = filteredItems.findIndex((link) => link.getAttribute('id') === newIndex);\n\n matchedOptionIndex = index === -1 ? filteredItems.length - 1 : matchedOptionIndex - 1;\n\n return matchedOptionIndex;\n },\n findNextOptionIndex(index) {\n const items = find(this.container, '[data-pc-section=\"item\"]');\n const filteredItems = [...items].filter((item) => !hasClass(findSingle(item, 'a'), 'p-disabled'));\n const newIndex = index === -1 ? filteredItems[0].id : index;\n let matchedOptionIndex = filteredItems.findIndex((link) => link.getAttribute('id') === newIndex);\n\n matchedOptionIndex = index === -1 ? 0 : matchedOptionIndex + 1;\n\n return matchedOptionIndex;\n },\n calculatePointStyle(index) {\n const type = this.type;\n\n if (type !== 'linear') {\n const length = this.model.length;\n const radius = this.radius || length * 20;\n\n if (type === 'circle') {\n const step = (2 * Math_PI) / length;\n\n return {\n left: `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x', '0px').variable})`,\n top: `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y', '0px').variable})`\n };\n } else if (type === 'semi-circle') {\n const direction = this.direction;\n const step = Math_PI / (length - 1);\n const x = `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x', '0px').variable})`;\n const y = `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y', '0px').variable})`;\n\n if (direction === 'up') {\n return { left: x, bottom: y };\n } else if (direction === 'down') {\n return { left: x, top: y };\n } else if (direction === 'left') {\n return { right: y, top: x };\n } else if (direction === 'right') {\n return { left: y, top: x };\n }\n } else if (type === 'quarter-circle') {\n const direction = this.direction;\n const step = Math_PI / (2 * (length - 1));\n const x = `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x', '0px').variable})`;\n const y = `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y', '0px').variable})`;\n\n if (direction === 'up-left') {\n return { right: x, bottom: y };\n } else if (direction === 'up-right') {\n return { left: x, bottom: y };\n } else if (direction === 'down-left') {\n return { right: y, top: x };\n } else if (direction === 'down-right') {\n return { left: y, top: x };\n }\n }\n }\n\n return {};\n },\n getItemStyle(index) {\n const transitionDelay = this.calculateTransitionDelay(index);\n const pointStyle = this.calculatePointStyle(index);\n\n return {\n transitionDelay: `${transitionDelay}ms`,\n ...pointStyle\n };\n },\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n this.documentClickListener = (event) => {\n if (this.d_visible && this.isOutsideClicked(event)) {\n this.hide();\n }\n\n this.isItemClicked = false;\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n },\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n },\n isOutsideClicked(event) {\n return this.container && !(this.container.isSameNode(event.target) || this.container.contains(event.target) || this.isItemClicked);\n },\n isItemVisible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n isItemActive(id) {\n return id === this.focusedOptionId;\n },\n containerRef(el) {\n this.container = el;\n },\n listRef(el) {\n this.list = el;\n }\n },\n computed: {\n containerClass() {\n return [this.cx('root'), this.class];\n },\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n }\n },\n components: {\n Button,\n PlusIcon\n },\n directives: {\n ripple: Ripple,\n tooltip: Tooltip\n }\n};\n</script>\n","<template>\n <div :ref=\"containerRef\" :class=\"containerClass\" :style=\"[style, sx('root')]\" v-bind=\"ptmi('root')\">\n <slot name=\"button\" :visible=\"d_visible\" :toggleCallback=\"onClick\">\n <Button\n :class=\"[cx('pcButton'), buttonClass]\"\n :disabled=\"disabled\"\n :aria-expanded=\"d_visible\"\n :aria-haspopup=\"true\"\n :aria-controls=\"d_visible ? $id + '_list' : undefined\"\n :aria-label=\"ariaLabel\"\n :aria-labelledby=\"ariaLabelledby\"\n :unstyled=\"unstyled\"\n @click=\"onClick($event)\"\n @keydown=\"onTogglerKeydown\"\n v-bind=\"buttonProps\"\n :pt=\"ptm('pcButton')\"\n >\n <template #icon=\"slotProps\">\n <slot name=\"icon\" :visible=\"d_visible\">\n <component v-if=\"d_visible && !!hideIcon\" :is=\"hideIcon ? 'span' : 'PlusIcon'\" :class=\"[hideIcon, slotProps.class]\" v-bind=\"ptm('pcButton')['icon']\" data-pc-section=\"icon\" />\n <component v-else :is=\"showIcon ? 'span' : 'PlusIcon'\" :class=\"[d_visible && !!hideIcon ? hideIcon : showIcon, slotProps.class]\" v-bind=\"ptm('pcButton')['icon']\" data-pc-section=\"icon\" />\n </slot>\n </template>\n </Button>\n </slot>\n <ul :ref=\"listRef\" :id=\"$id + '_list'\" :class=\"cx('list')\" :style=\"sx('list')\" role=\"menu\" tabindex=\"-1\" @focus=\"onFocus\" @blur=\"onBlur\" @keydown=\"onKeyDown\" v-bind=\"ptm('list')\">\n <template v-for=\"(item, index) of model\" :key=\"index\">\n <li\n v-if=\"isItemVisible(item)\"\n :id=\"`${$id}_${index}`\"\n :class=\"cx('item', { id: `${$id}_${index}` })\"\n :style=\"getItemStyle(index)\"\n role=\"none\"\n :data-p-active=\"isItemActive(`${$id}_${index}`)\"\n v-bind=\"getPTOptions(`${$id}_${index}`, 'item')\"\n >\n <template v-if=\"!$slots.item\">\n <Button\n v-tooltip:[tooltipOptions]=\"{ value: item.label, disabled: !tooltipOptions }\"\n :tabindex=\"-1\"\n role=\"menuitem\"\n :class=\"cx('pcAction', { item })\"\n :aria-label=\"item.label\"\n :disabled=\"disabled\"\n :unstyled=\"unstyled\"\n @click=\"onItemClick($event, item)\"\n v-bind=\"actionButtonProps\"\n :pt=\"getPTOptions(`${$id}_${index}`, 'pcAction')\"\n >\n <template v-if=\"item.icon\" #icon=\"slotProps\">\n <slot name=\"itemicon\" :item=\"item\" :class=\"slotProps.class\">\n <span :class=\"[item.icon, slotProps.class]\" v-bind=\"getPTOptions(`${$id}_${index}`, 'actionIcon')\"></span>\n </slot>\n </template>\n </Button>\n </template>\n <component v-else :is=\"$slots.item\" :item=\"item\" :onClick=\"(event) => onItemClick(event, item)\" :toggleCallback=\"(event) => onItemClick(event, item)\"></component>\n </li>\n </template>\n </ul>\n </div>\n <Transition name=\"p-overlay-mask\">\n <div v-if=\"mask && d_visible\" :class=\"[cx('mask'), maskClass]\" :style=\"maskStyle\" v-bind=\"ptm('mask')\"></div>\n </Transition>\n</template>\n\n<script>\nimport { $dt } from '@primeuix/styled';\nimport { find, findSingle, focus, hasClass } from '@primeuix/utils/dom';\nimport PlusIcon from '@primevue/icons/plus';\nimport Button from 'primevue/button';\nimport Ripple from 'primevue/ripple';\nimport Tooltip from 'primevue/tooltip';\nimport BaseSpeedDial from './BaseSpeedDial.vue';\n\n// Set fix value for SSR.\nconst Math_PI = 3.14159265358979;\n\nexport default {\n name: 'SpeedDial',\n extends: BaseSpeedDial,\n inheritAttrs: false,\n emits: ['click', 'show', 'hide', 'focus', 'blur'],\n documentClickListener: null,\n container: null,\n list: null,\n data() {\n return {\n d_visible: this.visible,\n isItemClicked: false,\n focused: false,\n focusedOptionIndex: -1\n };\n },\n watch: {\n visible(newValue) {\n this.d_visible = newValue;\n }\n },\n mounted() {\n if (this.type !== 'linear') {\n const button = findSingle(this.container, '[data-pc-name=\"pcbutton\"]');\n const firstItem = findSingle(this.list, '[data-pc-section=\"item\"]');\n\n if (button && firstItem) {\n const wDiff = Math.abs(button.offsetWidth - firstItem.offsetWidth);\n const hDiff = Math.abs(button.offsetHeight - firstItem.offsetHeight);\n\n this.list.style.setProperty($dt('item.diff.x').name, `${wDiff / 2}px`);\n this.list.style.setProperty($dt('item.diff.y').name, `${hDiff / 2}px`);\n }\n }\n\n if (this.hideOnClickOutside) {\n this.bindDocumentClickListener();\n }\n },\n beforeUnmount() {\n this.unbindDocumentClickListener();\n },\n methods: {\n getPTOptions(id, key) {\n return this.ptm(key, {\n context: {\n active: this.isItemActive(id),\n hidden: !this.d_visible\n }\n });\n },\n onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur(event) {\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onItemClick(e, item) {\n if (item.command) {\n item.command({ originalEvent: e, item });\n }\n\n this.hide();\n\n this.isItemClicked = true;\n e.preventDefault();\n },\n onClick(event) {\n this.d_visible ? this.hide() : this.show();\n this.isItemClicked = true;\n this.$emit('click', event);\n },\n show() {\n this.d_visible = true;\n this.$emit('show');\n },\n hide() {\n this.d_visible = false;\n this.$emit('hide');\n },\n calculateTransitionDelay(index) {\n const length = this.model.length;\n const visible = this.d_visible;\n\n return (visible ? index : length - index - 1) * this.transitionDelay;\n },\n onTogglerKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n this.onTogglerArrowDown(event);\n\n break;\n\n case 'ArrowUp':\n case 'ArrowRight':\n this.onTogglerArrowUp(event);\n\n break;\n\n case 'Escape':\n this.onEscapeKey();\n\n break;\n\n default:\n break;\n }\n },\n onKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDown(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUp(event);\n break;\n\n case 'ArrowLeft':\n this.onArrowLeft(event);\n break;\n\n case 'ArrowRight':\n this.onArrowRight(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n case 'Escape':\n this.onEscapeKey(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 default:\n break;\n }\n },\n onTogglerArrowUp(event) {\n this.show();\n this.navigatePrevItem(event);\n\n event.preventDefault();\n },\n onTogglerArrowDown(event) {\n this.show();\n this.navigateNextItem(event);\n\n event.preventDefault();\n },\n onEnterKey(event) {\n const items = find(this.container, '[data-pc-section=\"item\"]');\n const itemIndex = [...items].findIndex((item) => item.id === this.focusedOptionIndex);\n const buttonEl = findSingle(this.container, 'button');\n\n this.onItemClick(event, this.model[itemIndex]);\n this.onBlur(event);\n\n buttonEl && focus(buttonEl);\n },\n onEscapeKey() {\n this.hide();\n\n const buttonEl = findSingle(this.container, 'button');\n\n buttonEl && focus(buttonEl);\n },\n onArrowUp(event) {\n if (this.direction === 'down') {\n this.navigatePrevItem(event);\n } else {\n this.navigateNextItem(event);\n }\n },\n onArrowDown(event) {\n if (this.direction === 'down') {\n this.navigateNextItem(event);\n } else {\n this.navigatePrevItem(event);\n }\n },\n\n onArrowLeft(event) {\n const leftValidDirections = ['left', 'up-right', 'down-left'];\n const rightValidDirections = ['right', 'up-left', 'down-right'];\n\n if (leftValidDirections.includes(this.direction)) {\n this.navigateNextItem(event);\n } else if (rightValidDirections.includes(this.direction)) {\n this.navigatePrevItem(event);\n } else {\n this.navigatePrevItem(event);\n }\n },\n\n onArrowRight(event) {\n const leftValidDirections = ['left', 'up-right', 'down-left'];\n const rightValidDirections = ['right', 'up-left', 'down-right'];\n\n if (leftValidDirections.includes(this.direction)) {\n this.navigatePrevItem(event);\n } else if (rightValidDirections.includes(this.direction)) {\n this.navigateNextItem(event);\n } else {\n this.navigateNextItem(event);\n }\n },\n onEndKey(event) {\n event.preventDefault();\n\n this.focusedOptionIndex = -1;\n this.navigatePrevItem(event);\n },\n onHomeKey(event) {\n event.preventDefault();\n\n this.focusedOptionIndex = -1;\n this.navigateNextItem(event);\n },\n navigateNextItem(event) {\n const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n\n event.preventDefault();\n },\n navigatePrevItem(event) {\n const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);\n\n this.changeFocusedOptionIndex(optionIndex);\n\n event.preventDefault();\n },\n changeFocusedOptionIndex(index) {\n const items = find(this.container, '[data-pc-section=\"item\"]');\n const filteredItems = [...items].filter((item) => !hasClass(findSingle(item, 'a'), 'p-disabled'));\n\n if (filteredItems[index]) {\n this.focusedOptionIndex = filteredItems[index].getAttribute('id');\n const buttonEl = findSingle(filteredItems[index], '[type=\"button\"]');\n\n buttonEl && focus(buttonEl);\n }\n },\n findPrevOptionIndex(index) {\n const items = find(this.container, '[data-pc-section=\"item\"]');\n const filteredItems = [...items].filter((item) => !hasClass(findSingle(item, 'a'), 'p-disabled'));\n const newIndex = index === -1 ? filteredItems[filteredItems.length - 1].id : index;\n let matchedOptionIndex = filteredItems.findIndex((link) => link.getAttribute('id') === newIndex);\n\n matchedOptionIndex = index === -1 ? filteredItems.length - 1 : matchedOptionIndex - 1;\n\n return matchedOptionIndex;\n },\n findNextOptionIndex(index) {\n const items = find(this.container, '[data-pc-section=\"item\"]');\n const filteredItems = [...items].filter((item) => !hasClass(findSingle(item, 'a'), 'p-disabled'));\n const newIndex = index === -1 ? filteredItems[0].id : index;\n let matchedOptionIndex = filteredItems.findIndex((link) => link.getAttribute('id') === newIndex);\n\n matchedOptionIndex = index === -1 ? 0 : matchedOptionIndex + 1;\n\n return matchedOptionIndex;\n },\n calculatePointStyle(index) {\n const type = this.type;\n\n if (type !== 'linear') {\n const length = this.model.length;\n const radius = this.radius || length * 20;\n\n if (type === 'circle') {\n const step = (2 * Math_PI) / length;\n\n return {\n left: `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x', '0px').variable})`,\n top: `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y', '0px').variable})`\n };\n } else if (type === 'semi-circle') {\n const direction = this.direction;\n const step = Math_PI / (length - 1);\n const x = `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x', '0px').variable})`;\n const y = `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y', '0px').variable})`;\n\n if (direction === 'up') {\n return { left: x, bottom: y };\n } else if (direction === 'down') {\n return { left: x, top: y };\n } else if (direction === 'left') {\n return { right: y, top: x };\n } else if (direction === 'right') {\n return { left: y, top: x };\n }\n } else if (type === 'quarter-circle') {\n const direction = this.direction;\n const step = Math_PI / (2 * (length - 1));\n const x = `calc(${radius * Math.cos(step * index)}px + ${$dt('item.diff.x', '0px').variable})`;\n const y = `calc(${radius * Math.sin(step * index)}px + ${$dt('item.diff.y', '0px').variable})`;\n\n if (direction === 'up-left') {\n return { right: x, bottom: y };\n } else if (direction === 'up-right') {\n return { left: x, bottom: y };\n } else if (direction === 'down-left') {\n return { right: y, top: x };\n } else if (direction === 'down-right') {\n return { left: y, top: x };\n }\n }\n }\n\n return {};\n },\n getItemStyle(index) {\n const transitionDelay = this.calculateTransitionDelay(index);\n const pointStyle = this.calculatePointStyle(index);\n\n return {\n transitionDelay: `${transitionDelay}ms`,\n ...pointStyle\n };\n },\n bindDocumentClickListener() {\n if (!this.documentClickListener) {\n this.documentClickListener = (event) => {\n if (this.d_visible && this.isOutsideClicked(event)) {\n this.hide();\n }\n\n this.isItemClicked = false;\n };\n\n document.addEventListener('click', this.documentClickListener);\n }\n },\n unbindDocumentClickListener() {\n if (this.documentClickListener) {\n document.removeEventListener('click', this.documentClickListener);\n this.documentClickListener = null;\n }\n },\n isOutsideClicked(event) {\n return this.container && !(this.container.isSameNode(event.target) || this.container.contains(event.target) || this.isItemClicked);\n },\n isItemVisible(item) {\n return typeof item.visible === 'function' ? item.visible() : item.visible !== false;\n },\n isItemActive(id) {\n return id === this.focusedOptionId;\n },\n containerRef(el) {\n this.container = el;\n },\n listRef(el) {\n this.list = el;\n }\n },\n computed: {\n containerClass() {\n return [this.cx('root'), this.class];\n },\n focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;\n }\n },\n components: {\n Button,\n PlusIcon\n },\n directives: {\n ripple: Ripple,\n tooltip: Tooltip\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","model","visible","type","Boolean","direction","String","transitionDelay","Number","radius","mask","disabled","hideOnClickOutside","buttonClass","maskStyle","maskClass","showIcon","undefined","hideIcon","rotateAnimation","tooltipOptions","style","buttonProps","Object","default","rounded","actionButtonProps","severity","size","ariaLabelledby","ariaLabel","SpeedDialStyle","provide","$pcSpeedDial","$parentInstance","Math_PI","BaseSpeedDial","inheritAttrs","emits","documentClickListener","container","list","data","d_visible","isItemClicked","focused","focusedOptionIndex","watch","newValue","mounted","button","findSingle","firstItem","wDiff","Math","abs","offsetWidth","hDiff","offsetHeight","setProperty","$dt","concat","bindDocumentClickListener","beforeUnmount","unbindDocumentClickListener","methods","getPTOptions","id","key","ptm","context","active","isItemActive","hidden","onFocus","event","$emit","onBlur","onItemClick","e","item","command","originalEvent","hide","preventDefault","onClick","show","calculateTransitionDelay","index","length","onTogglerKeydown","code","onTogglerArrowDown","onTogglerArrowUp","onEscapeKey","onKeyDown","onArrowDown","onArrowUp","onArrowLeft","onArrowRight","onEnterKey","onHomeKey","onEndKey","navigatePrevItem","navigateNextItem","_this","items","find","itemIndex","_toConsumableArray","findIndex","buttonEl","focus","leftValidDirections","rightValidDirections","includes","optionIndex","findNextOptionIndex","changeFocusedOptionIndex","findPrevOptionIndex","filteredItems","filter","hasClass","getAttribute","newIndex","matchedOptionIndex","link","calculatePointStyle","step","left","cos","variable","top","sin","x","y","bottom","right","getItemStyle","pointStyle","_objectSpread","_this2","isOutsideClicked","document","addEventListener","removeEventListener","isSameNode","target","contains","isItemVisible","focusedOptionId","containerRef","el","listRef","computed","containerClass","cx","components","Button","PlusIcon","directives","ripple","Ripple","tooltip","Tooltip","_createElementVNode","_mergeProps","ref","$options","_ctx","sx","ptmi","_renderSlot","$slots","$data","toggleCallback","_createVNode","_component_Button","$id","unstyled","_cache","$event","onKeydown","pt","icon","_withCtx","slotProps","_createBlock","_resolveDynamicComponent","role","tabindex","apply","arguments","_openBlock","_createElementBlock","_Fragment","_renderList","_withDirectives","label","fn","_normalizeClass","_directive_tooltip","value","_Transition"],"mappings":"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"}