@dialpad/dialtone-vue 3.146.0 → 3.147.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunks/{dropdown-6HXkh24e.js → dropdown-oA-_Gotg.js} +45 -40
- package/dist/chunks/{dropdown-6HXkh24e.js.map → dropdown-oA-_Gotg.js.map} +1 -1
- package/dist/chunks/{dropdown-QNvAb160.js → dropdown-p-Azgwov.js} +45 -40
- package/dist/chunks/{dropdown-QNvAb160.js.map → dropdown-p-Azgwov.js.map} +1 -1
- package/dist/chunks/dropdown_constants-2pGCXy7m.js.map +1 -1
- package/dist/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -1
- package/dist/chunks/{icon_constants-gIQj4mf7.js → icon_constants-Dy4MEUJL.js} +2 -3
- package/dist/chunks/icon_constants-Dy4MEUJL.js.map +1 -0
- package/dist/chunks/{icon_constants-bvhFNOPu.js → icon_constants-QYpmdE0R.js} +2 -3
- package/dist/chunks/icon_constants-QYpmdE0R.js.map +1 -0
- package/dist/chunks/{index-ouh7Bvm-.js → index-4qgKeErp.js} +84 -71
- package/dist/chunks/{index-T15rAIdX.js.map → index-4qgKeErp.js.map} +1 -1
- package/dist/chunks/{index-dfdrE-3M.js → index-GVD15GIB.js} +12 -3
- package/dist/chunks/{index-dfdrE-3M.js.map → index-GVD15GIB.js.map} +1 -1
- package/dist/chunks/{index-T15rAIdX.js → index-b_MgDylR.js} +84 -71
- package/dist/chunks/{index-ouh7Bvm-.js.map → index-b_MgDylR.js.map} +1 -1
- package/dist/chunks/{index-fEp0B-5Z.js → index-lu2o2f4r.js} +12 -3
- package/dist/chunks/{index-fEp0B-5Z.js.map → index-lu2o2f4r.js.map} +1 -1
- package/dist/chunks/{input-HIysg24t.js → input-NmYDD5bn.js} +9 -3
- package/dist/chunks/{input-HIysg24t.js.map → input-NmYDD5bn.js.map} +1 -1
- package/dist/chunks/{input-dLLo3Wtg.js → input-ttnte8zB.js} +9 -3
- package/dist/chunks/{input-dLLo3Wtg.js.map → input-ttnte8zB.js.map} +1 -1
- package/dist/chunks/{input_group-rE6nhye8.js → input_group-M-D25pOJ.js} +2 -4
- package/dist/chunks/{input_group-hV1WT2it.js.map → input_group-M-D25pOJ.js.map} +1 -1
- package/dist/chunks/{input_group-hV1WT2it.js → input_group-jWnq2DJT.js} +2 -4
- package/dist/chunks/{input_group-rE6nhye8.js.map → input_group-jWnq2DJT.js.map} +1 -1
- package/dist/chunks/{keyboard_list_navigation-YIqTuw1W.js → keyboard_list_navigation-ScXhrxya.js} +5 -6
- package/dist/chunks/{keyboard_list_navigation-x3D6RcC7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
- package/dist/chunks/{keyboard_list_navigation-x3D6RcC7.js → keyboard_list_navigation-fJnl_Iox.js} +5 -6
- package/dist/chunks/{keyboard_list_navigation-YIqTuw1W.js.map → keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
- package/dist/chunks/link_constants-AfTWrr-n.js.map +1 -1
- package/dist/chunks/link_constants-x8NwdqmA.js.map +1 -1
- package/dist/chunks/list_item_constants-EiqkqZvP.js.map +1 -1
- package/dist/chunks/list_item_constants-u1xcN9Dd.js.map +1 -1
- package/dist/chunks/{modal-OaWxzqNt.js → modal-VgxXAQFP.js} +2 -4
- package/dist/chunks/{modal-OaWxzqNt.js.map → modal-VgxXAQFP.js.map} +1 -1
- package/dist/chunks/{modal-8X6poIZW.js → modal-XOr4kiNZ.js} +2 -4
- package/dist/chunks/{modal-8X6poIZW.js.map → modal-XOr4kiNZ.js.map} +1 -1
- package/dist/chunks/{notice_action-3ed0uIMN.js → notice_action-WTucGhvr.js} +61 -40
- package/dist/chunks/{notice_action-e08Lw5W6.js.map → notice_action-WTucGhvr.js.map} +1 -1
- package/dist/chunks/{notice_action-e08Lw5W6.js → notice_action-p-ePanW_.js} +61 -40
- package/dist/chunks/{notice_action-3ed0uIMN.js.map → notice_action-p-ePanW_.js.map} +1 -1
- package/dist/chunks/notice_constants-7Qt2CQEY.js.map +1 -1
- package/dist/chunks/notice_constants-UXo9e3bS.js.map +1 -1
- package/dist/chunks/{popover_constants-6YkPPbnk.js → popover_constants-WsOUIY-m.js} +47 -26
- package/dist/chunks/{popover_constants-6YkPPbnk.js.map → popover_constants-WsOUIY-m.js.map} +1 -1
- package/dist/chunks/{popover_constants-h9MD6WUt.js → popover_constants-XnGWXaxX.js} +47 -26
- package/dist/chunks/{popover_constants-h9MD6WUt.js.map → popover_constants-XnGWXaxX.js.map} +1 -1
- package/dist/chunks/{sr_only_close_button-Ji3Zlts6.js → sr_only_close_button-3EdsV-dH.js} +4 -4
- package/dist/chunks/{sr_only_close_button-Ji3Zlts6.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
- package/dist/chunks/{sr_only_close_button-gKr0Vlbz.js → sr_only_close_button-xGrHFjwA.js} +4 -4
- package/dist/chunks/{sr_only_close_button-gKr0Vlbz.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
- package/dist/chunks/stack_constants-HraCekPm.js.map +1 -1
- package/dist/chunks/stack_constants-SMzMWnAQ.js.map +1 -1
- package/dist/chunks/{tab-aD6t0MNo.js → tab-RTDgnD9-.js} +49 -46
- package/dist/chunks/{tab-aD6t0MNo.js.map → tab-RTDgnD9-.js.map} +1 -1
- package/dist/chunks/{tab-X7IvNGTl.js → tab-qc3f42Yp.js} +49 -46
- package/dist/chunks/{tab-X7IvNGTl.js.map → tab-qc3f42Yp.js.map} +1 -1
- package/dist/common/constants.cjs.map +1 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/dates.cjs +1 -3
- package/dist/common/dates.cjs.map +1 -1
- package/dist/common/dates.js +1 -3
- package/dist/common/dates.js.map +1 -1
- package/dist/common/emoji.cjs +1 -1
- package/dist/common/emoji.js +1 -1
- package/dist/common/mixins.cjs +3 -3
- package/dist/common/mixins.js +3 -3
- package/dist/common/utils.cjs +45 -11
- package/dist/common/utils.cjs.map +1 -1
- package/dist/common/utils.js +45 -11
- package/dist/common/utils.js.map +1 -1
- package/dist/common/validators.cjs.map +1 -1
- package/dist/common/validators.js.map +1 -1
- package/dist/component-documentation.json +1 -1
- package/dist/dialtone-vue.cjs +12 -12
- package/dist/dialtone-vue.js +12 -12
- package/dist/lib/attachment-carousel.cjs +108 -87
- package/dist/lib/attachment-carousel.cjs.map +1 -1
- package/dist/lib/attachment-carousel.js +108 -87
- package/dist/lib/attachment-carousel.js.map +1 -1
- package/dist/lib/avatar.cjs +88 -56
- package/dist/lib/avatar.cjs.map +1 -1
- package/dist/lib/avatar.js +88 -56
- package/dist/lib/avatar.js.map +1 -1
- package/dist/lib/badge.cjs +31 -15
- package/dist/lib/badge.cjs.map +1 -1
- package/dist/lib/badge.js +31 -15
- package/dist/lib/badge.js.map +1 -1
- package/dist/lib/banner.cjs +56 -38
- package/dist/lib/banner.cjs.map +1 -1
- package/dist/lib/banner.js +56 -38
- package/dist/lib/banner.js.map +1 -1
- package/dist/lib/breadcrumbs.cjs +36 -25
- package/dist/lib/breadcrumbs.cjs.map +1 -1
- package/dist/lib/breadcrumbs.js +36 -25
- package/dist/lib/breadcrumbs.js.map +1 -1
- package/dist/lib/button-group.cjs +7 -2
- package/dist/lib/button-group.cjs.map +1 -1
- package/dist/lib/button-group.js +7 -2
- package/dist/lib/button-group.js.map +1 -1
- package/dist/lib/button.cjs +69 -44
- package/dist/lib/button.cjs.map +1 -1
- package/dist/lib/button.js +69 -44
- package/dist/lib/button.js.map +1 -1
- package/dist/lib/callbar-button-with-popover.cjs +81 -68
- package/dist/lib/callbar-button-with-popover.cjs.map +1 -1
- package/dist/lib/callbar-button-with-popover.js +81 -68
- package/dist/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/lib/callbar-button.cjs +45 -32
- package/dist/lib/callbar-button.cjs.map +1 -1
- package/dist/lib/callbar-button.js +45 -32
- package/dist/lib/callbar-button.js.map +1 -1
- package/dist/lib/callbox.cjs +57 -38
- package/dist/lib/callbox.cjs.map +1 -1
- package/dist/lib/callbox.js +57 -38
- package/dist/lib/callbox.js.map +1 -1
- package/dist/lib/card.cjs +33 -13
- package/dist/lib/card.cjs.map +1 -1
- package/dist/lib/card.js +33 -13
- package/dist/lib/card.js.map +1 -1
- package/dist/lib/checkbox-group.cjs +5 -2
- package/dist/lib/checkbox-group.cjs.map +1 -1
- package/dist/lib/checkbox-group.js +5 -2
- package/dist/lib/checkbox-group.js.map +1 -1
- package/dist/lib/checkbox.cjs +45 -41
- package/dist/lib/checkbox.cjs.map +1 -1
- package/dist/lib/checkbox.js +45 -41
- package/dist/lib/checkbox.js.map +1 -1
- package/dist/lib/chip.cjs +53 -38
- package/dist/lib/chip.cjs.map +1 -1
- package/dist/lib/chip.js +53 -38
- package/dist/lib/chip.js.map +1 -1
- package/dist/lib/codeblock.cjs +6 -4
- package/dist/lib/codeblock.cjs.map +1 -1
- package/dist/lib/codeblock.js +6 -4
- package/dist/lib/codeblock.js.map +1 -1
- package/dist/lib/collapsible.cjs +76 -62
- package/dist/lib/collapsible.cjs.map +1 -1
- package/dist/lib/collapsible.js +76 -62
- package/dist/lib/collapsible.js.map +1 -1
- package/dist/lib/combobox-multi-select.cjs +88 -75
- package/dist/lib/combobox-multi-select.cjs.map +1 -1
- package/dist/lib/combobox-multi-select.js +88 -75
- package/dist/lib/combobox-multi-select.js.map +1 -1
- package/dist/lib/combobox-with-popover.cjs +85 -77
- package/dist/lib/combobox-with-popover.cjs.map +1 -1
- package/dist/lib/combobox-with-popover.js +85 -77
- package/dist/lib/combobox-with-popover.js.map +1 -1
- package/dist/lib/combobox.cjs +3 -3
- package/dist/lib/combobox.js +3 -3
- package/dist/lib/contact-centers-row.cjs +89 -65
- package/dist/lib/contact-centers-row.cjs.map +1 -1
- package/dist/lib/contact-centers-row.js +89 -65
- package/dist/lib/contact-centers-row.js.map +1 -1
- package/dist/lib/contact-info.cjs +82 -59
- package/dist/lib/contact-info.cjs.map +1 -1
- package/dist/lib/contact-info.js +82 -59
- package/dist/lib/contact-info.js.map +1 -1
- package/dist/lib/contact-row.cjs +47 -37
- package/dist/lib/contact-row.cjs.map +1 -1
- package/dist/lib/contact-row.js +47 -37
- package/dist/lib/contact-row.js.map +1 -1
- package/dist/lib/datepicker.cjs +263 -267
- package/dist/lib/datepicker.cjs.map +1 -1
- package/dist/lib/datepicker.js +263 -267
- package/dist/lib/datepicker.js.map +1 -1
- package/dist/lib/description-list.cjs +14 -9
- package/dist/lib/description-list.cjs.map +1 -1
- package/dist/lib/description-list.js +14 -9
- package/dist/lib/description-list.js.map +1 -1
- package/dist/lib/dropdown.cjs +6 -6
- package/dist/lib/dropdown.cjs.map +1 -1
- package/dist/lib/dropdown.js +6 -6
- package/dist/lib/dropdown.js.map +1 -1
- package/dist/lib/editor.cjs +249 -312
- package/dist/lib/editor.cjs.map +1 -1
- package/dist/lib/editor.js +249 -312
- package/dist/lib/editor.js.map +1 -1
- package/dist/lib/emoji-picker.cjs +419 -387
- package/dist/lib/emoji-picker.cjs.map +1 -1
- package/dist/lib/emoji-picker.js +419 -387
- package/dist/lib/emoji-picker.js.map +1 -1
- package/dist/lib/emoji-row.cjs +69 -59
- package/dist/lib/emoji-row.cjs.map +1 -1
- package/dist/lib/emoji-row.js +69 -59
- package/dist/lib/emoji-row.js.map +1 -1
- package/dist/lib/emoji-text-wrapper.cjs +12 -13
- package/dist/lib/emoji-text-wrapper.cjs.map +1 -1
- package/dist/lib/emoji-text-wrapper.js +12 -13
- package/dist/lib/emoji-text-wrapper.js.map +1 -1
- package/dist/lib/emoji.cjs +23 -19
- package/dist/lib/emoji.cjs.map +1 -1
- package/dist/lib/emoji.js +23 -19
- package/dist/lib/emoji.js.map +1 -1
- package/dist/lib/empty-state.cjs +30 -20
- package/dist/lib/empty-state.cjs.map +1 -1
- package/dist/lib/empty-state.js +30 -20
- package/dist/lib/empty-state.js.map +1 -1
- package/dist/lib/feed-item-row.cjs +74 -43
- package/dist/lib/feed-item-row.cjs.map +1 -1
- package/dist/lib/feed-item-row.js +74 -43
- package/dist/lib/feed-item-row.js.map +1 -1
- package/dist/lib/feed-pill.cjs +55 -45
- package/dist/lib/feed-pill.cjs.map +1 -1
- package/dist/lib/feed-pill.js +55 -45
- package/dist/lib/feed-pill.js.map +1 -1
- package/dist/lib/general-row.cjs +165 -115
- package/dist/lib/general-row.cjs.map +1 -1
- package/dist/lib/general-row.js +165 -115
- package/dist/lib/general-row.js.map +1 -1
- package/dist/lib/group-row.cjs +9 -7
- package/dist/lib/group-row.cjs.map +1 -1
- package/dist/lib/group-row.js +9 -7
- package/dist/lib/group-row.js.map +1 -1
- package/dist/lib/grouped-chip.cjs +48 -27
- package/dist/lib/grouped-chip.cjs.map +1 -1
- package/dist/lib/grouped-chip.js +48 -27
- package/dist/lib/grouped-chip.js.map +1 -1
- package/dist/lib/hovercard.cjs +33 -25
- package/dist/lib/hovercard.cjs.map +1 -1
- package/dist/lib/hovercard.js +33 -25
- package/dist/lib/hovercard.js.map +1 -1
- package/dist/lib/icon.cjs +1 -1
- package/dist/lib/icon.cjs.map +1 -1
- package/dist/lib/icon.js +1 -1
- package/dist/lib/icon.js.map +1 -1
- package/dist/lib/illustration.cjs +1 -2
- package/dist/lib/illustration.cjs.map +1 -1
- package/dist/lib/illustration.js +1 -2
- package/dist/lib/illustration.js.map +1 -1
- package/dist/lib/image-viewer.cjs +66 -52
- package/dist/lib/image-viewer.cjs.map +1 -1
- package/dist/lib/image-viewer.js +66 -52
- package/dist/lib/image-viewer.js.map +1 -1
- package/dist/lib/input-group.cjs +19 -15
- package/dist/lib/input-group.cjs.map +1 -1
- package/dist/lib/input-group.js +19 -15
- package/dist/lib/input-group.js.map +1 -1
- package/dist/lib/input.cjs +114 -77
- package/dist/lib/input.cjs.map +1 -1
- package/dist/lib/input.js +114 -77
- package/dist/lib/input.js.map +1 -1
- package/dist/lib/item-layout.cjs +27 -10
- package/dist/lib/item-layout.cjs.map +1 -1
- package/dist/lib/item-layout.js +27 -10
- package/dist/lib/item-layout.js.map +1 -1
- package/dist/lib/ivr-node.cjs +89 -80
- package/dist/lib/ivr-node.cjs.map +1 -1
- package/dist/lib/ivr-node.js +89 -80
- package/dist/lib/ivr-node.js.map +1 -1
- package/dist/lib/keyboard-shortcut.cjs +31 -26
- package/dist/lib/keyboard-shortcut.cjs.map +1 -1
- package/dist/lib/keyboard-shortcut.js +31 -26
- package/dist/lib/keyboard-shortcut.js.map +1 -1
- package/dist/lib/lazy-show.cjs +8 -6
- package/dist/lib/lazy-show.cjs.map +1 -1
- package/dist/lib/lazy-show.js +8 -6
- package/dist/lib/lazy-show.js.map +1 -1
- package/dist/lib/link.cjs +7 -2
- package/dist/lib/link.cjs.map +1 -1
- package/dist/lib/link.js +7 -2
- package/dist/lib/link.js.map +1 -1
- package/dist/lib/list-item-group.cjs +14 -7
- package/dist/lib/list-item-group.cjs.map +1 -1
- package/dist/lib/list-item-group.js +14 -7
- package/dist/lib/list-item-group.js.map +1 -1
- package/dist/lib/list-item.cjs +25 -24
- package/dist/lib/list-item.cjs.map +1 -1
- package/dist/lib/list-item.js +25 -24
- package/dist/lib/list-item.js.map +1 -1
- package/dist/lib/message-input.cjs +269 -227
- package/dist/lib/message-input.cjs.map +1 -1
- package/dist/lib/message-input.js +269 -227
- package/dist/lib/message-input.js.map +1 -1
- package/dist/lib/modal.cjs +99 -59
- package/dist/lib/modal.cjs.map +1 -1
- package/dist/lib/modal.js +99 -59
- package/dist/lib/modal.js.map +1 -1
- package/dist/lib/notice.cjs +46 -33
- package/dist/lib/notice.cjs.map +1 -1
- package/dist/lib/notice.js +46 -33
- package/dist/lib/notice.js.map +1 -1
- package/dist/lib/pagination.cjs +61 -49
- package/dist/lib/pagination.cjs.map +1 -1
- package/dist/lib/pagination.js +61 -49
- package/dist/lib/pagination.js.map +1 -1
- package/dist/lib/popover.cjs +156 -133
- package/dist/lib/popover.cjs.map +1 -1
- package/dist/lib/popover.js +157 -134
- package/dist/lib/popover.js.map +1 -1
- package/dist/lib/presence.cjs +17 -9
- package/dist/lib/presence.cjs.map +1 -1
- package/dist/lib/presence.js +17 -9
- package/dist/lib/presence.js.map +1 -1
- package/dist/lib/radio-group.cjs +1 -1
- package/dist/lib/radio-group.cjs.map +1 -1
- package/dist/lib/radio-group.js +1 -1
- package/dist/lib/radio-group.js.map +1 -1
- package/dist/lib/radio.cjs +41 -34
- package/dist/lib/radio.cjs.map +1 -1
- package/dist/lib/radio.js +41 -34
- package/dist/lib/radio.js.map +1 -1
- package/dist/lib/rich-text-editor.cjs +288 -292
- package/dist/lib/rich-text-editor.cjs.map +1 -1
- package/dist/lib/rich-text-editor.js +288 -292
- package/dist/lib/rich-text-editor.js.map +1 -1
- package/dist/lib/root-layout.cjs +39 -24
- package/dist/lib/root-layout.cjs.map +1 -1
- package/dist/lib/root-layout.js +39 -24
- package/dist/lib/root-layout.js.map +1 -1
- package/dist/lib/scrollbar-directive.cjs +422 -388
- package/dist/lib/scrollbar-directive.cjs.map +1 -1
- package/dist/lib/scrollbar-directive.js +422 -388
- package/dist/lib/scrollbar-directive.js.map +1 -1
- package/dist/lib/scroller.cjs +83 -100
- package/dist/lib/scroller.cjs.map +1 -1
- package/dist/lib/scroller.js +83 -100
- package/dist/lib/scroller.js.map +1 -1
- package/dist/lib/select-menu.cjs +67 -40
- package/dist/lib/select-menu.cjs.map +1 -1
- package/dist/lib/select-menu.js +67 -40
- package/dist/lib/select-menu.js.map +1 -1
- package/dist/lib/settings-menu-button.cjs +16 -10
- package/dist/lib/settings-menu-button.cjs.map +1 -1
- package/dist/lib/settings-menu-button.js +16 -10
- package/dist/lib/settings-menu-button.js.map +1 -1
- package/dist/lib/skeleton.cjs +93 -74
- package/dist/lib/skeleton.cjs.map +1 -1
- package/dist/lib/skeleton.js +93 -74
- package/dist/lib/skeleton.js.map +1 -1
- package/dist/lib/split-button.cjs +74 -68
- package/dist/lib/split-button.cjs.map +1 -1
- package/dist/lib/split-button.js +74 -68
- package/dist/lib/split-button.js.map +1 -1
- package/dist/lib/stack.cjs +26 -18
- package/dist/lib/stack.cjs.map +1 -1
- package/dist/lib/stack.js +26 -18
- package/dist/lib/stack.js.map +1 -1
- package/dist/lib/tabs.cjs +7 -3
- package/dist/lib/tabs.cjs.map +1 -1
- package/dist/lib/tabs.js +7 -3
- package/dist/lib/tabs.js.map +1 -1
- package/dist/lib/time-pill.cjs.map +1 -1
- package/dist/lib/time-pill.js.map +1 -1
- package/dist/lib/toast.cjs +51 -35
- package/dist/lib/toast.cjs.map +1 -1
- package/dist/lib/toast.js +51 -35
- package/dist/lib/toast.js.map +1 -1
- package/dist/lib/toggle.cjs +34 -24
- package/dist/lib/toggle.cjs.map +1 -1
- package/dist/lib/toggle.js +34 -24
- package/dist/lib/toggle.js.map +1 -1
- package/dist/lib/tooltip-directive.cjs +19 -26
- package/dist/lib/tooltip-directive.cjs.map +1 -1
- package/dist/lib/tooltip-directive.js +19 -26
- package/dist/lib/tooltip-directive.js.map +1 -1
- package/dist/lib/tooltip.cjs +32 -21
- package/dist/lib/tooltip.cjs.map +1 -1
- package/dist/lib/tooltip.js +33 -22
- package/dist/lib/tooltip.js.map +1 -1
- package/dist/lib/top-banner-info.cjs +23 -8
- package/dist/lib/top-banner-info.cjs.map +1 -1
- package/dist/lib/top-banner-info.js +23 -8
- package/dist/lib/top-banner-info.js.map +1 -1
- package/dist/lib/unread-pill.cjs +11 -8
- package/dist/lib/unread-pill.cjs.map +1 -1
- package/dist/lib/unread-pill.js +11 -8
- package/dist/lib/unread-pill.js.map +1 -1
- package/dist/lib/validation-messages.cjs +17 -14
- package/dist/lib/validation-messages.cjs.map +1 -1
- package/dist/lib/validation-messages.js +17 -14
- package/dist/lib/validation-messages.js.map +1 -1
- package/dist/style.css +9 -9
- package/dist/types/components/button/button.vue.d.ts +1 -1
- package/dist/types/components/chip/chip.vue.d.ts +1 -1
- package/dist/types/components/combobox/combobox.vue.d.ts +1 -1
- package/dist/types/components/datepicker/modules/month-year-picker.vue.d.ts +1 -1
- package/dist/types/components/icon/icon.vue.d.ts +2 -2
- package/dist/types/components/icon/icon_constants.d.ts +1 -1
- package/dist/types/components/icon/icon_constants.d.ts.map +1 -1
- package/dist/types/components/illustration/illustration_constants.d.ts +1 -1
- package/dist/types/components/illustration/illustration_constants.d.ts.map +1 -1
- package/dist/types/components/input/input.vue.d.ts +3 -2
- package/dist/types/components/input/input.vue.d.ts.map +1 -1
- package/dist/types/components/modal/modal.vue.d.ts +1 -1
- package/dist/types/components/notice/notice.vue.d.ts +1 -1
- package/dist/types/components/radio/radio.vue.d.ts +1 -1
- package/dist/types/components/rich_text_editor/rich_text_editor.vue.d.ts +1 -1
- package/dist/types/components/scroller/modules/scroller_item.vue.d.ts +1 -1
- package/dist/types/components/split_button/split_button-alpha.vue.d.ts +1 -1
- package/dist/types/components/tabs/tab.vue.d.ts +1 -1
- package/dist/types/components/toast/toast.vue.d.ts +2 -2
- package/dist/types/components/tooltip/tooltip.vue.d.ts +1 -1
- package/dist/types/recipes/comboboxes/combobox_with_popover/combobox_with_popover.vue.d.ts +1 -1
- package/dist/types/recipes/conversation_view/editor/editor.vue.d.ts +1 -1
- package/dist/types/recipes/conversation_view/feed_item_row/feed_item_row.vue.d.ts +1 -1
- package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts +15 -0
- package/dist/types/recipes/item_layout/contact_info/contact_info.vue.d.ts.map +1 -1
- package/package.json +2 -4
- package/dist/chunks/icon_constants-bvhFNOPu.js.map +0 -1
- package/dist/chunks/icon_constants-gIQj4mf7.js.map +0 -1
|
@@ -1,30 +1,33 @@
|
|
|
1
|
-
import { KeyboardNavigation } from "./keyboard_list_navigation-
|
|
1
|
+
import { KeyboardNavigation } from "./keyboard_list_navigation-ScXhrxya.js";
|
|
2
2
|
import { DROPDOWN_PADDING_CLASSES } from "./dropdown_constants-w1MXGC3Z.js";
|
|
3
3
|
import { getUniqueString } from "../common/utils.js";
|
|
4
4
|
import { EVENT_KEYNAMES } from "../common/constants.js";
|
|
5
|
-
import { SrOnlyCloseButton, SrOnlyCloseButtonMixin } from "./sr_only_close_button-
|
|
5
|
+
import { SrOnlyCloseButton, SrOnlyCloseButtonMixin } from "./sr_only_close_button-3EdsV-dH.js";
|
|
6
6
|
import { resolveComponent, openBlock, createBlock, mergeProps, toHandlers, withCtx, renderSlot, createElementVNode, normalizeClass, createCommentVNode } from "vue";
|
|
7
7
|
import { _export_sfc } from "./_plugin-vue_export-helper-caHeSgYY.js";
|
|
8
8
|
import { DtPopover } from "../lib/popover.js";
|
|
9
9
|
import { LIST_ITEM_NAVIGATION_TYPES } from "./list_item_constants-u1xcN9Dd.js";
|
|
10
|
-
import { POPOVER_APPEND_TO_VALUES } from "./popover_constants-
|
|
10
|
+
import { POPOVER_APPEND_TO_VALUES } from "./popover_constants-WsOUIY-m.js";
|
|
11
11
|
const _sfc_main = {
|
|
12
12
|
name: "DtDropdown",
|
|
13
13
|
components: {
|
|
14
14
|
DtPopover,
|
|
15
15
|
SrOnlyCloseButton
|
|
16
16
|
},
|
|
17
|
-
mixins: [
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
17
|
+
mixins: [
|
|
18
|
+
KeyboardNavigation({
|
|
19
|
+
indexKey: "highlightIndex",
|
|
20
|
+
idKey: "highlightId",
|
|
21
|
+
listElementKey: "getListElement",
|
|
22
|
+
listItemRole: "menuitem",
|
|
23
|
+
afterHighlightMethod: "afterHighlight",
|
|
24
|
+
beginningOfListMethod: "beginningOfListMethod",
|
|
25
|
+
endOfListMethod: "endOfListMethod",
|
|
26
|
+
activeItemKey: "activeItemEl",
|
|
27
|
+
focusOnKeyboardNavigation: true
|
|
28
|
+
}),
|
|
29
|
+
SrOnlyCloseButtonMixin
|
|
30
|
+
],
|
|
28
31
|
inheritAttrs: false,
|
|
29
32
|
props: {
|
|
30
33
|
/**
|
|
@@ -292,9 +295,12 @@ const _sfc_main = {
|
|
|
292
295
|
return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;
|
|
293
296
|
},
|
|
294
297
|
listClasses() {
|
|
295
|
-
return [
|
|
296
|
-
"d-
|
|
297
|
-
|
|
298
|
+
return [
|
|
299
|
+
"d-dropdown-list",
|
|
300
|
+
DROPDOWN_PADDING_CLASSES[this.padding],
|
|
301
|
+
this.listClass,
|
|
302
|
+
{ "d-context-menu-list": this.openOnContext }
|
|
303
|
+
];
|
|
298
304
|
},
|
|
299
305
|
shouldOpenWithArrowKeys() {
|
|
300
306
|
return !this.openOnContext;
|
|
@@ -406,28 +412,27 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
406
412
|
tether: $props.tether,
|
|
407
413
|
transition: $props.transition
|
|
408
414
|
}, toHandlers($options.dropdownListeners)), {
|
|
409
|
-
anchor: withCtx(({
|
|
410
|
-
attrs
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
}, null, 8, ["visually-hidden-close-label", "tabindex", "onClose"])) : createCommentVNode("", true)], 42, _hoisted_1)]),
|
|
415
|
+
anchor: withCtx(({ attrs }) => [
|
|
416
|
+
renderSlot(_ctx.$slots, "anchor", mergeProps({ ref: "anchor" }, attrs))
|
|
417
|
+
]),
|
|
418
|
+
content: withCtx(({ close }) => [
|
|
419
|
+
createElementVNode("ul", {
|
|
420
|
+
id: $props.listId,
|
|
421
|
+
ref: "listWrapper",
|
|
422
|
+
class: normalizeClass($options.listClasses),
|
|
423
|
+
"data-qa": "dt-dropdown-list-wrapper",
|
|
424
|
+
onMouseleave: _cache[0] || (_cache[0] = (...args) => $options.clearHighlightIndex && $options.clearHighlightIndex(...args)),
|
|
425
|
+
onMousemoveCapture: _cache[1] || (_cache[1] = (...args) => $options.onMouseHighlight && $options.onMouseHighlight(...args))
|
|
426
|
+
}, [
|
|
427
|
+
renderSlot(_ctx.$slots, "list", { close }),
|
|
428
|
+
_ctx.showVisuallyHiddenClose ? (openBlock(), createBlock(_component_sr_only_close_button, {
|
|
429
|
+
key: 0,
|
|
430
|
+
"visually-hidden-close-label": _ctx.visuallyHiddenCloseLabel,
|
|
431
|
+
tabindex: $options.isArrowKeyNav ? -1 : 0,
|
|
432
|
+
onClose: close
|
|
433
|
+
}, null, 8, ["visually-hidden-close-label", "tabindex", "onClose"])) : createCommentVNode("", true)
|
|
434
|
+
], 42, _hoisted_1)
|
|
435
|
+
]),
|
|
431
436
|
_: 3
|
|
432
437
|
}, 16, ["content-width", "open", "placement", "initial-focus-element", "fallback-placements", "append-to", "modal", "max-height", "max-width", "open-with-arrow-keys", "open-on-context", "tether", "transition"]);
|
|
433
438
|
}
|
|
@@ -435,4 +440,4 @@ const DtDropdown = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_rende
|
|
|
435
440
|
export {
|
|
436
441
|
DtDropdown
|
|
437
442
|
};
|
|
438
|
-
//# sourceMappingURL=dropdown-
|
|
443
|
+
//# sourceMappingURL=dropdown-oA-_Gotg.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-6HXkh24e.js","sources":["../../components/dropdown/dropdown.vue"],"sourcesContent":["<!-- eslint-disable max-lines -->\n<template>\n <dt-popover\n ref=\"popover\"\n :content-width=\"contentWidth\"\n :open=\"open\"\n :placement=\"placement\"\n :initial-focus-element=\"openedWithKeyboard ? 'first' : 'dialog'\"\n :fallback-placements=\"fallbackPlacements\"\n padding=\"none\"\n role=\"menu\"\n :append-to=\"appendTo\"\n :modal=\"modal\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :open-with-arrow-keys=\"shouldOpenWithArrowKeys\"\n :open-on-context=\"openOnContext\"\n v-bind=\"$attrs\"\n :tether=\"tether\"\n :transition=\"transition\"\n v-on=\"dropdownListeners\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the dropdown -->\n <slot\n ref=\"anchor\"\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content=\"{ close }\">\n <!-- eslint-disable-next-line max-len -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events vuejs-accessibility/no-static-element-interactions -->\n <ul\n :id=\"listId\"\n ref=\"listWrapper\"\n :class=\"listClasses\"\n data-qa=\"dt-dropdown-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <!-- @slot Slot for the list component -->\n <slot\n name=\"list\"\n :close=\"close\"\n />\n <sr-only-close-button\n v-if=\"showVisuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :tabindex=\"isArrowKeyNav ? -1 : 0\"\n @close=\"close\"\n />\n </ul>\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport KeyboardNavigation from '@/common/mixins/keyboard_list_navigation';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES } from '@/components/popover';\nimport { LIST_ITEM_NAVIGATION_TYPES } from '@/components/list_item';\nimport { DROPDOWN_PADDING_CLASSES } from './dropdown_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\n\nexport default {\n name: 'DtDropdown',\n\n components: {\n DtPopover,\n SrOnlyCloseButton,\n },\n\n mixins: [\n KeyboardNavigation({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n listItemRole: 'menuitem',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n focusOnKeyboardNavigation: true,\n }),\n SrOnlyCloseButtonMixin,\n ],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports v-model\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Opens the dropdown on right click (context menu). If you set this value to `true`,\n * the default trigger behavior will be disabled.\n */\n openOnContext: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Vertical padding size around the list element.\n * @values none, small, large\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Determines modal state, dropdown has a modal overlay preventing interaction with elements\n * below it, but it is invisible.\n */\n modal: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n * @values null, anchor\n */\n contentWidth: {\n type: String,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * If the dropdown does not fit in the direction described by \"placement\",\n * it will attempt to change it's direction to the \"fallbackPlacements\".\n *\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n * */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n */\n placement: {\n type: String,\n default: 'bottom',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * If set to false the dialog will display over top of the anchor when there is insufficient space.\n * If set to true it will never move from its position relative to the anchor and will clip instead.\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/prevent-overflow/#tether\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * @values true, false\n */\n tether: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when dropdown is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n LIST_ITEM_NAVIGATION_TYPES,\n DROPDOWN_PADDING_CLASSES,\n EVENT_KEYNAMES,\n openedWithKeyboard: false,\n isOpen: null,\n };\n },\n\n computed: {\n dropdownListeners () {\n return {\n opened: isPopoverOpen => {\n this.updateInitialHighlightIndex(isPopoverOpen);\n },\n\n keydown: event => {\n const eventCode = event.code;\n\n switch (eventCode) {\n case EVENT_KEYNAMES.up:\n case EVENT_KEYNAMES.arrowup:\n this.onUpKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.down:\n case EVENT_KEYNAMES.arrowdown:\n this.onDownKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.space:\n case EVENT_KEYNAMES.spacebar:\n this.onSpaceKey();\n break;\n case EVENT_KEYNAMES.enter:\n this.onEnterKey();\n break;\n case EVENT_KEYNAMES.home:\n this.onHomeKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.end:\n this.onEndKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n this.onKeyPress(event);\n break;\n }\n\n this.$emit('keydown', event);\n },\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemEl () {\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n\n isArrowKeyNav () {\n return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;\n },\n\n listClasses () {\n return [\n 'd-dropdown-list',\n DROPDOWN_PADDING_CLASSES[this.padding],\n this.listClass,\n { 'd-context-menu-list': this.openOnContext },\n ];\n },\n\n shouldOpenWithArrowKeys () {\n return !this.openOnContext;\n },\n },\n\n methods: {\n onMouseHighlight (e) {\n const liElement = e.target.closest('li');\n\n if (liElement && liElement.role && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n liElement.focus();\n }\n },\n\n getListElement () {\n return this.$refs.listWrapper;\n },\n\n clearHighlightIndex () {\n this.setHighlightIndex(-1);\n },\n\n afterHighlight () {\n if (this.visuallyHiddenClose && this.highlightIndex === this._itemsLength() - 1) {\n return;\n }\n\n this.$emit('highlight', this.highlightIndex);\n },\n\n updateInitialHighlightIndex (isPopoverOpen) {\n this.isOpen = isPopoverOpen;\n\n if (isPopoverOpen) {\n if (this.openedWithKeyboard && this.isArrowKeyNav) {\n this.setHighlightIndex(0);\n }\n this.$emit('opened', true);\n } else {\n this.clearHighlightIndex();\n this.openedWithKeyboard = false;\n this.$emit('opened', false);\n }\n },\n\n onSpaceKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onEnterKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onUpKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onUpKey();\n }\n },\n\n onDownKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onDownKey();\n }\n },\n\n onHomeKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onHomeKey();\n },\n\n onEndKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onEndKey();\n },\n\n onKeyPress (e) {\n if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {\n return;\n }\n\n e.stopPropagation();\n e.preventDefault();\n\n return this.onNavigationKey(e.key);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.d-context-menu-list {\n width: var(--dt-size-850);\n}\n.d-dropdown-list {\n position: relative;\n margin: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n padding-right: var(--dt-space-0);\n >.dt-list-item {\n margin-top: var(--dt-space-200);\n }\n}\n</style>\n"],"names":["_sfc_main","name","components","DtPopover","SrOnlyCloseButton","mixins","KeyboardNavigation","indexKey","idKey","listElementKey","listItemRole","afterHighlightMethod","beginningOfListMethod","endOfListMethod","activeItemKey","focusOnKeyboardNavigation","SrOnlyCloseButtonMixin","inheritAttrs","props","open","type","Boolean","default","openOnContext","padding","String","validator","Object","keys","DROPDOWN_PADDING_CLASSES","some","item","modal","contentWidth","maxHeight","maxWidth","listId","getUniqueString","navigationType","LIST_ITEM_NAVIGATION_TYPES","ARROW_KEYS","t","values","includes","fallbackPlacements","Array","placement","onBeginningOfList","Function","onEndOfList","listClass","appendTo","HTMLElement","POPOVER_APPEND_TO_VALUES","tether","transition","emits","data","EVENT_KEYNAMES","openedWithKeyboard","isOpen","computed","dropdownListeners","opened","isPopoverOpen","updateInitialHighlightIndex","keydown","event","eventCode","code","up","arrowup","onUpKeyPress","stopPropagation","preventDefault","down","arrowdown","onDownKeyPress","space","spacebar","onSpaceKey","enter","onEnterKey","home","onHomeKeyPress","end","onEndKeyPress","onKeyPress","$emit","jumpToEnd","jumpToBeginning","activeItemEl","getListElement","querySelector","highlightId","isArrowKeyNav","listClasses","shouldOpenWithArrowKeys","methods","onMouseHighlight","e","liElement","target","closest","role","id","setHighlightId","focus","$refs","listWrapper","clearHighlightIndex","setHighlightIndex","afterHighlight","visuallyHiddenClose","highlightIndex","_itemsLength","onUpKey","onDownKey","onHomeKey","onEndKey","isValidLetter","key","onNavigationKey","_openBlock","_createBlock","_component_dt_popover","_mergeProps","ref","$props","$data","$options","_ctx","$attrs","_toHandlers","anchor","_withCtx","attrs","_renderSlot","content","close","_createElementVNode","class","onMouseleave","args","$slots","showVisuallyHiddenClose","_component_sr_only_close_button","visuallyHiddenCloseLabel","tabindex","onClose"],"mappings":";;;;;;;;;;AAmEA,MAAKA,YAAU;AAAA,EACbC,MAAM;AAAA,EAENC,YAAY;AAAA,IACVC;AAAAA,IACAC;AAAAA,EACD;AAAA,EAEDC,QAAQ,CACNC,mBAAmB;AAAA,IACjBC,UAAU;AAAA,IACVC,OAAO;AAAA,IACPC,gBAAgB;AAAA,IAChBC,cAAc;AAAA,IACdC,sBAAsB;AAAA,IACtBC,uBAAuB;AAAA,IACvBC,iBAAiB;AAAA,IACjBC,eAAe;AAAA,IACfC,2BAA2B;AAAA,EAC5B,CAAA,GACDC,sBAAsB;AAAA,EAGxBC,cAAc;AAAA,EAEdC,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMLC,MAAM;AAAA,MACJC,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMDC,eAAe;AAAA,MACbH,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMDE,SAAS;AAAA,MACPJ,MAAMK;AAAAA,MACNH,SAAS;AAAA,MACTI,WAAYF,aAAY;AACtB,eAAOG,OAAOC,KAAKC,wBAAwB,EAAEC,KAAMC,UAASA,SAASP,OAAO;AAAA,MAC9E;AAAA,IACD;AAAA;AAAA;AAAA;AAAA;AAAA,IAMDQ,OAAO;AAAA,MACLZ,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAODW,cAAc;AAAA,MACZb,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMDY,WAAW;AAAA,MACTd,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMDa,UAAU;AAAA,MACRf,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMDc,QAAQ;AAAA,MACNhB,MAAMK;AAAAA,MACNH,UAAW;AAAE,eAAOe,gBAAe;AAAA,MAAI;AAAA,IACxC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IASDC,gBAAgB;AAAA,MACdlB,MAAMK;AAAAA,MACNH,SAASiB,2BAA2BC;AAAAA,MACpCd,WAAYe,OAAMd,OAAOe,OAAOH,0BAA0B,EAAEI,SAASF,CAAC;AAAA,IACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAYDG,oBAAoB;AAAA,MAClBxB,MAAMyB;AAAAA,MACNvB,SAASA,MAAM;AACb,eAAO,CAAC,MAAM;AAAA,MAChB;AAAA,IACD;AAAA;AAAA;AAAA;AAAA,IAKDwB,WAAW;AAAA,MACT1B,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKDyB,mBAAmB;AAAA,MACjB3B,MAAM4B;AAAAA,MACN1B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD2B,aAAa;AAAA,MACX7B,MAAM4B;AAAAA,MACN1B,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA,IAKD4B,WAAW;AAAA,MACT9B,MAAM,CAACK,QAAQoB,OAAOlB,MAAM;AAAA,MAC5BL,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOD6B,UAAU;AAAA,MACR/B,MAAM,CAACgC,aAAa3B,MAAM;AAAA,MAC1BH,SAAS;AAAA,MACTI,WAAWyB,cAAY;AACrB,eAAOE,yBAAyBV,SAASQ,QAAQ,KAC5CA,oBAAoBC;AAAAA,MAC3B;AAAA,IACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAcDE,QAAQ;AAAA,MACNlC,MAAMC;AAAAA,MACNC,SAAS;AAAA,IACV;AAAA;AAAA;AAAA;AAAA;AAAA,IAMDiC,YAAY;AAAA,MACVnC,MAAMK;AAAAA,MACNH,SAAS;AAAA,IACX;AAAA,EACD;AAAA,EAEDkC,OAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAOL;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAQA;AAAA;AAAA;AAAA;AAAA;AAAA,IAMA;AAAA,EAAa;AAAA,EAGfC,OAAQ;AACN,WAAO;AAAA,MACLlB;AAAAA,MACAV;AAAAA,MACA6B;AAAAA,MACAC,oBAAoB;AAAA,MACpBC,QAAQ;AAAA;EAEX;AAAA,EAEDC,UAAU;AAAA,IACRC,oBAAqB;AACnB,aAAO;AAAA,QACLC,QAAQC,mBAAiB;AACvB,eAAKC,4BAA4BD,aAAa;AAAA,QAC/C;AAAA,QAEDE,SAASC,WAAS;AAChB,gBAAMC,YAAYD,MAAME;AAExB,kBAAQD,WAAS;AAAA,YACf,KAAKV,eAAeY;AAAAA,YACpB,KAAKZ,eAAea;AAClB,mBAAKC,aAAaL,KAAK;AACvBA,oBAAMM,gBAAe;AACrBN,oBAAMO,eAAc;AACpB;AAAA,YACF,KAAKhB,eAAeiB;AAAAA,YACpB,KAAKjB,eAAekB;AAClB,mBAAKC,eAAeV,KAAK;AACzBA,oBAAMM,gBAAe;AACrBN,oBAAMO,eAAc;AACpB;AAAA,YACF,KAAKhB,eAAeoB;AAAAA,YACpB,KAAKpB,eAAeqB;AAClB,mBAAKC,WAAU;AACf;AAAA,YACF,KAAKtB,eAAeuB;AAClB,mBAAKC,WAAU;AACf;AAAA,YACF,KAAKxB,eAAeyB;AAClB,mBAAKC,eAAejB,KAAK;AACzBA,oBAAMM,gBAAe;AACrBN,oBAAMO,eAAc;AACpB;AAAA,YACF,KAAKhB,eAAe2B;AAClB,mBAAKC,cAAcnB,KAAK;AACxBA,oBAAMM,gBAAe;AACrBN,oBAAMO,eAAc;AACpB;AAAA,YACF;AACE,mBAAKa,WAAWpB,KAAK;AACrB;AAAA,UACJ;AAEA,eAAKqB,MAAM,WAAWrB,KAAK;AAAA,QAC7B;AAAA;IAEH;AAAA,IAEDvD,wBAAyB;AACvB,aAAO,KAAKmC,qBAAqB,KAAK0C;AAAAA,IACvC;AAAA,IAED5E,kBAAmB;AACjB,aAAO,KAAKoC,eAAe,KAAKyC;AAAAA,IACjC;AAAA,IAEDC,eAAgB;AACd,aAAO,KAAKC,iBAAiBC,cAAc,MAAM,KAAKC,WAAW;AAAA,IAClE;AAAA,IAEDC,gBAAiB;AACf,aAAO,KAAKzD,mBAAmB,KAAKC,2BAA2BC;AAAAA,IAChE;AAAA,IAEDwD,cAAe;AACb,aAAO,CACL,mBACAnE,yBAAyB,KAAKL,OAAO,GACrC,KAAK0B,WACL;AAAA,QAAE,uBAAuB,KAAK3B;AAAAA,MAAc,CAAC;AAAA,IAEhD;AAAA,IAED0E,0BAA2B;AACzB,aAAO,CAAC,KAAK1E;AAAAA,IACf;AAAA,EACD;AAAA,EAED2E,SAAS;AAAA,IACPC,iBAAkBC,GAAG;AACnB,YAAMC,YAAYD,EAAEE,OAAOC,QAAQ,IAAI;AAEvC,UAAIF,aAAaA,UAAUG,QAAQ,KAAKV,gBAAgBO,UAAUI,IAAI;AACpE,aAAKC,eAAeL,UAAUI,EAAE;AAChCJ,kBAAUM,MAAK;AAAA,MACjB;AAAA,IACD;AAAA,IAEDf,iBAAkB;AAChB,aAAO,KAAKgB,MAAMC;AAAAA,IACnB;AAAA,IAEDC,sBAAuB;AACrB,WAAKC,kBAAkB,EAAE;AAAA,IAC1B;AAAA,IAEDC,iBAAkB;AAChB,UAAI,KAAKC,uBAAuB,KAAKC,mBAAmB,KAAKC,aAAe,IAAE,GAAG;AAC/E;AAAA,MACF;AAEA,WAAK3B,MAAM,aAAa,KAAK0B,cAAc;AAAA,IAC5C;AAAA,IAEDjD,4BAA6BD,eAAe;AAC1C,WAAKJ,SAASI;AAEd,UAAIA,eAAe;AACjB,YAAI,KAAKL,sBAAsB,KAAKoC,eAAe;AACjD,eAAKgB,kBAAkB,CAAC;AAAA,QAC1B;AACA,aAAKvB,MAAM,UAAU,IAAI;AAAA,MAC3B,OAAO;AACL,aAAKsB,oBAAmB;AACxB,aAAKnD,qBAAqB;AAC1B,aAAK6B,MAAM,UAAU,KAAK;AAAA,MAC5B;AAAA,IACD;AAAA,IAEDR,aAAc;AACZ,UAAI,CAAC,KAAK7D,MAAM;AACd,aAAKwC,qBAAqB;AAAA,MAC5B;AAAA,IACD;AAAA,IAEDuB,aAAc;AACZ,UAAI,CAAC,KAAK/D,MAAM;AACd,aAAKwC,qBAAqB;AAAA,MAC5B;AAAA,IACD;AAAA,IAEDa,eAAgB;AACd,UAAI,CAAC,KAAKZ,QAAQ;AAChB,aAAKD,qBAAqB;AAC1B;AAAA,MACF;AACA,UAAI,KAAKoC,eAAe;AACtB,eAAO,KAAKqB;MACd;AAAA,IACD;AAAA,IAEDvC,iBAAkB;AAChB,UAAI,CAAC,KAAKjB,QAAQ;AAChB,aAAKD,qBAAqB;AAC1B;AAAA,MACF;AACA,UAAI,KAAKoC,eAAe;AACtB,eAAO,KAAKsB;MACd;AAAA,IACD;AAAA,IAEDjC,iBAAkB;AAChB,UAAI,CAAC,KAAKxB,UAAU,CAAC,KAAKmC,eAAe;AACvC;AAAA,MACF;AAEA,aAAO,KAAKuB;IACb;AAAA,IAEDhC,gBAAiB;AACf,UAAI,CAAC,KAAK1B,UAAU,CAAC,KAAKmC,eAAe;AACvC;AAAA,MACF;AAEA,aAAO,KAAKwB;IACb;AAAA,IAEDhC,WAAYa,GAAG;AACb,UAAI,CAAC,KAAKxC,UAAU,CAAC,KAAKmC,iBAAiB,CAAC,KAAKyB,cAAcpB,EAAEqB,GAAG,GAAG;AACrE;AAAA,MACF;AAEArB,QAAE3B,gBAAe;AACjB2B,QAAE1B,eAAc;AAEhB,aAAO,KAAKgD,gBAAgBtB,EAAEqB,GAAG;AAAA,IACnC;AAAA,EACF;AACF;;;;;AAnfE,SAAAE,UAAA,GAAAC,YAoDaC,uBApDbC,WAoDa;AAAA,IAnDXC,KAAI;AAAA,IACH,iBAAeC,OAAY/F;AAAAA,IAC3Bd,MAAM6G,OAAI7G;AAAAA,IACV2B,WAAWkF,OAASlF;AAAAA,IACpB,yBAAuBmF,MAAkBtE,qBAAA,UAAA;AAAA,IACzC,uBAAqBqE,OAAkBpF;AAAAA,IACxCpB,SAAQ;AAAA,IACRgF,MAAK;AAAA,IACJ,aAAWwB,OAAQ7E;AAAAA,IACnBnB,OAAOgG,OAAKhG;AAAAA,IACZ,cAAYgG,OAAS9F;AAAAA,IACrB,aAAW8F,OAAQ7F;AAAAA,IACnB,wBAAsB+F,SAAuBjC;AAAAA,IAC7C,mBAAiB+B,OAAazG;AAAAA,KACvB4G,KAAMC,QAAA;AAAA,IACb9E,QAAQ0E,OAAM1E;AAAAA,IACdC,YAAYyE,OAAUzE;AAAAA,EACvB,GAAA8E,WAAMH,SAAiBpE,iBAAA,CAAA,GAAA;AAAA,IAEZwE,QAAMC,QAEf,CAIE;AAAA,MANiBC;AAAAA,IAAK,MAAA,CAExBC,WAIEN,uBAJFL,WAIE;AAAA,MAHAC,KAAI;AAAA,OAEIS,KAAK,CAAA,CAAA;IAGNE,SAAOH,QAGhB,CAmBK;AAAA,MAtBeI;AAAAA,IAAK,MAAA,CAGzBC,mBAmBK,MAAA;AAAA,MAlBFnC,IAAIuB,OAAM5F;AAAAA,MACX2F,KAAI;AAAA,MACHc,sBAAOX,SAAWlC,WAAA;AAAA,MACnB,WAAQ;AAAA,MACP8C,qDAAYZ,SAAmBpB,uBAAAoB,SAAApB,oBAAA,GAAAiC,IAAA;AAAA,iEACZb,SAAgB/B,oBAAA+B,SAAA/B,iBAAA,GAAA4C,IAAA;AAAA,QAGpCN,WAGEN,KAAAa,QAAA,QAAA;AAAA,MADCL;AAAAA,IAAY,CAAA,GAGPR,KAAuBc,wCAD/BrB,YAKEsB,iCAAA;AAAA;MAHC,+BAA6Bf,KAAwBgB;AAAAA,MACrDC,UAAUlB,SAAanC,gBAAA,KAAA;AAAA,MACvBsD,SAAOV;AAAAA;;;;;"}
|
|
1
|
+
{"version":3,"file":"dropdown-oA-_Gotg.js","sources":["../../components/dropdown/dropdown.vue"],"sourcesContent":["<!-- eslint-disable max-lines -->\n<template>\n <dt-popover\n ref=\"popover\"\n :content-width=\"contentWidth\"\n :open=\"open\"\n :placement=\"placement\"\n :initial-focus-element=\"openedWithKeyboard ? 'first' : 'dialog'\"\n :fallback-placements=\"fallbackPlacements\"\n padding=\"none\"\n role=\"menu\"\n :append-to=\"appendTo\"\n :modal=\"modal\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :open-with-arrow-keys=\"shouldOpenWithArrowKeys\"\n :open-on-context=\"openOnContext\"\n v-bind=\"$attrs\"\n :tether=\"tether\"\n :transition=\"transition\"\n v-on=\"dropdownListeners\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the dropdown -->\n <slot\n ref=\"anchor\"\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content=\"{ close }\">\n <!-- eslint-disable-next-line max-len -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events vuejs-accessibility/no-static-element-interactions -->\n <ul\n :id=\"listId\"\n ref=\"listWrapper\"\n :class=\"listClasses\"\n data-qa=\"dt-dropdown-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <!-- @slot Slot for the list component -->\n <slot\n name=\"list\"\n :close=\"close\"\n />\n <sr-only-close-button\n v-if=\"showVisuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :tabindex=\"isArrowKeyNav ? -1 : 0\"\n @close=\"close\"\n />\n </ul>\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport KeyboardNavigation from '@/common/mixins/keyboard_list_navigation';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES } from '@/components/popover';\nimport { LIST_ITEM_NAVIGATION_TYPES } from '@/components/list_item';\nimport { DROPDOWN_PADDING_CLASSES } from './dropdown_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\n\nexport default {\n name: 'DtDropdown',\n\n components: {\n DtPopover,\n SrOnlyCloseButton,\n },\n\n mixins: [\n KeyboardNavigation({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n listItemRole: 'menuitem',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n focusOnKeyboardNavigation: true,\n }),\n SrOnlyCloseButtonMixin,\n ],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports v-model\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Opens the dropdown on right click (context menu). If you set this value to `true`,\n * the default trigger behavior will be disabled.\n */\n openOnContext: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Vertical padding size around the list element.\n * @values none, small, large\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Determines modal state, dropdown has a modal overlay preventing interaction with elements\n * below it, but it is invisible.\n */\n modal: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n * @values null, anchor\n */\n contentWidth: {\n type: String,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * If the dropdown does not fit in the direction described by \"placement\",\n * it will attempt to change it's direction to the \"fallbackPlacements\".\n *\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n * */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n */\n placement: {\n type: String,\n default: 'bottom',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * If set to false the dialog will display over top of the anchor when there is insufficient space.\n * If set to true it will never move from its position relative to the anchor and will clip instead.\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/prevent-overflow/#tether\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * @values true, false\n */\n tether: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when dropdown is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n LIST_ITEM_NAVIGATION_TYPES,\n DROPDOWN_PADDING_CLASSES,\n EVENT_KEYNAMES,\n openedWithKeyboard: false,\n isOpen: null,\n };\n },\n\n computed: {\n dropdownListeners () {\n return {\n opened: isPopoverOpen => {\n this.updateInitialHighlightIndex(isPopoverOpen);\n },\n\n keydown: event => {\n const eventCode = event.code;\n\n switch (eventCode) {\n case EVENT_KEYNAMES.up:\n case EVENT_KEYNAMES.arrowup:\n this.onUpKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.down:\n case EVENT_KEYNAMES.arrowdown:\n this.onDownKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.space:\n case EVENT_KEYNAMES.spacebar:\n this.onSpaceKey();\n break;\n case EVENT_KEYNAMES.enter:\n this.onEnterKey();\n break;\n case EVENT_KEYNAMES.home:\n this.onHomeKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.end:\n this.onEndKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n this.onKeyPress(event);\n break;\n }\n\n this.$emit('keydown', event);\n },\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemEl () {\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n\n isArrowKeyNav () {\n return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;\n },\n\n listClasses () {\n return [\n 'd-dropdown-list',\n DROPDOWN_PADDING_CLASSES[this.padding],\n this.listClass,\n { 'd-context-menu-list': this.openOnContext },\n ];\n },\n\n shouldOpenWithArrowKeys () {\n return !this.openOnContext;\n },\n },\n\n methods: {\n onMouseHighlight (e) {\n const liElement = e.target.closest('li');\n\n if (liElement && liElement.role && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n liElement.focus();\n }\n },\n\n getListElement () {\n return this.$refs.listWrapper;\n },\n\n clearHighlightIndex () {\n this.setHighlightIndex(-1);\n },\n\n afterHighlight () {\n if (this.visuallyHiddenClose && this.highlightIndex === this._itemsLength() - 1) {\n return;\n }\n\n this.$emit('highlight', this.highlightIndex);\n },\n\n updateInitialHighlightIndex (isPopoverOpen) {\n this.isOpen = isPopoverOpen;\n\n if (isPopoverOpen) {\n if (this.openedWithKeyboard && this.isArrowKeyNav) {\n this.setHighlightIndex(0);\n }\n this.$emit('opened', true);\n } else {\n this.clearHighlightIndex();\n this.openedWithKeyboard = false;\n this.$emit('opened', false);\n }\n },\n\n onSpaceKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onEnterKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onUpKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onUpKey();\n }\n },\n\n onDownKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onDownKey();\n }\n },\n\n onHomeKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onHomeKey();\n },\n\n onEndKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onEndKey();\n },\n\n onKeyPress (e) {\n if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {\n return;\n }\n\n e.stopPropagation();\n e.preventDefault();\n\n return this.onNavigationKey(e.key);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.d-context-menu-list {\n width: var(--dt-size-850);\n}\n.d-dropdown-list {\n position: relative;\n margin: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n padding-right: var(--dt-space-0);\n >.dt-list-item {\n margin-top: var(--dt-space-200);\n }\n}\n</style>\n"],"names":["_openBlock","_createBlock","_mergeProps","_toHandlers","_withCtx","_renderSlot","_createElementVNode"],"mappings":"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"}
|
|
@@ -1,31 +1,34 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const keyboard_list_navigation = require("./keyboard_list_navigation-
|
|
2
|
+
const keyboard_list_navigation = require("./keyboard_list_navigation-fJnl_Iox.js");
|
|
3
3
|
const dropdown_constants = require("./dropdown_constants-2pGCXy7m.js");
|
|
4
4
|
const common_utils = require("../common/utils.cjs");
|
|
5
5
|
const common_constants = require("../common/constants.cjs");
|
|
6
|
-
const sr_only_close_button = require("./sr_only_close_button-
|
|
6
|
+
const sr_only_close_button = require("./sr_only_close_button-xGrHFjwA.js");
|
|
7
7
|
const vue = require("vue");
|
|
8
8
|
const _pluginVue_exportHelper = require("./_plugin-vue_export-helper-fhnQq0tA.js");
|
|
9
9
|
const lib_popover = require("../lib/popover.cjs");
|
|
10
10
|
const list_item_constants = require("./list_item_constants-EiqkqZvP.js");
|
|
11
|
-
const popover_constants = require("./popover_constants-
|
|
11
|
+
const popover_constants = require("./popover_constants-XnGWXaxX.js");
|
|
12
12
|
const _sfc_main = {
|
|
13
13
|
name: "DtDropdown",
|
|
14
14
|
components: {
|
|
15
15
|
DtPopover: lib_popover.DtPopover,
|
|
16
16
|
SrOnlyCloseButton: sr_only_close_button.SrOnlyCloseButton
|
|
17
17
|
},
|
|
18
|
-
mixins: [
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
18
|
+
mixins: [
|
|
19
|
+
keyboard_list_navigation.KeyboardNavigation({
|
|
20
|
+
indexKey: "highlightIndex",
|
|
21
|
+
idKey: "highlightId",
|
|
22
|
+
listElementKey: "getListElement",
|
|
23
|
+
listItemRole: "menuitem",
|
|
24
|
+
afterHighlightMethod: "afterHighlight",
|
|
25
|
+
beginningOfListMethod: "beginningOfListMethod",
|
|
26
|
+
endOfListMethod: "endOfListMethod",
|
|
27
|
+
activeItemKey: "activeItemEl",
|
|
28
|
+
focusOnKeyboardNavigation: true
|
|
29
|
+
}),
|
|
30
|
+
sr_only_close_button.SrOnlyCloseButtonMixin
|
|
31
|
+
],
|
|
29
32
|
inheritAttrs: false,
|
|
30
33
|
props: {
|
|
31
34
|
/**
|
|
@@ -293,9 +296,12 @@ const _sfc_main = {
|
|
|
293
296
|
return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;
|
|
294
297
|
},
|
|
295
298
|
listClasses() {
|
|
296
|
-
return [
|
|
297
|
-
"d-
|
|
298
|
-
|
|
299
|
+
return [
|
|
300
|
+
"d-dropdown-list",
|
|
301
|
+
dropdown_constants.DROPDOWN_PADDING_CLASSES[this.padding],
|
|
302
|
+
this.listClass,
|
|
303
|
+
{ "d-context-menu-list": this.openOnContext }
|
|
304
|
+
];
|
|
299
305
|
},
|
|
300
306
|
shouldOpenWithArrowKeys() {
|
|
301
307
|
return !this.openOnContext;
|
|
@@ -407,31 +413,30 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
|
|
|
407
413
|
tether: $props.tether,
|
|
408
414
|
transition: $props.transition
|
|
409
415
|
}, vue.toHandlers($options.dropdownListeners)), {
|
|
410
|
-
anchor: vue.withCtx(({
|
|
411
|
-
attrs
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
|
|
426
|
-
|
|
427
|
-
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
}, null, 8, ["visually-hidden-close-label", "tabindex", "onClose"])) : vue.createCommentVNode("", true)], 42, _hoisted_1)]),
|
|
416
|
+
anchor: vue.withCtx(({ attrs }) => [
|
|
417
|
+
vue.renderSlot(_ctx.$slots, "anchor", vue.mergeProps({ ref: "anchor" }, attrs))
|
|
418
|
+
]),
|
|
419
|
+
content: vue.withCtx(({ close }) => [
|
|
420
|
+
vue.createElementVNode("ul", {
|
|
421
|
+
id: $props.listId,
|
|
422
|
+
ref: "listWrapper",
|
|
423
|
+
class: vue.normalizeClass($options.listClasses),
|
|
424
|
+
"data-qa": "dt-dropdown-list-wrapper",
|
|
425
|
+
onMouseleave: _cache[0] || (_cache[0] = (...args) => $options.clearHighlightIndex && $options.clearHighlightIndex(...args)),
|
|
426
|
+
onMousemoveCapture: _cache[1] || (_cache[1] = (...args) => $options.onMouseHighlight && $options.onMouseHighlight(...args))
|
|
427
|
+
}, [
|
|
428
|
+
vue.renderSlot(_ctx.$slots, "list", { close }),
|
|
429
|
+
_ctx.showVisuallyHiddenClose ? (vue.openBlock(), vue.createBlock(_component_sr_only_close_button, {
|
|
430
|
+
key: 0,
|
|
431
|
+
"visually-hidden-close-label": _ctx.visuallyHiddenCloseLabel,
|
|
432
|
+
tabindex: $options.isArrowKeyNav ? -1 : 0,
|
|
433
|
+
onClose: close
|
|
434
|
+
}, null, 8, ["visually-hidden-close-label", "tabindex", "onClose"])) : vue.createCommentVNode("", true)
|
|
435
|
+
], 42, _hoisted_1)
|
|
436
|
+
]),
|
|
432
437
|
_: 3
|
|
433
438
|
}, 16, ["content-width", "open", "placement", "initial-focus-element", "fallback-placements", "append-to", "modal", "max-height", "max-width", "open-with-arrow-keys", "open-on-context", "tether", "transition"]);
|
|
434
439
|
}
|
|
435
440
|
const DtDropdown = /* @__PURE__ */ _pluginVue_exportHelper._export_sfc(_sfc_main, [["render", _sfc_render]]);
|
|
436
441
|
exports.DtDropdown = DtDropdown;
|
|
437
|
-
//# sourceMappingURL=dropdown-
|
|
442
|
+
//# sourceMappingURL=dropdown-p-Azgwov.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown-QNvAb160.js","sources":["../../components/dropdown/dropdown.vue"],"sourcesContent":["<!-- eslint-disable max-lines -->\n<template>\n <dt-popover\n ref=\"popover\"\n :content-width=\"contentWidth\"\n :open=\"open\"\n :placement=\"placement\"\n :initial-focus-element=\"openedWithKeyboard ? 'first' : 'dialog'\"\n :fallback-placements=\"fallbackPlacements\"\n padding=\"none\"\n role=\"menu\"\n :append-to=\"appendTo\"\n :modal=\"modal\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :open-with-arrow-keys=\"shouldOpenWithArrowKeys\"\n :open-on-context=\"openOnContext\"\n v-bind=\"$attrs\"\n :tether=\"tether\"\n :transition=\"transition\"\n v-on=\"dropdownListeners\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the dropdown -->\n <slot\n ref=\"anchor\"\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content=\"{ close }\">\n <!-- eslint-disable-next-line max-len -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events vuejs-accessibility/no-static-element-interactions -->\n <ul\n :id=\"listId\"\n ref=\"listWrapper\"\n :class=\"listClasses\"\n data-qa=\"dt-dropdown-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <!-- @slot Slot for the list component -->\n <slot\n name=\"list\"\n :close=\"close\"\n />\n <sr-only-close-button\n v-if=\"showVisuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :tabindex=\"isArrowKeyNav ? -1 : 0\"\n @close=\"close\"\n />\n </ul>\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport KeyboardNavigation from '@/common/mixins/keyboard_list_navigation';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES } from '@/components/popover';\nimport { LIST_ITEM_NAVIGATION_TYPES } from '@/components/list_item';\nimport { DROPDOWN_PADDING_CLASSES } from './dropdown_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\n\nexport default {\n name: 'DtDropdown',\n\n components: {\n DtPopover,\n SrOnlyCloseButton,\n },\n\n mixins: [\n KeyboardNavigation({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n listItemRole: 'menuitem',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n focusOnKeyboardNavigation: true,\n }),\n SrOnlyCloseButtonMixin,\n ],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports v-model\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Opens the dropdown on right click (context menu). If you set this value to `true`,\n * the default trigger behavior will be disabled.\n */\n openOnContext: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Vertical padding size around the list element.\n * @values none, small, large\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Determines modal state, dropdown has a modal overlay preventing interaction with elements\n * below it, but it is invisible.\n */\n modal: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n * @values null, anchor\n */\n contentWidth: {\n type: String,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * If the dropdown does not fit in the direction described by \"placement\",\n * it will attempt to change it's direction to the \"fallbackPlacements\".\n *\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n * */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n */\n placement: {\n type: String,\n default: 'bottom',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * If set to false the dialog will display over top of the anchor when there is insufficient space.\n * If set to true it will never move from its position relative to the anchor and will clip instead.\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/prevent-overflow/#tether\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * @values true, false\n */\n tether: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when dropdown is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n LIST_ITEM_NAVIGATION_TYPES,\n DROPDOWN_PADDING_CLASSES,\n EVENT_KEYNAMES,\n openedWithKeyboard: false,\n isOpen: null,\n };\n },\n\n computed: {\n dropdownListeners () {\n return {\n opened: isPopoverOpen => {\n this.updateInitialHighlightIndex(isPopoverOpen);\n },\n\n keydown: event => {\n const eventCode = event.code;\n\n switch (eventCode) {\n case EVENT_KEYNAMES.up:\n case EVENT_KEYNAMES.arrowup:\n this.onUpKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.down:\n case EVENT_KEYNAMES.arrowdown:\n this.onDownKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.space:\n case EVENT_KEYNAMES.spacebar:\n this.onSpaceKey();\n break;\n case EVENT_KEYNAMES.enter:\n this.onEnterKey();\n break;\n case EVENT_KEYNAMES.home:\n this.onHomeKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.end:\n this.onEndKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n this.onKeyPress(event);\n break;\n }\n\n this.$emit('keydown', event);\n },\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemEl () {\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n\n isArrowKeyNav () {\n return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;\n },\n\n listClasses () {\n return [\n 'd-dropdown-list',\n DROPDOWN_PADDING_CLASSES[this.padding],\n this.listClass,\n { 'd-context-menu-list': this.openOnContext },\n ];\n },\n\n shouldOpenWithArrowKeys () {\n return !this.openOnContext;\n },\n },\n\n methods: {\n onMouseHighlight (e) {\n const liElement = e.target.closest('li');\n\n if (liElement && liElement.role && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n liElement.focus();\n }\n },\n\n getListElement () {\n return this.$refs.listWrapper;\n },\n\n clearHighlightIndex () {\n this.setHighlightIndex(-1);\n },\n\n afterHighlight () {\n if (this.visuallyHiddenClose && this.highlightIndex === this._itemsLength() - 1) {\n return;\n }\n\n this.$emit('highlight', this.highlightIndex);\n },\n\n updateInitialHighlightIndex (isPopoverOpen) {\n this.isOpen = isPopoverOpen;\n\n if (isPopoverOpen) {\n if (this.openedWithKeyboard && this.isArrowKeyNav) {\n this.setHighlightIndex(0);\n }\n this.$emit('opened', true);\n } else {\n this.clearHighlightIndex();\n this.openedWithKeyboard = false;\n this.$emit('opened', false);\n }\n },\n\n onSpaceKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onEnterKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onUpKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onUpKey();\n }\n },\n\n onDownKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onDownKey();\n }\n },\n\n onHomeKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onHomeKey();\n },\n\n onEndKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onEndKey();\n },\n\n onKeyPress (e) {\n if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {\n return;\n }\n\n e.stopPropagation();\n e.preventDefault();\n\n return this.onNavigationKey(e.key);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.d-context-menu-list {\n width: var(--dt-size-850);\n}\n.d-dropdown-list {\n position: relative;\n margin: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n padding-right: var(--dt-space-0);\n >.dt-list-item {\n margin-top: var(--dt-space-200);\n }\n}\n</style>\n"],"names":["_sfc_main","name","components","DtPopover","SrOnlyCloseButton","mixins","KeyboardNavigation","indexKey","idKey","listElementKey","listItemRole","afterHighlightMethod","beginningOfListMethod","endOfListMethod","activeItemKey","focusOnKeyboardNavigation","SrOnlyCloseButtonMixin","inheritAttrs","props","open","type","Boolean","default","openOnContext","padding","String","validator","Object","keys","DROPDOWN_PADDING_CLASSES","some","item","modal","contentWidth","maxHeight","maxWidth","listId","getUniqueString","navigationType","LIST_ITEM_NAVIGATION_TYPES","ARROW_KEYS","t","values","includes","fallbackPlacements","Array","placement","onBeginningOfList","Function","onEndOfList","listClass","appendTo","HTMLElement","POPOVER_APPEND_TO_VALUES","tether","transition","emits","data","EVENT_KEYNAMES","openedWithKeyboard","isOpen","computed","dropdownListeners","opened","isPopoverOpen","updateInitialHighlightIndex","keydown","event","eventCode","code","up","arrowup","onUpKeyPress","stopPropagation","preventDefault","down","arrowdown","onDownKeyPress","space","spacebar","onSpaceKey","enter","onEnterKey","home","onHomeKeyPress","end","onEndKeyPress","onKeyPress","$emit","jumpToEnd","jumpToBeginning","activeItemEl","getListElement","querySelector","highlightId","isArrowKeyNav","listClasses","shouldOpenWithArrowKeys","methods","onMouseHighlight","e","liElement","target","closest","role","id","setHighlightId","focus","$refs","listWrapper","clearHighlightIndex","setHighlightIndex","afterHighlight","visuallyHiddenClose","highlightIndex","_itemsLength","onUpKey","onDownKey","onHomeKey","onEndKey","isValidLetter","key","onNavigationKey","_openBlock","_createBlock","_component_dt_popover","_mergeProps","ref","$props","$data","$options","_ctx","$attrs","_toHandlers","anchor","_withCtx","attrs","_renderSlot","content","close","_createElementVNode","class","onMouseleave","args","$slots","showVisuallyHiddenClose","_component_sr_only_close_button","visuallyHiddenCloseLabel","tabindex","onClose"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dropdown-p-Azgwov.js","sources":["../../components/dropdown/dropdown.vue"],"sourcesContent":["<!-- eslint-disable max-lines -->\n<template>\n <dt-popover\n ref=\"popover\"\n :content-width=\"contentWidth\"\n :open=\"open\"\n :placement=\"placement\"\n :initial-focus-element=\"openedWithKeyboard ? 'first' : 'dialog'\"\n :fallback-placements=\"fallbackPlacements\"\n padding=\"none\"\n role=\"menu\"\n :append-to=\"appendTo\"\n :modal=\"modal\"\n :max-height=\"maxHeight\"\n :max-width=\"maxWidth\"\n :open-with-arrow-keys=\"shouldOpenWithArrowKeys\"\n :open-on-context=\"openOnContext\"\n v-bind=\"$attrs\"\n :tether=\"tether\"\n :transition=\"transition\"\n v-on=\"dropdownListeners\"\n >\n <template #anchor=\"{ attrs }\">\n <!-- @slot Anchor element that activates the dropdown -->\n <slot\n ref=\"anchor\"\n name=\"anchor\"\n v-bind=\"attrs\"\n />\n </template>\n <template #content=\"{ close }\">\n <!-- eslint-disable-next-line max-len -->\n <!-- eslint-disable-next-line vuejs-accessibility/mouse-events-have-key-events vuejs-accessibility/no-static-element-interactions -->\n <ul\n :id=\"listId\"\n ref=\"listWrapper\"\n :class=\"listClasses\"\n data-qa=\"dt-dropdown-list-wrapper\"\n @mouseleave=\"clearHighlightIndex\"\n @mousemove.capture=\"onMouseHighlight\"\n >\n <!-- @slot Slot for the list component -->\n <slot\n name=\"list\"\n :close=\"close\"\n />\n <sr-only-close-button\n v-if=\"showVisuallyHiddenClose\"\n :visually-hidden-close-label=\"visuallyHiddenCloseLabel\"\n :tabindex=\"isArrowKeyNav ? -1 : 0\"\n @close=\"close\"\n />\n </ul>\n </template>\n </dt-popover>\n</template>\n\n<script>\nimport KeyboardNavigation from '@/common/mixins/keyboard_list_navigation';\nimport { DtPopover, POPOVER_APPEND_TO_VALUES } from '@/components/popover';\nimport { LIST_ITEM_NAVIGATION_TYPES } from '@/components/list_item';\nimport { DROPDOWN_PADDING_CLASSES } from './dropdown_constants';\nimport { getUniqueString } from '@/common/utils';\nimport { EVENT_KEYNAMES } from '@/common/constants';\nimport SrOnlyCloseButtonMixin from '@/common/mixins/sr_only_close_button';\nimport SrOnlyCloseButton from '@/common/sr_only_close_button.vue';\n\nexport default {\n name: 'DtDropdown',\n\n components: {\n DtPopover,\n SrOnlyCloseButton,\n },\n\n mixins: [\n KeyboardNavigation({\n indexKey: 'highlightIndex',\n idKey: 'highlightId',\n listElementKey: 'getListElement',\n listItemRole: 'menuitem',\n afterHighlightMethod: 'afterHighlight',\n beginningOfListMethod: 'beginningOfListMethod',\n endOfListMethod: 'endOfListMethod',\n activeItemKey: 'activeItemEl',\n focusOnKeyboardNavigation: true,\n }),\n SrOnlyCloseButtonMixin,\n ],\n\n inheritAttrs: false,\n\n props: {\n /**\n * Controls whether the dropdown is shown. Leaving this null will have the dropdown trigger on click by default.\n * If you set this value, the default trigger behavior will be disabled and you can control it as you need.\n * Supports v-model\n */\n open: {\n type: Boolean,\n default: null,\n },\n\n /**\n * Opens the dropdown on right click (context menu). If you set this value to `true`,\n * the default trigger behavior will be disabled.\n */\n openOnContext: {\n type: Boolean,\n default: false,\n },\n\n /**\n * Vertical padding size around the list element.\n * @values none, small, large\n */\n padding: {\n type: String,\n default: 'small',\n validator: (padding) => {\n return Object.keys(DROPDOWN_PADDING_CLASSES).some((item) => item === padding);\n },\n },\n\n /**\n * Determines modal state, dropdown has a modal overlay preventing interaction with elements\n * below it, but it is invisible.\n */\n modal: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Width configuration for the popover content. When its value is 'anchor',\n * the popover content will have the same width as the anchor.\n * @values null, anchor\n */\n contentWidth: {\n type: String,\n default: null,\n },\n\n /**\n * Determines maximum height for the popover before overflow.\n * Possible units rem|px|em\n */\n maxHeight: {\n type: String,\n default: '',\n },\n\n /**\n * Determines maximum width for the popover before overflow.\n * Possible units rem|px|%|em\n */\n maxWidth: {\n type: String,\n default: '',\n },\n\n /**\n * Sets an ID on the list element of the component. Used by several aria attributes\n * as well as when deriving the IDs for each item.\n */\n listId: {\n type: String,\n default () { return getUniqueString(); },\n },\n\n /**\n * The type of navigation that this component should support.\n * - \"arrow-keys\" for items that are navigated with UP/DOWN keys.\n * - \"tab\" for items that are navigated using the TAB key.\n * - \"none\" for static items that are not interactive.\n * @values arrow-keys, tab, none\n */\n navigationType: {\n type: String,\n default: LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS,\n validator: (t) => Object.values(LIST_ITEM_NAVIGATION_TYPES).includes(t),\n },\n\n /**\n * If the dropdown does not fit in the direction described by \"placement\",\n * it will attempt to change it's direction to the \"fallbackPlacements\".\n *\n * @values top, top-start, top-end,\n * right, right-start, right-end,\n * left, left-start, left-end,\n * bottom, bottom-start, bottom-end,\n * auto, auto-start, auto-end\n * */\n fallbackPlacements: {\n type: Array,\n default: () => {\n return ['auto'];\n },\n },\n\n /**\n * The direction the dropdown displays relative to the anchor.\n */\n placement: {\n type: String,\n default: 'bottom',\n },\n\n /**\n * A method that will be called when the selection goes past the beginning of the list.\n */\n onBeginningOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * A method that will be called when the selection goes past the end of the list.\n */\n onEndOfList: {\n type: Function,\n default: null,\n },\n\n /**\n * Additional class for the wrapper list element.\n */\n listClass: {\n type: [String, Array, Object],\n default: '',\n },\n\n /**\n * Sets the element to which the popover is going to append to.\n * 'body' will append to the nearest body (supports shadow DOM).\n * @values 'body', 'parent', HTMLElement,\n */\n appendTo: {\n type: [HTMLElement, String],\n default: 'body',\n validator: appendTo => {\n return POPOVER_APPEND_TO_VALUES.includes(appendTo) ||\n (appendTo instanceof HTMLElement);\n },\n },\n\n /**\n * If set to false the dialog will display over top of the anchor when there is insufficient space.\n * If set to true it will never move from its position relative to the anchor and will clip instead.\n * <a\n * class=\"d-link\"\n * href=\"https://popper.js.org/docs/v2/modifiers/prevent-overflow/#tether\"\n * target=\"_blank\"\n * >\n * Popper.js docs\n * </a>\n * @values true, false\n */\n tether: {\n type: Boolean,\n default: true,\n },\n\n /**\n * Named transition when the content display is toggled.\n * @see DtLazyShow\n */\n transition: {\n type: String,\n default: 'fade',\n },\n },\n\n emits: [\n /**\n * Native keydown event\n *\n * @event keydown\n * @type {KeyboardEvent}\n */\n 'keydown',\n\n /**\n * Event fired when the highlight changes\n *\n * @event highlight\n * @type {Number}\n */\n 'highlight',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n\n /**\n * Event fired when dropdown is shown or hidden\n *\n * @event opened\n * @type {Boolean | Array}\n */\n 'opened',\n\n /**\n * Event fired to sync the open prop with the parent component\n * @event update:open\n */\n 'update:open',\n ],\n\n data () {\n return {\n LIST_ITEM_NAVIGATION_TYPES,\n DROPDOWN_PADDING_CLASSES,\n EVENT_KEYNAMES,\n openedWithKeyboard: false,\n isOpen: null,\n };\n },\n\n computed: {\n dropdownListeners () {\n return {\n opened: isPopoverOpen => {\n this.updateInitialHighlightIndex(isPopoverOpen);\n },\n\n keydown: event => {\n const eventCode = event.code;\n\n switch (eventCode) {\n case EVENT_KEYNAMES.up:\n case EVENT_KEYNAMES.arrowup:\n this.onUpKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.down:\n case EVENT_KEYNAMES.arrowdown:\n this.onDownKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.space:\n case EVENT_KEYNAMES.spacebar:\n this.onSpaceKey();\n break;\n case EVENT_KEYNAMES.enter:\n this.onEnterKey();\n break;\n case EVENT_KEYNAMES.home:\n this.onHomeKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n case EVENT_KEYNAMES.end:\n this.onEndKeyPress(event);\n event.stopPropagation();\n event.preventDefault();\n break;\n default:\n this.onKeyPress(event);\n break;\n }\n\n this.$emit('keydown', event);\n },\n };\n },\n\n beginningOfListMethod () {\n return this.onBeginningOfList || this.jumpToEnd;\n },\n\n endOfListMethod () {\n return this.onEndOfList || this.jumpToBeginning;\n },\n\n activeItemEl () {\n return this.getListElement().querySelector('#' + this.highlightId);\n },\n\n isArrowKeyNav () {\n return this.navigationType === this.LIST_ITEM_NAVIGATION_TYPES.ARROW_KEYS;\n },\n\n listClasses () {\n return [\n 'd-dropdown-list',\n DROPDOWN_PADDING_CLASSES[this.padding],\n this.listClass,\n { 'd-context-menu-list': this.openOnContext },\n ];\n },\n\n shouldOpenWithArrowKeys () {\n return !this.openOnContext;\n },\n },\n\n methods: {\n onMouseHighlight (e) {\n const liElement = e.target.closest('li');\n\n if (liElement && liElement.role && this.highlightId !== liElement.id) {\n this.setHighlightId(liElement.id);\n liElement.focus();\n }\n },\n\n getListElement () {\n return this.$refs.listWrapper;\n },\n\n clearHighlightIndex () {\n this.setHighlightIndex(-1);\n },\n\n afterHighlight () {\n if (this.visuallyHiddenClose && this.highlightIndex === this._itemsLength() - 1) {\n return;\n }\n\n this.$emit('highlight', this.highlightIndex);\n },\n\n updateInitialHighlightIndex (isPopoverOpen) {\n this.isOpen = isPopoverOpen;\n\n if (isPopoverOpen) {\n if (this.openedWithKeyboard && this.isArrowKeyNav) {\n this.setHighlightIndex(0);\n }\n this.$emit('opened', true);\n } else {\n this.clearHighlightIndex();\n this.openedWithKeyboard = false;\n this.$emit('opened', false);\n }\n },\n\n onSpaceKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onEnterKey () {\n if (!this.open) {\n this.openedWithKeyboard = true;\n }\n },\n\n onUpKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onUpKey();\n }\n },\n\n onDownKeyPress () {\n if (!this.isOpen) {\n this.openedWithKeyboard = true;\n return;\n }\n if (this.isArrowKeyNav) {\n return this.onDownKey();\n }\n },\n\n onHomeKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onHomeKey();\n },\n\n onEndKeyPress () {\n if (!this.isOpen || !this.isArrowKeyNav) {\n return;\n }\n\n return this.onEndKey();\n },\n\n onKeyPress (e) {\n if (!this.isOpen || !this.isArrowKeyNav || !this.isValidLetter(e.key)) {\n return;\n }\n\n e.stopPropagation();\n e.preventDefault();\n\n return this.onNavigationKey(e.key);\n },\n },\n};\n</script>\n\n<style lang=\"less\">\n.d-context-menu-list {\n width: var(--dt-size-850);\n}\n.d-dropdown-list {\n position: relative;\n margin: var(--dt-space-300);\n padding-left: var(--dt-space-0);\n padding-right: var(--dt-space-0);\n >.dt-list-item {\n margin-top: var(--dt-space-200);\n }\n}\n</style>\n"],"names":["DtPopover","SrOnlyCloseButton","KeyboardNavigation","SrOnlyCloseButtonMixin","DROPDOWN_PADDING_CLASSES","getUniqueString","LIST_ITEM_NAVIGATION_TYPES","POPOVER_APPEND_TO_VALUES","EVENT_KEYNAMES","_openBlock","_createBlock","_mergeProps","_toHandlers","_withCtx","_renderSlot","_createElementVNode"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown_constants-2pGCXy7m.js","sources":["../../components/dropdown/dropdown_constants.js"],"sourcesContent":["export const DROPDOWN_PADDING_CLASSES = {\n none: undefined,\n small: 'd-py0',\n large: 'd-py4',\n};\n\nexport default {\n DROPDOWN_PADDING_CLASSES,\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"dropdown_constants-2pGCXy7m.js","sources":["../../components/dropdown/dropdown_constants.js"],"sourcesContent":["export const DROPDOWN_PADDING_CLASSES = {\n none: undefined,\n small: 'd-py0',\n large: 'd-py4',\n};\n\nexport default {\n DROPDOWN_PADDING_CLASSES,\n};\n"],"names":[],"mappings":";AAAY,MAAC,2BAA2B;AAAA,EACtC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AACT;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dropdown_constants-w1MXGC3Z.js","sources":["../../components/dropdown/dropdown_constants.js"],"sourcesContent":["export const DROPDOWN_PADDING_CLASSES = {\n none: undefined,\n small: 'd-py0',\n large: 'd-py4',\n};\n\nexport default {\n DROPDOWN_PADDING_CLASSES,\n};\n"],"names":[
|
|
1
|
+
{"version":3,"file":"dropdown_constants-w1MXGC3Z.js","sources":["../../components/dropdown/dropdown_constants.js"],"sourcesContent":["export const DROPDOWN_PADDING_CLASSES = {\n none: undefined,\n small: 'd-py0',\n large: 'd-py4',\n};\n\nexport default {\n DROPDOWN_PADDING_CLASSES,\n};\n"],"names":[],"mappings":"AAAY,MAAC,2BAA2B;AAAA,EACtC,MAAM;AAAA,EACN,OAAO;AAAA,EACP,OAAO;AACT;"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
const iconNames = vitePluginRequire_1723767260654_98826691;
|
|
1
|
+
import iconNames from "@dialpad/dialtone-icons/icons.json";
|
|
3
2
|
const ICON_SIZE_MODIFIERS = {
|
|
4
3
|
100: "d-icon--size-100",
|
|
5
4
|
200: "d-icon--size-200",
|
|
@@ -15,4 +14,4 @@ export {
|
|
|
15
14
|
ICON_NAMES,
|
|
16
15
|
ICON_SIZE_MODIFIERS
|
|
17
16
|
};
|
|
18
|
-
//# sourceMappingURL=icon_constants-
|
|
17
|
+
//# sourceMappingURL=icon_constants-Dy4MEUJL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon_constants-Dy4MEUJL.js","sources":["../../components/icon/icon_constants.js"],"sourcesContent":["import iconNames from '@dialpad/dialtone-icons/icons.json' with { type: 'json' };\nexport const ICON_SIZE_MODIFIERS = {\n 100: 'd-icon--size-100',\n 200: 'd-icon--size-200',\n 300: 'd-icon--size-300',\n 400: 'd-icon--size-400',\n 500: 'd-icon--size-500',\n 600: 'd-icon--size-600',\n 700: 'd-icon--size-700',\n 800: 'd-icon--size-800',\n};\n\nexport const ICON_NAMES = iconNames;\n\nexport default {\n ICON_SIZE_MODIFIERS,\n ICON_NAMES,\n};\n"],"names":[],"mappings":";AACY,MAAC,sBAAsB;AAAA,EACjC,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP;AAEY,MAAC,aAAa;"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
const
|
|
3
|
-
const iconNames = vitePluginRequire_1723767260654_98826691;
|
|
2
|
+
const iconNames = require("@dialpad/dialtone-icons/icons.json");
|
|
4
3
|
const ICON_SIZE_MODIFIERS = {
|
|
5
4
|
100: "d-icon--size-100",
|
|
6
5
|
200: "d-icon--size-200",
|
|
@@ -14,4 +13,4 @@ const ICON_SIZE_MODIFIERS = {
|
|
|
14
13
|
const ICON_NAMES = iconNames;
|
|
15
14
|
exports.ICON_NAMES = ICON_NAMES;
|
|
16
15
|
exports.ICON_SIZE_MODIFIERS = ICON_SIZE_MODIFIERS;
|
|
17
|
-
//# sourceMappingURL=icon_constants-
|
|
16
|
+
//# sourceMappingURL=icon_constants-QYpmdE0R.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon_constants-QYpmdE0R.js","sources":["../../components/icon/icon_constants.js"],"sourcesContent":["import iconNames from '@dialpad/dialtone-icons/icons.json' with { type: 'json' };\nexport const ICON_SIZE_MODIFIERS = {\n 100: 'd-icon--size-100',\n 200: 'd-icon--size-200',\n 300: 'd-icon--size-300',\n 400: 'd-icon--size-400',\n 500: 'd-icon--size-500',\n 600: 'd-icon--size-600',\n 700: 'd-icon--size-700',\n 800: 'd-icon--size-800',\n};\n\nexport const ICON_NAMES = iconNames;\n\nexport default {\n ICON_SIZE_MODIFIERS,\n ICON_NAMES,\n};\n"],"names":[],"mappings":";;AACY,MAAC,sBAAsB;AAAA,EACjC,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AAAA,EACL,KAAK;AACP;AAEY,MAAC,aAAa;;;"}
|