primevue 3.17.0 → 3.18.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/LICENSE.md +1 -1
- package/accordion/Accordion.vue +4 -4
- package/accordion/accordion.cjs.js +4 -4
- package/accordion/accordion.cjs.min.js +1 -1
- package/accordion/accordion.esm.js +4 -4
- package/accordion/accordion.esm.min.js +1 -1
- package/accordion/accordion.js +5 -5
- package/accordion/accordion.min.js +1 -1
- package/api/api.cjs.js +24 -2
- package/api/api.cjs.min.js +1 -1
- package/api/api.esm.js +24 -2
- package/api/api.esm.min.js +1 -1
- package/api/api.js +24 -2
- package/api/api.min.js +1 -1
- package/autocomplete/AutoComplete.d.ts +10 -0
- package/autocomplete/AutoComplete.vue +14 -6
- package/autocomplete/autocomplete.cjs.js +18 -10
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +16 -8
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +17 -9
- package/autocomplete/autocomplete.min.js +1 -1
- package/breadcrumb/Breadcrumb.d.ts +9 -1
- package/breadcrumb/Breadcrumb.vue +14 -5
- package/breadcrumb/BreadcrumbItem.vue +9 -3
- package/breadcrumb/breadcrumb.cjs.js +25 -14
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.esm.js +25 -14
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +25 -14
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/button/Button.vue +6 -3
- package/button/button.cjs.js +6 -3
- package/button/button.cjs.min.js +1 -1
- package/button/button.esm.js +6 -3
- package/button/button.esm.min.js +1 -1
- package/button/button.js +6 -3
- package/button/button.min.js +1 -1
- package/calendar/Calendar.vue +71 -26
- package/calendar/calendar.cjs.js +140 -95
- package/calendar/calendar.cjs.min.js +1 -1
- package/calendar/calendar.esm.js +138 -93
- package/calendar/calendar.esm.min.js +1 -1
- package/calendar/calendar.js +139 -94
- package/calendar/calendar.min.js +1 -1
- package/cascadeselect/CascadeSelect.d.ts +10 -0
- package/cascadeselect/CascadeSelect.vue +13 -4
- package/cascadeselect/CascadeSelectSub.vue +18 -13
- package/cascadeselect/cascadeselect.cjs.js +39 -26
- package/cascadeselect/cascadeselect.cjs.min.js +1 -1
- package/cascadeselect/cascadeselect.esm.js +38 -25
- package/cascadeselect/cascadeselect.esm.min.js +1 -1
- package/cascadeselect/cascadeselect.js +39 -26
- package/cascadeselect/cascadeselect.min.js +1 -1
- package/config/PrimeVue.d.ts +4 -1
- package/config/config.cjs.js +5 -2
- package/config/config.cjs.min.js +1 -1
- package/config/config.esm.js +5 -2
- package/config/config.esm.min.js +1 -1
- package/config/config.js +6 -3
- package/config/config.min.js +1 -1
- package/contextmenu/ContextMenu.d.ts +41 -2
- package/contextmenu/ContextMenu.vue +440 -33
- package/contextmenu/ContextMenuSub.vue +119 -98
- package/contextmenu/contextmenu.cjs.js +619 -194
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +620 -195
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +620 -195
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +1369 -675
- package/core/core.min.js +10 -10
- package/datatable/DataTable.d.ts +1 -2
- package/datatable/DataTable.vue +3 -3
- package/datatable/datatable.cjs.js +2334 -2334
- package/datatable/datatable.cjs.min.js +1 -1
- package/datatable/datatable.esm.js +2319 -2319
- package/datatable/datatable.esm.min.js +1 -1
- package/datatable/datatable.js +2319 -2319
- package/datatable/datatable.min.js +1 -1
- package/dock/Dock.d.ts +33 -2
- package/dock/Dock.vue +18 -2
- package/dock/DockSub.vue +206 -53
- package/dock/dock.cjs.js +261 -90
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.esm.js +261 -90
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +262 -92
- package/dock/dock.min.js +1 -1
- package/dropdown/Dropdown.d.ts +15 -0
- package/dropdown/Dropdown.vue +19 -7
- package/dropdown/dropdown.cjs.js +37 -24
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +36 -23
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +36 -23
- package/dropdown/dropdown.min.js +1 -1
- package/fileupload/FileContent.vue +51 -0
- package/fileupload/FileUpload.d.ts +21 -1
- package/fileupload/FileUpload.vue +62 -48
- package/fileupload/fileupload.cjs.js +214 -115
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.esm.js +214 -115
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +214 -115
- package/fileupload/fileupload.min.js +1 -1
- package/galleria/GalleriaThumbnails.vue +2 -2
- package/galleria/galleria.cjs.js +1 -1
- package/galleria/galleria.cjs.min.js +1 -1
- package/galleria/galleria.esm.js +1 -1
- package/galleria/galleria.esm.min.js +1 -1
- package/galleria/galleria.js +1 -1
- package/galleria/galleria.min.js +1 -1
- package/inlinemessage/inlinemessage.cjs.js +1 -2
- package/inlinemessage/inlinemessage.cjs.min.js +1 -1
- package/inlinemessage/inlinemessage.esm.js +1 -2
- package/inlinemessage/inlinemessage.esm.min.js +1 -1
- package/inlinemessage/inlinemessage.js +1 -2
- package/inlinemessage/inlinemessage.min.js +1 -1
- package/inputnumber/InputNumber.vue +11 -4
- package/inputnumber/inputnumber.cjs.js +12 -5
- package/inputnumber/inputnumber.cjs.min.js +1 -1
- package/inputnumber/inputnumber.esm.js +11 -4
- package/inputnumber/inputnumber.esm.min.js +1 -1
- package/inputnumber/inputnumber.js +12 -6
- package/inputnumber/inputnumber.min.js +1 -1
- package/listbox/Listbox.d.ts +5 -0
- package/listbox/Listbox.vue +5 -1
- package/listbox/listbox.cjs.js +25 -20
- package/listbox/listbox.cjs.min.js +1 -1
- package/listbox/listbox.esm.js +25 -20
- package/listbox/listbox.esm.min.js +1 -1
- package/listbox/listbox.js +25 -20
- package/listbox/listbox.min.js +1 -1
- package/megamenu/MegaMenu.d.ts +29 -2
- package/megamenu/MegaMenu.vue +486 -228
- package/megamenu/MegaMenuSub.vue +231 -0
- package/megamenu/megamenu.cjs.js +818 -377
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.esm.js +820 -379
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +818 -377
- package/megamenu/megamenu.min.js +1 -1
- package/menu/Menu.d.ts +25 -2
- package/menu/Menu.vue +182 -18
- package/menu/Menuitem.vue +35 -28
- package/menu/menu.cjs.js +293 -114
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +293 -114
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +293 -114
- package/menu/menu.min.js +1 -1
- package/menubar/Menubar.d.ts +14 -2
- package/menubar/Menubar.vue +526 -15
- package/menubar/MenubarSub.vue +105 -238
- package/menubar/menubar.cjs.js +691 -316
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +693 -318
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +691 -316
- package/menubar/menubar.min.js +1 -1
- package/multiselect/MultiSelect.d.ts +25 -0
- package/multiselect/MultiSelect.vue +31 -11
- package/multiselect/multiselect.cjs.js +58 -37
- package/multiselect/multiselect.cjs.min.js +1 -1
- package/multiselect/multiselect.esm.js +57 -36
- package/multiselect/multiselect.esm.min.js +1 -1
- package/multiselect/multiselect.js +57 -36
- package/multiselect/multiselect.min.js +1 -1
- package/package.json +3 -3
- package/paginator/Paginator.d.ts +2 -2
- package/paginator/Paginator.vue +118 -23
- package/paginator/paginator.cjs.js +277 -182
- package/paginator/paginator.cjs.min.js +1 -1
- package/paginator/paginator.esm.js +278 -183
- package/paginator/paginator.esm.min.js +1 -1
- package/paginator/paginator.js +278 -184
- package/paginator/paginator.min.js +1 -1
- package/panelmenu/PanelMenu.d.ts +32 -1
- package/panelmenu/PanelMenu.vue +189 -83
- package/panelmenu/PanelMenuList.vue +335 -0
- package/panelmenu/PanelMenuSub.vue +124 -85
- package/panelmenu/panelmenu.cjs.js +1383 -285
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +1380 -286
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +1383 -286
- package/panelmenu/panelmenu.min.js +1 -1
- package/password/Password.vue +5 -4
- package/password/password.cjs.js +6 -5
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +5 -4
- package/password/password.esm.min.js +1 -1
- package/password/password.js +6 -5
- package/password/password.min.js +1 -1
- package/resources/primevue.css +21 -2
- package/resources/primevue.min.css +1 -1
- package/resources/themes/arya-blue/theme.css +317 -270
- package/resources/themes/arya-green/theme.css +317 -270
- package/resources/themes/arya-orange/theme.css +317 -270
- package/resources/themes/arya-purple/theme.css +317 -270
- package/resources/themes/bootstrap4-dark-blue/theme.css +332 -285
- package/resources/themes/bootstrap4-dark-purple/theme.css +332 -285
- package/resources/themes/bootstrap4-light-blue/theme.css +345 -298
- package/resources/themes/bootstrap4-light-purple/theme.css +345 -298
- package/resources/themes/fluent-light/theme.css +327 -280
- package/resources/themes/lara-dark-blue/theme.css +320 -273
- package/resources/themes/lara-dark-indigo/theme.css +320 -273
- package/resources/themes/lara-dark-purple/theme.css +320 -273
- package/resources/themes/lara-dark-teal/theme.css +320 -273
- package/resources/themes/lara-light-blue/theme.css +344 -297
- package/resources/themes/lara-light-indigo/theme.css +344 -297
- package/resources/themes/lara-light-purple/theme.css +344 -297
- package/resources/themes/lara-light-teal/theme.css +344 -297
- package/resources/themes/luna-amber/theme.css +348 -301
- package/resources/themes/luna-blue/theme.css +348 -301
- package/resources/themes/luna-green/theme.css +348 -301
- package/resources/themes/luna-pink/theme.css +348 -301
- package/resources/themes/md-dark-deeppurple/theme.css +367 -298
- package/resources/themes/md-dark-indigo/theme.css +367 -298
- package/resources/themes/md-light-deeppurple/theme.css +367 -298
- package/resources/themes/md-light-indigo/theme.css +367 -298
- package/resources/themes/mdc-dark-deeppurple/theme.css +367 -298
- package/resources/themes/mdc-dark-indigo/theme.css +367 -298
- package/resources/themes/mdc-light-deeppurple/theme.css +367 -298
- package/resources/themes/mdc-light-indigo/theme.css +367 -298
- package/resources/themes/nova/theme.css +312 -265
- package/resources/themes/nova-accent/theme.css +312 -265
- package/resources/themes/nova-alt/theme.css +312 -265
- package/resources/themes/nova-vue/theme.css +312 -265
- package/resources/themes/rhea/theme.css +312 -265
- package/resources/themes/saga-blue/theme.css +324 -277
- package/resources/themes/saga-green/theme.css +324 -277
- package/resources/themes/saga-orange/theme.css +324 -277
- package/resources/themes/saga-purple/theme.css +324 -277
- package/resources/themes/tailwind-light/theme.css +336 -289
- package/resources/themes/vela-blue/theme.css +324 -277
- package/resources/themes/vela-green/theme.css +324 -277
- package/resources/themes/vela-orange/theme.css +324 -277
- package/resources/themes/vela-purple/theme.css +324 -277
- package/ripple/ripple.cjs.js +12 -0
- package/ripple/ripple.cjs.min.js +1 -1
- package/ripple/ripple.esm.js +12 -0
- package/ripple/ripple.esm.min.js +1 -1
- package/ripple/ripple.js +12 -0
- package/ripple/ripple.min.js +1 -1
- package/speeddial/SpeedDial.vue +21 -16
- package/speeddial/speeddial.cjs.js +34 -27
- package/speeddial/speeddial.cjs.min.js +1 -1
- package/speeddial/speeddial.esm.js +34 -27
- package/speeddial/speeddial.esm.min.js +1 -1
- package/speeddial/speeddial.js +34 -27
- package/speeddial/speeddial.min.js +1 -1
- package/steps/Steps.vue +108 -9
- package/steps/steps.cjs.js +111 -20
- package/steps/steps.cjs.min.js +1 -1
- package/steps/steps.esm.js +112 -21
- package/steps/steps.esm.min.js +1 -1
- package/steps/steps.js +111 -20
- package/steps/steps.min.js +1 -1
- package/styleclass/styleclass.cjs.js +1 -1
- package/styleclass/styleclass.cjs.min.js +1 -1
- package/styleclass/styleclass.esm.js +1 -1
- package/styleclass/styleclass.esm.min.js +1 -1
- package/styleclass/styleclass.js +1 -1
- package/styleclass/styleclass.min.js +1 -1
- package/tabmenu/TabMenu.d.ts +9 -1
- package/tabmenu/TabMenu.vue +135 -6
- package/tabmenu/tabmenu.cjs.js +137 -17
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +137 -17
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +138 -18
- package/tabmenu/tabmenu.min.js +1 -1
- package/tabview/TabView.vue +2 -2
- package/tabview/tabview.cjs.js +2 -2
- package/tabview/tabview.cjs.min.js +1 -1
- package/tabview/tabview.esm.js +2 -2
- package/tabview/tabview.esm.min.js +1 -1
- package/tabview/tabview.js +3 -3
- package/tabview/tabview.min.js +1 -1
- package/tieredmenu/TieredMenu.d.ts +46 -3
- package/tieredmenu/TieredMenu.vue +482 -48
- package/tieredmenu/TieredMenuSub.vue +111 -204
- package/tieredmenu/tieredmenu.cjs.js +656 -320
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +657 -321
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +657 -321
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toast/Toast.vue +5 -3
- package/toast/ToastMessage.vue +5 -3
- package/toast/toast.cjs.js +19 -15
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.esm.js +18 -14
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +19 -15
- package/toast/toast.min.js +1 -1
- package/togglebutton/ToggleButton.vue +42 -7
- package/togglebutton/togglebutton.cjs.js +42 -6
- package/togglebutton/togglebutton.cjs.min.js +1 -1
- package/togglebutton/togglebutton.esm.js +42 -6
- package/togglebutton/togglebutton.esm.min.js +1 -1
- package/togglebutton/togglebutton.js +42 -6
- package/togglebutton/togglebutton.min.js +1 -1
- package/tree/Tree.d.ts +8 -0
- package/utils/Utils.d.ts +3 -0
- package/utils/utils.cjs.js +26 -0
- package/utils/utils.cjs.min.js +1 -1
- package/utils/utils.esm.js +26 -0
- package/utils/utils.esm.min.js +1 -1
- package/utils/utils.js +26 -0
- package/utils/utils.min.js +1 -1
- package/vetur-attributes.json +175 -3
- package/vetur-tags.json +54 -11
- package/web-types.json +675 -51
package/dock/dock.cjs.js
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
var Ripple = require('primevue/ripple');
|
|
4
4
|
var Tooltip = require('primevue/tooltip');
|
|
5
|
+
var utils = require('primevue/utils');
|
|
5
6
|
var vue = require('vue');
|
|
6
7
|
|
|
7
8
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -11,7 +12,12 @@ var Tooltip__default = /*#__PURE__*/_interopDefaultLegacy(Tooltip);
|
|
|
11
12
|
|
|
12
13
|
var script$1 = {
|
|
13
14
|
name: 'DockSub',
|
|
15
|
+
emits: ['focus', 'blur'],
|
|
14
16
|
props: {
|
|
17
|
+
position: {
|
|
18
|
+
type: String,
|
|
19
|
+
default: 'bottom'
|
|
20
|
+
},
|
|
15
21
|
model: {
|
|
16
22
|
type: Array,
|
|
17
23
|
default: null
|
|
@@ -24,42 +30,161 @@ var script$1 = {
|
|
|
24
30
|
type: Boolean,
|
|
25
31
|
default: true
|
|
26
32
|
},
|
|
27
|
-
tooltipOptions: null
|
|
33
|
+
tooltipOptions: null,
|
|
34
|
+
menuId: {
|
|
35
|
+
type: String,
|
|
36
|
+
default: null
|
|
37
|
+
},
|
|
38
|
+
tabindex: {
|
|
39
|
+
type: Number,
|
|
40
|
+
default: 0
|
|
41
|
+
},
|
|
42
|
+
'aria-label': {
|
|
43
|
+
type: String,
|
|
44
|
+
default: null
|
|
45
|
+
},
|
|
46
|
+
'aria-labelledby': {
|
|
47
|
+
type: String,
|
|
48
|
+
default: null
|
|
49
|
+
}
|
|
28
50
|
},
|
|
29
51
|
data() {
|
|
30
52
|
return {
|
|
31
|
-
currentIndex: -3
|
|
53
|
+
currentIndex: -3,
|
|
54
|
+
focused: false,
|
|
55
|
+
focusedOptionIndex: -1
|
|
32
56
|
};
|
|
33
57
|
},
|
|
34
58
|
methods: {
|
|
59
|
+
getItemId(index) {
|
|
60
|
+
return `${this.id}_${index}`;
|
|
61
|
+
},
|
|
62
|
+
getItemProp(processedItem, name) {
|
|
63
|
+
return processedItem && processedItem.item ? utils.ObjectUtils.getItemValue(processedItem.item[name]) : undefined;
|
|
64
|
+
},
|
|
65
|
+
isSameMenuItem(event) {
|
|
66
|
+
return event.currentTarget && (event.currentTarget.isSameNode(event.target) || event.currentTarget.isSameNode(event.target.closest('.p-menuitem')));
|
|
67
|
+
},
|
|
35
68
|
onListMouseLeave() {
|
|
36
69
|
this.currentIndex = -3;
|
|
37
70
|
},
|
|
38
71
|
onItemMouseEnter(index) {
|
|
39
72
|
this.currentIndex = index;
|
|
40
73
|
},
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
74
|
+
onItemActionClick(event, navigate) {
|
|
75
|
+
navigate && navigate(event);
|
|
76
|
+
},
|
|
77
|
+
onItemClick(event, processedItem) {
|
|
78
|
+
if (this.isSameMenuItem(event)) {
|
|
79
|
+
const command = this.getItemProp(processedItem, 'command');
|
|
44
80
|
|
|
45
|
-
|
|
81
|
+
command && command({ originalEvent: event, item: processedItem.item });
|
|
46
82
|
}
|
|
83
|
+
},
|
|
84
|
+
onListFocus(event) {
|
|
85
|
+
this.focused = true;
|
|
86
|
+
this.changeFocusedOptionIndex(0);
|
|
87
|
+
this.$emit('focus', event);
|
|
88
|
+
},
|
|
89
|
+
onListBlur(event) {
|
|
90
|
+
this.focused = false;
|
|
91
|
+
this.focusedOptionIndex = -1;
|
|
92
|
+
this.$emit('blur', event);
|
|
93
|
+
},
|
|
94
|
+
onListKeyDown(event) {
|
|
95
|
+
switch (event.code) {
|
|
96
|
+
case 'ArrowDown': {
|
|
97
|
+
if (this.position === 'left' || this.position === 'right') this.onArrowDownKey();
|
|
98
|
+
event.preventDefault();
|
|
99
|
+
break;
|
|
100
|
+
}
|
|
47
101
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
}
|
|
53
|
-
|
|
102
|
+
case 'ArrowUp': {
|
|
103
|
+
if (this.position === 'left' || this.position === 'right') this.onArrowUpKey();
|
|
104
|
+
event.preventDefault();
|
|
105
|
+
break;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
case 'ArrowRight': {
|
|
109
|
+
if (this.position === 'top' || this.position === 'bottom') this.onArrowDownKey();
|
|
110
|
+
event.preventDefault();
|
|
111
|
+
break;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
case 'ArrowLeft': {
|
|
115
|
+
if (this.position === 'top' || this.position === 'bottom') this.onArrowUpKey();
|
|
116
|
+
event.preventDefault();
|
|
117
|
+
break;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
case 'Home': {
|
|
121
|
+
this.onHomeKey();
|
|
122
|
+
event.preventDefault();
|
|
123
|
+
break;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
case 'End': {
|
|
127
|
+
this.onEndKey();
|
|
128
|
+
event.preventDefault();
|
|
129
|
+
break;
|
|
130
|
+
}
|
|
54
131
|
|
|
55
|
-
|
|
56
|
-
|
|
132
|
+
case 'Enter':
|
|
133
|
+
|
|
134
|
+
case 'Space': {
|
|
135
|
+
this.onSpaceKey(event);
|
|
136
|
+
event.preventDefault();
|
|
137
|
+
break;
|
|
138
|
+
}
|
|
57
139
|
}
|
|
58
140
|
},
|
|
59
|
-
|
|
141
|
+
onArrowDownKey() {
|
|
142
|
+
const optionIndex = this.findNextOptionIndex(this.focusedOptionIndex);
|
|
143
|
+
|
|
144
|
+
this.changeFocusedOptionIndex(optionIndex);
|
|
145
|
+
},
|
|
146
|
+
onArrowUpKey() {
|
|
147
|
+
const optionIndex = this.findPrevOptionIndex(this.focusedOptionIndex);
|
|
148
|
+
|
|
149
|
+
this.changeFocusedOptionIndex(optionIndex);
|
|
150
|
+
},
|
|
151
|
+
onHomeKey() {
|
|
152
|
+
this.changeFocusedOptionIndex(0);
|
|
153
|
+
},
|
|
154
|
+
onEndKey() {
|
|
155
|
+
this.changeFocusedOptionIndex(utils.DomHandler.find(this.$refs.list, 'li.p-dock-item:not(.p-disabled)').length - 1);
|
|
156
|
+
},
|
|
157
|
+
onSpaceKey() {
|
|
158
|
+
const element = utils.DomHandler.findSingle(this.$refs.list, `li[id="${`${this.focusedOptionIndex}`}"]`);
|
|
159
|
+
const anchorElement = element && utils.DomHandler.findSingle(element, '.p-dock-link');
|
|
160
|
+
|
|
161
|
+
anchorElement ? anchorElement.click() : element && element.click();
|
|
162
|
+
},
|
|
163
|
+
findNextOptionIndex(index) {
|
|
164
|
+
const menuitems = utils.DomHandler.find(this.$refs.list, 'li.p-dock-item:not(.p-disabled)');
|
|
165
|
+
const matchedOptionIndex = [...menuitems].findIndex((link) => link.id === index);
|
|
166
|
+
|
|
167
|
+
return matchedOptionIndex > -1 ? matchedOptionIndex + 1 : 0;
|
|
168
|
+
},
|
|
169
|
+
findPrevOptionIndex(index) {
|
|
170
|
+
const menuitems = utils.DomHandler.find(this.$refs.list, 'li.p-dock-item:not(.p-disabled)');
|
|
171
|
+
const matchedOptionIndex = [...menuitems].findIndex((link) => link.id === index);
|
|
172
|
+
|
|
173
|
+
return matchedOptionIndex > -1 ? matchedOptionIndex - 1 : 0;
|
|
174
|
+
},
|
|
175
|
+
changeFocusedOptionIndex(index) {
|
|
176
|
+
const menuitems = utils.DomHandler.find(this.$refs.list, 'li.p-dock-item:not(.p-disabled)');
|
|
177
|
+
|
|
178
|
+
let order = index >= menuitems.length ? menuitems.length - 1 : index < 0 ? 0 : index;
|
|
179
|
+
|
|
180
|
+
this.focusedOptionIndex = menuitems[order].getAttribute('id');
|
|
181
|
+
},
|
|
182
|
+
itemClass(item, index, id) {
|
|
60
183
|
return [
|
|
61
184
|
'p-dock-item',
|
|
62
185
|
{
|
|
186
|
+
'p-focus': id === this.focusedOptionIndex,
|
|
187
|
+
'p-disabled': this.disabled(item),
|
|
63
188
|
'p-dock-item-second-prev': this.currentIndex - 2 === index,
|
|
64
189
|
'p-dock-item-prev': this.currentIndex - 1 === index,
|
|
65
190
|
'p-dock-item-current': this.currentIndex === index,
|
|
@@ -68,11 +193,10 @@ var script$1 = {
|
|
|
68
193
|
}
|
|
69
194
|
];
|
|
70
195
|
},
|
|
71
|
-
linkClass(
|
|
196
|
+
linkClass(routerProps) {
|
|
72
197
|
return [
|
|
73
|
-
'p-dock-
|
|
198
|
+
'p-dock-link',
|
|
74
199
|
{
|
|
75
|
-
'p-disabled': this.disabled(item),
|
|
76
200
|
'router-link-active': routerProps && routerProps.isActive,
|
|
77
201
|
'router-link-active-exact': this.exact && routerProps && routerProps.isExactActive
|
|
78
202
|
}
|
|
@@ -82,6 +206,14 @@ var script$1 = {
|
|
|
82
206
|
return typeof item.disabled === 'function' ? item.disabled() : item.disabled;
|
|
83
207
|
}
|
|
84
208
|
},
|
|
209
|
+
computed: {
|
|
210
|
+
id() {
|
|
211
|
+
return this.menuId || utils.UniqueComponentId();
|
|
212
|
+
},
|
|
213
|
+
focusedOptionId() {
|
|
214
|
+
return this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : null;
|
|
215
|
+
}
|
|
216
|
+
},
|
|
85
217
|
directives: {
|
|
86
218
|
ripple: Ripple__default["default"],
|
|
87
219
|
tooltip: Tooltip__default["default"]
|
|
@@ -89,9 +221,11 @@ var script$1 = {
|
|
|
89
221
|
};
|
|
90
222
|
|
|
91
223
|
const _hoisted_1 = { class: "p-dock-list-container" };
|
|
92
|
-
const _hoisted_2 = ["
|
|
93
|
-
const _hoisted_3 = ["
|
|
94
|
-
const _hoisted_4 =
|
|
224
|
+
const _hoisted_2 = ["id", "aria-orientation", "aria-activedescendant", "tabindex", "aria-label", "aria-labelledby"];
|
|
225
|
+
const _hoisted_3 = ["id", "aria-label", "aria-disabled", "onClick", "onMouseenter"];
|
|
226
|
+
const _hoisted_4 = { class: "p-menuitem-content" };
|
|
227
|
+
const _hoisted_5 = ["href", "target", "onClick"];
|
|
228
|
+
const _hoisted_6 = ["href", "target"];
|
|
95
229
|
|
|
96
230
|
function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
97
231
|
const _component_router_link = vue.resolveComponent("router-link");
|
|
@@ -101,81 +235,97 @@ function render$1(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
101
235
|
return (vue.openBlock(), vue.createElementBlock("div", _hoisted_1, [
|
|
102
236
|
vue.createElementVNode("ul", {
|
|
103
237
|
ref: "list",
|
|
238
|
+
id: $options.id,
|
|
104
239
|
class: "p-dock-list",
|
|
105
240
|
role: "menu",
|
|
106
|
-
|
|
241
|
+
"aria-orientation": $props.position === 'bottom' || $props.position === 'top' ? 'horizontal' : 'vertical',
|
|
242
|
+
"aria-activedescendant": $data.focused ? $options.focusedOptionId : undefined,
|
|
243
|
+
tabindex: $props.tabindex,
|
|
244
|
+
"aria-label": _ctx.ariaLabel,
|
|
245
|
+
"aria-labelledby": _ctx.ariaLabelledby,
|
|
246
|
+
onFocus: _cache[0] || (_cache[0] = (...args) => ($options.onListFocus && $options.onListFocus(...args))),
|
|
247
|
+
onBlur: _cache[1] || (_cache[1] = (...args) => ($options.onListBlur && $options.onListBlur(...args))),
|
|
248
|
+
onKeydown: _cache[2] || (_cache[2] = (...args) => ($options.onListKeyDown && $options.onListKeyDown(...args))),
|
|
249
|
+
onMouseleave: _cache[3] || (_cache[3] = (...args) => ($options.onListMouseLeave && $options.onListMouseLeave(...args)))
|
|
107
250
|
}, [
|
|
108
|
-
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.model, (
|
|
251
|
+
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.model, (processedItem, index) => {
|
|
109
252
|
return (vue.openBlock(), vue.createElementBlock("li", {
|
|
110
253
|
key: index,
|
|
111
|
-
|
|
112
|
-
|
|
254
|
+
id: $options.getItemId(index),
|
|
255
|
+
class: vue.normalizeClass($options.itemClass(processedItem, index, $options.getItemId(index))),
|
|
256
|
+
role: "menuitem",
|
|
257
|
+
"aria-label": processedItem.label,
|
|
258
|
+
"aria-disabled": $options.disabled(processedItem),
|
|
259
|
+
onClick: $event => ($options.onItemClick($event, processedItem)),
|
|
113
260
|
onMouseenter: $event => ($options.onItemMouseEnter(index))
|
|
114
261
|
}, [
|
|
115
|
-
(
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
vue.
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
_: 2
|
|
147
|
-
}, 1032, ["to"]))
|
|
148
|
-
: vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", {
|
|
149
|
-
key: 1,
|
|
150
|
-
href: item.url,
|
|
151
|
-
role: "menuitem",
|
|
152
|
-
class: vue.normalizeClass($options.linkClass(item)),
|
|
153
|
-
target: item.target,
|
|
154
|
-
onClick: $event => ($options.onItemClick($event, item)),
|
|
155
|
-
tabindex: $options.disabled(item) ? null : '0'
|
|
156
|
-
}, [
|
|
157
|
-
(!$props.templates['icon'])
|
|
158
|
-
? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
|
|
159
|
-
key: 0,
|
|
160
|
-
class: vue.normalizeClass(['p-dock-action-icon', item.icon])
|
|
161
|
-
}, null, 2)), [
|
|
162
|
-
[_directive_ripple]
|
|
262
|
+
vue.createElementVNode("div", _hoisted_4, [
|
|
263
|
+
(!$props.templates['item'])
|
|
264
|
+
? (vue.openBlock(), vue.createElementBlock(vue.Fragment, { key: 0 }, [
|
|
265
|
+
(processedItem.to && !$options.disabled(processedItem))
|
|
266
|
+
? (vue.openBlock(), vue.createBlock(_component_router_link, {
|
|
267
|
+
key: 0,
|
|
268
|
+
to: processedItem.to,
|
|
269
|
+
custom: ""
|
|
270
|
+
}, {
|
|
271
|
+
default: vue.withCtx(({ navigate, href, isActive, isExactActive }) => [
|
|
272
|
+
vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", {
|
|
273
|
+
href: href,
|
|
274
|
+
class: vue.normalizeClass($options.linkClass({ isActive, isExactActive })),
|
|
275
|
+
target: processedItem.target,
|
|
276
|
+
tabindex: "-1",
|
|
277
|
+
"aria-hidden": "true",
|
|
278
|
+
onClick: $event => ($options.onItemActionClick($event, processedItem, navigate))
|
|
279
|
+
}, [
|
|
280
|
+
(!$props.templates['icon'])
|
|
281
|
+
? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
|
|
282
|
+
key: 0,
|
|
283
|
+
class: vue.normalizeClass(['p-dock-icon', processedItem.icon])
|
|
284
|
+
}, null, 2)), [
|
|
285
|
+
[_directive_ripple]
|
|
286
|
+
])
|
|
287
|
+
: (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates['icon']), {
|
|
288
|
+
key: 1,
|
|
289
|
+
item: processedItem
|
|
290
|
+
}, null, 8, ["item"]))
|
|
291
|
+
], 10, _hoisted_5)), [
|
|
292
|
+
[_directive_tooltip, { value: processedItem.label, disabled: !$props.tooltipOptions }, $props.tooltipOptions]
|
|
163
293
|
])
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
294
|
+
]),
|
|
295
|
+
_: 2
|
|
296
|
+
}, 1032, ["to"]))
|
|
297
|
+
: vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", {
|
|
298
|
+
key: 1,
|
|
299
|
+
href: processedItem.url,
|
|
300
|
+
class: vue.normalizeClass($options.linkClass()),
|
|
301
|
+
target: processedItem.target,
|
|
302
|
+
tabindex: "-1",
|
|
303
|
+
"aria-hidden": "true"
|
|
304
|
+
}, [
|
|
305
|
+
(!$props.templates['icon'])
|
|
306
|
+
? vue.withDirectives((vue.openBlock(), vue.createElementBlock("span", {
|
|
307
|
+
key: 0,
|
|
308
|
+
class: vue.normalizeClass(['p-dock-icon', processedItem.icon])
|
|
309
|
+
}, null, 2)), [
|
|
310
|
+
[_directive_ripple]
|
|
311
|
+
])
|
|
312
|
+
: (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates['icon']), {
|
|
313
|
+
key: 1,
|
|
314
|
+
item: processedItem
|
|
315
|
+
}, null, 8, ["item"]))
|
|
316
|
+
], 10, _hoisted_6)), [
|
|
317
|
+
[_directive_tooltip, { value: processedItem.label, disabled: !$props.tooltipOptions }, $props.tooltipOptions]
|
|
318
|
+
])
|
|
319
|
+
], 64))
|
|
320
|
+
: (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent($props.templates['item']), {
|
|
321
|
+
key: 1,
|
|
322
|
+
item: processedItem,
|
|
323
|
+
index: index
|
|
324
|
+
}, null, 8, ["item", "index"]))
|
|
325
|
+
])
|
|
326
|
+
], 42, _hoisted_3))
|
|
177
327
|
}), 128))
|
|
178
|
-
],
|
|
328
|
+
], 40, _hoisted_2)
|
|
179
329
|
]))
|
|
180
330
|
}
|
|
181
331
|
|
|
@@ -195,6 +345,22 @@ var script = {
|
|
|
195
345
|
exact: {
|
|
196
346
|
type: Boolean,
|
|
197
347
|
default: true
|
|
348
|
+
},
|
|
349
|
+
menuId: {
|
|
350
|
+
type: String,
|
|
351
|
+
default: null
|
|
352
|
+
},
|
|
353
|
+
tabindex: {
|
|
354
|
+
type: Number,
|
|
355
|
+
default: 0
|
|
356
|
+
},
|
|
357
|
+
'aria-label': {
|
|
358
|
+
type: String,
|
|
359
|
+
default: null
|
|
360
|
+
},
|
|
361
|
+
'aria-labelledby': {
|
|
362
|
+
type: String,
|
|
363
|
+
default: null
|
|
198
364
|
}
|
|
199
365
|
},
|
|
200
366
|
computed: {
|
|
@@ -218,8 +384,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
218
384
|
model: $props.model,
|
|
219
385
|
templates: _ctx.$slots,
|
|
220
386
|
exact: $props.exact,
|
|
221
|
-
tooltipOptions: $props.tooltipOptions
|
|
222
|
-
|
|
387
|
+
tooltipOptions: $props.tooltipOptions,
|
|
388
|
+
position: $props.position,
|
|
389
|
+
menuId: $props.menuId,
|
|
390
|
+
"aria-label": _ctx.ariaLabel,
|
|
391
|
+
"aria-labelledby": _ctx.ariaLabelledby,
|
|
392
|
+
tabindex: $props.tabindex
|
|
393
|
+
}, null, 8, ["model", "templates", "exact", "tooltipOptions", "position", "menuId", "aria-label", "aria-labelledby", "tabindex"])
|
|
223
394
|
], 6))
|
|
224
395
|
}
|
|
225
396
|
|
|
@@ -250,7 +421,7 @@ function styleInject(css, ref) {
|
|
|
250
421
|
}
|
|
251
422
|
}
|
|
252
423
|
|
|
253
|
-
var css_248z = "\n.p-dock {\n position: absolute;\n z-index: 1;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n pointer-events: none;\n}\n.p-dock-list-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n pointer-events: auto;\n}\n.p-dock-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-dock-item {\n -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n}\n.p-dock-
|
|
424
|
+
var css_248z = "\n.p-dock {\n position: absolute;\n z-index: 1;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n pointer-events: none;\n}\n.p-dock-list-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n pointer-events: auto;\n}\n.p-dock-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-dock-item {\n -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n}\n.p-dock-link {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n position: relative;\n overflow: hidden;\n cursor: default;\n}\n.p-dock-item-second-prev,\n.p-dock-item-second-next {\n -webkit-transform: scale(1.2);\n transform: scale(1.2);\n}\n.p-dock-item-prev,\n.p-dock-item-next {\n -webkit-transform: scale(1.4);\n transform: scale(1.4);\n}\n.p-dock-item-current {\n -webkit-transform: scale(1.6);\n transform: scale(1.6);\n z-index: 1;\n}\n\n/* Position */\n/* top */\n.p-dock-top {\n left: 0;\n top: 0;\n width: 100%;\n}\n.p-dock-top .p-dock-item {\n -webkit-transform-origin: center top;\n transform-origin: center top;\n}\n\n/* bottom */\n.p-dock-bottom {\n left: 0;\n bottom: 0;\n width: 100%;\n}\n.p-dock-bottom .p-dock-item {\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n}\n\n/* right */\n.p-dock-right {\n right: 0;\n top: 0;\n height: 100%;\n}\n.p-dock-right .p-dock-item {\n -webkit-transform-origin: center right;\n transform-origin: center right;\n}\n.p-dock-right .p-dock-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n/* left */\n.p-dock-left {\n left: 0;\n top: 0;\n height: 100%;\n}\n.p-dock-left .p-dock-item {\n -webkit-transform-origin: center left;\n transform-origin: center left;\n}\n.p-dock-left .p-dock-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n";
|
|
254
425
|
styleInject(css_248z);
|
|
255
426
|
|
|
256
427
|
script.render = render;
|
package/dock/dock.cjs.min.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("primevue/ripple"),t=require("primevue/tooltip"),n=require("vue");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var i=o(e),l=o(t),c={name:"DockSub",props:{model:{type:Array,default:null},templates:{type:null,default:null},exact:{type:Boolean,default:!0},tooltipOptions:null},data:()=>({currentIndex:-3}),methods:{onListMouseLeave(){this.currentIndex=-3},onItemMouseEnter(e){this.currentIndex=e},onItemClick(e,t,n){this.disabled(t)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),t.to&&n&&n(e))},itemClass(e){return["p-dock-item",{"p-dock-item-second-prev":this.currentIndex-2===e,"p-dock-item-prev":this.currentIndex-1===e,"p-dock-item-current":this.currentIndex===e,"p-dock-item-next":this.currentIndex+1===e,"p-dock-item-second-next":this.currentIndex+2===e}]},linkClass(e,t){return["p-dock-action",{"p-disabled":this.disabled(e),"router-link-active":t&&t.isActive,"router-link-active-exact":this.exact&&t&&t.isExactActive}]},disabled:e=>"function"==typeof e.disabled?e.disabled():e.disabled},directives:{ripple:i.default,tooltip:l.default}};const r={class:"p-dock-list-container"},s=["onMouseenter"],a=["href","target","onClick"],p=["href","target","onClick","tabindex"];c.render=function(e,t,o,i,l,c){const d=n.resolveComponent("router-link"),m=n.resolveDirective("ripple"),k=n.resolveDirective("tooltip");return n.openBlock(),n.createElementBlock("div",r,[n.createElementVNode("ul",{ref:"list",class:"p-dock-list",role:"menu",onMouseleave:t[0]||(t[0]=(...e)=>c.onListMouseLeave&&c.onListMouseLeave(...e))},[(n.openBlock(!0),n.createElementBlock(n.Fragment,null,n.renderList(o.model,((e,t)=>(n.openBlock(),n.createElementBlock("li",{key:t,class:n.normalizeClass(c.itemClass(t)),role:"none",onMouseenter:e=>c.onItemMouseEnter(t)},[o.templates.item?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(o.templates.item),{key:1,item:e},null,8,["item"])):(n.openBlock(),n.createElementBlock(n.Fragment,{key:0},[e.to&&!c.disabled(e)?(n.openBlock(),n.createBlock(d,{key:0,to:e.to,custom:""},{default:n.withCtx((({navigate:t,href:i,isActive:l,isExactActive:r})=>[n.withDirectives((n.openBlock(),n.createElementBlock("a",{href:i,role:"menuitem",class:n.normalizeClass(c.linkClass(e,{isActive:l,isExactActive:r})),target:e.target,onClick:n=>c.onItemClick(n,e,t)},[o.templates.icon?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(o.templates.icon),{key:1,item:e},null,8,["item"])):n.withDirectives((n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(["p-dock-action-icon",e.icon])},null,2)),[[m]])],10,a)),[[k,{value:e.label,disabled:!o.tooltipOptions},o.tooltipOptions]])])),_:2},1032,["to"])):n.withDirectives((n.openBlock(),n.createElementBlock("a",{key:1,href:e.url,role:"menuitem",class:n.normalizeClass(c.linkClass(e)),target:e.target,onClick:t=>c.onItemClick(t,e),tabindex:c.disabled(e)?null:"0"},[o.templates.icon?(n.openBlock(),n.createBlock(n.resolveDynamicComponent(o.templates.icon),{key:1,item:e},null,8,["item"])):n.withDirectives((n.openBlock(),n.createElementBlock("span",{key:0,class:n.normalizeClass(["p-dock-action-icon",e.icon])},null,2)),[[m]])],10,p)),[[k,{value:e.label,disabled:!o.tooltipOptions},o.tooltipOptions]])],64))],42,s)))),128))],544)])};var d={name:"Dock",props:{position:{type:String,default:"bottom"},model:null,class:null,style:null,tooltipOptions:null,exact:{type:Boolean,default:!0}},computed:{containerClass(){return["p-dock p-component",`p-dock-${this.position}`,this.class]}},components:{DockSub:c}};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var o=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&o.firstChild?o.insertBefore(i,o.firstChild):o.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-dock {\n position: absolute;\n z-index: 1;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n pointer-events: none;\n}\n.p-dock-list-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n pointer-events: auto;\n}\n.p-dock-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-dock-item {\n -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n}\n.p-dock-action {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n position: relative;\n overflow: hidden;\n cursor: default;\n}\n.p-dock-item-second-prev,\n.p-dock-item-second-next {\n -webkit-transform: scale(1.2);\n transform: scale(1.2);\n}\n.p-dock-item-prev,\n.p-dock-item-next {\n -webkit-transform: scale(1.4);\n transform: scale(1.4);\n}\n.p-dock-item-current {\n -webkit-transform: scale(1.6);\n transform: scale(1.6);\n z-index: 1;\n}\n\n/* Position */\n/* top */\n.p-dock-top {\n left: 0;\n top: 0;\n width: 100%;\n}\n.p-dock-top .p-dock-item {\n -webkit-transform-origin: center top;\n transform-origin: center top;\n}\n\n/* bottom */\n.p-dock-bottom {\n left: 0;\n bottom: 0;\n width: 100%;\n}\n.p-dock-bottom .p-dock-item {\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n}\n\n/* right */\n.p-dock-right {\n right: 0;\n top: 0;\n height: 100%;\n}\n.p-dock-right .p-dock-item {\n -webkit-transform-origin: center right;\n transform-origin: center right;\n}\n.p-dock-right .p-dock-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n/* left */\n.p-dock-left {\n left: 0;\n top: 0;\n height: 100%;\n}\n.p-dock-left .p-dock-item {\n -webkit-transform-origin: center left;\n transform-origin: center left;\n}\n.p-dock-left .p-dock-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n"),d.render=function(e,t,o,i,l,c){const r=n.resolveComponent("DockSub");return n.openBlock(),n.createElementBlock("div",{class:n.normalizeClass(c.containerClass),style:n.normalizeStyle(o.style)},[n.createVNode(r,{model:o.model,templates:e.$slots,exact:o.exact,tooltipOptions:o.tooltipOptions},null,8,["model","templates","exact","tooltipOptions"])],6)},module.exports=d;
|
|
1
|
+
"use strict";var e=require("primevue/ripple"),t=require("primevue/tooltip"),n=require("primevue/utils"),i=require("vue");function o(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=o(e),r=o(t),s={name:"DockSub",emits:["focus","blur"],props:{position:{type:String,default:"bottom"},model:{type:Array,default:null},templates:{type:null,default:null},exact:{type:Boolean,default:!0},tooltipOptions:null,menuId:{type:String,default:null},tabindex:{type:Number,default:0},"aria-label":{type:String,default:null},"aria-labelledby":{type:String,default:null}},data:()=>({currentIndex:-3,focused:!1,focusedOptionIndex:-1}),methods:{getItemId(e){return`${this.id}_${e}`},getItemProp:(e,t)=>e&&e.item?n.ObjectUtils.getItemValue(e.item[t]):void 0,isSameMenuItem:e=>e.currentTarget&&(e.currentTarget.isSameNode(e.target)||e.currentTarget.isSameNode(e.target.closest(".p-menuitem"))),onListMouseLeave(){this.currentIndex=-3},onItemMouseEnter(e){this.currentIndex=e},onItemActionClick(e,t){t&&t(e)},onItemClick(e,t){if(this.isSameMenuItem(e)){const n=this.getItemProp(t,"command");n&&n({originalEvent:e,item:t.item})}},onListFocus(e){this.focused=!0,this.changeFocusedOptionIndex(0),this.$emit("focus",e)},onListBlur(e){this.focused=!1,this.focusedOptionIndex=-1,this.$emit("blur",e)},onListKeyDown(e){switch(e.code){case"ArrowDown":"left"!==this.position&&"right"!==this.position||this.onArrowDownKey(),e.preventDefault();break;case"ArrowUp":"left"!==this.position&&"right"!==this.position||this.onArrowUpKey(),e.preventDefault();break;case"ArrowRight":"top"!==this.position&&"bottom"!==this.position||this.onArrowDownKey(),e.preventDefault();break;case"ArrowLeft":"top"!==this.position&&"bottom"!==this.position||this.onArrowUpKey(),e.preventDefault();break;case"Home":this.onHomeKey(),e.preventDefault();break;case"End":this.onEndKey(),e.preventDefault();break;case"Enter":case"Space":this.onSpaceKey(e),e.preventDefault()}},onArrowDownKey(){const e=this.findNextOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(e)},onArrowUpKey(){const e=this.findPrevOptionIndex(this.focusedOptionIndex);this.changeFocusedOptionIndex(e)},onHomeKey(){this.changeFocusedOptionIndex(0)},onEndKey(){this.changeFocusedOptionIndex(n.DomHandler.find(this.$refs.list,"li.p-dock-item:not(.p-disabled)").length-1)},onSpaceKey(){const e=n.DomHandler.findSingle(this.$refs.list,`li[id="${this.focusedOptionIndex}"]`),t=e&&n.DomHandler.findSingle(e,".p-dock-link");t?t.click():e&&e.click()},findNextOptionIndex(e){const t=[...n.DomHandler.find(this.$refs.list,"li.p-dock-item:not(.p-disabled)")].findIndex((t=>t.id===e));return t>-1?t+1:0},findPrevOptionIndex(e){const t=[...n.DomHandler.find(this.$refs.list,"li.p-dock-item:not(.p-disabled)")].findIndex((t=>t.id===e));return t>-1?t-1:0},changeFocusedOptionIndex(e){const t=n.DomHandler.find(this.$refs.list,"li.p-dock-item:not(.p-disabled)");let i=e>=t.length?t.length-1:e<0?0:e;this.focusedOptionIndex=t[i].getAttribute("id")},itemClass(e,t,n){return["p-dock-item",{"p-focus":n===this.focusedOptionIndex,"p-disabled":this.disabled(e),"p-dock-item-second-prev":this.currentIndex-2===t,"p-dock-item-prev":this.currentIndex-1===t,"p-dock-item-current":this.currentIndex===t,"p-dock-item-next":this.currentIndex+1===t,"p-dock-item-second-next":this.currentIndex+2===t}]},linkClass(e){return["p-dock-link",{"router-link-active":e&&e.isActive,"router-link-active-exact":this.exact&&e&&e.isExactActive}]},disabled:e=>"function"==typeof e.disabled?e.disabled():e.disabled},computed:{id(){return this.menuId||n.UniqueComponentId()},focusedOptionId(){return-1!==this.focusedOptionIndex?this.focusedOptionIndex:null}},directives:{ripple:l.default,tooltip:r.default}};const a={class:"p-dock-list-container"},c=["id","aria-orientation","aria-activedescendant","tabindex","aria-label","aria-labelledby"],d=["id","aria-label","aria-disabled","onClick","onMouseenter"],p={class:"p-menuitem-content"},m=["href","target","onClick"],u=["href","target"];s.render=function(e,t,n,o,l,r){const s=i.resolveComponent("router-link"),k=i.resolveDirective("ripple"),f=i.resolveDirective("tooltip");return i.openBlock(),i.createElementBlock("div",a,[i.createElementVNode("ul",{ref:"list",id:r.id,class:"p-dock-list",role:"menu","aria-orientation":"bottom"===n.position||"top"===n.position?"horizontal":"vertical","aria-activedescendant":l.focused?r.focusedOptionId:void 0,tabindex:n.tabindex,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,onFocus:t[0]||(t[0]=(...e)=>r.onListFocus&&r.onListFocus(...e)),onBlur:t[1]||(t[1]=(...e)=>r.onListBlur&&r.onListBlur(...e)),onKeydown:t[2]||(t[2]=(...e)=>r.onListKeyDown&&r.onListKeyDown(...e)),onMouseleave:t[3]||(t[3]=(...e)=>r.onListMouseLeave&&r.onListMouseLeave(...e))},[(i.openBlock(!0),i.createElementBlock(i.Fragment,null,i.renderList(n.model,((e,t)=>(i.openBlock(),i.createElementBlock("li",{key:t,id:r.getItemId(t),class:i.normalizeClass(r.itemClass(e,t,r.getItemId(t))),role:"menuitem","aria-label":e.label,"aria-disabled":r.disabled(e),onClick:t=>r.onItemClick(t,e),onMouseenter:e=>r.onItemMouseEnter(t)},[i.createElementVNode("div",p,[n.templates.item?(i.openBlock(),i.createBlock(i.resolveDynamicComponent(n.templates.item),{key:1,item:e,index:t},null,8,["item","index"])):(i.openBlock(),i.createElementBlock(i.Fragment,{key:0},[e.to&&!r.disabled(e)?(i.openBlock(),i.createBlock(s,{key:0,to:e.to,custom:""},{default:i.withCtx((({navigate:t,href:o,isActive:l,isExactActive:s})=>[i.withDirectives((i.openBlock(),i.createElementBlock("a",{href:o,class:i.normalizeClass(r.linkClass({isActive:l,isExactActive:s})),target:e.target,tabindex:"-1","aria-hidden":"true",onClick:n=>r.onItemActionClick(n,e,t)},[n.templates.icon?(i.openBlock(),i.createBlock(i.resolveDynamicComponent(n.templates.icon),{key:1,item:e},null,8,["item"])):i.withDirectives((i.openBlock(),i.createElementBlock("span",{key:0,class:i.normalizeClass(["p-dock-icon",e.icon])},null,2)),[[k]])],10,m)),[[f,{value:e.label,disabled:!n.tooltipOptions},n.tooltipOptions]])])),_:2},1032,["to"])):i.withDirectives((i.openBlock(),i.createElementBlock("a",{key:1,href:e.url,class:i.normalizeClass(r.linkClass()),target:e.target,tabindex:"-1","aria-hidden":"true"},[n.templates.icon?(i.openBlock(),i.createBlock(i.resolveDynamicComponent(n.templates.icon),{key:1,item:e},null,8,["item"])):i.withDirectives((i.openBlock(),i.createElementBlock("span",{key:0,class:i.normalizeClass(["p-dock-icon",e.icon])},null,2)),[[k]])],10,u)),[[f,{value:e.label,disabled:!n.tooltipOptions},n.tooltipOptions]])],64))])],42,d)))),128))],40,c)])};var k={name:"Dock",props:{position:{type:String,default:"bottom"},model:null,class:null,style:null,tooltipOptions:null,exact:{type:Boolean,default:!0},menuId:{type:String,default:null},tabindex:{type:Number,default:0},"aria-label":{type:String,default:null},"aria-labelledby":{type:String,default:null}},computed:{containerClass(){return["p-dock p-component",`p-dock-${this.position}`,this.class]}},components:{DockSub:s}};!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],o=document.createElement("style");o.type="text/css","top"===n&&i.firstChild?i.insertBefore(o,i.firstChild):i.appendChild(o),o.styleSheet?o.styleSheet.cssText=e:o.appendChild(document.createTextNode(e))}}("\n.p-dock {\n position: absolute;\n z-index: 1;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n pointer-events: none;\n}\n.p-dock-list-container {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n pointer-events: auto;\n}\n.p-dock-list {\n margin: 0;\n padding: 0;\n list-style: none;\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n}\n.p-dock-item {\n -webkit-transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);\n will-change: transform;\n}\n.p-dock-link {\n display: -webkit-box;\n display: -ms-flexbox;\n display: flex;\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n -webkit-box-align: center;\n -ms-flex-align: center;\n align-items: center;\n -webkit-box-pack: center;\n -ms-flex-pack: center;\n justify-content: center;\n position: relative;\n overflow: hidden;\n cursor: default;\n}\n.p-dock-item-second-prev,\n.p-dock-item-second-next {\n -webkit-transform: scale(1.2);\n transform: scale(1.2);\n}\n.p-dock-item-prev,\n.p-dock-item-next {\n -webkit-transform: scale(1.4);\n transform: scale(1.4);\n}\n.p-dock-item-current {\n -webkit-transform: scale(1.6);\n transform: scale(1.6);\n z-index: 1;\n}\n\n/* Position */\n/* top */\n.p-dock-top {\n left: 0;\n top: 0;\n width: 100%;\n}\n.p-dock-top .p-dock-item {\n -webkit-transform-origin: center top;\n transform-origin: center top;\n}\n\n/* bottom */\n.p-dock-bottom {\n left: 0;\n bottom: 0;\n width: 100%;\n}\n.p-dock-bottom .p-dock-item {\n -webkit-transform-origin: center bottom;\n transform-origin: center bottom;\n}\n\n/* right */\n.p-dock-right {\n right: 0;\n top: 0;\n height: 100%;\n}\n.p-dock-right .p-dock-item {\n -webkit-transform-origin: center right;\n transform-origin: center right;\n}\n.p-dock-right .p-dock-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n\n/* left */\n.p-dock-left {\n left: 0;\n top: 0;\n height: 100%;\n}\n.p-dock-left .p-dock-item {\n -webkit-transform-origin: center left;\n transform-origin: center left;\n}\n.p-dock-left .p-dock-list {\n -webkit-box-orient: vertical;\n -webkit-box-direction: normal;\n -ms-flex-direction: column;\n flex-direction: column;\n}\n"),k.render=function(e,t,n,o,l,r){const s=i.resolveComponent("DockSub");return i.openBlock(),i.createElementBlock("div",{class:i.normalizeClass(r.containerClass),style:i.normalizeStyle(n.style)},[i.createVNode(s,{model:n.model,templates:e.$slots,exact:n.exact,tooltipOptions:n.tooltipOptions,position:n.position,menuId:n.menuId,"aria-label":e.ariaLabel,"aria-labelledby":e.ariaLabelledby,tabindex:n.tabindex},null,8,["model","templates","exact","tooltipOptions","position","menuId","aria-label","aria-labelledby","tabindex"])],6)},module.exports=k;
|