primevue 4.0.0-rc.2 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordionheader/AccordionHeader.vue +5 -5
- package/accordionheader/index.mjs +5 -5
- package/accordionheader/index.mjs.map +1 -1
- package/animateonscroll/index.mjs +8 -8
- package/animateonscroll/index.mjs.map +1 -1
- package/autocomplete/AutoComplete.vue +34 -31
- package/autocomplete/BaseAutoComplete.vue +4 -0
- package/autocomplete/index.d.ts +5 -0
- package/autocomplete/index.mjs +38 -31
- package/autocomplete/index.mjs.map +1 -1
- package/autocomplete/style/index.mjs +5 -4
- package/autocomplete/style/index.mjs.map +1 -1
- package/badge/style/index.mjs +4 -4
- package/badge/style/index.mjs.map +1 -1
- package/badgedirective/index.mjs +12 -11
- package/badgedirective/index.mjs.map +1 -1
- package/blockui/BlockUI.vue +11 -10
- package/blockui/index.mjs +12 -10
- package/blockui/index.mjs.map +1 -1
- package/breadcrumb/style/index.mjs +1 -1
- package/breadcrumb/style/index.mjs.map +1 -1
- package/button/BaseButton.vue +12 -0
- package/button/Button.vue +18 -2
- package/button/index.d.ts +15 -0
- package/button/index.mjs +73 -40
- package/button/index.mjs.map +1 -1
- package/button/style/index.mjs +3 -3
- package/button/style/index.mjs.map +1 -1
- package/carousel/Carousel.vue +16 -14
- package/carousel/index.mjs +16 -14
- 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 +39 -36
- package/cascadeselect/CascadeSelectSub.vue +9 -8
- package/cascadeselect/index.d.ts +5 -0
- package/cascadeselect/index.mjs +50 -43
- package/cascadeselect/index.mjs.map +1 -1
- package/cascadeselect/style/index.mjs +3 -2
- package/cascadeselect/style/index.mjs.map +1 -1
- package/checkbox/Checkbox.vue +4 -4
- package/checkbox/index.d.ts +4 -0
- package/checkbox/index.mjs +4 -3
- package/checkbox/index.mjs.map +1 -1
- package/checkbox/style/index.mjs +1 -1
- package/checkbox/style/index.mjs.map +1 -1
- package/chip/style/index.mjs +1 -1
- package/chip/style/index.mjs.map +1 -1
- package/colorpicker/ColorPicker.vue +12 -10
- package/colorpicker/index.mjs +11 -9
- package/colorpicker/index.mjs.map +1 -1
- package/confirmationeventbus/index.mjs +1 -1
- package/confirmationeventbus/index.mjs.map +1 -1
- package/confirmpopup/ConfirmPopup.vue +14 -12
- package/confirmpopup/index.mjs +14 -12
- package/confirmpopup/index.mjs.map +1 -1
- package/contextmenu/ContextMenu.vue +30 -27
- package/contextmenu/ContextMenuSub.vue +5 -4
- package/contextmenu/index.mjs +33 -30
- package/contextmenu/index.mjs.map +1 -1
- package/datatable/BodyCell.vue +15 -13
- package/datatable/BodyRow.vue +17 -16
- package/datatable/ColumnFilter.vue +13 -11
- package/datatable/DataTable.vue +103 -82
- package/datatable/FooterCell.vue +7 -6
- package/datatable/HeaderCell.vue +9 -8
- package/datatable/TableBody.vue +6 -4
- package/datatable/TableFooter.vue +2 -2
- package/datatable/TableHeader.vue +2 -2
- package/datatable/index.mjs +141 -138
- package/datatable/index.mjs.map +1 -1
- package/dataview/DataView.vue +6 -6
- package/dataview/index.mjs +7 -7
- package/dataview/index.mjs.map +1 -1
- package/datepicker/BaseDatePicker.vue +4 -0
- package/datepicker/DatePicker.vue +68 -58
- package/datepicker/index.d.ts +5 -4
- package/datepicker/index.mjs +80 -66
- package/datepicker/index.mjs.map +1 -1
- package/datepicker/style/index.mjs +2 -1
- package/datepicker/style/index.mjs.map +1 -1
- package/dialog/Dialog.vue +16 -14
- package/dialog/index.mjs +17 -15
- package/dialog/index.mjs.map +1 -1
- package/dock/DockSub.vue +10 -8
- package/dock/index.mjs +10 -8
- package/dock/index.mjs.map +1 -1
- package/drawer/Drawer.vue +9 -8
- package/drawer/index.mjs +10 -9
- package/drawer/index.mjs.map +1 -1
- package/dynamicdialogeventbus/index.mjs +1 -1
- package/dynamicdialogeventbus/index.mjs.map +1 -1
- package/editor/Editor.vue +2 -2
- package/editor/index.mjs +2 -2
- package/editor/index.mjs.map +1 -1
- package/fileupload/FileUpload.vue +4 -4
- package/fileupload/index.mjs +5 -5
- package/fileupload/index.mjs.map +1 -1
- package/focustrap/index.mjs +13 -12
- package/focustrap/index.mjs.map +1 -1
- package/galleria/Galleria.vue +9 -8
- package/galleria/GalleriaItem.vue +9 -9
- package/galleria/GalleriaThumbnails.vue +16 -15
- package/galleria/index.mjs +33 -30
- package/galleria/index.mjs.map +1 -1
- package/image/Image.vue +11 -10
- package/image/index.mjs +11 -10
- package/image/index.mjs.map +1 -1
- package/inlinemessage/style/index.mjs +1 -1
- package/inlinemessage/style/index.mjs.map +1 -1
- package/inputchips/style/index.mjs +1 -1
- package/inputchips/style/index.mjs.map +1 -1
- package/inputgroup/BaseInputGroup.vue +6 -0
- package/inputgroup/index.d.ts +9 -0
- package/inputgroup/index.mjs +6 -0
- package/inputgroup/index.mjs.map +1 -1
- package/inputgroup/style/index.mjs +7 -2
- package/inputgroup/style/index.mjs.map +1 -1
- package/inputmask/BaseInputMask.vue +8 -0
- package/inputmask/InputMask.vue +9 -5
- package/inputmask/index.d.ts +9 -0
- package/inputmask/index.mjs +18 -6
- package/inputmask/index.mjs.map +1 -1
- package/inputmask/style/index.mjs +6 -1
- package/inputmask/style/index.mjs.map +1 -1
- package/inputnumber/BaseInputNumber.vue +4 -0
- package/inputnumber/InputNumber.vue +7 -6
- package/inputnumber/index.d.ts +5 -0
- package/inputnumber/index.mjs +11 -6
- package/inputnumber/index.mjs.map +1 -1
- package/inputnumber/style/index.mjs +3 -2
- package/inputnumber/style/index.mjs.map +1 -1
- package/inputtext/BaseInputText.vue +4 -0
- package/inputtext/index.d.ts +5 -0
- package/inputtext/index.mjs +4 -0
- package/inputtext/index.mjs.map +1 -1
- package/inputtext/style/index.mjs +3 -2
- package/inputtext/style/index.mjs.map +1 -1
- package/listbox/Listbox.vue +27 -25
- package/listbox/index.mjs +27 -25
- package/listbox/index.mjs.map +1 -1
- package/megamenu/MegaMenu.vue +35 -32
- package/megamenu/MegaMenuSub.vue +4 -4
- package/megamenu/index.mjs +38 -35
- package/megamenu/index.mjs.map +1 -1
- package/menu/Menu.vue +22 -20
- package/menu/Menuitem.vue +2 -2
- package/menu/index.mjs +24 -21
- package/menu/index.mjs.map +1 -1
- package/menubar/Menubar.vue +30 -27
- package/menubar/MenubarSub.vue +3 -3
- package/menubar/index.mjs +32 -29
- package/menubar/index.mjs.map +1 -1
- package/multiselect/BaseMultiSelect.vue +8 -1
- package/multiselect/MultiSelect.vue +46 -43
- package/multiselect/index.d.ts +9 -0
- package/multiselect/index.mjs +57 -46
- package/multiselect/index.mjs.map +1 -1
- package/multiselect/style/index.mjs +3 -2
- package/multiselect/style/index.mjs.map +1 -1
- package/orderlist/OrderList.vue +13 -11
- package/orderlist/index.mjs +13 -11
- package/orderlist/index.mjs.map +1 -1
- package/organizationchart/OrganizationChartNode.vue +2 -2
- package/organizationchart/index.mjs +2 -2
- package/organizationchart/index.mjs.map +1 -1
- package/overlaybadge/OverlayBadge.vue +5 -1
- package/overlaybadge/index.mjs +4 -1
- package/overlaybadge/index.mjs.map +1 -1
- package/overlayeventbus/index.mjs +1 -1
- package/overlayeventbus/index.mjs.map +1 -1
- package/package.json +3 -3
- package/paginator/Paginator.vue +80 -77
- package/paginator/index.d.ts +4 -0
- package/paginator/index.mjs +9 -5
- package/paginator/index.mjs.map +1 -1
- package/paginator/style/index.mjs +2 -1
- package/paginator/style/index.mjs.map +1 -1
- package/panelmenu/PanelMenu.vue +21 -19
- package/panelmenu/PanelMenuList.vue +24 -23
- package/panelmenu/PanelMenuSub.vue +3 -3
- package/panelmenu/index.mjs +47 -45
- package/panelmenu/index.mjs.map +1 -1
- package/password/BasePassword.vue +4 -0
- package/password/Password.vue +11 -9
- package/password/index.d.ts +6 -1
- package/password/index.mjs +15 -9
- package/password/index.mjs.map +1 -1
- package/password/style/index.mjs +5 -4
- package/password/style/index.mjs.map +1 -1
- package/picklist/PickList.vue +18 -16
- package/picklist/index.mjs +18 -16
- package/picklist/index.mjs.map +1 -1
- package/popover/Popover.vue +15 -13
- package/popover/index.mjs +15 -13
- package/popover/index.mjs.map +1 -1
- package/portal/Portal.vue +2 -2
- package/portal/index.mjs +2 -2
- package/portal/index.mjs.map +1 -1
- package/radiobutton/RadioButton.vue +2 -2
- package/radiobutton/index.mjs +2 -2
- package/radiobutton/index.mjs.map +1 -1
- package/radiobutton/style/index.mjs +1 -1
- package/radiobutton/style/index.mjs.map +1 -1
- package/rating/Rating.vue +4 -3
- package/rating/index.mjs +4 -3
- package/rating/index.mjs.map +1 -1
- package/ripple/index.mjs +12 -12
- package/ripple/index.mjs.map +1 -1
- package/scrollpanel/ScrollPanel.vue +14 -13
- package/scrollpanel/index.mjs +14 -13
- package/scrollpanel/index.mjs.map +1 -1
- package/scrolltop/ScrollTop.vue +6 -5
- package/scrolltop/index.mjs +6 -5
- package/scrolltop/index.mjs.map +1 -1
- package/select/BaseSelect.vue +4 -0
- package/select/Select.vue +41 -38
- package/select/index.d.ts +5 -0
- package/select/index.mjs +45 -38
- package/select/index.mjs.map +1 -1
- package/select/style/index.mjs +3 -2
- package/select/style/index.mjs.map +1 -1
- package/selectbutton/SelectButton.vue +8 -8
- package/selectbutton/index.mjs +9 -9
- package/selectbutton/index.mjs.map +1 -1
- package/slider/Slider.vue +4 -4
- package/slider/index.mjs +4 -4
- package/slider/index.mjs.map +1 -1
- package/speeddial/SpeedDial.vue +17 -16
- package/speeddial/index.mjs +17 -16
- package/speeddial/index.mjs.map +1 -1
- package/splitbutton/BaseSplitButton.vue +4 -0
- package/splitbutton/SplitButton.vue +1 -0
- package/splitbutton/index.d.ts +5 -0
- package/splitbutton/index.mjs +6 -1
- package/splitbutton/index.mjs.map +1 -1
- package/splitbutton/style/index.mjs +3 -2
- package/splitbutton/style/index.mjs.map +1 -1
- package/splitter/Splitter.vue +11 -9
- package/splitter/index.mjs +11 -9
- package/splitter/index.mjs.map +1 -1
- package/step/Step.vue +4 -3
- package/step/index.mjs +4 -3
- package/step/index.mjs.map +1 -1
- package/step/style/index.mjs +1 -1
- package/step/style/index.mjs.map +1 -1
- package/steppanel/StepPanel.vue +5 -4
- package/steppanel/index.mjs +5 -4
- package/steppanel/index.mjs.map +1 -1
- package/stepper/style/index.mjs +1 -1
- package/stepper/style/index.mjs.map +1 -1
- package/steps/Steps.vue +3 -3
- package/steps/index.mjs +3 -3
- package/steps/index.mjs.map +1 -1
- package/styleclass/index.mjs +16 -16
- package/styleclass/index.mjs.map +1 -1
- package/tab/Tab.vue +6 -5
- package/tab/index.mjs +6 -5
- package/tab/index.mjs.map +1 -1
- package/tablist/TabList.vue +10 -10
- package/tablist/index.mjs +10 -10
- package/tablist/index.mjs.map +1 -1
- package/tabmenu/TabMenu.vue +11 -11
- package/tabmenu/index.mjs +11 -11
- package/tabmenu/index.mjs.map +1 -1
- package/tabpanel/TabPanel.vue +2 -2
- package/tabpanel/index.mjs +2 -2
- package/tabpanel/index.mjs.map +1 -1
- package/tabview/TabView.vue +13 -12
- package/tabview/index.mjs +11 -10
- package/tabview/index.mjs.map +1 -1
- package/terminalservice/index.mjs +1 -1
- package/terminalservice/index.mjs.map +1 -1
- package/textarea/BaseTextarea.vue +4 -0
- package/textarea/index.d.ts +5 -0
- package/textarea/index.mjs +4 -0
- package/textarea/index.mjs.map +1 -1
- package/textarea/style/index.mjs +3 -2
- package/textarea/style/index.mjs.map +1 -1
- package/tieredmenu/TieredMenu.vue +35 -32
- package/tieredmenu/TieredMenuSub.vue +5 -4
- package/tieredmenu/index.mjs +38 -35
- package/tieredmenu/index.mjs.map +1 -1
- package/timeline/Timeline.vue +2 -2
- package/timeline/index.mjs +2 -2
- package/timeline/index.mjs.map +1 -1
- package/toast/Toast.vue +9 -6
- package/toast/index.mjs +9 -6
- package/toast/index.mjs.map +1 -1
- package/toasteventbus/index.mjs +1 -1
- package/toasteventbus/index.mjs.map +1 -1
- package/togglebutton/ToggleButton.vue +2 -2
- package/togglebutton/index.mjs +2 -2
- package/togglebutton/index.mjs.map +1 -1
- package/toggleswitch/style/index.mjs +1 -1
- package/toggleswitch/style/index.mjs.map +1 -1
- package/tooltip/index.mjs +33 -30
- package/tooltip/index.mjs.map +1 -1
- package/tooltip/style/index.mjs +1 -1
- package/tooltip/style/index.mjs.map +1 -1
- package/tree/Tree.vue +2 -2
- package/tree/TreeNode.vue +7 -7
- package/tree/index.mjs +11 -10
- package/tree/index.mjs.map +1 -1
- package/treeselect/BaseTreeSelect.vue +4 -0
- package/treeselect/TreeSelect.vue +22 -20
- package/treeselect/index.d.ts +5 -0
- package/treeselect/index.mjs +27 -21
- package/treeselect/index.mjs.map +1 -1
- package/treeselect/style/index.mjs +3 -2
- package/treeselect/style/index.mjs.map +1 -1
- package/treetable/BodyCell.vue +9 -7
- package/treetable/FooterCell.vue +7 -6
- package/treetable/HeaderCell.vue +9 -8
- package/treetable/TreeTable.vue +29 -27
- package/treetable/TreeTableRow.vue +20 -23
- package/treetable/index.mjs +62 -60
- package/treetable/index.mjs.map +1 -1
- package/treetable/style/index.mjs +1 -1
- package/treetable/style/index.mjs.map +1 -1
- package/umd/primevue.min.js +1 -1
- package/virtualscroller/VirtualScroller.vue +14 -14
- package/virtualscroller/index.mjs +14 -14
- package/virtualscroller/index.mjs.map +1 -1
- package/virtualscroller/style/index.mjs +5 -2
- package/virtualscroller/style/index.mjs.map +1 -1
- package/web-types.json +1 -1
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
</template>
|
|
23
23
|
|
|
24
24
|
<script>
|
|
25
|
-
import {
|
|
25
|
+
import { findSingle, getAttribute, focus } from '@primeuix/utils/dom';
|
|
26
26
|
import ChevronDownIcon from '@primevue/icons/chevrondown';
|
|
27
27
|
import ChevronUpIcon from '@primevue/icons/chevronup';
|
|
28
28
|
import Ripple from 'primevue/ripple';
|
|
@@ -101,17 +101,17 @@ export default {
|
|
|
101
101
|
return headerElement?.closest('[data-pc-name="accordionpanel"]');
|
|
102
102
|
},
|
|
103
103
|
findHeader(panelElement) {
|
|
104
|
-
return
|
|
104
|
+
return findSingle(panelElement, '[data-pc-name="accordionheader"]');
|
|
105
105
|
},
|
|
106
106
|
findNextPanel(panelElement, selfCheck = false) {
|
|
107
107
|
const element = selfCheck ? panelElement : panelElement.nextElementSibling;
|
|
108
108
|
|
|
109
|
-
return element ? (
|
|
109
|
+
return element ? (getAttribute(element, 'data-p-disabled') ? this.findNextPanel(element) : this.findHeader(element)) : null;
|
|
110
110
|
},
|
|
111
111
|
findPrevPanel(panelElement, selfCheck = false) {
|
|
112
112
|
const element = selfCheck ? panelElement : panelElement.previousElementSibling;
|
|
113
113
|
|
|
114
|
-
return element ? (
|
|
114
|
+
return element ? (getAttribute(element, 'data-p-disabled') ? this.findPrevPanel(element) : this.findHeader(element)) : null;
|
|
115
115
|
},
|
|
116
116
|
findFirstPanel() {
|
|
117
117
|
return this.findNextPanel(this.$pcAccordion.$el.firstElementChild, true);
|
|
@@ -123,7 +123,7 @@ export default {
|
|
|
123
123
|
this.$pcAccordion.updateValue(this.$pcAccordionPanel.value);
|
|
124
124
|
},
|
|
125
125
|
changeFocusedPanel(event, element) {
|
|
126
|
-
|
|
126
|
+
focus(this.findHeader(element));
|
|
127
127
|
}
|
|
128
128
|
},
|
|
129
129
|
computed: {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { findSingle, getAttribute, focus } from '@primeuix/utils/dom';
|
|
2
2
|
import ChevronDownIcon from '@primevue/icons/chevrondown';
|
|
3
3
|
import ChevronUpIcon from '@primevue/icons/chevronup';
|
|
4
4
|
import Ripple from 'primevue/ripple';
|
|
@@ -89,17 +89,17 @@ var script = {
|
|
|
89
89
|
return headerElement === null || headerElement === void 0 ? void 0 : headerElement.closest('[data-pc-name="accordionpanel"]');
|
|
90
90
|
},
|
|
91
91
|
findHeader: function findHeader(panelElement) {
|
|
92
|
-
return
|
|
92
|
+
return findSingle(panelElement, '[data-pc-name="accordionheader"]');
|
|
93
93
|
},
|
|
94
94
|
findNextPanel: function findNextPanel(panelElement) {
|
|
95
95
|
var selfCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
96
96
|
var element = selfCheck ? panelElement : panelElement.nextElementSibling;
|
|
97
|
-
return element ?
|
|
97
|
+
return element ? getAttribute(element, 'data-p-disabled') ? this.findNextPanel(element) : this.findHeader(element) : null;
|
|
98
98
|
},
|
|
99
99
|
findPrevPanel: function findPrevPanel(panelElement) {
|
|
100
100
|
var selfCheck = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
101
101
|
var element = selfCheck ? panelElement : panelElement.previousElementSibling;
|
|
102
|
-
return element ?
|
|
102
|
+
return element ? getAttribute(element, 'data-p-disabled') ? this.findPrevPanel(element) : this.findHeader(element) : null;
|
|
103
103
|
},
|
|
104
104
|
findFirstPanel: function findFirstPanel() {
|
|
105
105
|
return this.findNextPanel(this.$pcAccordion.$el.firstElementChild, true);
|
|
@@ -111,7 +111,7 @@ var script = {
|
|
|
111
111
|
this.$pcAccordion.updateValue(this.$pcAccordionPanel.value);
|
|
112
112
|
},
|
|
113
113
|
changeFocusedPanel: function changeFocusedPanel(event, element) {
|
|
114
|
-
|
|
114
|
+
focus(this.findHeader(element));
|
|
115
115
|
}
|
|
116
116
|
},
|
|
117
117
|
computed: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/accordionheader/BaseAccordionHeader.vue","../../src/accordionheader/AccordionHeader.vue","../../src/accordionheader/AccordionHeader.vue?vue&type=template&id=2a8034cb&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport AccordionHeaderStyle from 'primevue/accordionheader/style';\n\nexport default {\n name: 'BaseAccordionHeader',\n extends: BaseComponent,\n props: {\n as: {\n type: String,\n default: 'BUTTON'\n },\n asChild: {\n type: Boolean,\n default: false\n }\n },\n style: AccordionHeaderStyle,\n provide() {\n return {\n $pcAccordionHeader: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" @click=\"onClick\" v-bind=\"attrs\">\n <slot :active=\"$pcAccordionPanel.active\"></slot>\n <slot name=\"toggleicon\" :active=\"$pcAccordionPanel.active\" :class=\"cx('toggleicon')\">\n <component\n v-if=\"$pcAccordionPanel.active\"\n :is=\"$pcAccordion.$slots.collapseicon ? $pcAccordion.$slots.collapseicon : $pcAccordion.collapseIcon ? 'span' : 'ChevronDownIcon'\"\n :class=\"[$pcAccordion.collapseIcon, cx('toggleicon')]\"\n aria-hidden=\"true\"\n v-bind=\"ptm('toggleicon', ptParams)\"\n ></component>\n <component\n v-else\n :is=\"$pcAccordion.$slots.expandicon ? $pcAccordion.$slots.expandicon : $pcAccordion.expandIcon ? 'span' : 'ChevronUpIcon'\"\n :class=\"[$pcAccordion.expandIcon, cx('toggleicon')]\"\n aria-hidden=\"true\"\n v-bind=\"ptm('toggleicon', ptParams)\"\n ></component>\n </slot>\n </component>\n <slot v-else :class=\"cx('root')\" :active=\"$pcAccordionPanel.active\" :a11yAttrs=\"a11yAttrs\" :onClick=\"onClick\"></slot>\n</template>\n\n<script>\nimport { DomHandler } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseAccordionHeader from './BaseAccordionHeader.vue';\n\nexport default {\n name: 'AccordionHeader',\n extends: BaseAccordionHeader,\n inheritAttrs: false,\n inject: ['$pcAccordion', '$pcAccordionPanel'],\n methods: {\n onFocus() {\n this.$pcAccordion.selectOnFocus && this.changeActiveValue();\n },\n onClick() {\n this.changeActiveValue();\n },\n onKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const nextPanel = this.findNextPanel(this.findPanel(event.currentTarget));\n\n nextPanel ? this.changeFocusedPanel(event, nextPanel) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n const prevPanel = this.findPrevPanel(this.findPanel(event.currentTarget));\n\n prevPanel ? this.changeFocusedPanel(event, prevPanel) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey(event) {\n const firstPanel = this.findFirstPanel();\n\n this.changeFocusedPanel(event, firstPanel);\n event.preventDefault();\n },\n onEndKey(event) {\n const lastPanel = this.findLastPanel();\n\n this.changeFocusedPanel(event, lastPanel);\n event.preventDefault();\n },\n onEnterKey(event) {\n this.changeActiveValue();\n event.preventDefault();\n },\n findPanel(headerElement) {\n return headerElement?.closest('[data-pc-name=\"accordionpanel\"]');\n },\n findHeader(panelElement) {\n return DomHandler.findSingle(panelElement, '[data-pc-name=\"accordionheader\"]');\n },\n findNextPanel(panelElement, selfCheck = false) {\n const element = selfCheck ? panelElement : panelElement.nextElementSibling;\n\n return element ? (DomHandler.getAttribute(element, 'data-p-disabled') ? this.findNextPanel(element) : this.findHeader(element)) : null;\n },\n findPrevPanel(panelElement, selfCheck = false) {\n const element = selfCheck ? panelElement : panelElement.previousElementSibling;\n\n return element ? (DomHandler.getAttribute(element, 'data-p-disabled') ? this.findPrevPanel(element) : this.findHeader(element)) : null;\n },\n findFirstPanel() {\n return this.findNextPanel(this.$pcAccordion.$el.firstElementChild, true);\n },\n findLastPanel() {\n return this.findPrevPanel(this.$pcAccordion.$el.lastElementChild, true);\n },\n changeActiveValue() {\n this.$pcAccordion.updateValue(this.$pcAccordionPanel.value);\n },\n changeFocusedPanel(event, element) {\n DomHandler.focus(this.findHeader(element));\n }\n },\n computed: {\n id() {\n return `${this.$pcAccordion.id}_accordionheader_${this.$pcAccordionPanel.value}`;\n },\n ariaControls() {\n return `${this.$pcAccordion.id}_accordioncontent_${this.$pcAccordionPanel.value}`;\n },\n attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n asAttrs() {\n return this.as === 'BUTTON' ? { type: 'button', disabled: this.$pcAccordionPanel.disabled } : undefined;\n },\n a11yAttrs() {\n return {\n id: this.id,\n tabindex: this.$pcAccordion.tabindex,\n 'aria-expanded': this.$pcAccordionPanel.active,\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'accordionheader',\n 'data-p-disabled': this.$pcAccordionPanel.disabled,\n 'data-p-active': this.$pcAccordionPanel.active,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown\n };\n },\n ptParams() {\n return {\n context: {\n active: this.$pcAccordionPanel.active\n }\n };\n }\n },\n components: {\n ChevronUpIcon,\n ChevronDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" @click=\"onClick\" v-bind=\"attrs\">\n <slot :active=\"$pcAccordionPanel.active\"></slot>\n <slot name=\"toggleicon\" :active=\"$pcAccordionPanel.active\" :class=\"cx('toggleicon')\">\n <component\n v-if=\"$pcAccordionPanel.active\"\n :is=\"$pcAccordion.$slots.collapseicon ? $pcAccordion.$slots.collapseicon : $pcAccordion.collapseIcon ? 'span' : 'ChevronDownIcon'\"\n :class=\"[$pcAccordion.collapseIcon, cx('toggleicon')]\"\n aria-hidden=\"true\"\n v-bind=\"ptm('toggleicon', ptParams)\"\n ></component>\n <component\n v-else\n :is=\"$pcAccordion.$slots.expandicon ? $pcAccordion.$slots.expandicon : $pcAccordion.expandIcon ? 'span' : 'ChevronUpIcon'\"\n :class=\"[$pcAccordion.expandIcon, cx('toggleicon')]\"\n aria-hidden=\"true\"\n v-bind=\"ptm('toggleicon', ptParams)\"\n ></component>\n </slot>\n </component>\n <slot v-else :class=\"cx('root')\" :active=\"$pcAccordionPanel.active\" :a11yAttrs=\"a11yAttrs\" :onClick=\"onClick\"></slot>\n</template>\n\n<script>\nimport { DomHandler } from '@primevue/core/utils';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseAccordionHeader from './BaseAccordionHeader.vue';\n\nexport default {\n name: 'AccordionHeader',\n extends: BaseAccordionHeader,\n inheritAttrs: false,\n inject: ['$pcAccordion', '$pcAccordionPanel'],\n methods: {\n onFocus() {\n this.$pcAccordion.selectOnFocus && this.changeActiveValue();\n },\n onClick() {\n this.changeActiveValue();\n },\n onKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const nextPanel = this.findNextPanel(this.findPanel(event.currentTarget));\n\n nextPanel ? this.changeFocusedPanel(event, nextPanel) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n const prevPanel = this.findPrevPanel(this.findPanel(event.currentTarget));\n\n prevPanel ? this.changeFocusedPanel(event, prevPanel) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey(event) {\n const firstPanel = this.findFirstPanel();\n\n this.changeFocusedPanel(event, firstPanel);\n event.preventDefault();\n },\n onEndKey(event) {\n const lastPanel = this.findLastPanel();\n\n this.changeFocusedPanel(event, lastPanel);\n event.preventDefault();\n },\n onEnterKey(event) {\n this.changeActiveValue();\n event.preventDefault();\n },\n findPanel(headerElement) {\n return headerElement?.closest('[data-pc-name=\"accordionpanel\"]');\n },\n findHeader(panelElement) {\n return DomHandler.findSingle(panelElement, '[data-pc-name=\"accordionheader\"]');\n },\n findNextPanel(panelElement, selfCheck = false) {\n const element = selfCheck ? panelElement : panelElement.nextElementSibling;\n\n return element ? (DomHandler.getAttribute(element, 'data-p-disabled') ? this.findNextPanel(element) : this.findHeader(element)) : null;\n },\n findPrevPanel(panelElement, selfCheck = false) {\n const element = selfCheck ? panelElement : panelElement.previousElementSibling;\n\n return element ? (DomHandler.getAttribute(element, 'data-p-disabled') ? this.findPrevPanel(element) : this.findHeader(element)) : null;\n },\n findFirstPanel() {\n return this.findNextPanel(this.$pcAccordion.$el.firstElementChild, true);\n },\n findLastPanel() {\n return this.findPrevPanel(this.$pcAccordion.$el.lastElementChild, true);\n },\n changeActiveValue() {\n this.$pcAccordion.updateValue(this.$pcAccordionPanel.value);\n },\n changeFocusedPanel(event, element) {\n DomHandler.focus(this.findHeader(element));\n }\n },\n computed: {\n id() {\n return `${this.$pcAccordion.id}_accordionheader_${this.$pcAccordionPanel.value}`;\n },\n ariaControls() {\n return `${this.$pcAccordion.id}_accordioncontent_${this.$pcAccordionPanel.value}`;\n },\n attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n asAttrs() {\n return this.as === 'BUTTON' ? { type: 'button', disabled: this.$pcAccordionPanel.disabled } : undefined;\n },\n a11yAttrs() {\n return {\n id: this.id,\n tabindex: this.$pcAccordion.tabindex,\n 'aria-expanded': this.$pcAccordionPanel.active,\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'accordionheader',\n 'data-p-disabled': this.$pcAccordionPanel.disabled,\n 'data-p-active': this.$pcAccordionPanel.active,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown\n };\n },\n ptParams() {\n return {\n context: {\n active: this.$pcAccordionPanel.active\n }\n };\n }\n },\n components: {\n ChevronUpIcon,\n ChevronDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","as","type","String","asChild","Boolean","style","AccordionHeaderStyle","provide","$pcAccordionHeader","$parentInstance","BaseAccordionHeader","inheritAttrs","inject","methods","onFocus","$pcAccordion","selectOnFocus","changeActiveValue","onClick","onKeydown","event","code","onArrowDownKey","onArrowUpKey","onHomeKey","onEndKey","onEnterKey","nextPanel","findNextPanel","findPanel","currentTarget","changeFocusedPanel","preventDefault","prevPanel","findPrevPanel","firstPanel","findFirstPanel","lastPanel","findLastPanel","headerElement","closest","findHeader","panelElement","DomHandler","findSingle","selfCheck","element","nextElementSibling","getAttribute","previousElementSibling","$el","firstElementChild","lastElementChild","updateValue","$pcAccordionPanel","value","focus","computed","id","concat","ariaControls","attrs","mergeProps","asAttrs","a11yAttrs","ptmi","ptParams","disabled","undefined","tabindex","active","context","components","ChevronUpIcon","ChevronDownIcon","directives","ripple","Ripple","_ctx","_createBlock","_resolveDynamicComponent","_mergeProps","cx","$options","_renderSlot","$slots","_openBlock","collapseicon","collapseIcon","ptm","expandicon","expandIcon"],"mappings":";;;;;;;;AAIA,eAAe;AACXA,EAAAA,IAAI,EAAE,qBAAqB;AAC3B,EAAA,SAAA,EAASC,aAAa;AACtBC,EAAAA,KAAK,EAAE;AACHC,IAAAA,EAAE,EAAE;AACAC,MAAAA,IAAI,EAAEC,MAAM;MACZ,SAAS,EAAA,QAAA;KACZ;AACDC,IAAAA,OAAO,EAAE;AACLF,MAAAA,IAAI,EAAEG,OAAO;MACb,SAAS,EAAA,KAAA;AACb,KAAA;GACH;AACDC,EAAAA,KAAK,EAAEC,oBAAoB;EAC3BC,OAAO,EAAA,SAAAA,UAAG;IACN,OAAO;AACHC,MAAAA,kBAAkB,EAAE,IAAI;AACxBC,MAAAA,eAAe,EAAE,IAAA;KACpB,CAAA;AACL,GAAA;AACJ,CAAC;;ACOD,aAAe;AACXZ,EAAAA,IAAI,EAAE,iBAAiB;AACvB,EAAA,SAAA,EAASa,QAAmB;AAC5BC,EAAAA,YAAY,EAAE,KAAK;AACnBC,EAAAA,MAAM,EAAE,CAAC,cAAc,EAAE,mBAAmB,CAAC;AAC7CC,EAAAA,OAAO,EAAE;IACLC,OAAO,EAAA,SAAAA,UAAG;MACN,IAAI,CAACC,YAAY,CAACC,aAAY,IAAK,IAAI,CAACC,iBAAiB,EAAE,CAAA;KAC9D;IACDC,OAAO,EAAA,SAAAA,UAAG;MACN,IAAI,CAACD,iBAAiB,EAAE,CAAA;KAC3B;IACDE,SAAS,EAAA,SAAAA,SAACC,CAAAA,KAAK,EAAE;MACb,QAAQA,KAAK,CAACC,IAAI;AACd,QAAA,KAAK,WAAW;AACZ,UAAA,IAAI,CAACC,cAAc,CAACF,KAAK,CAAC,CAAA;AAC1B,UAAA,MAAA;AAEJ,QAAA,KAAK,SAAS;AACV,UAAA,IAAI,CAACG,YAAY,CAACH,KAAK,CAAC,CAAA;AACxB,UAAA,MAAA;AAEJ,QAAA,KAAK,MAAM;AACP,UAAA,IAAI,CAACI,SAAS,CAACJ,KAAK,CAAC,CAAA;AACrB,UAAA,MAAA;AAEJ,QAAA,KAAK,KAAK;AACN,UAAA,IAAI,CAACK,QAAQ,CAACL,KAAK,CAAC,CAAA;AACpB,UAAA,MAAA;AAEJ,QAAA,KAAK,OAAO,CAAA;AACZ,QAAA,KAAK,aAAa,CAAA;AAClB,QAAA,KAAK,OAAO;AACR,UAAA,IAAI,CAACM,UAAU,CAACN,KAAK,CAAC,CAAA;AACtB,UAAA,MAAA;AAIR,OAAA;KACH;IACDE,cAAc,EAAA,SAAAA,cAACF,CAAAA,KAAK,EAAE;AAClB,MAAA,IAAMO,SAAQ,GAAI,IAAI,CAACC,aAAa,CAAC,IAAI,CAACC,SAAS,CAACT,KAAK,CAACU,aAAa,CAAC,CAAC,CAAA;AAEzEH,MAAAA,SAAU,GAAE,IAAI,CAACI,kBAAkB,CAACX,KAAK,EAAEO,SAAS,CAAE,GAAE,IAAI,CAACH,SAAS,CAACJ,KAAK,CAAC,CAAA;MAC7EA,KAAK,CAACY,cAAc,EAAE,CAAA;KACzB;IACDT,YAAY,EAAA,SAAAA,YAACH,CAAAA,KAAK,EAAE;AAChB,MAAA,IAAMa,SAAQ,GAAI,IAAI,CAACC,aAAa,CAAC,IAAI,CAACL,SAAS,CAACT,KAAK,CAACU,aAAa,CAAC,CAAC,CAAA;AAEzEG,MAAAA,SAAU,GAAE,IAAI,CAACF,kBAAkB,CAACX,KAAK,EAAEa,SAAS,CAAA,GAAI,IAAI,CAACR,QAAQ,CAACL,KAAK,CAAC,CAAA;MAC5EA,KAAK,CAACY,cAAc,EAAE,CAAA;KACzB;IACDR,SAAS,EAAA,SAAAA,SAACJ,CAAAA,KAAK,EAAE;AACb,MAAA,IAAMe,UAAS,GAAI,IAAI,CAACC,cAAc,EAAE,CAAA;AAExC,MAAA,IAAI,CAACL,kBAAkB,CAACX,KAAK,EAAEe,UAAU,CAAC,CAAA;MAC1Cf,KAAK,CAACY,cAAc,EAAE,CAAA;KACzB;IACDP,QAAQ,EAAA,SAAAA,QAACL,CAAAA,KAAK,EAAE;AACZ,MAAA,IAAMiB,SAAQ,GAAI,IAAI,CAACC,aAAa,EAAE,CAAA;AAEtC,MAAA,IAAI,CAACP,kBAAkB,CAACX,KAAK,EAAEiB,SAAS,CAAC,CAAA;MACzCjB,KAAK,CAACY,cAAc,EAAE,CAAA;KACzB;IACDN,UAAU,EAAA,SAAAA,UAACN,CAAAA,KAAK,EAAE;MACd,IAAI,CAACH,iBAAiB,EAAE,CAAA;MACxBG,KAAK,CAACY,cAAc,EAAE,CAAA;KACzB;IACDH,SAAS,EAAA,SAAAA,SAACU,CAAAA,aAAa,EAAE;MACrB,OAAOA,aAAa,aAAbA,aAAa,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAbA,aAAa,CAAEC,OAAO,CAAC,iCAAiC,CAAC,CAAA;KACnE;IACDC,UAAU,EAAA,SAAAA,UAACC,CAAAA,YAAY,EAAE;AACrB,MAAA,OAAOC,UAAU,CAACC,UAAU,CAACF,YAAY,EAAE,kCAAkC,CAAC,CAAA;KACjF;IACDd,aAAa,EAAA,SAAAA,aAACc,CAAAA,YAAY,EAAqB;AAAA,MAAA,IAAnBG,gFAAY,KAAK,CAAA;MACzC,IAAMC,OAAQ,GAAED,SAAQ,GAAIH,YAAW,GAAIA,YAAY,CAACK,kBAAkB,CAAA;MAE1E,OAAOD,OAAQ,GAAGH,UAAU,CAACK,YAAY,CAACF,OAAO,EAAE,iBAAiB,CAAA,GAAI,IAAI,CAAClB,aAAa,CAACkB,OAAO,CAAA,GAAI,IAAI,CAACL,UAAU,CAACK,OAAO,CAAC,GAAI,IAAI,CAAA;KACzI;IACDZ,aAAa,EAAA,SAAAA,aAACQ,CAAAA,YAAY,EAAqB;AAAA,MAAA,IAAnBG,gFAAY,KAAK,CAAA;MACzC,IAAMC,OAAM,GAAID,SAAU,GAAEH,YAAW,GAAIA,YAAY,CAACO,sBAAsB,CAAA;MAE9E,OAAOH,OAAQ,GAAGH,UAAU,CAACK,YAAY,CAACF,OAAO,EAAE,iBAAiB,CAAA,GAAI,IAAI,CAACZ,aAAa,CAACY,OAAO,CAAA,GAAI,IAAI,CAACL,UAAU,CAACK,OAAO,CAAC,GAAI,IAAI,CAAA;KACzI;IACDV,cAAc,EAAA,SAAAA,iBAAG;AACb,MAAA,OAAO,IAAI,CAACR,aAAa,CAAC,IAAI,CAACb,YAAY,CAACmC,GAAG,CAACC,iBAAiB,EAAE,IAAI,CAAC,CAAA;KAC3E;IACDb,aAAa,EAAA,SAAAA,gBAAG;AACZ,MAAA,OAAO,IAAI,CAACJ,aAAa,CAAC,IAAI,CAACnB,YAAY,CAACmC,GAAG,CAACE,gBAAgB,EAAE,IAAI,CAAC,CAAA;KAC1E;IACDnC,iBAAiB,EAAA,SAAAA,oBAAG;MAChB,IAAI,CAACF,YAAY,CAACsC,WAAW,CAAC,IAAI,CAACC,iBAAiB,CAACC,KAAK,CAAC,CAAA;KAC9D;AACDxB,IAAAA,kBAAkB,EAAAA,SAAAA,kBAAAA,CAACX,KAAK,EAAE0B,OAAO,EAAE;MAC/BH,UAAU,CAACa,KAAK,CAAC,IAAI,CAACf,UAAU,CAACK,OAAO,CAAC,CAAC,CAAA;AAC9C,KAAA;GACH;AACDW,EAAAA,QAAQ,EAAE;IACNC,EAAE,EAAA,SAAAA,KAAG;AACD,MAAA,OAAA,EAAA,CAAAC,MAAA,CAAU,IAAI,CAAC5C,YAAY,CAAC2C,EAAE,EAAAC,mBAAAA,CAAAA,CAAAA,MAAA,CAAoB,IAAI,CAACL,iBAAiB,CAACC,KAAK,CAAA,CAAA;KACjF;IACDK,YAAY,EAAA,SAAAA,eAAG;AACX,MAAA,OAAA,EAAA,CAAAD,MAAA,CAAU,IAAI,CAAC5C,YAAY,CAAC2C,EAAE,EAAAC,oBAAAA,CAAAA,CAAAA,MAAA,CAAqB,IAAI,CAACL,iBAAiB,CAACC,KAAK,CAAA,CAAA;KAClF;IACDM,KAAK,EAAA,SAAAA,QAAG;MACJ,OAAOC,UAAU,CAAC,IAAI,CAACC,OAAO,EAAE,IAAI,CAACC,SAAS,EAAE,IAAI,CAACC,IAAI,CAAC,MAAM,EAAE,IAAI,CAACC,QAAQ,CAAC,CAAC,CAAA;KACpF;IACDH,OAAO,EAAA,SAAAA,UAAG;AACN,MAAA,OAAO,IAAI,CAAC/D,EAAC,KAAM,QAAO,GAAI;AAAEC,QAAAA,IAAI,EAAE,QAAQ;AAAEkE,QAAAA,QAAQ,EAAE,IAAI,CAACb,iBAAiB,CAACa,QAAAA;AAAS,UAAIC,SAAS,CAAA;KAC1G;IACDJ,SAAS,EAAA,SAAAA,YAAG;MACR,OAAO;QACHN,EAAE,EAAE,IAAI,CAACA,EAAE;AACXW,QAAAA,QAAQ,EAAE,IAAI,CAACtD,YAAY,CAACsD,QAAQ;AACpC,QAAA,eAAe,EAAE,IAAI,CAACf,iBAAiB,CAACgB,MAAM;QAC9C,eAAe,EAAE,IAAI,CAACV,YAAY;AAClC,QAAA,cAAc,EAAE,iBAAiB;AACjC,QAAA,iBAAiB,EAAE,IAAI,CAACN,iBAAiB,CAACa,QAAQ;AAClD,QAAA,eAAe,EAAE,IAAI,CAACb,iBAAiB,CAACgB,MAAM;QAC9CxD,OAAO,EAAE,IAAI,CAACA,OAAO;QACrBK,SAAS,EAAE,IAAI,CAACA,SAAAA;OACnB,CAAA;KACJ;IACD+C,QAAQ,EAAA,SAAAA,WAAG;MACP,OAAO;AACHK,QAAAA,OAAO,EAAE;AACLD,UAAAA,MAAM,EAAE,IAAI,CAAChB,iBAAiB,CAACgB,MAAAA;AACnC,SAAA;OACH,CAAA;AACL,KAAA;GACH;AACDE,EAAAA,UAAU,EAAE;AACRC,IAAAA,aAAa,EAAbA,aAAa;AACbC,IAAAA,eAAc,EAAdA,eAAAA;GACH;AACDC,EAAAA,UAAU,EAAE;AACRC,IAAAA,MAAM,EAAEC,MAAAA;AACZ,GAAA;AACJ,CAAC;;;;UCxKqBC,IAAO,CAAA3E,OAAA,gCAAzB4E,WAkBW,CAAAC,uBAAA,CAlBqBF,IAAE,CAAA9E,EAAA,CAAA,EAAlCiF,UAkBW,CAAA;;AAlBmC,IAAA,OAAA,EAAOH,IAAE,CAAAI,EAAA,CAAA,MAAA,CAAA;IAAWhE,OAAK,EAAEiE,QAAO,CAAAjE,OAAAA;KAAUiE,QAAK,CAAAtB,KAAA,CAAA,EAAA;uBAC3F,YAAA;MAAA,OAA+C,CAA/CuB,UAA+C,CAAAN,IAAA,CAAAO,MAAA,EAAA,SAAA,EAAA;AAAxCf,QAAAA,MAAM,EAAEa,QAAiB,CAAA7B,iBAAA,CAACgB,MAAAA;UACjCc,UAeM,CAAAN,IAAA,CAAAO,MAAA,EAAA,YAAA,EAAA;AAfmBf,QAAAA,MAAM,EAAEa,QAAiB,CAAA7B,iBAAA,CAACgB,MAAM;AAAG,QAAA,OAAA,iBAAOQ,IAAE,CAAAI,EAAA,CAAA,YAAA,CAAA,CAAA;SAArE,YAAA;AAAA,QAAA,OAeM,CAbQC,QAAA,CAAA7B,iBAAiB,CAACgB,MAAM,IADlCgB,SAAA,EAAA,EAAAP,WAAA,CAMYC,wBAJHG,QAAY,CAAApE,YAAA,CAACsE,MAAM,CAACE,YAAa,GAAEJ,QAAA,CAAApE,YAAY,CAACsE,MAAM,CAACE,YAAa,GAAEJ,qBAAY,CAACK,YAAW,gCAFvGP,UAMY,CAAA;;AAHP,UAAA,OAAA,EAAQ,CAAAE,QAAA,CAAApE,YAAY,CAACyE,YAAY,EAAEV,IAAE,CAAAI,EAAA,CAAA,YAAA,CAAA,CAAA;AACtC,UAAA,aAAW,EAAC,MAAA;SACJ,EAAAJ,IAAA,CAAAW,GAAG,eAAeN,QAAQ,CAAAjB,QAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,CAAA,CAAA,KAEtCoB,SAAA,EAAA,EAAAP,WAAA,CAMYC,wBAJHG,QAAY,CAAApE,YAAA,CAACsE,MAAM,CAACK,aAAaP,QAAA,CAAApE,YAAY,CAACsE,MAAM,CAACK,UAAS,GAAIP,qBAAY,CAACQ,UAAS,8BAFjGV,UAMY,CAAA;;AAHP,UAAA,OAAA,EAAQ,CAAAE,QAAA,CAAApE,YAAY,CAAC4E,UAAU,EAAEb,IAAE,CAAAI,EAAA,CAAA,YAAA,CAAA,CAAA;AACpC,UAAA,aAAW,EAAC,MAAA;SACJ,EAAAJ,IAAA,CAAAW,GAAG,eAAeN,QAAQ,CAAAjB,QAAA,CAAA,CAAA,EAAA,IAAA,EAAA,EAAA,EAAA,CAAA,OAAA,CAAA,CAAA,CAAA;;;;0DAI9CkB,UAAoH,CAAAN,IAAA,CAAAO,MAAA,EAAA,SAAA,EAAA;;IAAtG,wBAAOP,IAAE,CAAAI,EAAA,CAAA,MAAA,CAAA,CAAA;AAAWZ,IAAAA,MAAM,EAAEa,QAAiB,CAAA7B,iBAAA,CAACgB,MAAM;IAAGN,SAAS,EAAEmB,QAAS,CAAAnB,SAAA;IAAG9C,OAAO,EAAEiE,QAAO,CAAAjE,OAAAA;;;;;;;;"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/accordionheader/BaseAccordionHeader.vue","../../src/accordionheader/AccordionHeader.vue","../../src/accordionheader/AccordionHeader.vue?vue&type=template&id=7231e259&lang.js"],"sourcesContent":["<script>\nimport BaseComponent from '@primevue/core/basecomponent';\nimport AccordionHeaderStyle from 'primevue/accordionheader/style';\n\nexport default {\n name: 'BaseAccordionHeader',\n extends: BaseComponent,\n props: {\n as: {\n type: String,\n default: 'BUTTON'\n },\n asChild: {\n type: Boolean,\n default: false\n }\n },\n style: AccordionHeaderStyle,\n provide() {\n return {\n $pcAccordionHeader: this,\n $parentInstance: this\n };\n }\n};\n</script>\n","<template>\n <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" @click=\"onClick\" v-bind=\"attrs\">\n <slot :active=\"$pcAccordionPanel.active\"></slot>\n <slot name=\"toggleicon\" :active=\"$pcAccordionPanel.active\" :class=\"cx('toggleicon')\">\n <component\n v-if=\"$pcAccordionPanel.active\"\n :is=\"$pcAccordion.$slots.collapseicon ? $pcAccordion.$slots.collapseicon : $pcAccordion.collapseIcon ? 'span' : 'ChevronDownIcon'\"\n :class=\"[$pcAccordion.collapseIcon, cx('toggleicon')]\"\n aria-hidden=\"true\"\n v-bind=\"ptm('toggleicon', ptParams)\"\n ></component>\n <component\n v-else\n :is=\"$pcAccordion.$slots.expandicon ? $pcAccordion.$slots.expandicon : $pcAccordion.expandIcon ? 'span' : 'ChevronUpIcon'\"\n :class=\"[$pcAccordion.expandIcon, cx('toggleicon')]\"\n aria-hidden=\"true\"\n v-bind=\"ptm('toggleicon', ptParams)\"\n ></component>\n </slot>\n </component>\n <slot v-else :class=\"cx('root')\" :active=\"$pcAccordionPanel.active\" :a11yAttrs=\"a11yAttrs\" :onClick=\"onClick\"></slot>\n</template>\n\n<script>\nimport { findSingle, getAttribute, focus } from '@primeuix/utils/dom';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseAccordionHeader from './BaseAccordionHeader.vue';\n\nexport default {\n name: 'AccordionHeader',\n extends: BaseAccordionHeader,\n inheritAttrs: false,\n inject: ['$pcAccordion', '$pcAccordionPanel'],\n methods: {\n onFocus() {\n this.$pcAccordion.selectOnFocus && this.changeActiveValue();\n },\n onClick() {\n this.changeActiveValue();\n },\n onKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const nextPanel = this.findNextPanel(this.findPanel(event.currentTarget));\n\n nextPanel ? this.changeFocusedPanel(event, nextPanel) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n const prevPanel = this.findPrevPanel(this.findPanel(event.currentTarget));\n\n prevPanel ? this.changeFocusedPanel(event, prevPanel) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey(event) {\n const firstPanel = this.findFirstPanel();\n\n this.changeFocusedPanel(event, firstPanel);\n event.preventDefault();\n },\n onEndKey(event) {\n const lastPanel = this.findLastPanel();\n\n this.changeFocusedPanel(event, lastPanel);\n event.preventDefault();\n },\n onEnterKey(event) {\n this.changeActiveValue();\n event.preventDefault();\n },\n findPanel(headerElement) {\n return headerElement?.closest('[data-pc-name=\"accordionpanel\"]');\n },\n findHeader(panelElement) {\n return findSingle(panelElement, '[data-pc-name=\"accordionheader\"]');\n },\n findNextPanel(panelElement, selfCheck = false) {\n const element = selfCheck ? panelElement : panelElement.nextElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') ? this.findNextPanel(element) : this.findHeader(element)) : null;\n },\n findPrevPanel(panelElement, selfCheck = false) {\n const element = selfCheck ? panelElement : panelElement.previousElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') ? this.findPrevPanel(element) : this.findHeader(element)) : null;\n },\n findFirstPanel() {\n return this.findNextPanel(this.$pcAccordion.$el.firstElementChild, true);\n },\n findLastPanel() {\n return this.findPrevPanel(this.$pcAccordion.$el.lastElementChild, true);\n },\n changeActiveValue() {\n this.$pcAccordion.updateValue(this.$pcAccordionPanel.value);\n },\n changeFocusedPanel(event, element) {\n focus(this.findHeader(element));\n }\n },\n computed: {\n id() {\n return `${this.$pcAccordion.id}_accordionheader_${this.$pcAccordionPanel.value}`;\n },\n ariaControls() {\n return `${this.$pcAccordion.id}_accordioncontent_${this.$pcAccordionPanel.value}`;\n },\n attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n asAttrs() {\n return this.as === 'BUTTON' ? { type: 'button', disabled: this.$pcAccordionPanel.disabled } : undefined;\n },\n a11yAttrs() {\n return {\n id: this.id,\n tabindex: this.$pcAccordion.tabindex,\n 'aria-expanded': this.$pcAccordionPanel.active,\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'accordionheader',\n 'data-p-disabled': this.$pcAccordionPanel.disabled,\n 'data-p-active': this.$pcAccordionPanel.active,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown\n };\n },\n ptParams() {\n return {\n context: {\n active: this.$pcAccordionPanel.active\n }\n };\n }\n },\n components: {\n ChevronUpIcon,\n ChevronDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n","<template>\n <component v-if=\"!asChild\" :is=\"as\" v-ripple :class=\"cx('root')\" @click=\"onClick\" v-bind=\"attrs\">\n <slot :active=\"$pcAccordionPanel.active\"></slot>\n <slot name=\"toggleicon\" :active=\"$pcAccordionPanel.active\" :class=\"cx('toggleicon')\">\n <component\n v-if=\"$pcAccordionPanel.active\"\n :is=\"$pcAccordion.$slots.collapseicon ? $pcAccordion.$slots.collapseicon : $pcAccordion.collapseIcon ? 'span' : 'ChevronDownIcon'\"\n :class=\"[$pcAccordion.collapseIcon, cx('toggleicon')]\"\n aria-hidden=\"true\"\n v-bind=\"ptm('toggleicon', ptParams)\"\n ></component>\n <component\n v-else\n :is=\"$pcAccordion.$slots.expandicon ? $pcAccordion.$slots.expandicon : $pcAccordion.expandIcon ? 'span' : 'ChevronUpIcon'\"\n :class=\"[$pcAccordion.expandIcon, cx('toggleicon')]\"\n aria-hidden=\"true\"\n v-bind=\"ptm('toggleicon', ptParams)\"\n ></component>\n </slot>\n </component>\n <slot v-else :class=\"cx('root')\" :active=\"$pcAccordionPanel.active\" :a11yAttrs=\"a11yAttrs\" :onClick=\"onClick\"></slot>\n</template>\n\n<script>\nimport { findSingle, getAttribute, focus } from '@primeuix/utils/dom';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport ChevronUpIcon from '@primevue/icons/chevronup';\nimport Ripple from 'primevue/ripple';\nimport { mergeProps } from 'vue';\nimport BaseAccordionHeader from './BaseAccordionHeader.vue';\n\nexport default {\n name: 'AccordionHeader',\n extends: BaseAccordionHeader,\n inheritAttrs: false,\n inject: ['$pcAccordion', '$pcAccordionPanel'],\n methods: {\n onFocus() {\n this.$pcAccordion.selectOnFocus && this.changeActiveValue();\n },\n onClick() {\n this.changeActiveValue();\n },\n onKeydown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n\n case 'Home':\n this.onHomeKey(event);\n break;\n\n case 'End':\n this.onEndKey(event);\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n case 'Space':\n this.onEnterKey(event);\n break;\n\n default:\n break;\n }\n },\n onArrowDownKey(event) {\n const nextPanel = this.findNextPanel(this.findPanel(event.currentTarget));\n\n nextPanel ? this.changeFocusedPanel(event, nextPanel) : this.onHomeKey(event);\n event.preventDefault();\n },\n onArrowUpKey(event) {\n const prevPanel = this.findPrevPanel(this.findPanel(event.currentTarget));\n\n prevPanel ? this.changeFocusedPanel(event, prevPanel) : this.onEndKey(event);\n event.preventDefault();\n },\n onHomeKey(event) {\n const firstPanel = this.findFirstPanel();\n\n this.changeFocusedPanel(event, firstPanel);\n event.preventDefault();\n },\n onEndKey(event) {\n const lastPanel = this.findLastPanel();\n\n this.changeFocusedPanel(event, lastPanel);\n event.preventDefault();\n },\n onEnterKey(event) {\n this.changeActiveValue();\n event.preventDefault();\n },\n findPanel(headerElement) {\n return headerElement?.closest('[data-pc-name=\"accordionpanel\"]');\n },\n findHeader(panelElement) {\n return findSingle(panelElement, '[data-pc-name=\"accordionheader\"]');\n },\n findNextPanel(panelElement, selfCheck = false) {\n const element = selfCheck ? panelElement : panelElement.nextElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') ? this.findNextPanel(element) : this.findHeader(element)) : null;\n },\n findPrevPanel(panelElement, selfCheck = false) {\n const element = selfCheck ? panelElement : panelElement.previousElementSibling;\n\n return element ? (getAttribute(element, 'data-p-disabled') ? this.findPrevPanel(element) : this.findHeader(element)) : null;\n },\n findFirstPanel() {\n return this.findNextPanel(this.$pcAccordion.$el.firstElementChild, true);\n },\n findLastPanel() {\n return this.findPrevPanel(this.$pcAccordion.$el.lastElementChild, true);\n },\n changeActiveValue() {\n this.$pcAccordion.updateValue(this.$pcAccordionPanel.value);\n },\n changeFocusedPanel(event, element) {\n focus(this.findHeader(element));\n }\n },\n computed: {\n id() {\n return `${this.$pcAccordion.id}_accordionheader_${this.$pcAccordionPanel.value}`;\n },\n ariaControls() {\n return `${this.$pcAccordion.id}_accordioncontent_${this.$pcAccordionPanel.value}`;\n },\n attrs() {\n return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n asAttrs() {\n return this.as === 'BUTTON' ? { type: 'button', disabled: this.$pcAccordionPanel.disabled } : undefined;\n },\n a11yAttrs() {\n return {\n id: this.id,\n tabindex: this.$pcAccordion.tabindex,\n 'aria-expanded': this.$pcAccordionPanel.active,\n 'aria-controls': this.ariaControls,\n 'data-pc-name': 'accordionheader',\n 'data-p-disabled': this.$pcAccordionPanel.disabled,\n 'data-p-active': this.$pcAccordionPanel.active,\n onFocus: this.onFocus,\n onKeydown: this.onKeydown\n };\n },\n ptParams() {\n return {\n context: {\n active: this.$pcAccordionPanel.active\n }\n };\n }\n },\n components: {\n ChevronUpIcon,\n ChevronDownIcon\n },\n directives: {\n ripple: Ripple\n }\n};\n</script>\n"],"names":["name","BaseComponent","props","as","type","String","asChild","Boolean","style","AccordionHeaderStyle","provide","$pcAccordionHeader","$parentInstance","BaseAccordionHeader","inheritAttrs","inject","methods","onFocus","$pcAccordion","selectOnFocus","changeActiveValue","onClick","onKeydown","event","code","onArrowDownKey","onArrowUpKey","onHomeKey","onEndKey","onEnterKey","nextPanel","findNextPanel","findPanel","currentTarget","changeFocusedPanel","preventDefault","prevPanel","findPrevPanel","firstPanel","findFirstPanel","lastPanel","findLastPanel","headerElement","closest","findHeader","panelElement","findSingle","selfCheck","element","nextElementSibling","getAttribute","previousElementSibling","$el","firstElementChild","lastElementChild","updateValue","$pcAccordionPanel","value","focus","computed","id","concat","ariaControls","attrs","mergeProps","asAttrs","a11yAttrs","ptmi","ptParams","disabled","undefined","tabindex","active","context","components","ChevronUpIcon","ChevronDownIcon","directives","ripple","Ripple","_ctx","_createBlock","_resolveDynamicComponent","_mergeProps","cx","$options","_renderSlot","$slots","_openBlock","collapseicon","collapseIcon","ptm","expandicon","expandIcon"],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { removeClass, addClass } from '@primeuix/utils/dom';
|
|
2
2
|
import BaseDirective from '@primevue/core/basedirective';
|
|
3
3
|
import AnimateOnScrollStyle from 'primevue/animateonscroll/style';
|
|
4
4
|
|
|
@@ -16,7 +16,7 @@ function _slicedToArray(r, e) { return _arrayWithHoles(r) || _iterableToArrayLim
|
|
|
16
16
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
17
17
|
function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }
|
|
18
18
|
function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }
|
|
19
|
-
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l)
|
|
19
|
+
function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
|
|
20
20
|
function _arrayWithHoles(r) { if (Array.isArray(r)) return r; }
|
|
21
21
|
var AnimateOnScroll = BaseAnimateOnScroll.extend('animateonscroll', {
|
|
22
22
|
created: function created() {
|
|
@@ -41,7 +41,7 @@ var AnimateOnScroll = BaseAnimateOnScroll.extend('animateonscroll', {
|
|
|
41
41
|
var _this = this;
|
|
42
42
|
if (!this.animationEndListener) {
|
|
43
43
|
this.animationEndListener = function () {
|
|
44
|
-
|
|
44
|
+
removeClass(_this.$el, [_this.$value.enterClass, _this.$value.leaveClass]);
|
|
45
45
|
!_this.$modifiers.once && _this.resetObserver.observe(_this.$el);
|
|
46
46
|
_this.unbindAnimationEvents();
|
|
47
47
|
};
|
|
@@ -84,7 +84,7 @@ var AnimateOnScroll = BaseAnimateOnScroll.extend('animateonscroll', {
|
|
|
84
84
|
entry = _ref4[0];
|
|
85
85
|
if (entry.boundingClientRect.top > 0 && !entry.isIntersecting) {
|
|
86
86
|
_this2.$el.style.opacity = _this2.$value.enterClass ? '0' : '';
|
|
87
|
-
|
|
87
|
+
removeClass(_this2.$el, [_this2.$value.enterClass, _this2.$value.leaveClass]);
|
|
88
88
|
_this2.resetObserver.unobserve(_this2.$el);
|
|
89
89
|
}
|
|
90
90
|
_this2.animationState = undefined;
|
|
@@ -95,8 +95,8 @@ var AnimateOnScroll = BaseAnimateOnScroll.extend('animateonscroll', {
|
|
|
95
95
|
enter: function enter() {
|
|
96
96
|
if (this.animationState !== 'enter' && this.$value.enterClass) {
|
|
97
97
|
this.$el.style.opacity = '';
|
|
98
|
-
|
|
99
|
-
|
|
98
|
+
removeClass(this.$el, this.$value.leaveClass);
|
|
99
|
+
addClass(this.$el, this.$value.enterClass);
|
|
100
100
|
this.$modifiers.once && this.unbindIntersectionObserver(this.$el);
|
|
101
101
|
this.bindAnimationEvents();
|
|
102
102
|
this.animationState = 'enter';
|
|
@@ -105,8 +105,8 @@ var AnimateOnScroll = BaseAnimateOnScroll.extend('animateonscroll', {
|
|
|
105
105
|
leave: function leave() {
|
|
106
106
|
if (this.animationState !== 'leave' && this.$value.leaveClass) {
|
|
107
107
|
this.$el.style.opacity = this.$value.enterClass ? '0' : '';
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
removeClass(this.$el, this.$value.enterClass);
|
|
109
|
+
addClass(this.$el, this.$value.leaveClass);
|
|
110
110
|
this.bindAnimationEvents();
|
|
111
111
|
this.animationState = 'leave';
|
|
112
112
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":["../../src/animateonscroll/BaseAnimateOnScroll.js","../../src/animateonscroll/AnimateOnScroll.js"],"sourcesContent":["import BaseDirective from '@primevue/core/basedirective';\nimport AnimateOnScrollStyle from 'primevue/animateonscroll/style';\n\nconst BaseAnimateOnScroll = BaseDirective.extend({\n style: AnimateOnScrollStyle\n});\n\nexport default BaseAnimateOnScroll;\n","import { DomHandler } from '@primevue/core/utils';\nimport BaseAnimateOnScroll from './BaseAnimateOnScroll';\n\nconst AnimateOnScroll = BaseAnimateOnScroll.extend('animateonscroll', {\n created() {\n this.$value = this.$value || {};\n this.$el.style.opacity = this.$value.enterClass ? '0' : '';\n },\n mounted() {\n this.$el.setAttribute('data-pd-animateonscroll', true);\n\n this.bindIntersectionObserver();\n },\n unmounted() {\n this.unbindAnimationEvents();\n this.unbindIntersectionObserver();\n },\n observer: undefined,\n resetObserver: undefined,\n isObserverActive: false,\n animationState: undefined,\n animationEndListener: undefined,\n methods: {\n bindAnimationEvents() {\n if (!this.animationEndListener) {\n this.animationEndListener = () => {\n DomHandler.removeMultipleClasses(this.$el, [this.$value.enterClass, this.$value.leaveClass]);\n !this.$modifiers.once && this.resetObserver.observe(this.$el);\n this.unbindAnimationEvents();\n };\n\n this.$el.addEventListener('animationend', this.animationEndListener);\n }\n },\n bindIntersectionObserver() {\n const { root, rootMargin, threshold = 0.5 } = this.$value;\n const options = { root, rootMargin, threshold };\n\n // States\n this.observer = new IntersectionObserver(([entry]) => {\n if (this.isObserverActive) {\n if (entry.boundingClientRect.top > 0) {\n entry.isIntersecting ? this.enter() : this.leave();\n }\n } else if (entry.isIntersecting) {\n this.enter();\n }\n\n this.isObserverActive = true;\n }, options);\n\n setTimeout(() => this.observer.observe(this.$el), 0);\n\n // Reset\n this.resetObserver = new IntersectionObserver(\n ([entry]) => {\n if (entry.boundingClientRect.top > 0 && !entry.isIntersecting) {\n this.$el.style.opacity = this.$value.enterClass ? '0' : '';\n DomHandler.removeMultipleClasses(this.$el, [this.$value.enterClass, this.$value.leaveClass]);\n\n this.resetObserver.unobserve(this.$el);\n }\n\n this.animationState = undefined;\n },\n { ...options, threshold: 0 }\n );\n },\n enter() {\n if (this.animationState !== 'enter' && this.$value.enterClass) {\n this.$el.style.opacity = '';\n DomHandler.removeMultipleClasses(this.$el, this.$value.leaveClass);\n DomHandler.addMultipleClasses(this.$el, this.$value.enterClass);\n\n this.$modifiers.once && this.unbindIntersectionObserver(this.$el);\n\n this.bindAnimationEvents();\n this.animationState = 'enter';\n }\n },\n leave() {\n if (this.animationState !== 'leave' && this.$value.leaveClass) {\n this.$el.style.opacity = this.$value.enterClass ? '0' : '';\n DomHandler.removeMultipleClasses(this.$el, this.$value.enterClass);\n DomHandler.addMultipleClasses(this.$el, this.$value.leaveClass);\n\n this.bindAnimationEvents();\n this.animationState = 'leave';\n }\n },\n unbindAnimationEvents() {\n if (this.animationEndListener) {\n this.$el.removeEventListener('animationend', this.animationEndListener);\n this.animationEndListener = undefined;\n }\n },\n unbindIntersectionObserver() {\n this.observer?.unobserve(this.$el);\n this.resetObserver?.unobserve(this.$el);\n this.isObserverActive = false;\n }\n }\n});\n\nexport default AnimateOnScroll;\n"],"names":["BaseAnimateOnScroll","BaseDirective","extend","style","AnimateOnScrollStyle","AnimateOnScroll","created","$value","$el","opacity","enterClass","mounted","setAttribute","bindIntersectionObserver","unmounted","unbindAnimationEvents","unbindIntersectionObserver","observer","undefined","resetObserver","isObserverActive","animationState","animationEndListener","methods","bindAnimationEvents","_this","DomHandler","removeMultipleClasses","leaveClass","$modifiers","once","observe","addEventListener","_this2","_this$$value","root","rootMargin","_this$$value$threshol","threshold","options","IntersectionObserver","_ref","_ref2","_slicedToArray","entry","boundingClientRect","top","isIntersecting","enter","leave","setTimeout","_ref3","_ref4","unobserve","_objectSpread","addMultipleClasses","removeEventListener","_this$observer","_this$resetObserver"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../../src/animateonscroll/BaseAnimateOnScroll.js","../../src/animateonscroll/AnimateOnScroll.js"],"sourcesContent":["import BaseDirective from '@primevue/core/basedirective';\nimport AnimateOnScrollStyle from 'primevue/animateonscroll/style';\n\nconst BaseAnimateOnScroll = BaseDirective.extend({\n style: AnimateOnScrollStyle\n});\n\nexport default BaseAnimateOnScroll;\n","import { addClass, removeClass } from '@primeuix/utils/dom';\nimport BaseAnimateOnScroll from './BaseAnimateOnScroll';\n\nconst AnimateOnScroll = BaseAnimateOnScroll.extend('animateonscroll', {\n created() {\n this.$value = this.$value || {};\n this.$el.style.opacity = this.$value.enterClass ? '0' : '';\n },\n mounted() {\n this.$el.setAttribute('data-pd-animateonscroll', true);\n\n this.bindIntersectionObserver();\n },\n unmounted() {\n this.unbindAnimationEvents();\n this.unbindIntersectionObserver();\n },\n observer: undefined,\n resetObserver: undefined,\n isObserverActive: false,\n animationState: undefined,\n animationEndListener: undefined,\n methods: {\n bindAnimationEvents() {\n if (!this.animationEndListener) {\n this.animationEndListener = () => {\n removeClass(this.$el, [this.$value.enterClass, this.$value.leaveClass]);\n !this.$modifiers.once && this.resetObserver.observe(this.$el);\n this.unbindAnimationEvents();\n };\n\n this.$el.addEventListener('animationend', this.animationEndListener);\n }\n },\n bindIntersectionObserver() {\n const { root, rootMargin, threshold = 0.5 } = this.$value;\n const options = { root, rootMargin, threshold };\n\n // States\n this.observer = new IntersectionObserver(([entry]) => {\n if (this.isObserverActive) {\n if (entry.boundingClientRect.top > 0) {\n entry.isIntersecting ? this.enter() : this.leave();\n }\n } else if (entry.isIntersecting) {\n this.enter();\n }\n\n this.isObserverActive = true;\n }, options);\n\n setTimeout(() => this.observer.observe(this.$el), 0);\n\n // Reset\n this.resetObserver = new IntersectionObserver(\n ([entry]) => {\n if (entry.boundingClientRect.top > 0 && !entry.isIntersecting) {\n this.$el.style.opacity = this.$value.enterClass ? '0' : '';\n removeClass(this.$el, [this.$value.enterClass, this.$value.leaveClass]);\n\n this.resetObserver.unobserve(this.$el);\n }\n\n this.animationState = undefined;\n },\n { ...options, threshold: 0 }\n );\n },\n enter() {\n if (this.animationState !== 'enter' && this.$value.enterClass) {\n this.$el.style.opacity = '';\n removeClass(this.$el, this.$value.leaveClass);\n addClass(this.$el, this.$value.enterClass);\n\n this.$modifiers.once && this.unbindIntersectionObserver(this.$el);\n\n this.bindAnimationEvents();\n this.animationState = 'enter';\n }\n },\n leave() {\n if (this.animationState !== 'leave' && this.$value.leaveClass) {\n this.$el.style.opacity = this.$value.enterClass ? '0' : '';\n removeClass(this.$el, this.$value.enterClass);\n addClass(this.$el, this.$value.leaveClass);\n\n this.bindAnimationEvents();\n this.animationState = 'leave';\n }\n },\n unbindAnimationEvents() {\n if (this.animationEndListener) {\n this.$el.removeEventListener('animationend', this.animationEndListener);\n this.animationEndListener = undefined;\n }\n },\n unbindIntersectionObserver() {\n this.observer?.unobserve(this.$el);\n this.resetObserver?.unobserve(this.$el);\n this.isObserverActive = false;\n }\n }\n});\n\nexport default AnimateOnScroll;\n"],"names":["BaseAnimateOnScroll","BaseDirective","extend","style","AnimateOnScrollStyle","AnimateOnScroll","created","$value","$el","opacity","enterClass","mounted","setAttribute","bindIntersectionObserver","unmounted","unbindAnimationEvents","unbindIntersectionObserver","observer","undefined","resetObserver","isObserverActive","animationState","animationEndListener","methods","bindAnimationEvents","_this","removeClass","leaveClass","$modifiers","once","observe","addEventListener","_this2","_this$$value","root","rootMargin","_this$$value$threshol","threshold","options","IntersectionObserver","_ref","_ref2","_slicedToArray","entry","boundingClientRect","top","isIntersecting","enter","leave","setTimeout","_ref3","_ref4","unobserve","_objectSpread","addClass","removeEventListener","_this$observer","_this$resetObserver"],"mappings":"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"}
|
|
@@ -180,7 +180,10 @@
|
|
|
180
180
|
</template>
|
|
181
181
|
|
|
182
182
|
<script>
|
|
183
|
-
import { ConnectedOverlayScrollHandler,
|
|
183
|
+
import { ConnectedOverlayScrollHandler, UniqueComponentId } from '@primevue/core/utils';
|
|
184
|
+
import { focus, addStyle, relativePosition, getOuterWidth, absolutePosition, isTouchDevice, findSingle } from '@primeuix/utils/dom';
|
|
185
|
+
import { resolveFieldData, isEmpty, isNotEmpty, equals, findLastIndex } from '@primeuix/utils/object';
|
|
186
|
+
import { ZIndex } from '@primeuix/utils/zindex';
|
|
184
187
|
import ChevronDownIcon from '@primevue/icons/chevrondown';
|
|
185
188
|
import SpinnerIcon from '@primevue/icons/spinner';
|
|
186
189
|
import Chip from 'primevue/chip';
|
|
@@ -247,7 +250,7 @@ export default {
|
|
|
247
250
|
}
|
|
248
251
|
|
|
249
252
|
if (this.overlay) {
|
|
250
|
-
|
|
253
|
+
ZIndex.clear(this.overlay);
|
|
251
254
|
this.overlay = null;
|
|
252
255
|
}
|
|
253
256
|
},
|
|
@@ -256,13 +259,13 @@ export default {
|
|
|
256
259
|
return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];
|
|
257
260
|
},
|
|
258
261
|
getOptionLabel(option) {
|
|
259
|
-
return this.optionLabel ?
|
|
262
|
+
return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;
|
|
260
263
|
},
|
|
261
264
|
getOptionValue(option) {
|
|
262
265
|
return option; // TODO: The 'optionValue' properties can be added.
|
|
263
266
|
},
|
|
264
267
|
getOptionRenderKey(option, index) {
|
|
265
|
-
return (this.dataKey ?
|
|
268
|
+
return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;
|
|
266
269
|
},
|
|
267
270
|
getPTOptions(option, itemOptions, index, key) {
|
|
268
271
|
return this.ptm(key, {
|
|
@@ -274,16 +277,16 @@ export default {
|
|
|
274
277
|
});
|
|
275
278
|
},
|
|
276
279
|
isOptionDisabled(option) {
|
|
277
|
-
return this.optionDisabled ?
|
|
280
|
+
return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;
|
|
278
281
|
},
|
|
279
282
|
isOptionGroup(option) {
|
|
280
283
|
return this.optionGroupLabel && option.optionGroup && option.group;
|
|
281
284
|
},
|
|
282
285
|
getOptionGroupLabel(optionGroup) {
|
|
283
|
-
return
|
|
286
|
+
return resolveFieldData(optionGroup, this.optionGroupLabel);
|
|
284
287
|
},
|
|
285
288
|
getOptionGroupChildren(optionGroup) {
|
|
286
|
-
return
|
|
289
|
+
return resolveFieldData(optionGroup, this.optionGroupChildren);
|
|
287
290
|
},
|
|
288
291
|
getAriaPosInset(index) {
|
|
289
292
|
return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter((option) => this.isOptionGroup(option)).length : index) + 1;
|
|
@@ -293,7 +296,7 @@ export default {
|
|
|
293
296
|
this.dirty = true;
|
|
294
297
|
this.overlayVisible = true;
|
|
295
298
|
this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;
|
|
296
|
-
isFocus &&
|
|
299
|
+
isFocus && focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);
|
|
297
300
|
},
|
|
298
301
|
hide(isFocus) {
|
|
299
302
|
const _hide = () => {
|
|
@@ -303,7 +306,7 @@ export default {
|
|
|
303
306
|
this.clicked = false;
|
|
304
307
|
this.focusedOptionIndex = -1;
|
|
305
308
|
|
|
306
|
-
isFocus &&
|
|
309
|
+
isFocus && focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);
|
|
307
310
|
};
|
|
308
311
|
|
|
309
312
|
setTimeout(() => {
|
|
@@ -499,7 +502,7 @@ export default {
|
|
|
499
502
|
}
|
|
500
503
|
|
|
501
504
|
if (!this.overlay || !this.overlay.contains(event.target)) {
|
|
502
|
-
|
|
505
|
+
focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);
|
|
503
506
|
}
|
|
504
507
|
},
|
|
505
508
|
onDropdownClick(event) {
|
|
@@ -508,7 +511,7 @@ export default {
|
|
|
508
511
|
if (this.overlayVisible) {
|
|
509
512
|
this.hide(true);
|
|
510
513
|
} else {
|
|
511
|
-
|
|
514
|
+
focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);
|
|
512
515
|
query = this.$refs.focusInput.$el.value;
|
|
513
516
|
|
|
514
517
|
if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');
|
|
@@ -593,8 +596,8 @@ export default {
|
|
|
593
596
|
this.focusedOptionIndex = -1;
|
|
594
597
|
|
|
595
598
|
if (this.multiple) {
|
|
596
|
-
if (
|
|
597
|
-
|
|
599
|
+
if (isEmpty(target.value) && this.hasSelectedOption) {
|
|
600
|
+
focus(this.$refs.multiContainer);
|
|
598
601
|
this.focusedMultipleOptionIndex = this.modelValue.length;
|
|
599
602
|
} else {
|
|
600
603
|
event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method
|
|
@@ -664,7 +667,7 @@ export default {
|
|
|
664
667
|
},
|
|
665
668
|
onBackspaceKey(event) {
|
|
666
669
|
if (this.multiple) {
|
|
667
|
-
if (
|
|
670
|
+
if (isNotEmpty(this.modelValue) && !this.$refs.focusInput.value) {
|
|
668
671
|
const removedValue = this.modelValue[this.modelValue.length - 1];
|
|
669
672
|
const newValue = this.modelValue.slice(0, -1);
|
|
670
673
|
|
|
@@ -684,7 +687,7 @@ export default {
|
|
|
684
687
|
|
|
685
688
|
if (this.focusedMultipleOptionIndex > this.modelValue.length - 1) {
|
|
686
689
|
this.focusedMultipleOptionIndex = -1;
|
|
687
|
-
|
|
690
|
+
focus(this.$refs.focusInput);
|
|
688
691
|
}
|
|
689
692
|
},
|
|
690
693
|
onBackspaceKeyOnMultiple(event) {
|
|
@@ -693,9 +696,9 @@ export default {
|
|
|
693
696
|
}
|
|
694
697
|
},
|
|
695
698
|
onOverlayEnter(el) {
|
|
696
|
-
|
|
699
|
+
ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);
|
|
697
700
|
|
|
698
|
-
|
|
701
|
+
addStyle(el, { position: 'absolute', top: '0', left: '0' });
|
|
699
702
|
this.alignOverlay();
|
|
700
703
|
},
|
|
701
704
|
onOverlayAfterEnter() {
|
|
@@ -714,16 +717,16 @@ export default {
|
|
|
714
717
|
this.overlay = null;
|
|
715
718
|
},
|
|
716
719
|
onOverlayAfterLeave(el) {
|
|
717
|
-
|
|
720
|
+
ZIndex.clear(el);
|
|
718
721
|
},
|
|
719
722
|
alignOverlay() {
|
|
720
723
|
let target = this.multiple ? this.$refs.multiContainer : this.$refs.focusInput.$el;
|
|
721
724
|
|
|
722
725
|
if (this.appendTo === 'self') {
|
|
723
|
-
|
|
726
|
+
relativePosition(this.overlay, target);
|
|
724
727
|
} else {
|
|
725
|
-
this.overlay.style.minWidth =
|
|
726
|
-
|
|
728
|
+
this.overlay.style.minWidth = getOuterWidth(target) + 'px';
|
|
729
|
+
absolutePosition(this.overlay, target);
|
|
727
730
|
}
|
|
728
731
|
},
|
|
729
732
|
bindOutsideClickListener() {
|
|
@@ -762,7 +765,7 @@ export default {
|
|
|
762
765
|
bindResizeListener() {
|
|
763
766
|
if (!this.resizeListener) {
|
|
764
767
|
this.resizeListener = () => {
|
|
765
|
-
if (this.overlayVisible && !
|
|
768
|
+
if (this.overlayVisible && !isTouchDevice()) {
|
|
766
769
|
this.hide();
|
|
767
770
|
}
|
|
768
771
|
};
|
|
@@ -790,13 +793,13 @@ export default {
|
|
|
790
793
|
return this.isValidOption(option) && this.getOptionLabel(option)?.toLocaleLowerCase(this.searchLocale) === value.toLocaleLowerCase(this.searchLocale);
|
|
791
794
|
},
|
|
792
795
|
isValidOption(option) {
|
|
793
|
-
return
|
|
796
|
+
return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));
|
|
794
797
|
},
|
|
795
798
|
isValidSelectedOption(option) {
|
|
796
799
|
return this.isValidOption(option) && this.isSelected(option);
|
|
797
800
|
},
|
|
798
801
|
isEquals(value1, value2) {
|
|
799
|
-
return
|
|
802
|
+
return equals(value1, value2, this.equalityKey);
|
|
800
803
|
},
|
|
801
804
|
isSelected(option) {
|
|
802
805
|
const optionValue = this.getOptionValue(option);
|
|
@@ -807,7 +810,7 @@ export default {
|
|
|
807
810
|
return this.visibleOptions.findIndex((option) => this.isValidOption(option));
|
|
808
811
|
},
|
|
809
812
|
findLastOptionIndex() {
|
|
810
|
-
return
|
|
813
|
+
return findLastIndex(this.visibleOptions, (option) => this.isValidOption(option));
|
|
811
814
|
},
|
|
812
815
|
findNextOptionIndex(index) {
|
|
813
816
|
const matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex((option) => this.isValidOption(option)) : -1;
|
|
@@ -815,7 +818,7 @@ export default {
|
|
|
815
818
|
return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;
|
|
816
819
|
},
|
|
817
820
|
findPrevOptionIndex(index) {
|
|
818
|
-
const matchedOptionIndex = index > 0 ?
|
|
821
|
+
const matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), (option) => this.isValidOption(option)) : -1;
|
|
819
822
|
|
|
820
823
|
return matchedOptionIndex > -1 ? matchedOptionIndex : index;
|
|
821
824
|
},
|
|
@@ -854,7 +857,7 @@ export default {
|
|
|
854
857
|
this.$emit('item-unselect', { originalEvent: event, value: removedOption });
|
|
855
858
|
this.$emit('option-unselect', { originalEvent: event, value: removedOption });
|
|
856
859
|
this.dirty = true;
|
|
857
|
-
|
|
860
|
+
focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);
|
|
858
861
|
},
|
|
859
862
|
changeFocusedOptionIndex(event, index) {
|
|
860
863
|
if (this.focusedOptionIndex !== index) {
|
|
@@ -869,7 +872,7 @@ export default {
|
|
|
869
872
|
scrollInView(index = -1) {
|
|
870
873
|
this.$nextTick(() => {
|
|
871
874
|
const id = index !== -1 ? `${this.id}_${index}` : this.focusedOptionId;
|
|
872
|
-
const element =
|
|
875
|
+
const element = findSingle(this.list, `li[id="${id}"]`);
|
|
873
876
|
|
|
874
877
|
if (element) {
|
|
875
878
|
element.scrollIntoView && element.scrollIntoView({ block: 'nearest', inline: 'start' });
|
|
@@ -915,7 +918,7 @@ export default {
|
|
|
915
918
|
return this.optionGroupLabel ? this.flatOptions(this.suggestions) : this.suggestions || [];
|
|
916
919
|
},
|
|
917
920
|
inputValue() {
|
|
918
|
-
if (
|
|
921
|
+
if (isNotEmpty(this.modelValue)) {
|
|
919
922
|
if (typeof this.modelValue === 'object') {
|
|
920
923
|
const label = this.getOptionLabel(this.modelValue);
|
|
921
924
|
|
|
@@ -928,13 +931,13 @@ export default {
|
|
|
928
931
|
}
|
|
929
932
|
},
|
|
930
933
|
hasSelectedOption() {
|
|
931
|
-
return
|
|
934
|
+
return isNotEmpty(this.modelValue);
|
|
932
935
|
},
|
|
933
936
|
equalityKey() {
|
|
934
937
|
return this.dataKey; // TODO: The 'optionValue' properties can be added.
|
|
935
938
|
},
|
|
936
939
|
searchResultMessageText() {
|
|
937
|
-
return
|
|
940
|
+
return isNotEmpty(this.visibleOptions) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptySearchMessageText;
|
|
938
941
|
},
|
|
939
942
|
searchMessageText() {
|
|
940
943
|
return this.searchMessage || this.$primevue.config.locale.searchMessage || '';
|
package/autocomplete/index.d.ts
CHANGED
|
@@ -501,6 +501,11 @@ export interface AutoCompleteProps {
|
|
|
501
501
|
* Index of the element in tabbing order.
|
|
502
502
|
*/
|
|
503
503
|
tabindex?: number | string | undefined;
|
|
504
|
+
/**
|
|
505
|
+
* Spans 100% width of the container when enabled.
|
|
506
|
+
* @defaultValue false
|
|
507
|
+
*/
|
|
508
|
+
fluid?: boolean;
|
|
504
509
|
/**
|
|
505
510
|
* Defines a string value that labels an interactive element.
|
|
506
511
|
*/
|