primevue 3.27.0 → 3.28.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/README.md +1 -1
- package/autocomplete/AutoComplete.d.ts +10 -1
- package/autocomplete/AutoComplete.vue +1 -1
- package/autocomplete/autocomplete.cjs.js +4 -1
- package/autocomplete/autocomplete.cjs.min.js +1 -1
- package/autocomplete/autocomplete.esm.js +4 -1
- package/autocomplete/autocomplete.esm.min.js +1 -1
- package/autocomplete/autocomplete.js +4 -1
- package/autocomplete/autocomplete.min.js +1 -1
- package/avatar/Avatar.d.ts +44 -0
- package/avatar/Avatar.vue +10 -8
- package/avatar/avatar.cjs.js +36 -34
- package/avatar/avatar.cjs.min.js +1 -1
- package/avatar/avatar.esm.js +33 -35
- package/avatar/avatar.esm.min.js +1 -1
- package/avatar/avatar.js +37 -36
- package/avatar/avatar.min.js +1 -1
- package/avatargroup/AvatarGroup.d.ts +27 -1
- package/avatargroup/AvatarGroup.vue +5 -2
- package/avatargroup/avatargroup.cjs.js +9 -5
- package/avatargroup/avatargroup.cjs.min.js +1 -1
- package/avatargroup/avatargroup.esm.js +6 -6
- package/avatargroup/avatargroup.esm.min.js +1 -1
- package/avatargroup/avatargroup.js +10 -7
- package/avatargroup/avatargroup.min.js +1 -1
- package/badge/Badge.d.ts +32 -0
- package/badge/Badge.vue +3 -1
- package/badge/badge.cjs.js +8 -4
- package/badge/badge.cjs.min.js +1 -1
- package/badge/badge.esm.js +5 -5
- package/badge/badge.esm.min.js +1 -1
- package/badge/badge.js +9 -6
- package/badge/badge.min.js +1 -1
- package/basecomponent/BaseComponent.vue +10 -3
- package/basecomponent/basecomponent.cjs.js +10 -3
- package/basecomponent/basecomponent.cjs.min.js +1 -1
- package/basecomponent/basecomponent.esm.js +10 -3
- package/basecomponent/basecomponent.esm.min.js +1 -1
- package/basecomponent/basecomponent.js +10 -3
- package/basecomponent/basecomponent.min.js +1 -1
- package/baseicon/BaseIcon.vue +2 -2
- package/baseicon/baseicon.cjs.js +2 -2
- package/baseicon/baseicon.cjs.min.js +1 -1
- package/baseicon/baseicon.esm.js +2 -2
- package/baseicon/baseicon.esm.min.js +1 -1
- package/baseicon/baseicon.js +2 -2
- package/baseicon/baseicon.min.js +1 -1
- package/blockui/BlockUI.d.ts +44 -0
- package/blockui/BlockUI.vue +3 -1
- package/blockui/blockui.cjs.js +9 -3
- package/blockui/blockui.cjs.min.js +1 -1
- package/blockui/blockui.esm.js +6 -4
- package/blockui/blockui.esm.min.js +1 -1
- package/blockui/blockui.js +10 -5
- package/blockui/blockui.min.js +1 -1
- package/breadcrumb/Breadcrumb.d.ts +60 -0
- package/breadcrumb/Breadcrumb.vue +8 -6
- package/breadcrumb/BreadcrumbItem.vue +14 -10
- package/breadcrumb/breadcrumb.cjs.js +53 -51
- package/breadcrumb/breadcrumb.cjs.min.js +1 -1
- package/breadcrumb/breadcrumb.esm.js +53 -52
- package/breadcrumb/breadcrumb.esm.min.js +1 -1
- package/breadcrumb/breadcrumb.js +54 -53
- package/breadcrumb/breadcrumb.min.js +1 -1
- package/button/Button.d.ts +48 -0
- package/button/Button.vue +10 -9
- package/button/button.cjs.js +43 -44
- package/button/button.cjs.min.js +1 -1
- package/button/button.esm.js +43 -45
- package/button/button.esm.min.js +1 -1
- package/button/button.js +44 -46
- package/button/button.min.js +1 -1
- package/chart/Chart.d.ts +36 -0
- package/chart/Chart.vue +5 -2
- package/chart/chart.cjs.js +10 -5
- package/chart/chart.cjs.min.js +1 -1
- package/chart/chart.esm.js +7 -6
- package/chart/chart.esm.min.js +1 -1
- package/chart/chart.js +11 -7
- package/chart/chart.min.js +1 -1
- package/chip/Chip.d.ts +60 -0
- package/chip/Chip.vue +10 -9
- package/chip/chip.cjs.js +35 -36
- package/chip/chip.cjs.min.js +1 -1
- package/chip/chip.esm.js +35 -37
- package/chip/chip.esm.min.js +1 -1
- package/chip/chip.js +36 -38
- package/chip/chip.min.js +1 -1
- package/config/PrimeVue.d.ts +8 -0
- package/config/config.cjs.js +3 -1
- package/config/config.cjs.min.js +1 -1
- package/config/config.esm.js +3 -2
- package/config/config.esm.min.js +1 -1
- package/config/config.js +3 -1
- package/config/config.min.js +1 -1
- package/confirmdialog/ConfirmDialog.d.ts +88 -0
- package/confirmdialog/ConfirmDialog.vue +9 -6
- package/confirmdialog/confirmdialog.cjs.js +22 -18
- package/confirmdialog/confirmdialog.cjs.min.js +1 -1
- package/confirmdialog/confirmdialog.esm.js +22 -19
- package/confirmdialog/confirmdialog.esm.min.js +1 -1
- package/confirmdialog/confirmdialog.js +23 -20
- package/confirmdialog/confirmdialog.min.js +1 -1
- package/confirmpopup/ConfirmPopup.d.ts +75 -0
- package/confirmpopup/ConfirmPopup.vue +11 -9
- package/confirmpopup/confirmpopup.cjs.js +27 -25
- package/confirmpopup/confirmpopup.cjs.min.js +1 -1
- package/confirmpopup/confirmpopup.esm.js +27 -26
- package/confirmpopup/confirmpopup.esm.min.js +1 -1
- package/confirmpopup/confirmpopup.js +28 -27
- package/confirmpopup/confirmpopup.min.js +1 -1
- package/contextmenu/ContextMenu.d.ts +135 -0
- package/contextmenu/ContextMenu.vue +4 -1
- package/contextmenu/ContextMenuSub.vue +46 -10
- package/contextmenu/contextmenu.cjs.js +57 -46
- package/contextmenu/contextmenu.cjs.min.js +1 -1
- package/contextmenu/contextmenu.esm.js +57 -47
- package/contextmenu/contextmenu.esm.min.js +1 -1
- package/contextmenu/contextmenu.js +58 -48
- package/contextmenu/contextmenu.min.js +1 -1
- package/core/core.js +278 -246
- package/core/core.min.js +11 -11
- package/dialog/Dialog.d.ts +87 -0
- package/dialog/Dialog.vue +23 -10
- package/dialog/dialog.cjs.js +31 -30
- package/dialog/dialog.cjs.min.js +1 -1
- package/dialog/dialog.esm.js +31 -31
- package/dialog/dialog.esm.min.js +1 -1
- package/dialog/dialog.js +32 -32
- package/dialog/dialog.min.js +1 -1
- package/dock/Dock.d.ts +94 -0
- package/dock/Dock.vue +4 -2
- package/dock/DockSub.vue +30 -6
- package/dock/dock.cjs.js +52 -39
- package/dock/dock.cjs.min.js +1 -1
- package/dock/dock.esm.js +52 -40
- package/dock/dock.esm.min.js +1 -1
- package/dock/dock.js +53 -41
- package/dock/dock.min.js +1 -1
- package/dropdown/Dropdown.vue +1 -1
- package/dropdown/dropdown.cjs.js +1 -1
- package/dropdown/dropdown.cjs.min.js +1 -1
- package/dropdown/dropdown.esm.js +1 -1
- package/dropdown/dropdown.esm.min.js +1 -1
- package/dropdown/dropdown.js +1 -1
- package/dropdown/dropdown.min.js +1 -1
- package/dynamicdialog/DynamicDialog.vue +3 -1
- package/dynamicdialog/dynamicdialog.cjs.js +5 -1
- package/dynamicdialog/dynamicdialog.cjs.min.js +1 -1
- package/dynamicdialog/dynamicdialog.esm.js +4 -1
- package/dynamicdialog/dynamicdialog.esm.min.js +1 -1
- package/dynamicdialog/dynamicdialog.js +6 -3
- package/dynamicdialog/dynamicdialog.min.js +1 -1
- package/fileupload/FileContent.vue +11 -9
- package/fileupload/FileUpload.d.ts +154 -0
- package/fileupload/FileUpload.vue +26 -24
- package/fileupload/fileupload.cjs.js +100 -97
- package/fileupload/fileupload.cjs.min.js +1 -1
- package/fileupload/fileupload.esm.js +100 -98
- package/fileupload/fileupload.esm.min.js +1 -1
- package/fileupload/fileupload.js +101 -99
- package/fileupload/fileupload.min.js +1 -1
- package/inlinemessage/InlineMessage.d.ts +52 -0
- package/inlinemessage/InlineMessage.vue +7 -3
- package/inlinemessage/inlinemessage.cjs.js +12 -11
- package/inlinemessage/inlinemessage.cjs.min.js +1 -1
- package/inlinemessage/inlinemessage.esm.js +12 -12
- package/inlinemessage/inlinemessage.esm.min.js +1 -1
- package/inlinemessage/inlinemessage.js +13 -13
- package/inlinemessage/inlinemessage.min.js +1 -1
- package/inplace/Inplace.d.ts +59 -0
- package/inplace/Inplace.vue +7 -5
- package/inplace/inplace.cjs.js +17 -16
- package/inplace/inplace.cjs.min.js +1 -1
- package/inplace/inplace.esm.js +17 -17
- package/inplace/inplace.esm.min.js +1 -1
- package/inplace/inplace.js +18 -18
- package/inplace/inplace.min.js +1 -1
- package/listbox/Listbox.d.ts +1 -1
- package/megamenu/MegaMenu.d.ts +149 -0
- package/megamenu/MegaMenu.vue +6 -3
- package/megamenu/MegaMenuSub.vue +43 -15
- package/megamenu/megamenu.cjs.js +83 -75
- package/megamenu/megamenu.cjs.min.js +1 -1
- package/megamenu/megamenu.esm.js +83 -76
- package/megamenu/megamenu.esm.min.js +1 -1
- package/megamenu/megamenu.js +84 -77
- package/megamenu/megamenu.min.js +1 -1
- package/menu/Menu.d.ts +113 -0
- package/menu/Menu.vue +11 -8
- package/menu/Menuitem.vue +20 -8
- package/menu/menu.cjs.js +73 -62
- package/menu/menu.cjs.min.js +1 -1
- package/menu/menu.esm.js +73 -63
- package/menu/menu.esm.min.js +1 -1
- package/menu/menu.js +74 -64
- package/menu/menu.min.js +1 -1
- package/menubar/Menubar.d.ts +146 -0
- package/menubar/Menubar.vue +8 -5
- package/menubar/MenubarSub.vue +38 -10
- package/menubar/menubar.cjs.js +70 -60
- package/menubar/menubar.cjs.min.js +1 -1
- package/menubar/menubar.esm.js +70 -61
- package/menubar/menubar.esm.min.js +1 -1
- package/menubar/menubar.js +71 -62
- package/menubar/menubar.min.js +1 -1
- package/message/Message.d.ts +64 -1
- package/message/Message.vue +9 -7
- package/message/message.cjs.js +22 -21
- package/message/message.cjs.min.js +1 -1
- package/message/message.esm.js +22 -22
- package/message/message.esm.min.js +1 -1
- package/message/message.js +23 -23
- package/message/message.min.js +1 -1
- package/multiselect/MultiSelect.d.ts +1 -1
- package/overlaypanel/OverlayPanel.d.ts +56 -0
- package/overlaypanel/OverlayPanel.vue +6 -4
- package/overlaypanel/overlaypanel.cjs.js +13 -10
- package/overlaypanel/overlaypanel.cjs.min.js +1 -1
- package/overlaypanel/overlaypanel.esm.js +13 -11
- package/overlaypanel/overlaypanel.esm.min.js +1 -1
- package/overlaypanel/overlaypanel.js +14 -12
- package/overlaypanel/overlaypanel.min.js +1 -1
- package/package.json +1 -1
- package/panel/Panel.d.ts +10 -1
- package/panel/Panel.vue +1 -1
- package/panel/panel.cjs.js +4 -1
- package/panel/panel.cjs.min.js +1 -1
- package/panel/panel.esm.js +4 -1
- package/panel/panel.esm.min.js +1 -1
- package/panel/panel.js +4 -1
- package/panel/panel.min.js +1 -1
- package/panelmenu/PanelMenu.d.ts +133 -0
- package/panelmenu/PanelMenu.vue +36 -13
- package/panelmenu/PanelMenuList.vue +3 -0
- package/panelmenu/PanelMenuSub.vue +33 -12
- package/panelmenu/panelmenu.cjs.js +115 -96
- package/panelmenu/panelmenu.cjs.min.js +1 -1
- package/panelmenu/panelmenu.esm.js +115 -97
- package/panelmenu/panelmenu.esm.min.js +1 -1
- package/panelmenu/panelmenu.js +116 -98
- package/panelmenu/panelmenu.min.js +1 -1
- package/password/Password.vue +2 -2
- package/password/password.cjs.js +2 -2
- package/password/password.cjs.min.js +1 -1
- package/password/password.esm.js +2 -2
- package/password/password.esm.min.js +1 -1
- package/password/password.js +2 -2
- package/password/password.min.js +1 -1
- package/progressbar/ProgressBar.d.ts +40 -0
- package/progressbar/ProgressBar.vue +8 -5
- package/progressbar/progressbar.cjs.js +25 -23
- package/progressbar/progressbar.cjs.min.js +1 -1
- package/progressbar/progressbar.esm.js +22 -24
- package/progressbar/progressbar.esm.min.js +1 -1
- package/progressbar/progressbar.js +26 -25
- package/progressbar/progressbar.min.js +1 -1
- package/progressspinner/ProgressSpinner.d.ts +40 -0
- package/progressspinner/ProgressSpinner.vue +6 -3
- package/progressspinner/progressspinner.cjs.js +18 -13
- package/progressspinner/progressspinner.cjs.min.js +1 -1
- package/progressspinner/progressspinner.esm.js +15 -14
- package/progressspinner/progressspinner.esm.min.js +1 -1
- package/progressspinner/progressspinner.js +19 -15
- package/progressspinner/progressspinner.min.js +1 -1
- package/resources/themes/arya-blue/theme.css +1 -1
- package/resources/themes/arya-green/theme.css +1 -1
- package/resources/themes/arya-orange/theme.css +1 -1
- package/resources/themes/arya-purple/theme.css +1 -1
- package/resources/themes/bootstrap4-dark-blue/theme.css +1 -1
- package/resources/themes/bootstrap4-dark-purple/theme.css +1 -1
- package/resources/themes/bootstrap4-light-blue/theme.css +1 -1
- package/resources/themes/bootstrap4-light-purple/theme.css +1 -1
- package/resources/themes/fluent-light/theme.css +1 -1
- package/resources/themes/lara-dark-blue/theme.css +1 -1
- package/resources/themes/lara-dark-indigo/theme.css +1 -1
- package/resources/themes/lara-dark-purple/theme.css +1 -1
- package/resources/themes/lara-dark-teal/theme.css +1 -1
- package/resources/themes/lara-light-blue/theme.css +1 -1
- package/resources/themes/lara-light-indigo/theme.css +1 -1
- package/resources/themes/lara-light-purple/theme.css +1 -1
- package/resources/themes/lara-light-teal/theme.css +1 -1
- package/resources/themes/luna-amber/theme.css +1 -1
- package/resources/themes/luna-blue/theme.css +1 -1
- package/resources/themes/luna-green/theme.css +1 -1
- package/resources/themes/luna-pink/theme.css +1 -1
- package/resources/themes/md-dark-deeppurple/theme.css +4 -1
- package/resources/themes/md-dark-indigo/theme.css +4 -1
- package/resources/themes/md-light-deeppurple/theme.css +4 -1
- package/resources/themes/md-light-indigo/theme.css +4 -1
- package/resources/themes/mdc-dark-deeppurple/theme.css +4 -1
- package/resources/themes/mdc-dark-indigo/theme.css +4 -1
- package/resources/themes/mdc-light-deeppurple/theme.css +4 -1
- package/resources/themes/mdc-light-indigo/theme.css +4 -1
- package/resources/themes/mira/theme.css +1 -1
- package/resources/themes/nano/theme.css +1 -1
- package/resources/themes/nova/theme.css +1 -1
- package/resources/themes/nova-accent/theme.css +1 -1
- package/resources/themes/nova-alt/theme.css +1 -1
- package/resources/themes/nova-vue/theme.css +1 -1
- package/resources/themes/rhea/theme.css +1 -1
- package/resources/themes/saga-blue/theme.css +1 -1
- package/resources/themes/saga-green/theme.css +1 -1
- package/resources/themes/saga-orange/theme.css +1 -1
- package/resources/themes/saga-purple/theme.css +1 -1
- package/resources/themes/soho-dark/theme.css +1 -1
- package/resources/themes/soho-light/theme.css +1 -1
- package/resources/themes/tailwind-light/theme.css +1 -1
- package/resources/themes/vela-blue/theme.css +1 -1
- package/resources/themes/vela-green/theme.css +1 -1
- package/resources/themes/vela-orange/theme.css +1 -1
- package/resources/themes/vela-purple/theme.css +1 -1
- package/resources/themes/viva-dark/theme.css +1 -1
- package/resources/themes/viva-light/theme.css +1 -1
- package/scrolltop/ScrollTop.d.ts +48 -0
- package/scrolltop/ScrollTop.vue +5 -2
- package/scrolltop/scrolltop.cjs.js +10 -7
- package/scrolltop/scrolltop.cjs.min.js +1 -1
- package/scrolltop/scrolltop.esm.js +10 -8
- package/scrolltop/scrolltop.esm.min.js +1 -1
- package/scrolltop/scrolltop.js +11 -9
- package/scrolltop/scrolltop.min.js +1 -1
- package/sidebar/Sidebar.d.ts +68 -0
- package/sidebar/Sidebar.vue +9 -7
- package/sidebar/sidebar.cjs.js +26 -24
- package/sidebar/sidebar.cjs.min.js +1 -1
- package/sidebar/sidebar.esm.js +26 -25
- package/sidebar/sidebar.esm.min.js +1 -1
- package/sidebar/sidebar.js +27 -26
- package/sidebar/sidebar.min.js +1 -1
- package/skeleton/Skeleton.d.ts +32 -0
- package/skeleton/Skeleton.vue +4 -1
- package/skeleton/skeleton.cjs.js +10 -4
- package/skeleton/skeleton.cjs.min.js +1 -1
- package/skeleton/skeleton.esm.js +7 -5
- package/skeleton/skeleton.esm.min.js +1 -1
- package/skeleton/skeleton.js +11 -6
- package/skeleton/skeleton.min.js +1 -1
- package/speeddial/SpeedDial.d.ts +101 -0
- package/speeddial/SpeedDial.vue +31 -8
- package/speeddial/speeddial.cjs.js +47 -33
- package/speeddial/speeddial.cjs.min.js +1 -1
- package/speeddial/speeddial.esm.js +47 -34
- package/speeddial/speeddial.esm.min.js +1 -1
- package/speeddial/speeddial.js +48 -35
- package/speeddial/speeddial.min.js +1 -1
- package/splitbutton/SplitButton.d.ts +64 -0
- package/splitbutton/SplitButton.vue +8 -5
- package/splitbutton/splitbutton.cjs.js +23 -18
- package/splitbutton/splitbutton.cjs.min.js +1 -1
- package/splitbutton/splitbutton.esm.js +23 -19
- package/splitbutton/splitbutton.esm.min.js +1 -1
- package/splitbutton/splitbutton.js +24 -20
- package/splitbutton/splitbutton.min.js +1 -1
- package/steps/Steps.d.ts +52 -0
- package/steps/Steps.vue +11 -8
- package/steps/steps.cjs.js +34 -33
- package/steps/steps.cjs.min.js +1 -1
- package/steps/steps.esm.js +31 -34
- package/steps/steps.esm.min.js +1 -1
- package/steps/steps.js +35 -35
- package/steps/steps.min.js +1 -1
- package/tabmenu/TabMenu.d.ts +79 -0
- package/tabmenu/TabMenu.vue +20 -10
- package/tabmenu/tabmenu.cjs.js +47 -41
- package/tabmenu/tabmenu.cjs.min.js +1 -1
- package/tabmenu/tabmenu.esm.js +47 -42
- package/tabmenu/tabmenu.esm.min.js +1 -1
- package/tabmenu/tabmenu.js +48 -43
- package/tabmenu/tabmenu.min.js +1 -1
- package/tag/Tag.d.ts +40 -0
- package/tag/Tag.vue +7 -4
- package/tag/tag.cjs.js +14 -12
- package/tag/tag.cjs.min.js +1 -1
- package/tag/tag.esm.js +11 -13
- package/tag/tag.esm.min.js +1 -1
- package/tag/tag.js +15 -14
- package/tag/tag.min.js +1 -1
- package/terminal/Terminal.d.ts +79 -0
- package/terminal/Terminal.vue +12 -10
- package/terminal/terminal.cjs.js +23 -28
- package/terminal/terminal.cjs.min.js +1 -1
- package/terminal/terminal.esm.js +23 -29
- package/terminal/terminal.esm.min.js +1 -1
- package/terminal/terminal.js +24 -30
- package/terminal/terminal.min.js +1 -1
- package/tieredmenu/TieredMenu.d.ts +130 -0
- package/tieredmenu/TieredMenu.vue +4 -1
- package/tieredmenu/TieredMenuSub.vue +39 -11
- package/tieredmenu/tieredmenu.cjs.js +53 -41
- package/tieredmenu/tieredmenu.cjs.min.js +1 -1
- package/tieredmenu/tieredmenu.esm.js +53 -42
- package/tieredmenu/tieredmenu.esm.min.js +1 -1
- package/tieredmenu/tieredmenu.js +54 -43
- package/tieredmenu/tieredmenu.min.js +1 -1
- package/toast/Toast.d.ts +79 -0
- package/toast/Toast.vue +4 -1
- package/toast/ToastMessage.vue +12 -10
- package/toast/toast.cjs.js +31 -31
- package/toast/toast.cjs.min.js +1 -1
- package/toast/toast.esm.js +31 -32
- package/toast/toast.esm.min.js +1 -1
- package/toast/toast.js +32 -33
- package/toast/toast.min.js +1 -1
- package/treeselect/TreeSelect.d.ts +1 -2
- package/vetur-attributes.json +160 -0
- package/vetur-tags.json +79 -34
- package/web-types.json +404 -2
package/tabmenu/TabMenu.vue
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="p-tabmenu p-component">
|
|
3
|
-
<ul ref="nav" class="p-tabmenu-nav p-reset" role="menubar" :aria-labelledby="ariaLabelledby" :aria-label="ariaLabel">
|
|
2
|
+
<div class="p-tabmenu p-component" v-bind="ptm('root')">
|
|
3
|
+
<ul ref="nav" class="p-tabmenu-nav p-reset" role="menubar" :aria-labelledby="ariaLabelledby" :aria-label="ariaLabel" v-bind="ptm('menu')">
|
|
4
4
|
<template v-for="(item, i) of model" :key="label(item) + '_' + i.toString()">
|
|
5
5
|
<router-link v-if="item.to && !disabled(item)" v-slot="{ navigate, href, isActive, isExactActive }" :to="item.to" custom>
|
|
6
|
-
<li v-if="visible(item)" ref="tab" :class="getRouteItemClass(item, isActive, isExactActive)" :style="item.style" role="presentation">
|
|
6
|
+
<li v-if="visible(item)" ref="tab" :class="getRouteItemClass(item, isActive, isExactActive)" :style="item.style" role="presentation" v-bind="getPTOptions('menuitem', i)">
|
|
7
7
|
<template v-if="!$slots.item">
|
|
8
8
|
<a
|
|
9
9
|
ref="tabLink"
|
|
@@ -16,37 +16,40 @@
|
|
|
16
16
|
:tabindex="isExactActive ? '0' : '-1'"
|
|
17
17
|
@click="onItemClick($event, item, i, navigate)"
|
|
18
18
|
@keydown="onKeydownItem($event, item, i, navigate)"
|
|
19
|
+
v-bind="getPTOptions('action', i)"
|
|
19
20
|
>
|
|
20
21
|
<component v-if="$slots.itemicon" :is="$slots.itemicon" :item="item" :class="getItemIcon(item)" />
|
|
21
|
-
<span v-else-if="item.icon" :class="getItemIcon(item)" />
|
|
22
|
-
<span class="p-menuitem-text">{{ label(item) }}</span>
|
|
22
|
+
<span v-else-if="item.icon" :class="getItemIcon(item)" v-bind="getPTOptions('icon', i)" />
|
|
23
|
+
<span class="p-menuitem-text" v-bind="getPTOptions('label', i)">{{ label(item) }}</span>
|
|
23
24
|
</a>
|
|
24
25
|
</template>
|
|
25
26
|
<component v-else :is="$slots.item" :item="item" :index="i"></component>
|
|
26
27
|
</li>
|
|
27
28
|
</router-link>
|
|
28
|
-
<li v-else-if="visible(item)" ref="tab" :class="getItemClass(item, i)" role="presentation" @click="onItemClick($event, item, i)" @keydown="onKeydownItem($event, item, i)">
|
|
29
|
+
<li v-else-if="visible(item)" ref="tab" :class="getItemClass(item, i)" role="presentation" @click="onItemClick($event, item, i)" @keydown="onKeydownItem($event, item, i)" v-bind="getPTOptions('menuitem', i)">
|
|
29
30
|
<template v-if="!$slots.item">
|
|
30
|
-
<a ref="tabLink" v-ripple role="menuitem" :href="item.url" class="p-menuitem-link" :target="item.target" :aria-label="label(item)" :aria-disabled="disabled(item)" :tabindex="setTabIndex(i)">
|
|
31
|
+
<a ref="tabLink" v-ripple role="menuitem" :href="item.url" class="p-menuitem-link" :target="item.target" :aria-label="label(item)" :aria-disabled="disabled(item)" :tabindex="setTabIndex(i)" v-bind="getPTOptions('action', i)">
|
|
31
32
|
<component v-if="$slots.itemicon" :is="$slots.itemicon" :item="item" :class="getItemIcon(item)" />
|
|
32
|
-
<span v-else-if="item.icon" :class="getItemIcon(item)" />
|
|
33
|
-
<span class="p-menuitem-text">{{ label(item) }}</span>
|
|
33
|
+
<span v-else-if="item.icon" :class="getItemIcon(item)" v-bind="getPTOptions('icon', i)" />
|
|
34
|
+
<span class="p-menuitem-text" v-bind="getPTOptions('label', i)">{{ label(item) }}</span>
|
|
34
35
|
</a>
|
|
35
36
|
</template>
|
|
36
37
|
<component v-else :is="$slots.item" :item="item" :index="i"></component>
|
|
37
38
|
</li>
|
|
38
39
|
</template>
|
|
39
|
-
<li ref="inkbar" role="none" class="p-tabmenu-ink-bar"></li>
|
|
40
|
+
<li ref="inkbar" role="none" class="p-tabmenu-ink-bar" v-bind="ptm('inkbar')"></li>
|
|
40
41
|
</ul>
|
|
41
42
|
</div>
|
|
42
43
|
</template>
|
|
43
44
|
|
|
44
45
|
<script>
|
|
46
|
+
import BaseComponent from 'primevue/basecomponent';
|
|
45
47
|
import Ripple from 'primevue/ripple';
|
|
46
48
|
import { DomHandler } from 'primevue/utils';
|
|
47
49
|
|
|
48
50
|
export default {
|
|
49
51
|
name: 'TabMenu',
|
|
52
|
+
extends: BaseComponent,
|
|
50
53
|
emits: ['update:activeIndex', 'tab-change'],
|
|
51
54
|
props: {
|
|
52
55
|
model: {
|
|
@@ -94,6 +97,13 @@ export default {
|
|
|
94
97
|
clearTimeout(this.timeout);
|
|
95
98
|
},
|
|
96
99
|
methods: {
|
|
100
|
+
getPTOptions(key, index) {
|
|
101
|
+
return this.ptm(key, {
|
|
102
|
+
context: {
|
|
103
|
+
order: index
|
|
104
|
+
}
|
|
105
|
+
});
|
|
106
|
+
},
|
|
97
107
|
onItemClick(event, item, index, navigate) {
|
|
98
108
|
if (this.disabled(item)) {
|
|
99
109
|
event.preventDefault();
|
package/tabmenu/tabmenu.cjs.js
CHANGED
|
@@ -1,15 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var BaseComponent = require('primevue/basecomponent');
|
|
3
4
|
var Ripple = require('primevue/ripple');
|
|
4
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 }; }
|
|
8
9
|
|
|
10
|
+
var BaseComponent__default = /*#__PURE__*/_interopDefaultLegacy(BaseComponent);
|
|
9
11
|
var Ripple__default = /*#__PURE__*/_interopDefaultLegacy(Ripple);
|
|
10
12
|
|
|
11
13
|
var script = {
|
|
12
14
|
name: 'TabMenu',
|
|
15
|
+
extends: BaseComponent__default["default"],
|
|
13
16
|
emits: ['update:activeIndex', 'tab-change'],
|
|
14
17
|
props: {
|
|
15
18
|
model: {
|
|
@@ -57,6 +60,13 @@ var script = {
|
|
|
57
60
|
clearTimeout(this.timeout);
|
|
58
61
|
},
|
|
59
62
|
methods: {
|
|
63
|
+
getPTOptions(key, index) {
|
|
64
|
+
return this.ptm(key, {
|
|
65
|
+
context: {
|
|
66
|
+
order: index
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
},
|
|
60
70
|
onItemClick(event, item, index, navigate) {
|
|
61
71
|
if (this.disabled(item)) {
|
|
62
72
|
event.preventDefault();
|
|
@@ -237,31 +247,23 @@ var script = {
|
|
|
237
247
|
}
|
|
238
248
|
};
|
|
239
249
|
|
|
240
|
-
const _hoisted_1 =
|
|
241
|
-
const _hoisted_2 = ["aria-
|
|
242
|
-
const _hoisted_3 = ["
|
|
243
|
-
const _hoisted_4 =
|
|
244
|
-
const _hoisted_5 = ["onClick", "onKeydown"];
|
|
245
|
-
const _hoisted_6 = ["href", "target", "aria-label", "aria-disabled", "tabindex"];
|
|
246
|
-
const _hoisted_7 = { class: "p-menuitem-text" };
|
|
247
|
-
const _hoisted_8 = {
|
|
248
|
-
ref: "inkbar",
|
|
249
|
-
role: "none",
|
|
250
|
-
class: "p-tabmenu-ink-bar"
|
|
251
|
-
};
|
|
250
|
+
const _hoisted_1 = ["aria-labelledby", "aria-label"];
|
|
251
|
+
const _hoisted_2 = ["href", "aria-label", "aria-disabled", "tabindex", "onClick", "onKeydown"];
|
|
252
|
+
const _hoisted_3 = ["onClick", "onKeydown"];
|
|
253
|
+
const _hoisted_4 = ["href", "target", "aria-label", "aria-disabled", "tabindex"];
|
|
252
254
|
|
|
253
255
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
254
256
|
const _component_router_link = vue.resolveComponent("router-link");
|
|
255
257
|
const _directive_ripple = vue.resolveDirective("ripple");
|
|
256
258
|
|
|
257
|
-
return (vue.openBlock(), vue.createElementBlock("div",
|
|
258
|
-
vue.createElementVNode("ul", {
|
|
259
|
+
return (vue.openBlock(), vue.createElementBlock("div", vue.mergeProps({ class: "p-tabmenu p-component" }, _ctx.ptm('root')), [
|
|
260
|
+
vue.createElementVNode("ul", vue.mergeProps({
|
|
259
261
|
ref: "nav",
|
|
260
262
|
class: "p-tabmenu-nav p-reset",
|
|
261
263
|
role: "menubar",
|
|
262
264
|
"aria-labelledby": _ctx.ariaLabelledby,
|
|
263
265
|
"aria-label": _ctx.ariaLabel
|
|
264
|
-
}, [
|
|
266
|
+
}, _ctx.ptm('menu')), [
|
|
265
267
|
(vue.openBlock(true), vue.createElementBlock(vue.Fragment, null, vue.renderList($props.model, (item, i) => {
|
|
266
268
|
return (vue.openBlock(), vue.createElementBlock(vue.Fragment, {
|
|
267
269
|
key: $options.label(item) + '_' + i.toString()
|
|
@@ -274,16 +276,16 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
274
276
|
}, {
|
|
275
277
|
default: vue.withCtx(({ navigate, href, isActive, isExactActive }) => [
|
|
276
278
|
($options.visible(item))
|
|
277
|
-
? (vue.openBlock(), vue.createElementBlock("li", {
|
|
279
|
+
? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
|
|
278
280
|
key: 0,
|
|
279
281
|
ref_for: true,
|
|
280
282
|
ref: "tab",
|
|
281
|
-
class:
|
|
282
|
-
style:
|
|
283
|
+
class: $options.getRouteItemClass(item, isActive, isExactActive),
|
|
284
|
+
style: item.style,
|
|
283
285
|
role: "presentation"
|
|
284
|
-
}, [
|
|
286
|
+
}, $options.getPTOptions('menuitem', i)), [
|
|
285
287
|
(!_ctx.$slots.item)
|
|
286
|
-
? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", {
|
|
288
|
+
? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", vue.mergeProps({
|
|
287
289
|
key: 0,
|
|
288
290
|
ref_for: true,
|
|
289
291
|
ref: "tabLink",
|
|
@@ -295,7 +297,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
295
297
|
tabindex: isExactActive ? '0' : '-1',
|
|
296
298
|
onClick: $event => ($options.onItemClick($event, item, i, navigate)),
|
|
297
299
|
onKeydown: $event => ($options.onKeydownItem($event, item, i, navigate))
|
|
298
|
-
}, [
|
|
300
|
+
}, $options.getPTOptions('action', i)), [
|
|
299
301
|
(_ctx.$slots.itemicon)
|
|
300
302
|
? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.itemicon), {
|
|
301
303
|
key: 0,
|
|
@@ -303,13 +305,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
303
305
|
class: vue.normalizeClass($options.getItemIcon(item))
|
|
304
306
|
}, null, 8, ["item", "class"]))
|
|
305
307
|
: (item.icon)
|
|
306
|
-
? (vue.openBlock(), vue.createElementBlock("span", {
|
|
308
|
+
? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
|
|
307
309
|
key: 1,
|
|
308
|
-
class:
|
|
309
|
-
}, null,
|
|
310
|
+
class: $options.getItemIcon(item)
|
|
311
|
+
}, $options.getPTOptions('icon', i)), null, 16))
|
|
310
312
|
: vue.createCommentVNode("", true),
|
|
311
|
-
vue.createElementVNode("span",
|
|
312
|
-
],
|
|
313
|
+
vue.createElementVNode("span", vue.mergeProps({ class: "p-menuitem-text" }, $options.getPTOptions('label', i)), vue.toDisplayString($options.label(item)), 17)
|
|
314
|
+
], 16, _hoisted_2)), [
|
|
313
315
|
[_directive_ripple]
|
|
314
316
|
])
|
|
315
317
|
: (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.item), {
|
|
@@ -317,23 +319,23 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
317
319
|
item: item,
|
|
318
320
|
index: i
|
|
319
321
|
}, null, 8, ["item", "index"]))
|
|
320
|
-
],
|
|
322
|
+
], 16))
|
|
321
323
|
: vue.createCommentVNode("", true)
|
|
322
324
|
]),
|
|
323
325
|
_: 2
|
|
324
326
|
}, 1032, ["to"]))
|
|
325
327
|
: ($options.visible(item))
|
|
326
|
-
? (vue.openBlock(), vue.createElementBlock("li", {
|
|
328
|
+
? (vue.openBlock(), vue.createElementBlock("li", vue.mergeProps({
|
|
327
329
|
key: 1,
|
|
328
330
|
ref_for: true,
|
|
329
331
|
ref: "tab",
|
|
330
|
-
class:
|
|
332
|
+
class: $options.getItemClass(item, i),
|
|
331
333
|
role: "presentation",
|
|
332
334
|
onClick: $event => ($options.onItemClick($event, item, i)),
|
|
333
335
|
onKeydown: $event => ($options.onKeydownItem($event, item, i))
|
|
334
|
-
}, [
|
|
336
|
+
}, $options.getPTOptions('menuitem', i)), [
|
|
335
337
|
(!_ctx.$slots.item)
|
|
336
|
-
? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", {
|
|
338
|
+
? vue.withDirectives((vue.openBlock(), vue.createElementBlock("a", vue.mergeProps({
|
|
337
339
|
key: 0,
|
|
338
340
|
ref_for: true,
|
|
339
341
|
ref: "tabLink",
|
|
@@ -344,7 +346,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
344
346
|
"aria-label": $options.label(item),
|
|
345
347
|
"aria-disabled": $options.disabled(item),
|
|
346
348
|
tabindex: $options.setTabIndex(i)
|
|
347
|
-
}, [
|
|
349
|
+
}, $options.getPTOptions('action', i)), [
|
|
348
350
|
(_ctx.$slots.itemicon)
|
|
349
351
|
? (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.itemicon), {
|
|
350
352
|
key: 0,
|
|
@@ -352,13 +354,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
352
354
|
class: vue.normalizeClass($options.getItemIcon(item))
|
|
353
355
|
}, null, 8, ["item", "class"]))
|
|
354
356
|
: (item.icon)
|
|
355
|
-
? (vue.openBlock(), vue.createElementBlock("span", {
|
|
357
|
+
? (vue.openBlock(), vue.createElementBlock("span", vue.mergeProps({
|
|
356
358
|
key: 1,
|
|
357
|
-
class:
|
|
358
|
-
}, null,
|
|
359
|
+
class: $options.getItemIcon(item)
|
|
360
|
+
}, $options.getPTOptions('icon', i)), null, 16))
|
|
359
361
|
: vue.createCommentVNode("", true),
|
|
360
|
-
vue.createElementVNode("span",
|
|
361
|
-
],
|
|
362
|
+
vue.createElementVNode("span", vue.mergeProps({ class: "p-menuitem-text" }, $options.getPTOptions('label', i)), vue.toDisplayString($options.label(item)), 17)
|
|
363
|
+
], 16, _hoisted_4)), [
|
|
362
364
|
[_directive_ripple]
|
|
363
365
|
])
|
|
364
366
|
: (vue.openBlock(), vue.createBlock(vue.resolveDynamicComponent(_ctx.$slots.item), {
|
|
@@ -366,13 +368,17 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
366
368
|
item: item,
|
|
367
369
|
index: i
|
|
368
370
|
}, null, 8, ["item", "index"]))
|
|
369
|
-
],
|
|
371
|
+
], 16, _hoisted_3))
|
|
370
372
|
: vue.createCommentVNode("", true)
|
|
371
373
|
], 64))
|
|
372
374
|
}), 128)),
|
|
373
|
-
vue.createElementVNode("li",
|
|
374
|
-
|
|
375
|
-
|
|
375
|
+
vue.createElementVNode("li", vue.mergeProps({
|
|
376
|
+
ref: "inkbar",
|
|
377
|
+
role: "none",
|
|
378
|
+
class: "p-tabmenu-ink-bar"
|
|
379
|
+
}, _ctx.ptm('inkbar')), null, 16)
|
|
380
|
+
], 16, _hoisted_1)
|
|
381
|
+
], 16))
|
|
376
382
|
}
|
|
377
383
|
|
|
378
384
|
function styleInject(css, ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";var e=require("primevue/
|
|
1
|
+
"use strict";var e=require("primevue/basecomponent"),t=require("primevue/ripple"),n=require("primevue/utils"),a=require("vue");function i(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var l=i(e),o=i(t),r={name:"TabMenu",extends:l.default,emits:["update:activeIndex","tab-change"],props:{model:{type:Array,default:null},exact:{type:Boolean,default:!0},activeIndex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},timeout:null,data(){return{d_activeIndex:this.activeIndex}},watch:{$route(){this.timeout=setTimeout((()=>this.updateInkBar()),50)},activeIndex(e){this.d_activeIndex=e}},mounted(){this.updateInkBar()},updated(){this.updateInkBar()},beforeUnmount(){clearTimeout(this.timeout)},methods:{getPTOptions(e,t){return this.ptm(e,{context:{order:t}})},onItemClick(e,t,n,a){this.disabled(t)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),t.to&&a&&a(e),n!==this.d_activeIndex&&(this.d_activeIndex=n,this.$emit("update:activeIndex",this.d_activeIndex)),this.$emit("tab-change",{originalEvent:e,index:n}))},onKeydownItem(e,t,n){let a=n,i={};const l=this.$refs.tabLink;switch(e.code){case"ArrowRight":i=this.findNextItem(this.$refs.tab,a),a=i.i;break;case"ArrowLeft":i=this.findPrevItem(this.$refs.tab,a),a=i.i;break;case"End":i=this.findPrevItem(this.$refs.tab,this.model.length),a=i.i,e.preventDefault();break;case"Home":i=this.findNextItem(this.$refs.tab,-1),a=i.i,e.preventDefault();break;case"Space":case"Enter":e.currentTarget&&e.currentTarget.click(),e.preventDefault();break;case"Tab":this.setDefaultTabIndexes(l)}l[a]&&l[n]&&(l[n].tabIndex="-1",l[a].tabIndex="0",l[a].focus())},findNextItem(e,t){let a=t+1;if(a>=e.length)return{nextItem:e[e.length],i:e.length};let i=e[a];return i?n.DomHandler.hasClass(i,"p-disabled")?this.findNextItem(e,a):{nextItem:i,i:a}:null},findPrevItem(e,t){let a=t-1;if(a<0)return{nextItem:e[0],i:0};let i=e[a];return i?n.DomHandler.hasClass(i,"p-disabled")?this.findPrevItem(e,a):{prevItem:i,i:a}:null},getItemClass(e,t){return["p-tabmenuitem",e.class,{"p-highlight":this.d_activeIndex===t,"p-disabled":this.disabled(e)}]},getRouteItemClass(e,t,n){return["p-tabmenuitem",e.class,{"p-highlight":this.exact?n:t,"p-disabled":this.disabled(e)}]},getItemIcon:e=>["p-menuitem-icon",e.icon],visible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible,disabled:e=>"function"==typeof e.disabled?e.disabled():e.disabled,label:e=>"function"==typeof e.label?e.label():e.label,setDefaultTabIndexes(e){setTimeout((()=>{e.forEach((e=>{e.tabIndex=n.DomHandler.hasClass(e.parentElement,"p-highlight")?"0":"-1"}))}),300)},setTabIndex(e){return this.d_activeIndex===e?"0":"-1"},updateInkBar(){let e=this.$refs.nav.children,t=!1;for(let a=0;a<e.length;a++){let i=e[a];n.DomHandler.hasClass(i,"p-highlight")&&(this.$refs.inkbar.style.width=n.DomHandler.getWidth(i)+"px",this.$refs.inkbar.style.left=n.DomHandler.getOffset(i).left-n.DomHandler.getOffset(this.$refs.nav).left+"px",t=!0)}t||(this.$refs.inkbar.style.width="0px",this.$refs.inkbar.style.left="0px")}},directives:{ripple:o.default}};const s=["aria-labelledby","aria-label"],m=["href","aria-label","aria-disabled","tabindex","onClick","onKeydown"],d=["onClick","onKeydown"],c=["href","target","aria-label","aria-disabled","tabindex"];!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var a=document.head||document.getElementsByTagName("head")[0],i=document.createElement("style");i.type="text/css","top"===n&&a.firstChild?a.insertBefore(i,a.firstChild):a.appendChild(i),i.styleSheet?i.styleSheet.cssText=e:i.appendChild(document.createTextNode(e))}}("\n.p-tabmenu {\n overflow-x: auto;\n}\n.p-tabmenu-nav {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex-wrap: nowrap;\n}\n.p-tabmenu-nav a {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabmenu-nav a:focus {\n z-index: 1;\n}\n.p-tabmenu-nav .p-menuitem-text {\n line-height: 1;\n}\n.p-tabmenu-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabmenu::-webkit-scrollbar {\n display: none;\n}\n"),r.render=function(e,t,n,i,l,o){const r=a.resolveComponent("router-link"),p=a.resolveDirective("ripple");return a.openBlock(),a.createElementBlock("div",a.mergeProps({class:"p-tabmenu p-component"},e.ptm("root")),[a.createElementVNode("ul",a.mergeProps({ref:"nav",class:"p-tabmenu-nav p-reset",role:"menubar","aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel},e.ptm("menu")),[(a.openBlock(!0),a.createElementBlock(a.Fragment,null,a.renderList(n.model,((t,n)=>(a.openBlock(),a.createElementBlock(a.Fragment,{key:o.label(t)+"_"+n.toString()},[t.to&&!o.disabled(t)?(a.openBlock(),a.createBlock(r,{key:0,to:t.to,custom:""},{default:a.withCtx((({navigate:i,href:l,isActive:r,isExactActive:s})=>[o.visible(t)?(a.openBlock(),a.createElementBlock("li",a.mergeProps({key:0,ref_for:!0,ref:"tab",class:o.getRouteItemClass(t,r,s),style:t.style,role:"presentation"},o.getPTOptions("menuitem",n)),[e.$slots.item?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.$slots.item),{key:1,item:t,index:n},null,8,["item","index"])):a.withDirectives((a.openBlock(),a.createElementBlock("a",a.mergeProps({key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:l,class:"p-menuitem-link","aria-label":o.label(t),"aria-disabled":o.disabled(t),tabindex:s?"0":"-1",onClick:e=>o.onItemClick(e,t,n,i),onKeydown:e=>o.onKeydownItem(e,t,n,i)},o.getPTOptions("action",n)),[e.$slots.itemicon?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.$slots.itemicon),{key:0,item:t,class:a.normalizeClass(o.getItemIcon(t))},null,8,["item","class"])):t.icon?(a.openBlock(),a.createElementBlock("span",a.mergeProps({key:1,class:o.getItemIcon(t)},o.getPTOptions("icon",n)),null,16)):a.createCommentVNode("",!0),a.createElementVNode("span",a.mergeProps({class:"p-menuitem-text"},o.getPTOptions("label",n)),a.toDisplayString(o.label(t)),17)],16,m)),[[p]])],16)):a.createCommentVNode("",!0)])),_:2},1032,["to"])):o.visible(t)?(a.openBlock(),a.createElementBlock("li",a.mergeProps({key:1,ref_for:!0,ref:"tab",class:o.getItemClass(t,n),role:"presentation",onClick:e=>o.onItemClick(e,t,n),onKeydown:e=>o.onKeydownItem(e,t,n)},o.getPTOptions("menuitem",n)),[e.$slots.item?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.$slots.item),{key:1,item:t,index:n},null,8,["item","index"])):a.withDirectives((a.openBlock(),a.createElementBlock("a",a.mergeProps({key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:t.url,class:"p-menuitem-link",target:t.target,"aria-label":o.label(t),"aria-disabled":o.disabled(t),tabindex:o.setTabIndex(n)},o.getPTOptions("action",n)),[e.$slots.itemicon?(a.openBlock(),a.createBlock(a.resolveDynamicComponent(e.$slots.itemicon),{key:0,item:t,class:a.normalizeClass(o.getItemIcon(t))},null,8,["item","class"])):t.icon?(a.openBlock(),a.createElementBlock("span",a.mergeProps({key:1,class:o.getItemIcon(t)},o.getPTOptions("icon",n)),null,16)):a.createCommentVNode("",!0),a.createElementVNode("span",a.mergeProps({class:"p-menuitem-text"},o.getPTOptions("label",n)),a.toDisplayString(o.label(t)),17)],16,c)),[[p]])],16,d)):a.createCommentVNode("",!0)],64)))),128)),a.createElementVNode("li",a.mergeProps({ref:"inkbar",role:"none",class:"p-tabmenu-ink-bar"},e.ptm("inkbar")),null,16)],16,s)],16)},module.exports=r;
|
package/tabmenu/tabmenu.esm.js
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
|
+
import BaseComponent from 'primevue/basecomponent';
|
|
1
2
|
import Ripple from 'primevue/ripple';
|
|
2
3
|
import { DomHandler } from 'primevue/utils';
|
|
3
|
-
import { resolveComponent, resolveDirective, openBlock, createElementBlock, createElementVNode, Fragment, renderList, createBlock, withCtx,
|
|
4
|
+
import { resolveComponent, resolveDirective, openBlock, createElementBlock, mergeProps, createElementVNode, Fragment, renderList, createBlock, withCtx, withDirectives, resolveDynamicComponent, normalizeClass, createCommentVNode, toDisplayString } from 'vue';
|
|
4
5
|
|
|
5
6
|
var script = {
|
|
6
7
|
name: 'TabMenu',
|
|
8
|
+
extends: BaseComponent,
|
|
7
9
|
emits: ['update:activeIndex', 'tab-change'],
|
|
8
10
|
props: {
|
|
9
11
|
model: {
|
|
@@ -51,6 +53,13 @@ var script = {
|
|
|
51
53
|
clearTimeout(this.timeout);
|
|
52
54
|
},
|
|
53
55
|
methods: {
|
|
56
|
+
getPTOptions(key, index) {
|
|
57
|
+
return this.ptm(key, {
|
|
58
|
+
context: {
|
|
59
|
+
order: index
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
},
|
|
54
63
|
onItemClick(event, item, index, navigate) {
|
|
55
64
|
if (this.disabled(item)) {
|
|
56
65
|
event.preventDefault();
|
|
@@ -231,31 +240,23 @@ var script = {
|
|
|
231
240
|
}
|
|
232
241
|
};
|
|
233
242
|
|
|
234
|
-
const _hoisted_1 =
|
|
235
|
-
const _hoisted_2 = ["aria-
|
|
236
|
-
const _hoisted_3 = ["
|
|
237
|
-
const _hoisted_4 =
|
|
238
|
-
const _hoisted_5 = ["onClick", "onKeydown"];
|
|
239
|
-
const _hoisted_6 = ["href", "target", "aria-label", "aria-disabled", "tabindex"];
|
|
240
|
-
const _hoisted_7 = { class: "p-menuitem-text" };
|
|
241
|
-
const _hoisted_8 = {
|
|
242
|
-
ref: "inkbar",
|
|
243
|
-
role: "none",
|
|
244
|
-
class: "p-tabmenu-ink-bar"
|
|
245
|
-
};
|
|
243
|
+
const _hoisted_1 = ["aria-labelledby", "aria-label"];
|
|
244
|
+
const _hoisted_2 = ["href", "aria-label", "aria-disabled", "tabindex", "onClick", "onKeydown"];
|
|
245
|
+
const _hoisted_3 = ["onClick", "onKeydown"];
|
|
246
|
+
const _hoisted_4 = ["href", "target", "aria-label", "aria-disabled", "tabindex"];
|
|
246
247
|
|
|
247
248
|
function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
248
249
|
const _component_router_link = resolveComponent("router-link");
|
|
249
250
|
const _directive_ripple = resolveDirective("ripple");
|
|
250
251
|
|
|
251
|
-
return (openBlock(), createElementBlock("div",
|
|
252
|
-
createElementVNode("ul", {
|
|
252
|
+
return (openBlock(), createElementBlock("div", mergeProps({ class: "p-tabmenu p-component" }, _ctx.ptm('root')), [
|
|
253
|
+
createElementVNode("ul", mergeProps({
|
|
253
254
|
ref: "nav",
|
|
254
255
|
class: "p-tabmenu-nav p-reset",
|
|
255
256
|
role: "menubar",
|
|
256
257
|
"aria-labelledby": _ctx.ariaLabelledby,
|
|
257
258
|
"aria-label": _ctx.ariaLabel
|
|
258
|
-
}, [
|
|
259
|
+
}, _ctx.ptm('menu')), [
|
|
259
260
|
(openBlock(true), createElementBlock(Fragment, null, renderList($props.model, (item, i) => {
|
|
260
261
|
return (openBlock(), createElementBlock(Fragment, {
|
|
261
262
|
key: $options.label(item) + '_' + i.toString()
|
|
@@ -268,16 +269,16 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
268
269
|
}, {
|
|
269
270
|
default: withCtx(({ navigate, href, isActive, isExactActive }) => [
|
|
270
271
|
($options.visible(item))
|
|
271
|
-
? (openBlock(), createElementBlock("li", {
|
|
272
|
+
? (openBlock(), createElementBlock("li", mergeProps({
|
|
272
273
|
key: 0,
|
|
273
274
|
ref_for: true,
|
|
274
275
|
ref: "tab",
|
|
275
|
-
class:
|
|
276
|
-
style:
|
|
276
|
+
class: $options.getRouteItemClass(item, isActive, isExactActive),
|
|
277
|
+
style: item.style,
|
|
277
278
|
role: "presentation"
|
|
278
|
-
}, [
|
|
279
|
+
}, $options.getPTOptions('menuitem', i)), [
|
|
279
280
|
(!_ctx.$slots.item)
|
|
280
|
-
? withDirectives((openBlock(), createElementBlock("a", {
|
|
281
|
+
? withDirectives((openBlock(), createElementBlock("a", mergeProps({
|
|
281
282
|
key: 0,
|
|
282
283
|
ref_for: true,
|
|
283
284
|
ref: "tabLink",
|
|
@@ -289,7 +290,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
289
290
|
tabindex: isExactActive ? '0' : '-1',
|
|
290
291
|
onClick: $event => ($options.onItemClick($event, item, i, navigate)),
|
|
291
292
|
onKeydown: $event => ($options.onKeydownItem($event, item, i, navigate))
|
|
292
|
-
}, [
|
|
293
|
+
}, $options.getPTOptions('action', i)), [
|
|
293
294
|
(_ctx.$slots.itemicon)
|
|
294
295
|
? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.itemicon), {
|
|
295
296
|
key: 0,
|
|
@@ -297,13 +298,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
297
298
|
class: normalizeClass($options.getItemIcon(item))
|
|
298
299
|
}, null, 8, ["item", "class"]))
|
|
299
300
|
: (item.icon)
|
|
300
|
-
? (openBlock(), createElementBlock("span", {
|
|
301
|
+
? (openBlock(), createElementBlock("span", mergeProps({
|
|
301
302
|
key: 1,
|
|
302
|
-
class:
|
|
303
|
-
}, null,
|
|
303
|
+
class: $options.getItemIcon(item)
|
|
304
|
+
}, $options.getPTOptions('icon', i)), null, 16))
|
|
304
305
|
: createCommentVNode("", true),
|
|
305
|
-
createElementVNode("span",
|
|
306
|
-
],
|
|
306
|
+
createElementVNode("span", mergeProps({ class: "p-menuitem-text" }, $options.getPTOptions('label', i)), toDisplayString($options.label(item)), 17)
|
|
307
|
+
], 16, _hoisted_2)), [
|
|
307
308
|
[_directive_ripple]
|
|
308
309
|
])
|
|
309
310
|
: (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.item), {
|
|
@@ -311,23 +312,23 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
311
312
|
item: item,
|
|
312
313
|
index: i
|
|
313
314
|
}, null, 8, ["item", "index"]))
|
|
314
|
-
],
|
|
315
|
+
], 16))
|
|
315
316
|
: createCommentVNode("", true)
|
|
316
317
|
]),
|
|
317
318
|
_: 2
|
|
318
319
|
}, 1032, ["to"]))
|
|
319
320
|
: ($options.visible(item))
|
|
320
|
-
? (openBlock(), createElementBlock("li", {
|
|
321
|
+
? (openBlock(), createElementBlock("li", mergeProps({
|
|
321
322
|
key: 1,
|
|
322
323
|
ref_for: true,
|
|
323
324
|
ref: "tab",
|
|
324
|
-
class:
|
|
325
|
+
class: $options.getItemClass(item, i),
|
|
325
326
|
role: "presentation",
|
|
326
327
|
onClick: $event => ($options.onItemClick($event, item, i)),
|
|
327
328
|
onKeydown: $event => ($options.onKeydownItem($event, item, i))
|
|
328
|
-
}, [
|
|
329
|
+
}, $options.getPTOptions('menuitem', i)), [
|
|
329
330
|
(!_ctx.$slots.item)
|
|
330
|
-
? withDirectives((openBlock(), createElementBlock("a", {
|
|
331
|
+
? withDirectives((openBlock(), createElementBlock("a", mergeProps({
|
|
331
332
|
key: 0,
|
|
332
333
|
ref_for: true,
|
|
333
334
|
ref: "tabLink",
|
|
@@ -338,7 +339,7 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
338
339
|
"aria-label": $options.label(item),
|
|
339
340
|
"aria-disabled": $options.disabled(item),
|
|
340
341
|
tabindex: $options.setTabIndex(i)
|
|
341
|
-
}, [
|
|
342
|
+
}, $options.getPTOptions('action', i)), [
|
|
342
343
|
(_ctx.$slots.itemicon)
|
|
343
344
|
? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.itemicon), {
|
|
344
345
|
key: 0,
|
|
@@ -346,13 +347,13 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
346
347
|
class: normalizeClass($options.getItemIcon(item))
|
|
347
348
|
}, null, 8, ["item", "class"]))
|
|
348
349
|
: (item.icon)
|
|
349
|
-
? (openBlock(), createElementBlock("span", {
|
|
350
|
+
? (openBlock(), createElementBlock("span", mergeProps({
|
|
350
351
|
key: 1,
|
|
351
|
-
class:
|
|
352
|
-
}, null,
|
|
352
|
+
class: $options.getItemIcon(item)
|
|
353
|
+
}, $options.getPTOptions('icon', i)), null, 16))
|
|
353
354
|
: createCommentVNode("", true),
|
|
354
|
-
createElementVNode("span",
|
|
355
|
-
],
|
|
355
|
+
createElementVNode("span", mergeProps({ class: "p-menuitem-text" }, $options.getPTOptions('label', i)), toDisplayString($options.label(item)), 17)
|
|
356
|
+
], 16, _hoisted_4)), [
|
|
356
357
|
[_directive_ripple]
|
|
357
358
|
])
|
|
358
359
|
: (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.item), {
|
|
@@ -360,13 +361,17 @@ function render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
360
361
|
item: item,
|
|
361
362
|
index: i
|
|
362
363
|
}, null, 8, ["item", "index"]))
|
|
363
|
-
],
|
|
364
|
+
], 16, _hoisted_3))
|
|
364
365
|
: createCommentVNode("", true)
|
|
365
366
|
], 64))
|
|
366
367
|
}), 128)),
|
|
367
|
-
createElementVNode("li",
|
|
368
|
-
|
|
369
|
-
|
|
368
|
+
createElementVNode("li", mergeProps({
|
|
369
|
+
ref: "inkbar",
|
|
370
|
+
role: "none",
|
|
371
|
+
class: "p-tabmenu-ink-bar"
|
|
372
|
+
}, _ctx.ptm('inkbar')), null, 16)
|
|
373
|
+
], 16, _hoisted_1)
|
|
374
|
+
], 16))
|
|
370
375
|
}
|
|
371
376
|
|
|
372
377
|
function styleInject(css, ref) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import e from"primevue/ripple";import{DomHandler as
|
|
1
|
+
import e from"primevue/basecomponent";import t from"primevue/ripple";import{DomHandler as n}from"primevue/utils";import{resolveComponent as i,resolveDirective as a,openBlock as l,createElementBlock as s,mergeProps as r,createElementVNode as o,Fragment as d,renderList as m,createBlock as c,withCtx as p,withDirectives as u,resolveDynamicComponent as b,normalizeClass as f,createCommentVNode as h,toDisplayString as x}from"vue";var I={name:"TabMenu",extends:e,emits:["update:activeIndex","tab-change"],props:{model:{type:Array,default:null},exact:{type:Boolean,default:!0},activeIndex:{type:Number,default:0},"aria-labelledby":{type:String,default:null},"aria-label":{type:String,default:null}},timeout:null,data(){return{d_activeIndex:this.activeIndex}},watch:{$route(){this.timeout=setTimeout((()=>this.updateInkBar()),50)},activeIndex(e){this.d_activeIndex=e}},mounted(){this.updateInkBar()},updated(){this.updateInkBar()},beforeUnmount(){clearTimeout(this.timeout)},methods:{getPTOptions(e,t){return this.ptm(e,{context:{order:t}})},onItemClick(e,t,n,i){this.disabled(t)?e.preventDefault():(t.command&&t.command({originalEvent:e,item:t}),t.to&&i&&i(e),n!==this.d_activeIndex&&(this.d_activeIndex=n,this.$emit("update:activeIndex",this.d_activeIndex)),this.$emit("tab-change",{originalEvent:e,index:n}))},onKeydownItem(e,t,n){let i=n,a={};const l=this.$refs.tabLink;switch(e.code){case"ArrowRight":a=this.findNextItem(this.$refs.tab,i),i=a.i;break;case"ArrowLeft":a=this.findPrevItem(this.$refs.tab,i),i=a.i;break;case"End":a=this.findPrevItem(this.$refs.tab,this.model.length),i=a.i,e.preventDefault();break;case"Home":a=this.findNextItem(this.$refs.tab,-1),i=a.i,e.preventDefault();break;case"Space":case"Enter":e.currentTarget&&e.currentTarget.click(),e.preventDefault();break;case"Tab":this.setDefaultTabIndexes(l)}l[i]&&l[n]&&(l[n].tabIndex="-1",l[i].tabIndex="0",l[i].focus())},findNextItem(e,t){let i=t+1;if(i>=e.length)return{nextItem:e[e.length],i:e.length};let a=e[i];return a?n.hasClass(a,"p-disabled")?this.findNextItem(e,i):{nextItem:a,i:i}:null},findPrevItem(e,t){let i=t-1;if(i<0)return{nextItem:e[0],i:0};let a=e[i];return a?n.hasClass(a,"p-disabled")?this.findPrevItem(e,i):{prevItem:a,i:i}:null},getItemClass(e,t){return["p-tabmenuitem",e.class,{"p-highlight":this.d_activeIndex===t,"p-disabled":this.disabled(e)}]},getRouteItemClass(e,t,n){return["p-tabmenuitem",e.class,{"p-highlight":this.exact?n:t,"p-disabled":this.disabled(e)}]},getItemIcon:e=>["p-menuitem-icon",e.icon],visible:e=>"function"==typeof e.visible?e.visible():!1!==e.visible,disabled:e=>"function"==typeof e.disabled?e.disabled():e.disabled,label:e=>"function"==typeof e.label?e.label():e.label,setDefaultTabIndexes(e){setTimeout((()=>{e.forEach((e=>{e.tabIndex=n.hasClass(e.parentElement,"p-highlight")?"0":"-1"}))}),300)},setTabIndex(e){return this.d_activeIndex===e?"0":"-1"},updateInkBar(){let e=this.$refs.nav.children,t=!1;for(let i=0;i<e.length;i++){let a=e[i];n.hasClass(a,"p-highlight")&&(this.$refs.inkbar.style.width=n.getWidth(a)+"px",this.$refs.inkbar.style.left=n.getOffset(a).left-n.getOffset(this.$refs.nav).left+"px",t=!0)}t||(this.$refs.inkbar.style.width="0px",this.$refs.inkbar.style.left="0px")}},directives:{ripple:t}};const g=["aria-labelledby","aria-label"],v=["href","aria-label","aria-disabled","tabindex","onClick","onKeydown"],y=["onClick","onKeydown"],k=["href","target","aria-label","aria-disabled","tabindex"];!function(e,t){void 0===t&&(t={});var n=t.insertAt;if(e&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css","top"===n&&i.firstChild?i.insertBefore(a,i.firstChild):i.appendChild(a),a.styleSheet?a.styleSheet.cssText=e:a.appendChild(document.createTextNode(e))}}("\n.p-tabmenu {\n overflow-x: auto;\n}\n.p-tabmenu-nav {\n display: flex;\n margin: 0;\n padding: 0;\n list-style-type: none;\n flex-wrap: nowrap;\n}\n.p-tabmenu-nav a {\n cursor: pointer;\n user-select: none;\n display: flex;\n align-items: center;\n position: relative;\n text-decoration: none;\n text-decoration: none;\n overflow: hidden;\n}\n.p-tabmenu-nav a:focus {\n z-index: 1;\n}\n.p-tabmenu-nav .p-menuitem-text {\n line-height: 1;\n}\n.p-tabmenu-ink-bar {\n display: none;\n z-index: 1;\n}\n.p-tabmenu::-webkit-scrollbar {\n display: none;\n}\n"),I.render=function(e,t,n,I,T,$){const C=i("router-link"),w=a("ripple");return l(),s("div",r({class:"p-tabmenu p-component"},e.ptm("root")),[o("ul",r({ref:"nav",class:"p-tabmenu-nav p-reset",role:"menubar","aria-labelledby":e.ariaLabelledby,"aria-label":e.ariaLabel},e.ptm("menu")),[(l(!0),s(d,null,m(n.model,((t,n)=>(l(),s(d,{key:$.label(t)+"_"+n.toString()},[t.to&&!$.disabled(t)?(l(),c(C,{key:0,to:t.to,custom:""},{default:p((({navigate:i,href:a,isActive:d,isExactActive:m})=>[$.visible(t)?(l(),s("li",r({key:0,ref_for:!0,ref:"tab",class:$.getRouteItemClass(t,d,m),style:t.style,role:"presentation"},$.getPTOptions("menuitem",n)),[e.$slots.item?(l(),c(b(e.$slots.item),{key:1,item:t,index:n},null,8,["item","index"])):u((l(),s("a",r({key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:a,class:"p-menuitem-link","aria-label":$.label(t),"aria-disabled":$.disabled(t),tabindex:m?"0":"-1",onClick:e=>$.onItemClick(e,t,n,i),onKeydown:e=>$.onKeydownItem(e,t,n,i)},$.getPTOptions("action",n)),[e.$slots.itemicon?(l(),c(b(e.$slots.itemicon),{key:0,item:t,class:f($.getItemIcon(t))},null,8,["item","class"])):t.icon?(l(),s("span",r({key:1,class:$.getItemIcon(t)},$.getPTOptions("icon",n)),null,16)):h("",!0),o("span",r({class:"p-menuitem-text"},$.getPTOptions("label",n)),x($.label(t)),17)],16,v)),[[w]])],16)):h("",!0)])),_:2},1032,["to"])):$.visible(t)?(l(),s("li",r({key:1,ref_for:!0,ref:"tab",class:$.getItemClass(t,n),role:"presentation",onClick:e=>$.onItemClick(e,t,n),onKeydown:e=>$.onKeydownItem(e,t,n)},$.getPTOptions("menuitem",n)),[e.$slots.item?(l(),c(b(e.$slots.item),{key:1,item:t,index:n},null,8,["item","index"])):u((l(),s("a",r({key:0,ref_for:!0,ref:"tabLink",role:"menuitem",href:t.url,class:"p-menuitem-link",target:t.target,"aria-label":$.label(t),"aria-disabled":$.disabled(t),tabindex:$.setTabIndex(n)},$.getPTOptions("action",n)),[e.$slots.itemicon?(l(),c(b(e.$slots.itemicon),{key:0,item:t,class:f($.getItemIcon(t))},null,8,["item","class"])):t.icon?(l(),s("span",r({key:1,class:$.getItemIcon(t)},$.getPTOptions("icon",n)),null,16)):h("",!0),o("span",r({class:"p-menuitem-text"},$.getPTOptions("label",n)),x($.label(t)),17)],16,k)),[[w]])],16,y)):h("",!0)],64)))),128)),o("li",r({ref:"inkbar",role:"none",class:"p-tabmenu-ink-bar"},e.ptm("inkbar")),null,16)],16,g)],16)};export{I as default};
|