primevue 4.0.7 → 4.1.1
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/README.md +2 -94
- package/accordion/index.d.ts +2 -2
- package/accordioncontent/index.d.ts +2 -2
- package/accordionheader/index.d.ts +2 -2
- package/accordionpanel/index.d.ts +2 -2
- package/accordiontab/index.d.ts +2 -2
- package/autocomplete/AutoComplete.vue +50 -50
- package/autocomplete/index.d.ts +7 -3
- package/autocomplete/index.mjs +11 -8
- package/autocomplete/index.mjs.map +1 -1
- package/autocomplete/style/index.d.ts +4 -0
- package/autocomplete/style/index.mjs +3 -2
- package/autocomplete/style/index.mjs.map +1 -1
- package/avatar/index.d.ts +2 -2
- package/avatargroup/index.d.ts +2 -2
- package/badge/index.d.ts +2 -2
- package/blockui/index.d.ts +2 -2
- package/breadcrumb/index.d.ts +2 -2
- package/button/BaseButton.vue +2 -2
- package/button/Button.vue +1 -1
- package/button/index.d.ts +4 -4
- package/button/index.mjs +7 -6
- package/button/index.mjs.map +1 -1
- package/buttongroup/index.d.ts +2 -2
- package/calendar/index.d.ts +2 -2
- package/card/index.d.ts +2 -2
- package/carousel/Carousel.vue +2 -7
- package/carousel/index.d.ts +2 -2
- package/carousel/index.mjs +2 -7
- package/carousel/index.mjs.map +1 -1
- package/carousel/style/index.mjs +1 -1
- package/carousel/style/index.mjs.map +1 -1
- package/cascadeselect/BaseCascadeSelect.vue +4 -0
- package/cascadeselect/CascadeSelect.vue +92 -27
- package/cascadeselect/CascadeSelectSub.vue +24 -36
- package/cascadeselect/index.d.ts +43 -3
- package/cascadeselect/index.mjs +190 -112
- package/cascadeselect/index.mjs.map +1 -1
- package/cascadeselect/style/index.mjs +12 -5
- package/cascadeselect/style/index.mjs.map +1 -1
- package/chart/index.d.ts +2 -2
- package/checkbox/index.d.ts +2 -2
- package/chip/index.d.ts +2 -2
- package/chips/index.d.ts +2 -2
- package/colorpicker/BaseColorPicker.vue +2 -1
- package/colorpicker/ColorPicker.vue +3 -3
- package/colorpicker/index.d.ts +8 -3
- package/colorpicker/index.mjs +11 -4
- package/colorpicker/index.mjs.map +1 -1
- package/column/index.d.ts +2 -2
- package/columngroup/index.d.ts +2 -2
- package/config/index.d.ts +9 -3
- package/confirmationoptions/index.d.ts +12 -0
- package/confirmdialog/ConfirmDialog.vue +11 -1
- package/confirmdialog/index.d.ts +5 -9
- package/confirmdialog/index.mjs +12 -2
- package/confirmdialog/index.mjs.map +1 -1
- package/confirmpopup/index.d.ts +2 -2
- package/contextmenu/BaseContextMenu.vue +4 -0
- package/contextmenu/ContextMenu.vue +45 -13
- package/contextmenu/index.d.ts +12 -7
- package/contextmenu/index.mjs +63 -31
- package/contextmenu/index.mjs.map +1 -1
- package/contextmenu/style/index.mjs +10 -5
- package/contextmenu/style/index.mjs.map +1 -1
- package/datatable/BaseDataTable.vue +4 -0
- package/datatable/DataTable.vue +7 -12
- package/datatable/HeaderCheckbox.vue +1 -1
- package/datatable/TableBody.vue +1 -1
- package/datatable/TableHeader.vue +51 -51
- package/datatable/index.d.ts +7 -2
- package/datatable/index.mjs +94 -91
- package/datatable/index.mjs.map +1 -1
- package/datatable/style/index.mjs +1 -1
- package/datatable/style/index.mjs.map +1 -1
- package/dataview/index.d.ts +2 -2
- package/datepicker/DatePicker.vue +13 -11
- package/datepicker/index.d.ts +4 -12
- package/datepicker/index.mjs +12 -10
- package/datepicker/index.mjs.map +1 -1
- package/datepicker/style/index.mjs +3 -3
- package/datepicker/style/index.mjs.map +1 -1
- package/deferredcontent/index.d.ts +2 -2
- package/dialog/Dialog.vue +4 -10
- package/dialog/index.d.ts +2 -2
- package/dialog/index.mjs +3 -10
- package/dialog/index.mjs.map +1 -1
- package/divider/index.d.ts +2 -2
- package/dock/index.d.ts +2 -2
- package/drawer/index.d.ts +7 -3
- package/dropdown/index.d.ts +2 -2
- package/dynamicdialog/index.d.ts +2 -2
- package/editor/index.d.ts +2 -2
- package/fieldset/index.d.ts +4 -8
- package/fileupload/index.d.ts +3 -3
- package/floatlabel/BaseFloatLabel.vue +6 -1
- package/floatlabel/index.d.ts +9 -4
- package/floatlabel/index.mjs +6 -1
- package/floatlabel/index.mjs.map +1 -1
- package/floatlabel/style/index.d.ts +2 -2
- package/floatlabel/style/index.mjs +10 -2
- package/floatlabel/style/index.mjs.map +1 -1
- package/fluid/index.d.ts +2 -2
- package/focustrap/index.d.ts +1 -1
- package/galleria/index.d.ts +10 -10
- package/galleria/style/index.mjs +2 -2
- package/galleria/style/index.mjs.map +1 -1
- package/iconfield/index.d.ts +2 -2
- package/iftalabel/BaseIftaLabel.vue +16 -0
- package/iftalabel/IftaLabel.vue +15 -0
- package/iftalabel/index.d.ts +130 -0
- package/iftalabel/index.mjs +32 -0
- package/iftalabel/index.mjs.map +1 -0
- package/iftalabel/package.json +11 -0
- package/iftalabel/style/index.d.ts +19 -0
- package/iftalabel/style/index.mjs +17 -0
- package/iftalabel/style/index.mjs.map +1 -0
- package/iftalabel/style/package.json +6 -0
- package/image/index.d.ts +2 -2
- package/imagecompare/BaseImageCompare.vue +30 -0
- package/imagecompare/ImageCompare.vue +24 -0
- package/imagecompare/index.d.ts +149 -0
- package/imagecompare/index.mjs +61 -0
- package/imagecompare/index.mjs.map +1 -0
- package/imagecompare/package.json +11 -0
- package/imagecompare/style/index.d.ts +23 -0
- package/imagecompare/style/index.mjs +18 -0
- package/imagecompare/style/index.mjs.map +1 -0
- package/imagecompare/style/package.json +6 -0
- package/inlinemessage/index.d.ts +2 -2
- package/inplace/index.d.ts +2 -2
- package/inputchips/index.d.ts +2 -2
- package/inputgroup/BaseInputGroup.vue +0 -6
- package/inputgroup/InputGroup.vue +1 -10
- package/inputgroup/index.d.ts +2 -7
- package/inputgroup/index.mjs +1 -18
- package/inputgroup/index.mjs.map +1 -1
- package/inputgroup/style/index.mjs +2 -7
- package/inputgroup/style/index.mjs.map +1 -1
- package/inputgroupaddon/index.d.ts +2 -2
- package/inputicon/index.d.ts +2 -2
- package/inputmask/InputMask.vue +23 -17
- package/inputmask/index.d.ts +2 -2
- package/inputmask/index.mjs +21 -16
- package/inputmask/index.mjs.map +1 -1
- package/inputnumber/InputNumber.vue +2 -2
- package/inputnumber/index.d.ts +3 -3
- package/inputnumber/index.mjs +2 -2
- package/inputnumber/index.mjs.map +1 -1
- package/inputnumber/style/index.mjs +2 -2
- package/inputnumber/style/index.mjs.map +1 -1
- package/inputotp/BaseInputOtp.vue +1 -1
- package/inputotp/InputOtp.vue +6 -12
- package/inputotp/index.d.ts +4 -4
- package/inputotp/index.mjs +11 -12
- package/inputotp/index.mjs.map +1 -1
- package/inputotp/style/index.mjs +1 -1
- package/inputotp/style/index.mjs.map +1 -1
- package/inputswitch/index.d.ts +2 -2
- package/inputtext/index.d.ts +2 -2
- package/inputtext/style/index.mjs +1 -1
- package/inputtext/style/index.mjs.map +1 -1
- package/keyfilter/index.d.ts +153 -0
- package/keyfilter/index.mjs +127 -0
- package/keyfilter/index.mjs.map +1 -0
- package/keyfilter/package.json +5 -0
- package/keyfilter/style/index.d.ts +14 -0
- package/keyfilter/style/index.mjs +8 -0
- package/keyfilter/style/index.mjs.map +1 -0
- package/keyfilter/style/package.json +6 -0
- package/knob/index.d.ts +2 -2
- package/listbox/index.d.ts +2 -2
- package/megamenu/BaseMegaMenu.vue +4 -0
- package/megamenu/MegaMenu.vue +19 -9
- package/megamenu/index.d.ts +11 -2
- package/megamenu/index.mjs +25 -8
- package/megamenu/index.mjs.map +1 -1
- package/megamenu/style/index.mjs +5 -5
- package/megamenu/style/index.mjs.map +1 -1
- package/menu/index.d.ts +2 -2
- package/menubar/Menubar.vue +8 -3
- package/menubar/index.d.ts +2 -2
- package/menubar/index.mjs +6 -3
- package/menubar/index.mjs.map +1 -1
- package/menubar/style/index.mjs +1 -1
- package/menubar/style/index.mjs.map +1 -1
- package/message/Message.vue +3 -19
- package/message/index.d.ts +2 -2
- package/message/index.mjs +4 -20
- package/message/index.mjs.map +1 -1
- package/metergroup/index.d.ts +2 -2
- package/multiselect/BaseMultiSelect.vue +1 -5
- package/multiselect/MultiSelect.vue +16 -14
- package/multiselect/index.d.ts +4 -22
- package/multiselect/index.mjs +15 -17
- package/multiselect/index.mjs.map +1 -1
- package/multiselect/style/index.mjs +1 -1
- package/multiselect/style/index.mjs.map +1 -1
- package/orderlist/OrderList.vue +4 -8
- package/orderlist/index.d.ts +3 -7
- package/orderlist/index.mjs +3 -7
- package/orderlist/index.mjs.map +1 -1
- package/organizationchart/index.d.ts +2 -2
- package/overlaybadge/index.d.ts +2 -2
- package/overlaypanel/index.d.ts +2 -2
- package/package.json +5 -5
- package/paginator/JumpToPageInput.vue +1 -1
- package/paginator/Paginator.vue +4 -16
- package/paginator/index.d.ts +3 -3
- package/paginator/index.mjs +4 -21
- package/paginator/index.mjs.map +1 -1
- package/paginator/style/index.d.ts +1 -1
- package/paginator/style/index.mjs +1 -1
- package/paginator/style/index.mjs.map +1 -1
- package/panel/index.d.ts +2 -2
- package/panelmenu/index.d.ts +3 -3
- package/password/BasePassword.vue +4 -0
- package/password/Password.vue +4 -3
- package/password/index.d.ts +8 -3
- package/password/index.mjs +10 -5
- package/password/index.mjs.map +1 -1
- package/password/style/index.mjs +1 -1
- package/password/style/index.mjs.map +1 -1
- package/picklist/PickList.vue +4 -8
- package/picklist/index.d.ts +3 -15
- package/picklist/index.mjs +3 -7
- package/picklist/index.mjs.map +1 -1
- package/popover/Popover.vue +4 -10
- package/popover/index.d.ts +3 -3
- package/popover/index.mjs +3 -9
- package/popover/index.mjs.map +1 -1
- package/portal/index.d.ts +2 -2
- package/progressbar/index.d.ts +2 -2
- package/progressspinner/index.d.ts +3 -3
- package/radiobutton/index.d.ts +2 -2
- package/rating/index.d.ts +2 -2
- package/rating/style/index.mjs +1 -1
- package/rating/style/index.mjs.map +1 -1
- package/row/index.d.ts +2 -2
- package/scrollpanel/index.d.ts +2 -2
- package/scrolltop/ScrollTop.vue +2 -9
- package/scrolltop/index.d.ts +3 -8
- package/scrolltop/index.mjs +3 -9
- package/scrolltop/index.mjs.map +1 -1
- package/select/Select.vue +13 -6
- package/select/index.d.ts +2 -2
- package/select/index.mjs +54 -45
- package/select/index.mjs.map +1 -1
- package/select/style/index.mjs +1 -1
- package/select/style/index.mjs.map +1 -1
- package/selectbutton/index.d.ts +2 -2
- package/sidebar/index.d.ts +2 -2
- package/skeleton/index.d.ts +2 -2
- package/slider/index.d.ts +2 -2
- package/slider/style/index.mjs +1 -1
- package/slider/style/index.mjs.map +1 -1
- package/speeddial/SpeedDial.vue +3 -1
- package/speeddial/index.d.ts +18 -3
- package/speeddial/index.mjs +10 -5
- package/speeddial/index.mjs.map +1 -1
- package/splitbutton/index.d.ts +2 -2
- package/splitter/Splitter.vue +31 -25
- package/splitter/index.d.ts +10 -3
- package/splitter/index.mjs +28 -22
- package/splitter/index.mjs.map +1 -1
- package/splitterpanel/index.d.ts +2 -2
- package/step/index.d.ts +2 -2
- package/stepitem/index.d.ts +2 -2
- package/steplist/index.d.ts +2 -2
- package/steppanel/index.d.ts +2 -2
- package/steppanels/index.d.ts +2 -2
- package/stepper/index.d.ts +2 -2
- package/steps/index.d.ts +2 -2
- package/tab/index.d.ts +2 -2
- package/tablist/index.d.ts +2 -2
- package/tabmenu/index.d.ts +2 -2
- package/tabpanel/index.d.ts +2 -2
- package/tabpanels/index.d.ts +2 -2
- package/tabs/index.d.ts +2 -2
- package/tabview/index.d.ts +2 -2
- package/tag/index.d.ts +2 -2
- package/terminal/index.d.ts +2 -2
- package/textarea/index.d.ts +2 -2
- package/tieredmenu/BaseTieredMenu.vue +4 -0
- package/tieredmenu/TieredMenu.vue +39 -7
- package/tieredmenu/TieredMenuSub.vue +3 -1
- package/tieredmenu/index.d.ts +7 -2
- package/tieredmenu/index.mjs +69 -37
- package/tieredmenu/index.mjs.map +1 -1
- package/tieredmenu/style/index.mjs +5 -4
- package/tieredmenu/style/index.mjs.map +1 -1
- package/timeline/index.d.ts +2 -2
- package/toast/Toast.vue +2 -9
- package/toast/index.d.ts +2 -2
- package/toast/index.mjs +1 -8
- package/toast/index.mjs.map +1 -1
- package/togglebutton/index.d.ts +2 -2
- package/toggleswitch/ToggleSwitch.vue +5 -1
- package/toggleswitch/index.d.ts +19 -3
- package/toggleswitch/index.mjs +7 -3
- package/toggleswitch/index.mjs.map +1 -1
- package/toggleswitch/style/index.d.ts +9 -1
- package/toggleswitch/style/index.mjs +3 -2
- package/toggleswitch/style/index.mjs.map +1 -1
- package/toolbar/index.d.ts +2 -2
- package/tooltip/index.mjs +6 -1
- package/tooltip/index.mjs.map +1 -1
- package/tooltip/style/index.mjs +1 -1
- package/tooltip/style/index.mjs.map +1 -1
- package/tree/BaseTree.vue +1 -1
- package/tree/Tree.vue +5 -3
- package/tree/TreeNode.vue +16 -4
- package/tree/index.d.ts +54 -5
- package/tree/index.mjs +26 -12
- package/tree/index.mjs.map +1 -1
- package/tree/style/index.mjs +2 -1
- package/tree/style/index.mjs.map +1 -1
- package/treeselect/BaseTreeSelect.vue +36 -0
- package/treeselect/TreeSelect.vue +31 -16
- package/treeselect/index.d.ts +75 -6
- package/treeselect/index.mjs +82 -25
- package/treeselect/index.mjs.map +1 -1
- package/treeselect/style/index.mjs +1 -1
- package/treeselect/style/index.mjs.map +1 -1
- package/treetable/BaseTreeTable.vue +8 -0
- package/treetable/TreeTable.vue +19 -11
- package/treetable/TreeTableRow.vue +28 -2
- package/treetable/index.d.ts +36 -2
- package/treetable/index.mjs +63 -19
- package/treetable/index.mjs.map +1 -1
- package/treetable/style/index.mjs +5 -3
- package/treetable/style/index.mjs.map +1 -1
- package/umd/primevue.min.js +1 -1
- package/vetur-attributes.json +3 -3
- package/virtualscroller/index.d.ts +2 -2
- package/virtualscroller/style/index.mjs +3 -1
- package/virtualscroller/style/index.mjs.map +1 -1
- package/web-types.json +5 -5
package/speeddial/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/speeddial/BaseSpeedDial.vue","../../src/speeddial/SpeedDial.vue","../../src/speeddial/SpeedDial.vue?vue&type=template&id=a121119a&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=\"id + '_list'\"\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 <span :class=\"[item.icon, slotProps.class]\" v-bind=\"getPTOptions(`${id}_${index}`, 'actionIcon')\"></span>\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 <template v-if=\"mask\">\n <div :class=\"[cx('mask'), maskClass]\" :style=\"maskStyle\" v-bind=\"ptm('mask')\"></div>\n </template>\n</template>\n\n<script>\nimport { $dt } from '@primeuix/styled';\nimport { find, findSingle, focus, hasClass } from '@primeuix/utils/dom';\nimport { UniqueComponentId } from '@primevue/core/utils';\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 id: this.$attrs.id,\n d_visible: this.visible,\n isItemClicked: false,\n focused: false,\n focusedOptionIndex: -1\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n visible(newValue) {\n this.d_visible = newValue;\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n\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=\"id + '_list'\"\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 <span :class=\"[item.icon, slotProps.class]\" v-bind=\"getPTOptions(`${id}_${index}`, 'actionIcon')\"></span>\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 <template v-if=\"mask\">\n <div :class=\"[cx('mask'), maskClass]\" :style=\"maskStyle\" v-bind=\"ptm('mask')\"></div>\n </template>\n</template>\n\n<script>\nimport { $dt } from '@primeuix/styled';\nimport { find, findSingle, focus, hasClass } from '@primeuix/utils/dom';\nimport { UniqueComponentId } from '@primevue/core/utils';\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 id: this.$attrs.id,\n d_visible: this.visible,\n isItemClicked: false,\n focused: false,\n focusedOptionIndex: -1\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n visible(newValue) {\n this.d_visible = newValue;\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n\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","id","$attrs","d_visible","isItemClicked","focused","focusedOptionIndex","watch","$attrsId","newValue","UniqueComponentId","mounted","button","findSingle","firstItem","wDiff","Math","abs","offsetWidth","hDiff","offsetHeight","setProperty","$dt","concat","bindDocumentClickListener","beforeUnmount","unbindDocumentClickListener","methods","getPTOptions","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","unstyled","_cache","$event","onKeydown","pt","icon","_withCtx","slotProps","_createBlock","_resolveDynamicComponent","role","tabindex","apply","arguments","_openBlock","_createElementBlock","_Fragment","_renderList","_withDirectives","label","fn","_directive_tooltip","value"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/speeddial/BaseSpeedDial.vue","../../src/speeddial/SpeedDial.vue","../../src/speeddial/SpeedDial.vue?vue&type=template&id=5da7842e&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=\"id + '_list'\"\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 <template v-if=\"mask\">\n <div :class=\"[cx('mask'), maskClass]\" :style=\"maskStyle\" v-bind=\"ptm('mask')\"></div>\n </template>\n</template>\n\n<script>\nimport { $dt } from '@primeuix/styled';\nimport { find, findSingle, focus, hasClass } from '@primeuix/utils/dom';\nimport { UniqueComponentId } from '@primevue/core/utils';\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 id: this.$attrs.id,\n d_visible: this.visible,\n isItemClicked: false,\n focused: false,\n focusedOptionIndex: -1\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n visible(newValue) {\n this.d_visible = newValue;\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n\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=\"id + '_list'\"\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 <template v-if=\"mask\">\n <div :class=\"[cx('mask'), maskClass]\" :style=\"maskStyle\" v-bind=\"ptm('mask')\"></div>\n </template>\n</template>\n\n<script>\nimport { $dt } from '@primeuix/styled';\nimport { find, findSingle, focus, hasClass } from '@primeuix/utils/dom';\nimport { UniqueComponentId } from '@primevue/core/utils';\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 id: this.$attrs.id,\n d_visible: this.visible,\n isItemClicked: false,\n focused: false,\n focusedOptionIndex: -1\n };\n },\n watch: {\n '$attrs.id': function (newValue) {\n this.id = newValue || UniqueComponentId();\n },\n visible(newValue) {\n this.d_visible = newValue;\n }\n },\n mounted() {\n this.id = this.id || UniqueComponentId();\n\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","id","$attrs","d_visible","isItemClicked","focused","focusedOptionIndex","watch","$attrsId","newValue","UniqueComponentId","mounted","button","findSingle","firstItem","wDiff","Math","abs","offsetWidth","hDiff","offsetHeight","setProperty","$dt","concat","bindDocumentClickListener","beforeUnmount","unbindDocumentClickListener","methods","getPTOptions","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","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"],"mappings":"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"}
|
package/splitbutton/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module splitbutton
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import type { DefineComponent, DesignToken, EmitFn,
|
|
10
|
+
import type { DefineComponent, DesignToken, EmitFn, HintedString, PassThrough } from '@primevue/core';
|
|
11
11
|
import type { ComponentHooks } from '@primevue/core/basecomponent';
|
|
12
12
|
import type { ButtonPassThroughOptions } from 'primevue/button';
|
|
13
13
|
import type { MenuItem } from 'primevue/menuitem';
|
|
@@ -340,7 +340,7 @@ declare const SplitButton: DefineComponent<SplitButtonProps, SplitButtonSlots, S
|
|
|
340
340
|
|
|
341
341
|
declare module 'vue' {
|
|
342
342
|
export interface GlobalComponents {
|
|
343
|
-
SplitButton:
|
|
343
|
+
SplitButton: DefineComponent<SplitButtonProps, SplitButtonSlots, SplitButtonEmits>;
|
|
344
344
|
}
|
|
345
345
|
}
|
|
346
346
|
|
package/splitter/Splitter.vue
CHANGED
|
@@ -22,9 +22,9 @@
|
|
|
22
22
|
</template>
|
|
23
23
|
|
|
24
24
|
<script>
|
|
25
|
-
import {
|
|
26
|
-
import { getWidth, getHeight, getOuterWidth, getOuterHeight } from '@primeuix/utils/dom';
|
|
25
|
+
import { getHeight, getOuterHeight, getOuterWidth, getWidth } from '@primeuix/utils/dom';
|
|
27
26
|
import { isArray } from '@primeuix/utils/object';
|
|
27
|
+
import { getVNodeProp } from '@primevue/core/utils';
|
|
28
28
|
import BaseSplitter from './BaseSplitter.vue';
|
|
29
29
|
|
|
30
30
|
export default {
|
|
@@ -53,29 +53,7 @@ export default {
|
|
|
53
53
|
};
|
|
54
54
|
},
|
|
55
55
|
mounted() {
|
|
56
|
-
|
|
57
|
-
let initialized = false;
|
|
58
|
-
|
|
59
|
-
if (this.isStateful()) {
|
|
60
|
-
initialized = this.restoreState();
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
if (!initialized) {
|
|
64
|
-
let children = [...this.$el.children].filter((child) => child.getAttribute('data-pc-name') === 'splitterpanel');
|
|
65
|
-
let _panelSizes = [];
|
|
66
|
-
|
|
67
|
-
this.panels.map((panel, i) => {
|
|
68
|
-
let panelInitialSize = panel.props && panel.props.size ? panel.props.size : null;
|
|
69
|
-
let panelSize = panelInitialSize || 100 / this.panels.length;
|
|
70
|
-
|
|
71
|
-
_panelSizes[i] = panelSize;
|
|
72
|
-
children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';
|
|
73
|
-
});
|
|
74
|
-
|
|
75
|
-
this.panelSizes = _panelSizes;
|
|
76
|
-
this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);
|
|
77
|
-
}
|
|
78
|
-
}
|
|
56
|
+
this.initializePanels();
|
|
79
57
|
},
|
|
80
58
|
beforeUnmount() {
|
|
81
59
|
this.clear();
|
|
@@ -85,6 +63,31 @@ export default {
|
|
|
85
63
|
isSplitterPanel(child) {
|
|
86
64
|
return child.type.name === 'SplitterPanel';
|
|
87
65
|
},
|
|
66
|
+
initializePanels() {
|
|
67
|
+
if (this.panels && this.panels.length) {
|
|
68
|
+
let initialized = false;
|
|
69
|
+
|
|
70
|
+
if (this.isStateful()) {
|
|
71
|
+
initialized = this.restoreState();
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
if (!initialized) {
|
|
75
|
+
let children = [...this.$el.children].filter((child) => child.getAttribute('data-pc-name') === 'splitterpanel');
|
|
76
|
+
let _panelSizes = [];
|
|
77
|
+
|
|
78
|
+
this.panels.map((panel, i) => {
|
|
79
|
+
let panelInitialSize = panel.props && panel.props.size ? panel.props.size : null;
|
|
80
|
+
let panelSize = panelInitialSize || 100 / this.panels.length;
|
|
81
|
+
|
|
82
|
+
_panelSizes[i] = panelSize;
|
|
83
|
+
children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
this.panelSizes = _panelSizes;
|
|
87
|
+
this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
},
|
|
88
91
|
onResizeStart(event, index, isKeyDown) {
|
|
89
92
|
this.gutterElement = event.currentTarget || event.target.parentElement;
|
|
90
93
|
this.size = this.horizontal ? getWidth(this.$el) : getHeight(this.$el);
|
|
@@ -348,6 +351,9 @@ export default {
|
|
|
348
351
|
}
|
|
349
352
|
|
|
350
353
|
return false;
|
|
354
|
+
},
|
|
355
|
+
resetState() {
|
|
356
|
+
this.initializePanels();
|
|
351
357
|
}
|
|
352
358
|
},
|
|
353
359
|
computed: {
|
package/splitter/index.d.ts
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* @module splitter
|
|
8
8
|
*
|
|
9
9
|
*/
|
|
10
|
-
import type { DefineComponent, DesignToken, EmitFn,
|
|
10
|
+
import type { DefineComponent, DesignToken, EmitFn, PassThrough } from '@primevue/core';
|
|
11
11
|
import type { ComponentHooks } from '@primevue/core/basecomponent';
|
|
12
12
|
import type { PassThroughOptions } from 'primevue/passthrough';
|
|
13
13
|
import { VNode } from 'vue';
|
|
@@ -226,6 +226,13 @@ export interface SplitterEmitsOptions {
|
|
|
226
226
|
|
|
227
227
|
export declare type SplitterEmits = EmitFn<SplitterEmitsOptions>;
|
|
228
228
|
|
|
229
|
+
export interface SplitterMethods {
|
|
230
|
+
/**
|
|
231
|
+
* This method resizes all panels by either using the stored state in the case of a stateful Splitter, the size property of each SplitterPanel, or by resetting them to their default values.
|
|
232
|
+
*/
|
|
233
|
+
resetState(): void;
|
|
234
|
+
}
|
|
235
|
+
|
|
229
236
|
/**
|
|
230
237
|
* **PrimeVue - Splitter**
|
|
231
238
|
*
|
|
@@ -238,11 +245,11 @@ export declare type SplitterEmits = EmitFn<SplitterEmitsOptions>;
|
|
|
238
245
|
* @group Component
|
|
239
246
|
*
|
|
240
247
|
*/
|
|
241
|
-
declare const Splitter: DefineComponent<SplitterProps, SplitterSlots, SplitterEmits>;
|
|
248
|
+
declare const Splitter: DefineComponent<SplitterProps, SplitterSlots, SplitterEmits, SplitterMethods>;
|
|
242
249
|
|
|
243
250
|
declare module 'vue' {
|
|
244
251
|
export interface GlobalComponents {
|
|
245
|
-
Splitter:
|
|
252
|
+
Splitter: DefineComponent<SplitterProps, SplitterSlots, SplitterEmits>;
|
|
246
253
|
}
|
|
247
254
|
}
|
|
248
255
|
|
package/splitter/index.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { getVNodeProp } from '@primevue/core/utils';
|
|
2
1
|
import { getWidth, getHeight, getOuterWidth, getOuterHeight } from '@primeuix/utils/dom';
|
|
3
2
|
import { isArray } from '@primeuix/utils/object';
|
|
3
|
+
import { getVNodeProp } from '@primevue/core/utils';
|
|
4
4
|
import BaseComponent from '@primevue/core/basecomponent';
|
|
5
5
|
import SplitterStyle from 'primevue/splitter/style';
|
|
6
6
|
import { openBlock, createElementBlock, mergeProps, Fragment, renderList, createBlock, resolveDynamicComponent, createElementVNode, createCommentVNode } from 'vue';
|
|
@@ -71,27 +71,7 @@ var script = {
|
|
|
71
71
|
};
|
|
72
72
|
},
|
|
73
73
|
mounted: function mounted() {
|
|
74
|
-
|
|
75
|
-
if (this.panels && this.panels.length) {
|
|
76
|
-
var initialized = false;
|
|
77
|
-
if (this.isStateful()) {
|
|
78
|
-
initialized = this.restoreState();
|
|
79
|
-
}
|
|
80
|
-
if (!initialized) {
|
|
81
|
-
var children = _toConsumableArray(this.$el.children).filter(function (child) {
|
|
82
|
-
return child.getAttribute('data-pc-name') === 'splitterpanel';
|
|
83
|
-
});
|
|
84
|
-
var _panelSizes = [];
|
|
85
|
-
this.panels.map(function (panel, i) {
|
|
86
|
-
var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null;
|
|
87
|
-
var panelSize = panelInitialSize || 100 / _this.panels.length;
|
|
88
|
-
_panelSizes[i] = panelSize;
|
|
89
|
-
children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (_this.panels.length - 1) * _this.gutterSize + 'px)';
|
|
90
|
-
});
|
|
91
|
-
this.panelSizes = _panelSizes;
|
|
92
|
-
this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
74
|
+
this.initializePanels();
|
|
95
75
|
},
|
|
96
76
|
beforeUnmount: function beforeUnmount() {
|
|
97
77
|
this.clear();
|
|
@@ -101,6 +81,29 @@ var script = {
|
|
|
101
81
|
isSplitterPanel: function isSplitterPanel(child) {
|
|
102
82
|
return child.type.name === 'SplitterPanel';
|
|
103
83
|
},
|
|
84
|
+
initializePanels: function initializePanels() {
|
|
85
|
+
var _this = this;
|
|
86
|
+
if (this.panels && this.panels.length) {
|
|
87
|
+
var initialized = false;
|
|
88
|
+
if (this.isStateful()) {
|
|
89
|
+
initialized = this.restoreState();
|
|
90
|
+
}
|
|
91
|
+
if (!initialized) {
|
|
92
|
+
var children = _toConsumableArray(this.$el.children).filter(function (child) {
|
|
93
|
+
return child.getAttribute('data-pc-name') === 'splitterpanel';
|
|
94
|
+
});
|
|
95
|
+
var _panelSizes = [];
|
|
96
|
+
this.panels.map(function (panel, i) {
|
|
97
|
+
var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null;
|
|
98
|
+
var panelSize = panelInitialSize || 100 / _this.panels.length;
|
|
99
|
+
_panelSizes[i] = panelSize;
|
|
100
|
+
children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (_this.panels.length - 1) * _this.gutterSize + 'px)';
|
|
101
|
+
});
|
|
102
|
+
this.panelSizes = _panelSizes;
|
|
103
|
+
this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
},
|
|
104
107
|
onResizeStart: function onResizeStart(event, index, isKeyDown) {
|
|
105
108
|
this.gutterElement = event.currentTarget || event.target.parentElement;
|
|
106
109
|
this.size = this.horizontal ? getWidth(this.$el) : getHeight(this.$el);
|
|
@@ -351,6 +354,9 @@ var script = {
|
|
|
351
354
|
return true;
|
|
352
355
|
}
|
|
353
356
|
return false;
|
|
357
|
+
},
|
|
358
|
+
resetState: function resetState() {
|
|
359
|
+
this.initializePanels();
|
|
354
360
|
}
|
|
355
361
|
},
|
|
356
362
|
computed: {
|