@dialpad/dialtone 9.29.1 → 9.30.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/dist/css/dialtone.css +2 -2
- package/dist/tokens/css/variables-dark.css +1 -1
- package/dist/tokens/css/variables-expressive-dark.css +937 -0
- package/dist/tokens/css/variables-expressive-light.css +817 -0
- package/dist/tokens/css/{variables-cox-dark.css → variables-expressive-sm-dark.css} +68 -67
- package/dist/tokens/css/{variables-cox-light.css → variables-expressive-sm-light.css} +67 -66
- package/dist/tokens/css/variables-light.css +1 -1
- package/dist/tokens/css/variables-tmo-dark.css +1 -1
- package/dist/tokens/css/variables-tmo-light.css +1 -1
- package/dist/tokens/doc.json +21010 -294
- package/dist/tokens/less/variables-dark.less +1 -1
- package/dist/tokens/less/variables-expressive-dark.less +934 -0
- package/dist/tokens/less/variables-expressive-light.less +814 -0
- package/dist/tokens/less/{variables-cox-dark.less → variables-expressive-sm-dark.less} +67 -66
- package/dist/tokens/less/{variables-cox-light.less → variables-expressive-sm-light.less} +66 -65
- package/dist/tokens/less/variables-light.less +1 -1
- package/dist/tokens/less/variables-tmo-dark.less +1 -1
- package/dist/tokens/less/variables-tmo-light.less +1 -1
- package/dist/vue2/chunks/_plugin-vue2_normalizer-1aBeR4AK.js +59 -0
- package/dist/vue2/chunks/_plugin-vue2_normalizer-1aBeR4AK.js.map +1 -0
- package/dist/vue2/chunks/_plugin-vue2_normalizer-sOSkiPF3.js +60 -0
- package/dist/vue2/chunks/_plugin-vue2_normalizer-sOSkiPF3.js.map +1 -0
- package/dist/vue2/chunks/{dropdown-SMWaTWyF.js → dropdown-DTtcQEFC.js} +131 -84
- package/dist/vue2/chunks/{dropdown-SMWaTWyF.js.map → dropdown-DTtcQEFC.js.map} +1 -1
- package/dist/vue2/chunks/dropdown-IaLNHmVd.js +403 -0
- package/dist/vue2/chunks/{dropdown-zhMEz3bn.js.map → dropdown-IaLNHmVd.js.map} +1 -1
- package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js +8 -0
- package/dist/vue2/chunks/dropdown_constants-2pGCXy7m.js.map +1 -0
- package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js +9 -0
- package/dist/vue2/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -0
- package/dist/vue2/chunks/{icon_constants-OpYAAKwF.js → icon_constants-Dy4MEUJL.js} +7 -6
- package/dist/vue2/chunks/{icon_constants-2S_OSQ1t.js.map → icon_constants-Dy4MEUJL.js.map} +1 -1
- package/dist/vue2/chunks/icon_constants-QYpmdE0R.js +16 -0
- package/dist/{vue3/chunks/icon_constants-2S_OSQ1t.js.map → vue2/chunks/icon_constants-QYpmdE0R.js.map} +1 -1
- package/dist/vue2/chunks/index-DUr1xHR0.js +442 -0
- package/dist/vue2/chunks/{index-2jPosQBn.js.map → index-DUr1xHR0.js.map} +1 -1
- package/dist/vue2/chunks/index-IA-Z8fgm.js +441 -0
- package/dist/vue2/chunks/{index-nIyl_PL6.js.map → index-IA-Z8fgm.js.map} +1 -1
- package/dist/{vue3/chunks/input-4UQWegUk.js → vue2/chunks/input-6kbd8Pju.js} +83 -60
- package/dist/vue2/chunks/{input-o-fc1X4b.js.map → input-6kbd8Pju.js.map} +1 -1
- package/dist/vue2/chunks/input-Axw-wFj2.js +295 -0
- package/dist/vue2/chunks/{input-1tm09l_-.js.map → input-Axw-wFj2.js.map} +1 -1
- package/dist/vue2/chunks/input_group-m3cWYUfI.js +143 -0
- package/dist/vue2/chunks/{input_group-zcAq3DQl.js.map → input_group-m3cWYUfI.js.map} +1 -1
- package/dist/vue2/chunks/{input_group-zcAq3DQl.js → input_group-qVZaS5Bb.js} +27 -24
- package/dist/vue2/chunks/{input_group-j2gTtc1C.js.map → input_group-qVZaS5Bb.js.map} +1 -1
- package/dist/vue2/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
- package/dist/vue2/chunks/{keyboard_list_navigation-N74Bpdq7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
- package/dist/vue2/chunks/keyboard_list_navigation-fJnl_Iox.js +283 -0
- package/dist/{vue3/chunks/keyboard_list_navigation-F0O8nht0.js.map → vue2/chunks/keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
- package/dist/vue2/chunks/link_constants-Huj7D_hm.js +22 -0
- package/dist/vue2/chunks/{link_constants-Kn6kP4i1.js.map → link_constants-Huj7D_hm.js.map} +1 -1
- package/dist/vue2/chunks/link_constants-nWVlXQBs.js +23 -0
- package/dist/{vue3/chunks/link_constants-Kn6kP4i1.js.map → vue2/chunks/link_constants-nWVlXQBs.js.map} +1 -1
- package/dist/vue2/chunks/list_item_constants-EiqkqZvP.js +13 -0
- package/dist/vue2/chunks/{list_item_constants-Tsz5CO1m.js.map → list_item_constants-EiqkqZvP.js.map} +1 -1
- package/dist/vue2/chunks/list_item_constants-u1xcN9Dd.js +14 -0
- package/dist/{vue3/chunks/list_item_constants-Tsz5CO1m.js.map → vue2/chunks/list_item_constants-u1xcN9Dd.js.map} +1 -1
- package/dist/vue2/chunks/modal-VgxXAQFP.js +105 -0
- package/dist/vue2/chunks/{modal-qEzlo0Sj.js.map → modal-VgxXAQFP.js.map} +1 -1
- package/dist/vue2/chunks/modal-XOr4kiNZ.js +106 -0
- package/dist/{vue3/chunks/modal-VuMFkZFH.js.map → vue2/chunks/modal-XOr4kiNZ.js.map} +1 -1
- package/dist/vue2/chunks/notice_action-IRUoLX2d.js +196 -0
- package/dist/vue2/chunks/{notice_action-u3ZKIhit.js.map → notice_action-IRUoLX2d.js.map} +1 -1
- package/dist/vue2/chunks/notice_action-P6uDyE9x.js +195 -0
- package/dist/vue2/chunks/{notice_action-9NmtQRai.js.map → notice_action-P6uDyE9x.js.map} +1 -1
- package/dist/vue2/chunks/notice_constants-7Qt2CQEY.js +7 -0
- package/dist/vue2/chunks/{notice_constants-mC6al2Dm.js.map → notice_constants-7Qt2CQEY.js.map} +1 -1
- package/dist/vue2/chunks/notice_constants-UXo9e3bS.js +6 -0
- package/dist/{vue3/chunks/notice_constants-mC6al2Dm.js.map → vue2/chunks/notice_constants-UXo9e3bS.js.map} +1 -1
- package/dist/vue2/chunks/popover_constants-JwBF9h1Z.js +143 -0
- package/dist/{vue3/chunks/popover_constants-hOEhklvr.js.map → vue2/chunks/popover_constants-JwBF9h1Z.js.map} +1 -1
- package/dist/vue2/chunks/popover_constants-Qkpb0yh2.js +144 -0
- package/dist/vue2/chunks/{popover_constants-hOEhklvr.js.map → popover_constants-Qkpb0yh2.js.map} +1 -1
- package/dist/vue2/chunks/sr_only_close_button-81bHIpPu.js +95 -0
- package/dist/vue2/chunks/{sr_only_close_button-ErijKGYR.js.map → sr_only_close_button-81bHIpPu.js.map} +1 -1
- package/dist/vue2/chunks/sr_only_close_button-ZaGdAHz7.js +94 -0
- package/dist/vue2/chunks/{sr_only_close_button-JGole5Xi.js.map → sr_only_close_button-ZaGdAHz7.js.map} +1 -1
- package/dist/vue2/chunks/stack_constants-HraCekPm.js +15 -0
- package/dist/vue2/chunks/{stack_constants-m9Ickqw0.js.map → stack_constants-HraCekPm.js.map} +1 -1
- package/dist/vue2/chunks/stack_constants-SMzMWnAQ.js +14 -0
- package/dist/{vue3/chunks/stack_constants-m9Ickqw0.js.map → vue2/chunks/stack_constants-SMzMWnAQ.js.map} +1 -1
- package/dist/vue2/chunks/tab-FcsV5VmK.js +386 -0
- package/dist/vue2/chunks/{tab-7hJQSLFx.js.map → tab-FcsV5VmK.js.map} +1 -1
- package/dist/vue2/chunks/tab-V4cb44Ry.js +387 -0
- package/dist/vue2/chunks/{tab-Qm9LVkYj.js.map → tab-V4cb44Ry.js.map} +1 -1
- package/dist/vue2/common/constants.cjs +60 -0
- package/dist/vue2/{lib → common}/constants.cjs.map +1 -1
- package/dist/{vue3/lib → vue2/common}/constants.js +25 -18
- package/dist/vue2/{lib → common}/constants.js.map +1 -1
- package/dist/vue2/common/dates.cjs +72 -0
- package/dist/{vue3/lib → vue2/common}/dates.cjs.map +1 -1
- package/dist/vue2/common/dates.js +72 -0
- package/dist/vue2/{lib → common}/dates.js.map +1 -1
- package/dist/vue2/common/emoji.cjs +163 -0
- package/dist/vue2/common/emoji.cjs.map +1 -0
- package/dist/vue2/common/emoji.js +168 -0
- package/dist/vue2/common/emoji.js.map +1 -0
- package/dist/vue2/common/mixins.cjs +17 -0
- package/dist/vue2/{lib → common}/mixins.cjs.map +1 -1
- package/dist/vue2/common/mixins.js +17 -0
- package/dist/vue2/common/utils.cjs +237 -0
- package/dist/vue2/{lib → common}/utils.cjs.map +1 -1
- package/dist/vue2/common/utils.js +237 -0
- package/dist/vue2/{lib → common}/utils.js.map +1 -1
- package/dist/vue2/common/validators.cjs +23 -0
- package/dist/vue2/{lib → common}/validators.cjs.map +1 -1
- package/dist/vue2/common/validators.js +23 -0
- package/dist/vue2/{lib → common}/validators.js.map +1 -1
- package/dist/vue2/dialtone-vue.cjs +372 -1
- package/dist/vue2/dialtone-vue.cjs.map +1 -1
- package/dist/vue2/dialtone-vue.js +325 -324
- package/dist/vue2/dialtone-vue.js.map +1 -1
- package/dist/vue2/lib/attachment-carousel.cjs +260 -1
- package/dist/vue2/lib/attachment-carousel.cjs.map +1 -1
- package/dist/vue2/lib/attachment-carousel.js +96 -84
- package/dist/vue2/lib/attachment-carousel.js.map +1 -1
- package/dist/vue2/lib/avatar.cjs +399 -1
- package/dist/vue2/lib/avatar.cjs.map +1 -1
- package/dist/vue2/lib/avatar.js +111 -79
- package/dist/vue2/lib/avatar.js.map +1 -1
- package/dist/vue2/lib/badge.cjs +182 -1
- package/dist/vue2/lib/badge.cjs.map +1 -1
- package/dist/vue2/lib/badge.js +53 -38
- package/dist/vue2/lib/badge.js.map +1 -1
- package/dist/vue2/lib/banner.cjs +209 -2
- package/dist/vue2/lib/banner.cjs.map +1 -1
- package/dist/vue2/lib/banner.js +58 -47
- package/dist/vue2/lib/banner.js.map +1 -1
- package/dist/vue2/lib/breadcrumbs.cjs +146 -1
- package/dist/vue2/lib/breadcrumbs.cjs.map +1 -1
- package/dist/vue2/lib/breadcrumbs.js +57 -48
- package/dist/vue2/lib/breadcrumbs.js.map +1 -1
- package/dist/vue2/lib/button-group.cjs +47 -1
- package/dist/vue2/lib/button-group.cjs.map +1 -1
- package/dist/vue2/lib/button-group.js +21 -18
- package/dist/vue2/lib/button-group.js.map +1 -1
- package/dist/vue2/lib/button.cjs +349 -1
- package/dist/vue2/lib/button.cjs.map +1 -1
- package/dist/vue2/lib/button.js +98 -76
- package/dist/vue2/lib/button.js.map +1 -1
- package/dist/vue2/lib/callbar-button-with-popover.cjs +249 -1
- package/dist/vue2/lib/callbar-button-with-popover.cjs.map +1 -1
- package/dist/vue2/lib/callbar-button-with-popover.js +66 -50
- package/dist/vue2/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/vue2/lib/callbar-button.cjs +182 -1
- package/dist/vue2/lib/callbar-button.cjs.map +1 -1
- package/dist/vue2/lib/callbar-button.js +42 -34
- package/dist/vue2/lib/callbar-button.js.map +1 -1
- package/dist/vue2/lib/callbox.cjs +146 -1
- package/dist/vue2/lib/callbox.cjs.map +1 -1
- package/dist/vue2/lib/callbox.js +38 -32
- package/dist/vue2/lib/callbox.js.map +1 -1
- package/dist/vue2/lib/card.cjs +73 -1
- package/dist/vue2/lib/card.cjs.map +1 -1
- package/dist/vue2/lib/card.js +22 -20
- package/dist/vue2/lib/card.js.map +1 -1
- package/dist/vue2/lib/checkbox-group.cjs +129 -1
- package/dist/vue2/lib/checkbox-group.cjs.map +1 -1
- package/dist/vue2/lib/checkbox-group.js +42 -29
- package/dist/vue2/lib/checkbox-group.js.map +1 -1
- package/dist/vue2/lib/checkbox.cjs +127 -1
- package/dist/vue2/lib/checkbox.cjs.map +1 -1
- package/dist/vue2/lib/checkbox.js +46 -35
- package/dist/vue2/lib/checkbox.js.map +1 -1
- package/dist/vue2/lib/chip.cjs +198 -1
- package/dist/vue2/lib/chip.cjs.map +1 -1
- package/dist/vue2/lib/chip.js +59 -45
- package/dist/vue2/lib/chip.js.map +1 -1
- package/dist/vue2/lib/codeblock.cjs +29 -2
- package/dist/vue2/lib/codeblock.cjs.map +1 -1
- package/dist/vue2/lib/codeblock.js +15 -14
- package/dist/vue2/lib/codeblock.js.map +1 -1
- package/dist/vue2/lib/collapsible.cjs +334 -1
- package/dist/vue2/lib/collapsible.cjs.map +1 -1
- package/dist/vue2/lib/collapsible.js +91 -68
- package/dist/vue2/lib/collapsible.js.map +1 -1
- package/dist/vue2/lib/combobox-multi-select.cjs +519 -1
- package/dist/vue2/lib/combobox-multi-select.cjs.map +1 -1
- package/dist/vue2/lib/combobox-multi-select.js +223 -136
- package/dist/vue2/lib/combobox-multi-select.js.map +1 -1
- package/dist/vue2/lib/combobox-with-popover.cjs +384 -1
- package/dist/vue2/lib/combobox-with-popover.cjs.map +1 -1
- package/dist/vue2/lib/combobox-with-popover.js +130 -86
- package/dist/vue2/lib/combobox-with-popover.js.map +1 -1
- package/dist/vue2/lib/combobox.cjs +18 -1
- package/dist/vue2/lib/combobox.cjs.map +1 -1
- package/dist/vue2/lib/combobox.js +9 -9
- package/dist/vue2/lib/contact-info.cjs +145 -1
- package/dist/vue2/lib/contact-info.cjs.map +1 -1
- package/dist/vue2/lib/contact-info.js +34 -32
- package/dist/vue2/lib/contact-info.js.map +1 -1
- package/dist/vue2/lib/contact-row.cjs +205 -1
- package/dist/vue2/lib/contact-row.cjs.map +1 -1
- package/dist/vue2/lib/contact-row.js +42 -39
- package/dist/vue2/lib/contact-row.js.map +1 -1
- package/dist/vue2/lib/datepicker.cjs +662 -1
- package/dist/vue2/lib/datepicker.cjs.map +1 -1
- package/dist/vue2/lib/datepicker.js +330 -218
- package/dist/vue2/lib/datepicker.js.map +1 -1
- package/dist/vue2/lib/description-list.cjs +114 -1
- package/dist/vue2/lib/description-list.cjs.map +1 -1
- package/dist/vue2/lib/description-list.js +51 -19
- package/dist/vue2/lib/description-list.js.map +1 -1
- package/dist/vue2/lib/dropdown.cjs +45 -1
- package/dist/vue2/lib/dropdown.cjs.map +1 -1
- package/dist/vue2/lib/dropdown.js +27 -25
- package/dist/vue2/lib/dropdown.js.map +1 -1
- package/dist/vue2/lib/editor.cjs +555 -1
- package/dist/vue2/lib/editor.cjs.map +1 -1
- package/dist/vue2/lib/editor.js +191 -162
- package/dist/vue2/lib/editor.js.map +1 -1
- package/dist/vue2/lib/emoji-picker.cjs +1063 -1
- package/dist/vue2/lib/emoji-picker.cjs.map +1 -1
- package/dist/vue2/lib/emoji-picker.js +638 -374
- package/dist/vue2/lib/emoji-picker.js.map +1 -1
- package/dist/vue2/lib/emoji-row.cjs +88 -1
- package/dist/vue2/lib/emoji-row.cjs.map +1 -1
- package/dist/vue2/lib/emoji-row.js +46 -40
- package/dist/vue2/lib/emoji-row.js.map +1 -1
- package/dist/vue2/lib/emoji-text-wrapper.cjs +109 -1
- package/dist/vue2/lib/emoji-text-wrapper.cjs.map +1 -1
- package/dist/vue2/lib/emoji-text-wrapper.js +49 -35
- package/dist/vue2/lib/emoji-text-wrapper.js.map +1 -1
- package/dist/vue2/lib/emoji.cjs +145 -1
- package/dist/vue2/lib/emoji.cjs.map +1 -1
- package/dist/vue2/lib/emoji.js +140 -5
- package/dist/vue2/lib/emoji.js.map +1 -1
- package/dist/vue2/lib/feed-item-row.cjs +213 -1
- package/dist/vue2/lib/feed-item-row.cjs.map +1 -1
- package/dist/vue2/lib/feed-item-row.js +71 -63
- package/dist/vue2/lib/feed-item-row.js.map +1 -1
- package/dist/vue2/lib/feed-pill.cjs +149 -1
- package/dist/vue2/lib/feed-pill.cjs.map +1 -1
- package/dist/vue2/lib/feed-pill.js +60 -51
- package/dist/vue2/lib/feed-pill.js.map +1 -1
- package/dist/vue2/lib/general-row.cjs +405 -1
- package/dist/vue2/lib/general-row.cjs.map +1 -1
- package/dist/vue2/lib/general-row.js +133 -106
- package/dist/vue2/lib/general-row.js.map +1 -1
- package/dist/vue2/lib/group-row.cjs +117 -1
- package/dist/vue2/lib/group-row.cjs.map +1 -1
- package/dist/vue2/lib/group-row.js +33 -30
- package/dist/vue2/lib/group-row.js.map +1 -1
- package/dist/vue2/lib/grouped-chip.cjs +45 -1
- package/dist/vue2/lib/grouped-chip.cjs.map +1 -1
- package/dist/vue2/lib/grouped-chip.js +28 -26
- package/dist/vue2/lib/grouped-chip.js.map +1 -1
- package/dist/vue2/lib/hovercard.cjs +227 -1
- package/dist/vue2/lib/hovercard.cjs.map +1 -1
- package/dist/vue2/lib/hovercard.js +98 -63
- package/dist/vue2/lib/hovercard.js.map +1 -1
- package/dist/vue2/lib/icon.cjs +59 -1
- package/dist/vue2/lib/icon.cjs.map +1 -1
- package/dist/vue2/lib/icon.js +22 -20
- package/dist/vue2/lib/icon.js.map +1 -1
- package/dist/vue2/lib/image-viewer.cjs +190 -1
- package/dist/vue2/lib/image-viewer.cjs.map +1 -1
- package/dist/vue2/lib/image-viewer.js +83 -62
- package/dist/vue2/lib/image-viewer.js.map +1 -1
- package/dist/vue2/lib/input-group.cjs +91 -1
- package/dist/vue2/lib/input-group.cjs.map +1 -1
- package/dist/vue2/lib/input-group.js +29 -27
- package/dist/vue2/lib/input-group.js.map +1 -1
- package/dist/vue2/lib/input.cjs +492 -1
- package/dist/vue2/lib/input.cjs.map +1 -1
- package/dist/vue2/lib/input.js +127 -89
- package/dist/vue2/lib/input.js.map +1 -1
- package/dist/vue2/lib/item-layout.cjs +40 -1
- package/dist/vue2/lib/item-layout.cjs.map +1 -1
- package/dist/vue2/lib/item-layout.js +15 -13
- package/dist/vue2/lib/item-layout.js.map +1 -1
- package/dist/vue2/lib/ivr-node.cjs +209 -1
- package/dist/vue2/lib/ivr-node.cjs.map +1 -1
- package/dist/vue2/lib/ivr-node.js +115 -99
- package/dist/vue2/lib/ivr-node.js.map +1 -1
- package/dist/vue2/lib/keyboard-shortcut.cjs +106 -1
- package/dist/vue2/lib/keyboard-shortcut.cjs.map +1 -1
- package/dist/vue2/lib/keyboard-shortcut.js +42 -34
- package/dist/vue2/lib/keyboard-shortcut.js.map +1 -1
- package/dist/vue2/lib/lazy-show.cjs +80 -1
- package/dist/vue2/lib/lazy-show.cjs.map +1 -1
- package/dist/vue2/lib/lazy-show.js +20 -16
- package/dist/vue2/lib/lazy-show.js.map +1 -1
- package/dist/vue2/lib/link.cjs +70 -1
- package/dist/vue2/lib/link.cjs.map +1 -1
- package/dist/vue2/lib/link.js +22 -20
- package/dist/vue2/lib/link.js.map +1 -1
- package/dist/vue2/lib/list-item-group.cjs +60 -1
- package/dist/vue2/lib/list-item-group.cjs.map +1 -1
- package/dist/vue2/lib/list-item-group.js +19 -17
- package/dist/vue2/lib/list-item-group.js.map +1 -1
- package/dist/vue2/lib/list-item.cjs +204 -1
- package/dist/vue2/lib/list-item.cjs.map +1 -1
- package/dist/vue2/lib/list-item.js +67 -56
- package/dist/vue2/lib/list-item.js.map +1 -1
- package/dist/vue2/lib/message-input.cjs +554 -1
- package/dist/vue2/lib/message-input.cjs.map +1 -1
- package/dist/vue2/lib/message-input.js +174 -152
- package/dist/vue2/lib/message-input.js.map +1 -1
- package/dist/vue2/lib/modal.cjs +350 -2
- package/dist/vue2/lib/modal.cjs.map +1 -1
- package/dist/vue2/lib/modal.js +118 -90
- package/dist/vue2/lib/modal.js.map +1 -1
- package/dist/vue2/lib/notice.cjs +159 -1
- package/dist/vue2/lib/notice.cjs.map +1 -1
- package/dist/vue2/lib/notice.js +46 -43
- package/dist/vue2/lib/notice.js.map +1 -1
- package/dist/vue2/lib/pagination.cjs +152 -1
- package/dist/vue2/lib/pagination.cjs.map +1 -1
- package/dist/vue2/lib/pagination.js +60 -48
- package/dist/vue2/lib/pagination.js.map +1 -1
- package/dist/vue2/lib/popover.cjs +956 -1
- package/dist/vue2/lib/popover.cjs.map +1 -1
- package/dist/vue2/lib/popover.js +401 -221
- package/dist/vue2/lib/popover.js.map +1 -1
- package/dist/vue2/lib/presence.cjs +65 -1
- package/dist/vue2/lib/presence.cjs.map +1 -1
- package/dist/vue2/lib/presence.js +32 -26
- package/dist/vue2/lib/presence.js.map +1 -1
- package/dist/vue2/lib/radio-group.cjs +98 -1
- package/dist/vue2/lib/radio-group.cjs.map +1 -1
- package/dist/vue2/lib/radio-group.js +24 -22
- package/dist/vue2/lib/radio-group.js.map +1 -1
- package/dist/vue2/lib/radio.cjs +118 -1
- package/dist/vue2/lib/radio.cjs.map +1 -1
- package/dist/vue2/lib/radio.js +43 -35
- package/dist/vue2/lib/radio.js.map +1 -1
- package/dist/vue2/lib/rich-text-editor.cjs +1138 -1
- package/dist/vue2/lib/rich-text-editor.cjs.map +1 -1
- package/dist/vue2/lib/rich-text-editor.js +574 -387
- package/dist/vue2/lib/rich-text-editor.js.map +1 -1
- package/dist/vue2/lib/root-layout.cjs +130 -1
- package/dist/vue2/lib/root-layout.cjs.map +1 -1
- package/dist/vue2/lib/root-layout.js +28 -24
- package/dist/vue2/lib/root-layout.js.map +1 -1
- package/dist/vue2/lib/select-menu.cjs +282 -1
- package/dist/vue2/lib/select-menu.cjs.map +1 -1
- package/dist/vue2/lib/select-menu.js +101 -61
- package/dist/vue2/lib/select-menu.js.map +1 -1
- package/dist/vue2/lib/settings-menu-button.cjs +65 -1
- package/dist/vue2/lib/settings-menu-button.cjs.map +1 -1
- package/dist/vue2/lib/settings-menu-button.js +26 -24
- package/dist/vue2/lib/settings-menu-button.js.map +1 -1
- package/dist/vue2/lib/skeleton.cjs +612 -1
- package/dist/vue2/lib/skeleton.cjs.map +1 -1
- package/dist/vue2/lib/skeleton.js +174 -135
- package/dist/vue2/lib/skeleton.js.map +1 -1
- package/dist/vue2/lib/stack.cjs +127 -1
- package/dist/vue2/lib/stack.cjs.map +1 -1
- package/dist/vue2/lib/stack.js +66 -56
- package/dist/vue2/lib/stack.js.map +1 -1
- package/dist/vue2/lib/tabs.cjs +99 -1
- package/dist/vue2/lib/tabs.cjs.map +1 -1
- package/dist/vue2/lib/tabs.js +42 -35
- package/dist/vue2/lib/tabs.js.map +1 -1
- package/dist/vue2/lib/time-pill.cjs +47 -1
- package/dist/vue2/lib/time-pill.cjs.map +1 -1
- package/dist/vue2/lib/time-pill.js +21 -16
- package/dist/vue2/lib/time-pill.js.map +1 -1
- package/dist/vue2/lib/toast.cjs +247 -1
- package/dist/vue2/lib/toast.cjs.map +1 -1
- package/dist/vue2/lib/toast.js +78 -55
- package/dist/vue2/lib/toast.js.map +1 -1
- package/dist/vue2/lib/toggle.cjs +177 -1
- package/dist/vue2/lib/toggle.cjs.map +1 -1
- package/dist/vue2/lib/toggle.js +46 -37
- package/dist/vue2/lib/toggle.js.map +1 -1
- package/dist/vue2/lib/tooltip-directive.cjs +87 -1
- package/dist/vue2/lib/tooltip-directive.cjs.map +1 -1
- package/dist/vue2/lib/tooltip-directive.js +55 -41
- package/dist/vue2/lib/tooltip-directive.js.map +1 -1
- package/dist/vue2/lib/tooltip.cjs +436 -1
- package/dist/vue2/lib/tooltip.cjs.map +1 -1
- package/dist/vue2/lib/tooltip.js +152 -90
- package/dist/vue2/lib/tooltip.js.map +1 -1
- package/dist/vue2/lib/top-banner-info.cjs +63 -1
- package/dist/vue2/lib/top-banner-info.cjs.map +1 -1
- package/dist/vue2/lib/top-banner-info.js +22 -18
- package/dist/vue2/lib/top-banner-info.js.map +1 -1
- package/dist/vue2/lib/unread-pill.cjs +63 -1
- package/dist/vue2/lib/unread-pill.cjs.map +1 -1
- package/dist/vue2/lib/unread-pill.js +25 -21
- package/dist/vue2/lib/unread-pill.js.map +1 -1
- package/dist/vue2/lib/validation-messages.cjs +85 -1
- package/dist/vue2/lib/validation-messages.cjs.map +1 -1
- package/dist/vue2/lib/validation-messages.js +32 -29
- package/dist/vue2/lib/validation-messages.js.map +1 -1
- package/dist/vue2/style.css +1214 -1
- package/dist/vue2/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
- package/dist/vue2/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
- package/dist/vue3/chunks/_plugin-vue_export-helper-caHeSgYY.js +11 -0
- package/dist/vue3/chunks/_plugin-vue_export-helper-caHeSgYY.js.map +1 -0
- package/dist/vue3/chunks/_plugin-vue_export-helper-fhnQq0tA.js +10 -0
- package/dist/vue3/chunks/_plugin-vue_export-helper-fhnQq0tA.js.map +1 -0
- package/dist/vue3/chunks/{dropdown-eWOvBvwq.js → dropdown-Hn-TeTvZ.js} +151 -104
- package/dist/vue3/chunks/{dropdown-UO3UJalk.js.map → dropdown-Hn-TeTvZ.js.map} +1 -1
- package/dist/vue3/chunks/dropdown-w8Do29L5.js +442 -0
- package/dist/vue3/chunks/{dropdown-eWOvBvwq.js.map → dropdown-w8Do29L5.js.map} +1 -1
- package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js +8 -0
- package/dist/vue3/chunks/dropdown_constants-2pGCXy7m.js.map +1 -0
- package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js +9 -0
- package/dist/vue3/chunks/dropdown_constants-w1MXGC3Z.js.map +1 -0
- package/dist/vue3/chunks/{icon_constants-OpYAAKwF.js → icon_constants-Dy4MEUJL.js} +7 -6
- package/dist/{vue2/chunks/icon_constants-OpYAAKwF.js.map → vue3/chunks/icon_constants-Dy4MEUJL.js.map} +1 -1
- package/dist/vue3/chunks/icon_constants-QYpmdE0R.js +16 -0
- package/dist/vue3/chunks/{icon_constants-OpYAAKwF.js.map → icon_constants-QYpmdE0R.js.map} +1 -1
- package/dist/vue3/chunks/index-We0ixqCH.js +446 -0
- package/dist/vue3/chunks/{index-b4iXYvId.js.map → index-We0ixqCH.js.map} +1 -1
- package/dist/vue3/chunks/index-xVEqMOTr.js +447 -0
- package/dist/vue3/chunks/{index-6tYeqbgP.js.map → index-xVEqMOTr.js.map} +1 -1
- package/dist/{vue2/chunks/input-1tm09l_-.js → vue3/chunks/input-NmYDD5bn.js} +83 -60
- package/dist/vue3/chunks/{input-0Uksk4DP.js.map → input-NmYDD5bn.js.map} +1 -1
- package/dist/vue3/chunks/input-ttnte8zB.js +295 -0
- package/dist/vue3/chunks/{input-4UQWegUk.js.map → input-ttnte8zB.js.map} +1 -1
- package/dist/vue3/chunks/input_group-M-D25pOJ.js +152 -0
- package/dist/vue3/chunks/{input_group-bBKaq3Wi.js.map → input_group-M-D25pOJ.js.map} +1 -1
- package/dist/vue3/chunks/{input_group-bBKaq3Wi.js → input_group-jWnq2DJT.js} +27 -24
- package/dist/vue3/chunks/{input_group-AS760Cp7.js.map → input_group-jWnq2DJT.js.map} +1 -1
- package/dist/vue3/chunks/keyboard_list_navigation-ScXhrxya.js +284 -0
- package/dist/vue3/chunks/{keyboard_list_navigation-N74Bpdq7.js.map → keyboard_list_navigation-ScXhrxya.js.map} +1 -1
- package/dist/vue3/chunks/keyboard_list_navigation-fJnl_Iox.js +283 -0
- package/dist/{vue2/chunks/keyboard_list_navigation-F0O8nht0.js.map → vue3/chunks/keyboard_list_navigation-fJnl_Iox.js.map} +1 -1
- package/dist/vue3/chunks/link_constants-Huj7D_hm.js +22 -0
- package/dist/{vue2/chunks/link_constants-vIUB92L4.js.map → vue3/chunks/link_constants-Huj7D_hm.js.map} +1 -1
- package/dist/vue3/chunks/link_constants-nWVlXQBs.js +23 -0
- package/dist/vue3/chunks/{link_constants-vIUB92L4.js.map → link_constants-nWVlXQBs.js.map} +1 -1
- package/dist/vue3/chunks/list_item_constants-EiqkqZvP.js +13 -0
- package/dist/{vue2/chunks/list_item_constants-LTUc74pD.js.map → vue3/chunks/list_item_constants-EiqkqZvP.js.map} +1 -1
- package/dist/vue3/chunks/list_item_constants-u1xcN9Dd.js +14 -0
- package/dist/vue3/chunks/{list_item_constants-LTUc74pD.js.map → list_item_constants-u1xcN9Dd.js.map} +1 -1
- package/dist/vue3/chunks/modal-VgxXAQFP.js +105 -0
- package/dist/vue3/chunks/{modal-qEzlo0Sj.js.map → modal-VgxXAQFP.js.map} +1 -1
- package/dist/vue3/chunks/modal-XOr4kiNZ.js +106 -0
- package/dist/{vue2/chunks/modal-VuMFkZFH.js.map → vue3/chunks/modal-XOr4kiNZ.js.map} +1 -1
- package/dist/vue3/chunks/notice_action-WTucGhvr.js +222 -0
- package/dist/vue3/chunks/{notice_action-tJfD5Qw1.js.map → notice_action-WTucGhvr.js.map} +1 -1
- package/dist/vue3/chunks/notice_action-p-ePanW_.js +223 -0
- package/dist/vue3/chunks/{notice_action-jO199emq.js.map → notice_action-p-ePanW_.js.map} +1 -1
- package/dist/vue3/chunks/notice_constants-7Qt2CQEY.js +7 -0
- package/dist/{vue2/chunks/notice_constants-c--hBFQw.js.map → vue3/chunks/notice_constants-7Qt2CQEY.js.map} +1 -1
- package/dist/vue3/chunks/notice_constants-UXo9e3bS.js +6 -0
- package/dist/vue3/chunks/{notice_constants-c--hBFQw.js.map → notice_constants-UXo9e3bS.js.map} +1 -1
- package/dist/vue3/chunks/popover_constants-JwBF9h1Z.js +143 -0
- package/dist/{vue2/chunks/popover_constants-qjlEkroB.js.map → vue3/chunks/popover_constants-JwBF9h1Z.js.map} +1 -1
- package/dist/vue3/chunks/popover_constants-Qkpb0yh2.js +144 -0
- package/dist/vue3/chunks/{popover_constants-qjlEkroB.js.map → popover_constants-Qkpb0yh2.js.map} +1 -1
- package/dist/vue3/chunks/{sr_only_close_button-7O-Ev8uM.js → sr_only_close_button-3EdsV-dH.js} +28 -24
- package/dist/vue3/chunks/{sr_only_close_button-iD7s1Pbj.js.map → sr_only_close_button-3EdsV-dH.js.map} +1 -1
- package/dist/vue3/chunks/sr_only_close_button-xGrHFjwA.js +91 -0
- package/dist/vue3/chunks/{sr_only_close_button-7O-Ev8uM.js.map → sr_only_close_button-xGrHFjwA.js.map} +1 -1
- package/dist/vue3/chunks/stack_constants-HraCekPm.js +15 -0
- package/dist/{vue2/chunks/stack_constants-u7tNqGtc.js.map → vue3/chunks/stack_constants-HraCekPm.js.map} +1 -1
- package/dist/vue3/chunks/stack_constants-SMzMWnAQ.js +14 -0
- package/dist/vue3/chunks/{stack_constants-u7tNqGtc.js.map → stack_constants-SMzMWnAQ.js.map} +1 -1
- package/dist/vue3/chunks/tab-RTDgnD9-.js +391 -0
- package/dist/vue3/chunks/{tab-at7WWglk.js.map → tab-RTDgnD9-.js.map} +1 -1
- package/dist/vue3/chunks/tab-qc3f42Yp.js +390 -0
- package/dist/vue3/chunks/{tab-GQZFMq83.js.map → tab-qc3f42Yp.js.map} +1 -1
- package/dist/vue3/common/constants.cjs +60 -0
- package/dist/vue3/{lib → common}/constants.cjs.map +1 -1
- package/dist/{vue2/lib → vue3/common}/constants.js +25 -18
- package/dist/vue3/{lib → common}/constants.js.map +1 -1
- package/dist/vue3/common/dates.cjs +72 -0
- package/dist/{vue2/lib → vue3/common}/dates.cjs.map +1 -1
- package/dist/vue3/common/dates.js +72 -0
- package/dist/vue3/{lib → common}/dates.js.map +1 -1
- package/dist/vue3/common/emoji.cjs +163 -0
- package/dist/vue3/common/emoji.cjs.map +1 -0
- package/dist/vue3/common/emoji.js +168 -0
- package/dist/vue3/common/emoji.js.map +1 -0
- package/dist/vue3/common/mixins.cjs +17 -0
- package/dist/vue3/{lib → common}/mixins.cjs.map +1 -1
- package/dist/vue3/common/mixins.js +17 -0
- package/dist/vue3/common/utils.cjs +243 -0
- package/dist/vue3/{lib → common}/utils.cjs.map +1 -1
- package/dist/vue3/common/utils.js +243 -0
- package/dist/vue3/{lib → common}/utils.js.map +1 -1
- package/dist/vue3/common/validators.cjs +23 -0
- package/dist/vue3/{lib → common}/validators.cjs.map +1 -1
- package/dist/vue3/common/validators.js +23 -0
- package/dist/vue3/{lib → common}/validators.js.map +1 -1
- package/dist/vue3/dialtone-vue.cjs +373 -1
- package/dist/vue3/dialtone-vue.cjs.map +1 -1
- package/dist/vue3/dialtone-vue.js +328 -327
- package/dist/vue3/dialtone-vue.js.map +1 -1
- package/dist/vue3/lib/attachment-carousel.cjs +345 -1
- package/dist/vue3/lib/attachment-carousel.cjs.map +1 -1
- package/dist/vue3/lib/attachment-carousel.js +126 -108
- package/dist/vue3/lib/attachment-carousel.js.map +1 -1
- package/dist/vue3/lib/avatar.cjs +447 -1
- package/dist/vue3/lib/avatar.cjs.map +1 -1
- package/dist/vue3/lib/avatar.js +135 -101
- package/dist/vue3/lib/avatar.js.map +1 -1
- package/dist/vue3/lib/badge.cjs +206 -1
- package/dist/vue3/lib/badge.cjs.map +1 -1
- package/dist/vue3/lib/badge.js +64 -48
- package/dist/vue3/lib/badge.js.map +1 -1
- package/dist/vue3/lib/banner.cjs +242 -2
- package/dist/vue3/lib/banner.cjs.map +1 -1
- package/dist/vue3/lib/banner.js +81 -71
- package/dist/vue3/lib/banner.js.map +1 -1
- package/dist/vue3/lib/breadcrumbs.cjs +150 -1
- package/dist/vue3/lib/breadcrumbs.cjs.map +1 -1
- package/dist/vue3/lib/breadcrumbs.js +60 -52
- package/dist/vue3/lib/breadcrumbs.js.map +1 -1
- package/dist/vue3/lib/button-group.cjs +41 -1
- package/dist/vue3/lib/button-group.cjs.map +1 -1
- package/dist/vue3/lib/button-group.js +15 -14
- package/dist/vue3/lib/button-group.js.map +1 -1
- package/dist/vue3/lib/button.cjs +356 -1
- package/dist/vue3/lib/button.cjs.map +1 -1
- package/dist/vue3/lib/button.js +108 -88
- package/dist/vue3/lib/button.js.map +1 -1
- package/dist/vue3/lib/callbar-button-with-popover.cjs +322 -1
- package/dist/vue3/lib/callbar-button-with-popover.cjs.map +1 -1
- package/dist/vue3/lib/callbar-button-with-popover.js +101 -83
- package/dist/vue3/lib/callbar-button-with-popover.js.map +1 -1
- package/dist/vue3/lib/callbar-button.cjs +200 -1
- package/dist/vue3/lib/callbar-button.cjs.map +1 -1
- package/dist/vue3/lib/callbar-button.js +52 -45
- package/dist/vue3/lib/callbar-button.js.map +1 -1
- package/dist/vue3/lib/callbox.cjs +217 -1
- package/dist/vue3/lib/callbox.cjs.map +1 -1
- package/dist/vue3/lib/callbox.js +80 -67
- package/dist/vue3/lib/callbox.js.map +1 -1
- package/dist/vue3/lib/card.cjs +91 -1
- package/dist/vue3/lib/card.cjs.map +1 -1
- package/dist/vue3/lib/card.js +27 -27
- package/dist/vue3/lib/card.js.map +1 -1
- package/dist/vue3/lib/checkbox-group.cjs +115 -1
- package/dist/vue3/lib/checkbox-group.cjs.map +1 -1
- package/dist/vue3/lib/checkbox-group.js +34 -23
- package/dist/vue3/lib/checkbox-group.js.map +1 -1
- package/dist/vue3/lib/checkbox.cjs +156 -1
- package/dist/vue3/lib/checkbox.cjs.map +1 -1
- package/dist/vue3/lib/checkbox.js +72 -60
- package/dist/vue3/lib/checkbox.js.map +1 -1
- package/dist/vue3/lib/chip.cjs +235 -1
- package/dist/vue3/lib/chip.cjs.map +1 -1
- package/dist/vue3/lib/chip.js +84 -67
- package/dist/vue3/lib/chip.js.map +1 -1
- package/dist/vue3/lib/codeblock.cjs +23 -2
- package/dist/vue3/lib/codeblock.cjs.map +1 -1
- package/dist/vue3/lib/codeblock.js +13 -13
- package/dist/vue3/lib/codeblock.js.map +1 -1
- package/dist/vue3/lib/collapsible.cjs +398 -1
- package/dist/vue3/lib/collapsible.cjs.map +1 -1
- package/dist/vue3/lib/collapsible.js +123 -100
- package/dist/vue3/lib/collapsible.js.map +1 -1
- package/dist/vue3/lib/combobox-multi-select.cjs +589 -1
- package/dist/vue3/lib/combobox-multi-select.cjs.map +1 -1
- package/dist/vue3/lib/combobox-multi-select.js +270 -177
- package/dist/vue3/lib/combobox-multi-select.js.map +1 -1
- package/dist/vue3/lib/combobox-with-popover.cjs +452 -1
- package/dist/vue3/lib/combobox-with-popover.cjs.map +1 -1
- package/dist/vue3/lib/combobox-with-popover.js +172 -127
- package/dist/vue3/lib/combobox-with-popover.js.map +1 -1
- package/dist/vue3/lib/combobox.cjs +18 -1
- package/dist/vue3/lib/combobox.cjs.map +1 -1
- package/dist/vue3/lib/combobox.js +9 -9
- package/dist/vue3/lib/contact-info.cjs +205 -1
- package/dist/vue3/lib/contact-info.cjs.map +1 -1
- package/dist/vue3/lib/contact-info.js +69 -60
- package/dist/vue3/lib/contact-info.js.map +1 -1
- package/dist/vue3/lib/contact-row.cjs +246 -1
- package/dist/vue3/lib/contact-row.cjs.map +1 -1
- package/dist/vue3/lib/contact-row.js +67 -63
- package/dist/vue3/lib/contact-row.js.map +1 -1
- package/dist/vue3/lib/datepicker.cjs +854 -1
- package/dist/vue3/lib/datepicker.cjs.map +1 -1
- package/dist/vue3/lib/datepicker.js +585 -441
- package/dist/vue3/lib/datepicker.js.map +1 -1
- package/dist/vue3/lib/description-list.cjs +116 -1
- package/dist/vue3/lib/description-list.cjs.map +1 -1
- package/dist/vue3/lib/description-list.js +56 -24
- package/dist/vue3/lib/description-list.js.map +1 -1
- package/dist/vue3/lib/dropdown.cjs +36 -1
- package/dist/vue3/lib/dropdown.cjs.map +1 -1
- package/dist/vue3/lib/dropdown.js +22 -21
- package/dist/vue3/lib/dropdown.js.map +1 -1
- package/dist/vue3/lib/editor.cjs +711 -1
- package/dist/vue3/lib/editor.cjs.map +1 -1
- package/dist/vue3/lib/editor.js +271 -235
- package/dist/vue3/lib/editor.js.map +1 -1
- package/dist/vue3/lib/emoji-picker.cjs +1277 -1
- package/dist/vue3/lib/emoji-picker.cjs.map +1 -1
- package/dist/vue3/lib/emoji-picker.js +859 -569
- package/dist/vue3/lib/emoji-picker.js.map +1 -1
- package/dist/vue3/lib/emoji-row.cjs +128 -1
- package/dist/vue3/lib/emoji-row.cjs.map +1 -1
- package/dist/vue3/lib/emoji-row.js +89 -75
- package/dist/vue3/lib/emoji-row.js.map +1 -1
- package/dist/vue3/lib/emoji-text-wrapper.cjs +102 -1
- package/dist/vue3/lib/emoji-text-wrapper.cjs.map +1 -1
- package/dist/vue3/lib/emoji-text-wrapper.js +42 -31
- package/dist/vue3/lib/emoji-text-wrapper.js.map +1 -1
- package/dist/vue3/lib/emoji.cjs +157 -1
- package/dist/vue3/lib/emoji.cjs.map +1 -1
- package/dist/vue3/lib/emoji.js +152 -6
- package/dist/vue3/lib/emoji.js.map +1 -1
- package/dist/vue3/lib/feed-item-row.cjs +296 -1
- package/dist/vue3/lib/feed-item-row.cjs.map +1 -1
- package/dist/vue3/lib/feed-item-row.js +119 -100
- package/dist/vue3/lib/feed-item-row.js.map +1 -1
- package/dist/vue3/lib/feed-pill.cjs +173 -1
- package/dist/vue3/lib/feed-pill.cjs.map +1 -1
- package/dist/vue3/lib/feed-pill.js +70 -57
- package/dist/vue3/lib/feed-pill.js.map +1 -1
- package/dist/vue3/lib/general-row.cjs +518 -1
- package/dist/vue3/lib/general-row.cjs.map +1 -1
- package/dist/vue3/lib/general-row.js +186 -148
- package/dist/vue3/lib/general-row.js.map +1 -1
- package/dist/vue3/lib/group-row.cjs +116 -1
- package/dist/vue3/lib/group-row.cjs.map +1 -1
- package/dist/vue3/lib/group-row.js +37 -35
- package/dist/vue3/lib/group-row.js.map +1 -1
- package/dist/vue3/lib/grouped-chip.cjs +96 -1
- package/dist/vue3/lib/grouped-chip.cjs.map +1 -1
- package/dist/vue3/lib/grouped-chip.js +51 -46
- package/dist/vue3/lib/grouped-chip.js.map +1 -1
- package/dist/vue3/lib/hovercard.cjs +223 -1
- package/dist/vue3/lib/hovercard.cjs.map +1 -1
- package/dist/vue3/lib/hovercard.js +115 -80
- package/dist/vue3/lib/hovercard.js.map +1 -1
- package/dist/vue3/lib/icon.cjs +58 -1
- package/dist/vue3/lib/icon.cjs.map +1 -1
- package/dist/vue3/lib/icon.js +20 -20
- package/dist/vue3/lib/icon.js.map +1 -1
- package/dist/vue3/lib/image-viewer.cjs +243 -1
- package/dist/vue3/lib/image-viewer.cjs.map +1 -1
- package/dist/vue3/lib/image-viewer.js +104 -80
- package/dist/vue3/lib/image-viewer.js.map +1 -1
- package/dist/vue3/lib/input-group.cjs +91 -1
- package/dist/vue3/lib/input-group.cjs.map +1 -1
- package/dist/vue3/lib/input-group.js +41 -39
- package/dist/vue3/lib/input-group.js.map +1 -1
- package/dist/vue3/lib/input.cjs +578 -1
- package/dist/vue3/lib/input.cjs.map +1 -1
- package/dist/vue3/lib/input.js +185 -137
- package/dist/vue3/lib/input.js.map +1 -1
- package/dist/vue3/lib/item-layout.cjs +91 -1
- package/dist/vue3/lib/item-layout.cjs.map +1 -1
- package/dist/vue3/lib/item-layout.js +45 -39
- package/dist/vue3/lib/item-layout.js.map +1 -1
- package/dist/vue3/lib/ivr-node.cjs +263 -1
- package/dist/vue3/lib/ivr-node.cjs.map +1 -1
- package/dist/vue3/lib/ivr-node.js +130 -112
- package/dist/vue3/lib/ivr-node.js.map +1 -1
- package/dist/vue3/lib/keyboard-shortcut.cjs +119 -1
- package/dist/vue3/lib/keyboard-shortcut.cjs.map +1 -1
- package/dist/vue3/lib/keyboard-shortcut.js +58 -48
- package/dist/vue3/lib/keyboard-shortcut.js.map +1 -1
- package/dist/vue3/lib/lazy-show.cjs +82 -1
- package/dist/vue3/lib/lazy-show.cjs.map +1 -1
- package/dist/vue3/lib/lazy-show.js +21 -19
- package/dist/vue3/lib/lazy-show.js.map +1 -1
- package/dist/vue3/lib/link.cjs +43 -1
- package/dist/vue3/lib/link.cjs.map +1 -1
- package/dist/vue3/lib/link.js +20 -19
- package/dist/vue3/lib/link.js.map +1 -1
- package/dist/vue3/lib/list-item-group.cjs +67 -1
- package/dist/vue3/lib/list-item-group.cjs.map +1 -1
- package/dist/vue3/lib/list-item-group.js +24 -22
- package/dist/vue3/lib/list-item-group.js.map +1 -1
- package/dist/vue3/lib/list-item.cjs +216 -1
- package/dist/vue3/lib/list-item.cjs.map +1 -1
- package/dist/vue3/lib/list-item.js +71 -60
- package/dist/vue3/lib/list-item.js.map +1 -1
- package/dist/vue3/lib/message-input.cjs +708 -1
- package/dist/vue3/lib/message-input.cjs.map +1 -1
- package/dist/vue3/lib/message-input.js +232 -206
- package/dist/vue3/lib/message-input.js.map +1 -1
- package/dist/vue3/lib/modal.cjs +444 -2
- package/dist/vue3/lib/modal.cjs.map +1 -1
- package/dist/vue3/lib/modal.js +153 -120
- package/dist/vue3/lib/modal.js.map +1 -1
- package/dist/vue3/lib/notice.cjs +197 -1
- package/dist/vue3/lib/notice.cjs.map +1 -1
- package/dist/vue3/lib/notice.js +66 -63
- package/dist/vue3/lib/notice.js.map +1 -1
- package/dist/vue3/lib/pagination.cjs +205 -1
- package/dist/vue3/lib/pagination.cjs.map +1 -1
- package/dist/vue3/lib/pagination.js +96 -81
- package/dist/vue3/lib/pagination.js.map +1 -1
- package/dist/vue3/lib/popover.cjs +1080 -1
- package/dist/vue3/lib/popover.cjs.map +1 -1
- package/dist/vue3/lib/popover.js +447 -267
- package/dist/vue3/lib/popover.js.map +1 -1
- package/dist/vue3/lib/presence.cjs +70 -1
- package/dist/vue3/lib/presence.cjs.map +1 -1
- package/dist/vue3/lib/presence.js +33 -27
- package/dist/vue3/lib/presence.js.map +1 -1
- package/dist/vue3/lib/radio-group.cjs +88 -1
- package/dist/vue3/lib/radio-group.cjs.map +1 -1
- package/dist/vue3/lib/radio-group.js +18 -18
- package/dist/vue3/lib/radio-group.js.map +1 -1
- package/dist/vue3/lib/radio.cjs +162 -1
- package/dist/vue3/lib/radio.cjs.map +1 -1
- package/dist/vue3/lib/radio.js +66 -57
- package/dist/vue3/lib/radio.js.map +1 -1
- package/dist/vue3/lib/rich-text-editor.cjs +1137 -1
- package/dist/vue3/lib/rich-text-editor.cjs.map +1 -1
- package/dist/vue3/lib/rich-text-editor.js +567 -386
- package/dist/vue3/lib/rich-text-editor.js.map +1 -1
- package/dist/vue3/lib/root-layout.cjs +158 -1
- package/dist/vue3/lib/root-layout.cjs.map +1 -1
- package/dist/vue3/lib/root-layout.js +33 -31
- package/dist/vue3/lib/root-layout.js.map +1 -1
- package/dist/vue3/lib/scroller.cjs +1090 -1
- package/dist/vue3/lib/scroller.cjs.map +1 -1
- package/dist/vue3/lib/scroller.js +668 -345
- package/dist/vue3/lib/scroller.js.map +1 -1
- package/dist/vue3/lib/select-menu.cjs +312 -1
- package/dist/vue3/lib/select-menu.cjs.map +1 -1
- package/dist/vue3/lib/select-menu.js +124 -79
- package/dist/vue3/lib/select-menu.js.map +1 -1
- package/dist/vue3/lib/settings-menu-button.cjs +77 -1
- package/dist/vue3/lib/settings-menu-button.cjs.map +1 -1
- package/dist/vue3/lib/settings-menu-button.js +31 -30
- package/dist/vue3/lib/settings-menu-button.js.map +1 -1
- package/dist/vue3/lib/skeleton.cjs +635 -1
- package/dist/vue3/lib/skeleton.cjs.map +1 -1
- package/dist/vue3/lib/skeleton.js +189 -152
- package/dist/vue3/lib/skeleton.js.map +1 -1
- package/dist/vue3/lib/stack.cjs +123 -1
- package/dist/vue3/lib/stack.cjs.map +1 -1
- package/dist/vue3/lib/stack.js +61 -53
- package/dist/vue3/lib/stack.js.map +1 -1
- package/dist/vue3/lib/tabs.cjs +102 -1
- package/dist/vue3/lib/tabs.cjs.map +1 -1
- package/dist/vue3/lib/tabs.js +47 -41
- package/dist/vue3/lib/tabs.js.map +1 -1
- package/dist/vue3/lib/time-pill.cjs +41 -1
- package/dist/vue3/lib/time-pill.cjs.map +1 -1
- package/dist/vue3/lib/time-pill.js +18 -14
- package/dist/vue3/lib/time-pill.js.map +1 -1
- package/dist/vue3/lib/toast.cjs +281 -1
- package/dist/vue3/lib/toast.cjs.map +1 -1
- package/dist/vue3/lib/toast.js +96 -74
- package/dist/vue3/lib/toast.js.map +1 -1
- package/dist/vue3/lib/toggle.cjs +192 -1
- package/dist/vue3/lib/toggle.cjs.map +1 -1
- package/dist/vue3/lib/toggle.js +60 -49
- package/dist/vue3/lib/toggle.js.map +1 -1
- package/dist/vue3/lib/tooltip-directive.cjs +84 -1
- package/dist/vue3/lib/tooltip-directive.cjs.map +1 -1
- package/dist/vue3/lib/tooltip-directive.js +56 -42
- package/dist/vue3/lib/tooltip-directive.js.map +1 -1
- package/dist/vue3/lib/tooltip.cjs +460 -1
- package/dist/vue3/lib/tooltip.cjs.map +1 -1
- package/dist/vue3/lib/tooltip.js +162 -103
- package/dist/vue3/lib/tooltip.js.map +1 -1
- package/dist/vue3/lib/top-banner-info.cjs +71 -1
- package/dist/vue3/lib/top-banner-info.cjs.map +1 -1
- package/dist/vue3/lib/top-banner-info.js +27 -22
- package/dist/vue3/lib/top-banner-info.js.map +1 -1
- package/dist/vue3/lib/unread-pill.cjs +73 -1
- package/dist/vue3/lib/unread-pill.cjs.map +1 -1
- package/dist/vue3/lib/unread-pill.js +28 -25
- package/dist/vue3/lib/unread-pill.js.map +1 -1
- package/dist/vue3/lib/validation-messages.cjs +89 -1
- package/dist/vue3/lib/validation-messages.cjs.map +1 -1
- package/dist/vue3/lib/validation-messages.js +41 -36
- package/dist/vue3/lib/validation-messages.js.map +1 -1
- package/dist/vue3/style.css +1257 -1
- package/dist/vue3/types/components/rich_text_editor/extensions/emoji/EmojiComponent.vue.d.ts +2 -2
- package/dist/vue3/types/components/rich_text_editor/extensions/mentions/MentionComponent.vue.d.ts +2 -2
- package/package.json +35 -35
- package/dist/vue2/chunks/_plugin-vue2_normalizer-ZK80B3OL.js +0 -2
- package/dist/vue2/chunks/_plugin-vue2_normalizer-ZK80B3OL.js.map +0 -1
- package/dist/vue2/chunks/_plugin-vue2_normalizer-u6G_3nkj.js +0 -33
- package/dist/vue2/chunks/_plugin-vue2_normalizer-u6G_3nkj.js.map +0 -1
- package/dist/vue2/chunks/dropdown-zhMEz3bn.js +0 -2
- package/dist/vue2/chunks/dropdown_constants-EUcDxBrX.js +0 -9
- package/dist/vue2/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
- package/dist/vue2/chunks/dropdown_constants-KHFvVI2L.js +0 -2
- package/dist/vue2/chunks/dropdown_constants-KHFvVI2L.js.map +0 -1
- package/dist/vue2/chunks/icon_constants-2S_OSQ1t.js +0 -2
- package/dist/vue2/chunks/index-2jPosQBn.js +0 -3
- package/dist/vue2/chunks/index-YkSDT8-g.js +0 -244
- package/dist/vue2/chunks/index-YkSDT8-g.js.map +0 -1
- package/dist/vue2/chunks/index-nIyl_PL6.js +0 -372
- package/dist/vue2/chunks/index-sdfB7Aok.js +0 -2
- package/dist/vue2/chunks/index-sdfB7Aok.js.map +0 -1
- package/dist/vue2/chunks/input-o-fc1X4b.js +0 -2
- package/dist/vue2/chunks/input_group-j2gTtc1C.js +0 -2
- package/dist/vue2/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
- package/dist/vue2/chunks/keyboard_list_navigation-N74Bpdq7.js +0 -2
- package/dist/vue2/chunks/link_constants-Kn6kP4i1.js +0 -2
- package/dist/vue2/chunks/link_constants-vIUB92L4.js +0 -16
- package/dist/vue2/chunks/list_item_constants-LTUc74pD.js +0 -13
- package/dist/vue2/chunks/list_item_constants-Tsz5CO1m.js +0 -2
- package/dist/vue2/chunks/modal-VuMFkZFH.js +0 -82
- package/dist/vue2/chunks/modal-qEzlo0Sj.js +0 -2
- package/dist/vue2/chunks/notice_action-9NmtQRai.js +0 -182
- package/dist/vue2/chunks/notice_action-u3ZKIhit.js +0 -2
- package/dist/vue2/chunks/notice_constants-c--hBFQw.js +0 -6
- package/dist/vue2/chunks/notice_constants-mC6al2Dm.js +0 -2
- package/dist/vue2/chunks/popover_constants-hOEhklvr.js +0 -2
- package/dist/vue2/chunks/popover_constants-qjlEkroB.js +0 -114
- package/dist/vue2/chunks/sr_only_close_button-ErijKGYR.js +0 -3
- package/dist/vue2/chunks/sr_only_close_button-JGole5Xi.js +0 -86
- package/dist/vue2/chunks/stack_constants-m9Ickqw0.js +0 -2
- package/dist/vue2/chunks/stack_constants-u7tNqGtc.js +0 -13
- package/dist/vue2/chunks/tab-7hJQSLFx.js +0 -2
- package/dist/vue2/chunks/tab-Qm9LVkYj.js +0 -346
- package/dist/vue2/lib/constants.cjs +0 -2
- package/dist/vue2/lib/dates.cjs +0 -2
- package/dist/vue2/lib/dates.js +0 -57
- package/dist/vue2/lib/mixins.cjs +0 -2
- package/dist/vue2/lib/mixins.js +0 -17
- package/dist/vue2/lib/utils.cjs +0 -2
- package/dist/vue2/lib/utils.js +0 -175
- package/dist/vue2/lib/validators.cjs +0 -2
- package/dist/vue2/lib/validators.js +0 -12
- package/dist/vue3/chunks/_plugin-vue_export-helper-6_y-gaV6.js +0 -2
- package/dist/vue3/chunks/_plugin-vue_export-helper-6_y-gaV6.js.map +0 -1
- package/dist/vue3/chunks/_plugin-vue_export-helper-hUChTQA_.js +0 -10
- package/dist/vue3/chunks/_plugin-vue_export-helper-hUChTQA_.js.map +0 -1
- package/dist/vue3/chunks/dropdown-UO3UJalk.js +0 -2
- package/dist/vue3/chunks/dropdown_constants-EUcDxBrX.js +0 -9
- package/dist/vue3/chunks/dropdown_constants-EUcDxBrX.js.map +0 -1
- package/dist/vue3/chunks/dropdown_constants-KHFvVI2L.js +0 -2
- package/dist/vue3/chunks/dropdown_constants-KHFvVI2L.js.map +0 -1
- package/dist/vue3/chunks/icon_constants-2S_OSQ1t.js +0 -2
- package/dist/vue3/chunks/index-6tYeqbgP.js +0 -3
- package/dist/vue3/chunks/index-IBtQ5jRJ.js +0 -2
- package/dist/vue3/chunks/index-IBtQ5jRJ.js.map +0 -1
- package/dist/vue3/chunks/index-b4iXYvId.js +0 -399
- package/dist/vue3/chunks/index-mRmwpCBG.js +0 -256
- package/dist/vue3/chunks/index-mRmwpCBG.js.map +0 -1
- package/dist/vue3/chunks/input-0Uksk4DP.js +0 -2
- package/dist/vue3/chunks/input_group-AS760Cp7.js +0 -2
- package/dist/vue3/chunks/keyboard_list_navigation-F0O8nht0.js +0 -197
- package/dist/vue3/chunks/keyboard_list_navigation-N74Bpdq7.js +0 -2
- package/dist/vue3/chunks/link_constants-Kn6kP4i1.js +0 -2
- package/dist/vue3/chunks/link_constants-vIUB92L4.js +0 -16
- package/dist/vue3/chunks/list_item_constants-LTUc74pD.js +0 -13
- package/dist/vue3/chunks/list_item_constants-Tsz5CO1m.js +0 -2
- package/dist/vue3/chunks/modal-VuMFkZFH.js +0 -82
- package/dist/vue3/chunks/modal-qEzlo0Sj.js +0 -2
- package/dist/vue3/chunks/notice_action-jO199emq.js +0 -2
- package/dist/vue3/chunks/notice_action-tJfD5Qw1.js +0 -209
- package/dist/vue3/chunks/notice_constants-c--hBFQw.js +0 -6
- package/dist/vue3/chunks/notice_constants-mC6al2Dm.js +0 -2
- package/dist/vue3/chunks/popover_constants-hOEhklvr.js +0 -2
- package/dist/vue3/chunks/popover_constants-qjlEkroB.js +0 -114
- package/dist/vue3/chunks/sr_only_close_button-iD7s1Pbj.js +0 -3
- package/dist/vue3/chunks/stack_constants-m9Ickqw0.js +0 -2
- package/dist/vue3/chunks/stack_constants-u7tNqGtc.js +0 -13
- package/dist/vue3/chunks/tab-GQZFMq83.js +0 -367
- package/dist/vue3/chunks/tab-at7WWglk.js +0 -2
- package/dist/vue3/lib/constants.cjs +0 -2
- package/dist/vue3/lib/dates.cjs +0 -2
- package/dist/vue3/lib/dates.js +0 -57
- package/dist/vue3/lib/mixins.cjs +0 -2
- package/dist/vue3/lib/mixins.js +0 -17
- package/dist/vue3/lib/utils.cjs +0 -2
- package/dist/vue3/lib/utils.js +0 -171
- package/dist/vue3/lib/validators.cjs +0 -2
- package/dist/vue3/lib/validators.js +0 -12
- /package/dist/vue2/{lib → common}/mixins.js.map +0 -0
- /package/dist/vue3/{lib → common}/mixins.js.map +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard_list_navigation-N74Bpdq7.js","sources":["../../common/mixins/dom.js","../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["export default {\n methods: {\n /**\n * Scroll an element into view if it is not fully visible in its nearest scrollable ancestor.\n * @param {Element} ref\n */\n scrollElementIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n if (ref.scrollIntoViewIfNeeded) {\n this.scrollIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n }\n },\n\n /**\n * Scroll an element to the top or bottom of its scroll ancestor.\n * @param {Element} ref\n */\n scrollElementIntoView (ref, opt_scrollToTop, opt_behavior, opt_parent) {\n if (opt_scrollToTop === 'center') {\n this.scrollIntoView(ref, 'center', false, opt_behavior, opt_parent);\n return;\n }\n\n if (opt_scrollToTop === false) {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'top', false, opt_behavior, opt_parent);\n }\n },\n\n scrollIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n const dir = opt_center ? 'center' : undefined;\n this.scrollIntoView(ref, dir, true, opt_behavior, opt_parent);\n },\n\n scrollIntoView (ref, opt_dir, opt_ifNeeded, opt_behavior, opt_parent) {\n if (!ref || !ref.parentElement) {\n return;\n }\n const offsetTop = ref.offsetTop;\n const refParent = opt_parent || ref.parentElement;\n const scrollBounds = this._getScrollBounds(refParent);\n const parentHeight = scrollBounds.bottom - scrollBounds.top;\n const elHeight = this._getElementHeight(ref);\n const offsetBottom = offsetTop + elHeight;\n let scrollTop = -1;\n switch (opt_dir) {\n case 'top':\n scrollTop = offsetTop;\n break;\n case 'center':\n scrollTop = offsetTop + (elHeight - parentHeight) / 2;\n break;\n case 'bottom':\n scrollTop = scrollTop = offsetBottom - parentHeight;\n break;\n default:\n // Go to the closest edge if needed and no direction is provided.\n if (offsetTop - scrollBounds.top <= (parentHeight / 2)) {\n // Lock it to the top edge.\n scrollTop = offsetTop;\n } else {\n scrollTop = offsetBottom - parentHeight;\n }\n break;\n }\n this._setScrollTop(refParent, scrollTop, scrollBounds, offsetTop, offsetBottom, opt_ifNeeded, opt_behavior);\n },\n\n _setScrollTop (el, scrollTop, bounds, offsetTop, offsetBottom, opt_isNeeded, opt_behavior) {\n bounds = bounds || this._getScrollBounds(el);\n const parentHeight = bounds.bottom - bounds.top;\n if (opt_isNeeded && this._inScrollBounds(offsetTop, offsetBottom, bounds)) {\n // Then lock to the top or bottom if it's hanging off the edge.\n if (offsetTop < bounds.top) {\n // Snap it to the top.\n scrollTop = offsetTop;\n } else if (offsetBottom > bounds.bottom) {\n scrollTop = offsetBottom - parentHeight;\n } else {\n return;\n }\n }\n\n if (opt_behavior) {\n el.scrollTo({ top: scrollTop, behavior: opt_behavior });\n } else {\n el.scrollTop = scrollTop;\n }\n },\n\n _getElementHeight (el) {\n return el.getBoundingClientRect().height;\n },\n\n _getScrollBounds (el) {\n const height = this._getElementHeight(el);\n const scrollTop = el.scrollTop;\n return {\n top: scrollTop,\n bottom: scrollTop + height,\n };\n },\n\n _inScrollBounds (top, bottom, bounds) {\n // Since we read from top to bottom, we want more than 3/4 to be visible at the top\n // (bc you're looking at the bottom half) or a quarter visible at the bottom (bc you\n // can read the beginning of it)\n\n const height = bottom - top;\n return (bottom <= bounds.bottom + (3 * height / 4)) && (top >= bounds.top - (height / 4));\n },\n },\n};\n","import Dom from './dom';\n\nconst ERROR_INVALID_LIST_ELEMENT = (\n 'listElementKey is required or the referenced ' +\n 'element doesn\\'t exist. Received listElement: '\n);\n\n/**\n * Usage: `mixins: [keyboardNavigationMixin(options)]`\n *\n * This mixin provides some common data and methods to navigate a list of items\n * (such as a dropdown or select menu) by keyboard.\n *\n * To be effective, you must bind the onUpKey and onDownKey events, usually to\n * the root element of the component.\n *\n * @param listItemRole\n * @param indexKey\n * @param idKey\n * @param listElementKey\n * @param activeItemKey\n * @param openMethod\n * @param afterHighlightMethod\n * @param beginningOfListMethod\n * @param endOfListMethod\n * @param scrollToOnHighlight\n * @param focusOnKeyboardNavigation\n * @displayName Keyboard Navigation Mixin\n */\nexport default ({\n // Role of the list items in the component. This is used to identify the list items\n // so you must update this if the role of your list items is anything other than 'option'\n listItemRole = 'option',\n // Key of the data prop that will be added to the component.\n indexKey = 'highlightIndex',\n idKey = 'highlightId',\n // Key of the method that references the list element.\n listElementKey = 'listRef',\n // Optional, Key of the computed prop that references the currently active item element.\n activeItemKey = '',\n // Optional, name of the method that toggles the list visibility. Used for\n // opening the list when up or down is pressed.\n openMethod = null,\n // Optional, method to call when the highlightIndex is changed.\n afterHighlightMethod = null,\n // Optional, method to call when the highlightIndex goes past the beginning of the list.\n beginningOfListMethod = null,\n // Optional, method to call when the highlightIndex goes past the end of the list.\n endOfListMethod = null,\n // Scroll the active element into view when highlighted by a keyboard event.\n scrollToOnHighlight = true,\n // Focus the active element on keyboard navigation.\n focusOnKeyboardNavigation = false,\n} = {}) => ({\n mixins: [Dom],\n\n data () {\n return {\n [indexKey]: -1,\n [idKey]: '',\n scrollToOnHighlight,\n focusOnKeyboardNavigation,\n };\n },\n\n provide () {\n return {\n highlightId: () => this[idKey],\n };\n },\n\n methods: {\n // Returns the list element\n // this[listElement]() can return a Vue component, in which case we need to target\n // the $el property, or it can simply be an html element.\n _getListElement () {\n return this[listElementKey]()?.$el || this[listElementKey]();\n },\n\n // Gets the length of all the items in the list, uses the listItemRole param to determine\n // whether an element is a list item.\n _itemsLength () {\n const listItems = this._getListItemNodes();\n\n if (listItems === null) {\n return 0;\n }\n\n return listItems.length;\n },\n\n // Gets all the list item nodes within the list element\n _getListItemNodes () {\n const listElement = this._getListElement();\n\n if (!listElement) {\n console.error(ERROR_INVALID_LIST_ELEMENT, listElement);\n return null;\n }\n\n return Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n },\n\n onUpKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] > 0) {\n this.setHighlightIndex(this[indexKey] - 1);\n } else if (beginningOfListMethod) {\n this[beginningOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onDownKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] < this._itemsLength() - 1) {\n this.setHighlightIndex(this[indexKey] + 1);\n } else if (endOfListMethod) {\n this[endOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onHomeKey () {\n this.jumpToBeginning();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onEndKey () {\n this.jumpToEnd();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onNavigationKey (key) {\n const listItems = this._getListItemNodes();\n\n const matchingItems = listItems.filter(item => {\n const content = item.textContent.trim().toLowerCase();\n return content.startsWith(key.toLowerCase());\n });\n\n if (matchingItems.length <= 0) {\n return;\n }\n\n const highlightedMatchingItemIndex = matchingItems.findIndex(item => {\n return this[indexKey] === listItems.indexOf(item);\n });\n\n const nextHighlightedItemIndex = listItems.indexOf(\n highlightedMatchingItemIndex < matchingItems.length - 1\n ? matchingItems[highlightedMatchingItemIndex + 1]\n : matchingItems[0],\n );\n\n this.setHighlightIndex(nextHighlightedItemIndex);\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n isValidLetter (key) {\n if (key.length > 1) {\n return false;\n }\n\n return (key >= 'a' && key <= 'z') || (key >= 'A' && key <= 'Z');\n },\n\n jumpToBeginning () {\n this.setHighlightIndex(0);\n },\n\n jumpToEnd () {\n this.setHighlightIndex(this._itemsLength() - 1);\n },\n\n setHighlightIndex (num) {\n this[indexKey] = num;\n this[idKey] = this._getItemId(num);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](num);\n }\n },\n\n setHighlightId (id) {\n this[idKey] = id;\n this[indexKey] = this._getItemIndex(id);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](this._getItemIndex(id));\n }\n },\n\n _getItemIndex (id) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n const listItems = Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n return listItems.indexOf(listElement.querySelector(`#${id}`));\n },\n\n _getItemId (index) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n return listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`)[index]?.id;\n },\n\n scrollActiveItemIntoViewIfNeeded () {\n if (!this.scrollToOnHighlight) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n // When listElementKey is not passed,\n // scrollElementIntoViewIfNeeded will default to the immediate wrapper of the item.\n const listElement = this._getListElement();\n this.scrollElementIntoViewIfNeeded(activeItemEl, null, null, listElement);\n }\n },\n\n focusActiveItemIfNeeded () {\n if (!this.focusOnKeyboardNavigation) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n activeItemEl.focus();\n }\n },\n },\n});\n"],"names":["Dom","ref","opt_center","opt_behavior","opt_parent","opt_scrollToTop","dir","opt_dir","opt_ifNeeded","offsetTop","refParent","scrollBounds","parentHeight","elHeight","offsetBottom","scrollTop","el","bounds","opt_isNeeded","height","top","bottom","ERROR_INVALID_LIST_ELEMENT","KeyboardNavigation","listItemRole","indexKey","idKey","listElementKey","activeItemKey","openMethod","afterHighlightMethod","beginningOfListMethod","endOfListMethod","scrollToOnHighlight","focusOnKeyboardNavigation","_a","listItems","listElement","key","matchingItems","item","highlightedMatchingItemIndex","nextHighlightedItemIndex","num","id","index","activeItemEl"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keyboard_list_navigation-ScXhrxya.js","sources":["../../common/mixins/dom.js","../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["export default {\n methods: {\n /**\n * Scroll an element into view if it is not fully visible in its nearest scrollable ancestor.\n * @param {Element} ref\n */\n scrollElementIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n if (ref.scrollIntoViewIfNeeded) {\n this.scrollIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n }\n },\n\n /**\n * Scroll an element to the top or bottom of its scroll ancestor.\n * @param {Element} ref\n */\n scrollElementIntoView (ref, opt_scrollToTop, opt_behavior, opt_parent) {\n if (opt_scrollToTop === 'center') {\n this.scrollIntoView(ref, 'center', false, opt_behavior, opt_parent);\n return;\n }\n\n if (opt_scrollToTop === false) {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'top', false, opt_behavior, opt_parent);\n }\n },\n\n scrollIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n const dir = opt_center ? 'center' : undefined;\n this.scrollIntoView(ref, dir, true, opt_behavior, opt_parent);\n },\n\n scrollIntoView (ref, opt_dir, opt_ifNeeded, opt_behavior, opt_parent) {\n if (!ref || !ref.parentElement) {\n return;\n }\n const offsetTop = ref.offsetTop;\n const refParent = opt_parent || ref.parentElement;\n const scrollBounds = this._getScrollBounds(refParent);\n const parentHeight = scrollBounds.bottom - scrollBounds.top;\n const elHeight = this._getElementHeight(ref);\n const offsetBottom = offsetTop + elHeight;\n let scrollTop = -1;\n switch (opt_dir) {\n case 'top':\n scrollTop = offsetTop;\n break;\n case 'center':\n scrollTop = offsetTop + (elHeight - parentHeight) / 2;\n break;\n case 'bottom':\n scrollTop = scrollTop = offsetBottom - parentHeight;\n break;\n default:\n // Go to the closest edge if needed and no direction is provided.\n if (offsetTop - scrollBounds.top <= (parentHeight / 2)) {\n // Lock it to the top edge.\n scrollTop = offsetTop;\n } else {\n scrollTop = offsetBottom - parentHeight;\n }\n break;\n }\n this._setScrollTop(refParent, scrollTop, scrollBounds, offsetTop, offsetBottom, opt_ifNeeded, opt_behavior);\n },\n\n _setScrollTop (el, scrollTop, bounds, offsetTop, offsetBottom, opt_isNeeded, opt_behavior) {\n bounds = bounds || this._getScrollBounds(el);\n const parentHeight = bounds.bottom - bounds.top;\n if (opt_isNeeded && this._inScrollBounds(offsetTop, offsetBottom, bounds)) {\n // Then lock to the top or bottom if it's hanging off the edge.\n if (offsetTop < bounds.top) {\n // Snap it to the top.\n scrollTop = offsetTop;\n } else if (offsetBottom > bounds.bottom) {\n scrollTop = offsetBottom - parentHeight;\n } else {\n return;\n }\n }\n\n if (opt_behavior) {\n el.scrollTo({ top: scrollTop, behavior: opt_behavior });\n } else {\n el.scrollTop = scrollTop;\n }\n },\n\n _getElementHeight (el) {\n return el.getBoundingClientRect().height;\n },\n\n _getScrollBounds (el) {\n const height = this._getElementHeight(el);\n const scrollTop = el.scrollTop;\n return {\n top: scrollTop,\n bottom: scrollTop + height,\n };\n },\n\n _inScrollBounds (top, bottom, bounds) {\n // Since we read from top to bottom, we want more than 3/4 to be visible at the top\n // (bc you're looking at the bottom half) or a quarter visible at the bottom (bc you\n // can read the beginning of it)\n\n const height = bottom - top;\n return (bottom <= bounds.bottom + (3 * height / 4)) && (top >= bounds.top - (height / 4));\n },\n },\n};\n","import Dom from './dom';\n\nconst ERROR_INVALID_LIST_ELEMENT = (\n 'listElementKey is required or the referenced ' +\n 'element doesn\\'t exist. Received listElement: '\n);\n\n/**\n * Usage: `mixins: [keyboardNavigationMixin(options)]`\n *\n * This mixin provides some common data and methods to navigate a list of items\n * (such as a dropdown or select menu) by keyboard.\n *\n * To be effective, you must bind the onUpKey and onDownKey events, usually to\n * the root element of the component.\n *\n * @param listItemRole\n * @param indexKey\n * @param idKey\n * @param listElementKey\n * @param activeItemKey\n * @param openMethod\n * @param afterHighlightMethod\n * @param beginningOfListMethod\n * @param endOfListMethod\n * @param scrollToOnHighlight\n * @param focusOnKeyboardNavigation\n * @displayName Keyboard Navigation Mixin\n */\nexport default ({\n // Role of the list items in the component. This is used to identify the list items\n // so you must update this if the role of your list items is anything other than 'option'\n listItemRole = 'option',\n // Key of the data prop that will be added to the component.\n indexKey = 'highlightIndex',\n idKey = 'highlightId',\n // Key of the method that references the list element.\n listElementKey = 'listRef',\n // Optional, Key of the computed prop that references the currently active item element.\n activeItemKey = '',\n // Optional, name of the method that toggles the list visibility. Used for\n // opening the list when up or down is pressed.\n openMethod = null,\n // Optional, method to call when the highlightIndex is changed.\n afterHighlightMethod = null,\n // Optional, method to call when the highlightIndex goes past the beginning of the list.\n beginningOfListMethod = null,\n // Optional, method to call when the highlightIndex goes past the end of the list.\n endOfListMethod = null,\n // Scroll the active element into view when highlighted by a keyboard event.\n scrollToOnHighlight = true,\n // Focus the active element on keyboard navigation.\n focusOnKeyboardNavigation = false,\n} = {}) => ({\n mixins: [Dom],\n\n data () {\n return {\n [indexKey]: -1,\n [idKey]: '',\n scrollToOnHighlight,\n focusOnKeyboardNavigation,\n };\n },\n\n provide () {\n return {\n highlightId: () => this[idKey],\n };\n },\n\n methods: {\n // Returns the list element\n // this[listElement]() can return a Vue component, in which case we need to target\n // the $el property, or it can simply be an html element.\n _getListElement () {\n return this[listElementKey]()?.$el || this[listElementKey]();\n },\n\n // Gets the length of all the items in the list, uses the listItemRole param to determine\n // whether an element is a list item.\n _itemsLength () {\n const listItems = this._getListItemNodes();\n\n if (listItems === null) {\n return 0;\n }\n\n return listItems.length;\n },\n\n // Gets all the list item nodes within the list element\n _getListItemNodes () {\n const listElement = this._getListElement();\n\n if (!listElement) {\n console.error(ERROR_INVALID_LIST_ELEMENT, listElement);\n return null;\n }\n\n return Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n },\n\n onUpKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] > 0) {\n this.setHighlightIndex(this[indexKey] - 1);\n } else if (beginningOfListMethod) {\n this[beginningOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onDownKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] < this._itemsLength() - 1) {\n this.setHighlightIndex(this[indexKey] + 1);\n } else if (endOfListMethod) {\n this[endOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onHomeKey () {\n this.jumpToBeginning();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onEndKey () {\n this.jumpToEnd();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onNavigationKey (key) {\n const listItems = this._getListItemNodes();\n\n const matchingItems = listItems.filter(item => {\n const content = item.textContent.trim().toLowerCase();\n return content.startsWith(key.toLowerCase());\n });\n\n if (matchingItems.length <= 0) {\n return;\n }\n\n const highlightedMatchingItemIndex = matchingItems.findIndex(item => {\n return this[indexKey] === listItems.indexOf(item);\n });\n\n const nextHighlightedItemIndex = listItems.indexOf(\n highlightedMatchingItemIndex < matchingItems.length - 1\n ? matchingItems[highlightedMatchingItemIndex + 1]\n : matchingItems[0],\n );\n\n this.setHighlightIndex(nextHighlightedItemIndex);\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n isValidLetter (key) {\n if (key.length > 1) {\n return false;\n }\n\n return (key >= 'a' && key <= 'z') || (key >= 'A' && key <= 'Z');\n },\n\n jumpToBeginning () {\n this.setHighlightIndex(0);\n },\n\n jumpToEnd () {\n this.setHighlightIndex(this._itemsLength() - 1);\n },\n\n setHighlightIndex (num) {\n this[indexKey] = num;\n this[idKey] = this._getItemId(num);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](num);\n }\n },\n\n setHighlightId (id) {\n this[idKey] = id;\n this[indexKey] = this._getItemIndex(id);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](this._getItemIndex(id));\n }\n },\n\n _getItemIndex (id) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n const listItems = Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n return listItems.indexOf(listElement.querySelector(`#${id}`));\n },\n\n _getItemId (index) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n return listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`)[index]?.id;\n },\n\n scrollActiveItemIntoViewIfNeeded () {\n if (!this.scrollToOnHighlight) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n // When listElementKey is not passed,\n // scrollElementIntoViewIfNeeded will default to the immediate wrapper of the item.\n const listElement = this._getListElement();\n this.scrollElementIntoViewIfNeeded(activeItemEl, null, null, listElement);\n }\n },\n\n focusActiveItemIfNeeded () {\n if (!this.focusOnKeyboardNavigation) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n activeItemEl.focus();\n }\n },\n },\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const Dom = {
|
|
3
|
+
methods: {
|
|
4
|
+
/**
|
|
5
|
+
* Scroll an element into view if it is not fully visible in its nearest scrollable ancestor.
|
|
6
|
+
* @param {Element} ref
|
|
7
|
+
*/
|
|
8
|
+
scrollElementIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent) {
|
|
9
|
+
if (ref.scrollIntoViewIfNeeded) {
|
|
10
|
+
this.scrollIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent);
|
|
11
|
+
} else {
|
|
12
|
+
this.scrollIntoView(ref, "bottom", false, opt_behavior, opt_parent);
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
/**
|
|
16
|
+
* Scroll an element to the top or bottom of its scroll ancestor.
|
|
17
|
+
* @param {Element} ref
|
|
18
|
+
*/
|
|
19
|
+
scrollElementIntoView(ref, opt_scrollToTop, opt_behavior, opt_parent) {
|
|
20
|
+
if (opt_scrollToTop === "center") {
|
|
21
|
+
this.scrollIntoView(ref, "center", false, opt_behavior, opt_parent);
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
if (opt_scrollToTop === false) {
|
|
25
|
+
this.scrollIntoView(ref, "bottom", false, opt_behavior, opt_parent);
|
|
26
|
+
} else {
|
|
27
|
+
this.scrollIntoView(ref, "top", false, opt_behavior, opt_parent);
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
scrollIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent) {
|
|
31
|
+
const dir = opt_center ? "center" : void 0;
|
|
32
|
+
this.scrollIntoView(ref, dir, true, opt_behavior, opt_parent);
|
|
33
|
+
},
|
|
34
|
+
scrollIntoView(ref, opt_dir, opt_ifNeeded, opt_behavior, opt_parent) {
|
|
35
|
+
if (!ref || !ref.parentElement) {
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
const offsetTop = ref.offsetTop;
|
|
39
|
+
const refParent = opt_parent || ref.parentElement;
|
|
40
|
+
const scrollBounds = this._getScrollBounds(refParent);
|
|
41
|
+
const parentHeight = scrollBounds.bottom - scrollBounds.top;
|
|
42
|
+
const elHeight = this._getElementHeight(ref);
|
|
43
|
+
const offsetBottom = offsetTop + elHeight;
|
|
44
|
+
let scrollTop = -1;
|
|
45
|
+
switch (opt_dir) {
|
|
46
|
+
case "top":
|
|
47
|
+
scrollTop = offsetTop;
|
|
48
|
+
break;
|
|
49
|
+
case "center":
|
|
50
|
+
scrollTop = offsetTop + (elHeight - parentHeight) / 2;
|
|
51
|
+
break;
|
|
52
|
+
case "bottom":
|
|
53
|
+
scrollTop = scrollTop = offsetBottom - parentHeight;
|
|
54
|
+
break;
|
|
55
|
+
default:
|
|
56
|
+
if (offsetTop - scrollBounds.top <= parentHeight / 2) {
|
|
57
|
+
scrollTop = offsetTop;
|
|
58
|
+
} else {
|
|
59
|
+
scrollTop = offsetBottom - parentHeight;
|
|
60
|
+
}
|
|
61
|
+
break;
|
|
62
|
+
}
|
|
63
|
+
this._setScrollTop(refParent, scrollTop, scrollBounds, offsetTop, offsetBottom, opt_ifNeeded, opt_behavior);
|
|
64
|
+
},
|
|
65
|
+
_setScrollTop(el, scrollTop, bounds, offsetTop, offsetBottom, opt_isNeeded, opt_behavior) {
|
|
66
|
+
bounds = bounds || this._getScrollBounds(el);
|
|
67
|
+
const parentHeight = bounds.bottom - bounds.top;
|
|
68
|
+
if (opt_isNeeded && this._inScrollBounds(offsetTop, offsetBottom, bounds)) {
|
|
69
|
+
if (offsetTop < bounds.top) {
|
|
70
|
+
scrollTop = offsetTop;
|
|
71
|
+
} else if (offsetBottom > bounds.bottom) {
|
|
72
|
+
scrollTop = offsetBottom - parentHeight;
|
|
73
|
+
} else {
|
|
74
|
+
return;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
if (opt_behavior) {
|
|
78
|
+
el.scrollTo({ top: scrollTop, behavior: opt_behavior });
|
|
79
|
+
} else {
|
|
80
|
+
el.scrollTop = scrollTop;
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
_getElementHeight(el) {
|
|
84
|
+
return el.getBoundingClientRect().height;
|
|
85
|
+
},
|
|
86
|
+
_getScrollBounds(el) {
|
|
87
|
+
const height = this._getElementHeight(el);
|
|
88
|
+
const scrollTop = el.scrollTop;
|
|
89
|
+
return {
|
|
90
|
+
top: scrollTop,
|
|
91
|
+
bottom: scrollTop + height
|
|
92
|
+
};
|
|
93
|
+
},
|
|
94
|
+
_inScrollBounds(top, bottom, bounds) {
|
|
95
|
+
const height = bottom - top;
|
|
96
|
+
return bottom <= bounds.bottom + 3 * height / 4 && top >= bounds.top - height / 4;
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
};
|
|
100
|
+
const ERROR_INVALID_LIST_ELEMENT = "listElementKey is required or the referenced element doesn't exist. Received listElement: ";
|
|
101
|
+
const KeyboardNavigation = ({
|
|
102
|
+
// Role of the list items in the component. This is used to identify the list items
|
|
103
|
+
// so you must update this if the role of your list items is anything other than 'option'
|
|
104
|
+
listItemRole = "option",
|
|
105
|
+
// Key of the data prop that will be added to the component.
|
|
106
|
+
indexKey = "highlightIndex",
|
|
107
|
+
idKey = "highlightId",
|
|
108
|
+
// Key of the method that references the list element.
|
|
109
|
+
listElementKey = "listRef",
|
|
110
|
+
// Optional, Key of the computed prop that references the currently active item element.
|
|
111
|
+
activeItemKey = "",
|
|
112
|
+
// Optional, name of the method that toggles the list visibility. Used for
|
|
113
|
+
// opening the list when up or down is pressed.
|
|
114
|
+
openMethod = null,
|
|
115
|
+
// Optional, method to call when the highlightIndex is changed.
|
|
116
|
+
afterHighlightMethod = null,
|
|
117
|
+
// Optional, method to call when the highlightIndex goes past the beginning of the list.
|
|
118
|
+
beginningOfListMethod = null,
|
|
119
|
+
// Optional, method to call when the highlightIndex goes past the end of the list.
|
|
120
|
+
endOfListMethod = null,
|
|
121
|
+
// Scroll the active element into view when highlighted by a keyboard event.
|
|
122
|
+
scrollToOnHighlight = true,
|
|
123
|
+
// Focus the active element on keyboard navigation.
|
|
124
|
+
focusOnKeyboardNavigation = false
|
|
125
|
+
} = {}) => ({
|
|
126
|
+
mixins: [Dom],
|
|
127
|
+
data() {
|
|
128
|
+
return {
|
|
129
|
+
[indexKey]: -1,
|
|
130
|
+
[idKey]: "",
|
|
131
|
+
scrollToOnHighlight,
|
|
132
|
+
focusOnKeyboardNavigation
|
|
133
|
+
};
|
|
134
|
+
},
|
|
135
|
+
provide() {
|
|
136
|
+
return {
|
|
137
|
+
highlightId: () => this[idKey]
|
|
138
|
+
};
|
|
139
|
+
},
|
|
140
|
+
methods: {
|
|
141
|
+
// Returns the list element
|
|
142
|
+
// this[listElement]() can return a Vue component, in which case we need to target
|
|
143
|
+
// the $el property, or it can simply be an html element.
|
|
144
|
+
_getListElement() {
|
|
145
|
+
var _a;
|
|
146
|
+
return ((_a = this[listElementKey]()) == null ? void 0 : _a.$el) || this[listElementKey]();
|
|
147
|
+
},
|
|
148
|
+
// Gets the length of all the items in the list, uses the listItemRole param to determine
|
|
149
|
+
// whether an element is a list item.
|
|
150
|
+
_itemsLength() {
|
|
151
|
+
const listItems = this._getListItemNodes();
|
|
152
|
+
if (listItems === null) {
|
|
153
|
+
return 0;
|
|
154
|
+
}
|
|
155
|
+
return listItems.length;
|
|
156
|
+
},
|
|
157
|
+
// Gets all the list item nodes within the list element
|
|
158
|
+
_getListItemNodes() {
|
|
159
|
+
const listElement = this._getListElement();
|
|
160
|
+
if (!listElement) {
|
|
161
|
+
console.error(ERROR_INVALID_LIST_ELEMENT, listElement);
|
|
162
|
+
return null;
|
|
163
|
+
}
|
|
164
|
+
return Array.from(listElement.querySelectorAll(`[role="${listItemRole}"], #sr-only-close-button`));
|
|
165
|
+
},
|
|
166
|
+
onUpKey() {
|
|
167
|
+
if (openMethod) {
|
|
168
|
+
this[openMethod](true);
|
|
169
|
+
}
|
|
170
|
+
if (this[indexKey] > 0) {
|
|
171
|
+
this.setHighlightIndex(this[indexKey] - 1);
|
|
172
|
+
} else if (beginningOfListMethod) {
|
|
173
|
+
this[beginningOfListMethod]();
|
|
174
|
+
}
|
|
175
|
+
this.scrollActiveItemIntoViewIfNeeded();
|
|
176
|
+
this.focusActiveItemIfNeeded();
|
|
177
|
+
},
|
|
178
|
+
onDownKey() {
|
|
179
|
+
if (openMethod) {
|
|
180
|
+
this[openMethod](true);
|
|
181
|
+
}
|
|
182
|
+
if (this[indexKey] < this._itemsLength() - 1) {
|
|
183
|
+
this.setHighlightIndex(this[indexKey] + 1);
|
|
184
|
+
} else if (endOfListMethod) {
|
|
185
|
+
this[endOfListMethod]();
|
|
186
|
+
}
|
|
187
|
+
this.scrollActiveItemIntoViewIfNeeded();
|
|
188
|
+
this.focusActiveItemIfNeeded();
|
|
189
|
+
},
|
|
190
|
+
onHomeKey() {
|
|
191
|
+
this.jumpToBeginning();
|
|
192
|
+
this.scrollActiveItemIntoViewIfNeeded();
|
|
193
|
+
this.focusActiveItemIfNeeded();
|
|
194
|
+
},
|
|
195
|
+
onEndKey() {
|
|
196
|
+
this.jumpToEnd();
|
|
197
|
+
this.scrollActiveItemIntoViewIfNeeded();
|
|
198
|
+
this.focusActiveItemIfNeeded();
|
|
199
|
+
},
|
|
200
|
+
onNavigationKey(key) {
|
|
201
|
+
const listItems = this._getListItemNodes();
|
|
202
|
+
const matchingItems = listItems.filter((item) => {
|
|
203
|
+
const content = item.textContent.trim().toLowerCase();
|
|
204
|
+
return content.startsWith(key.toLowerCase());
|
|
205
|
+
});
|
|
206
|
+
if (matchingItems.length <= 0) {
|
|
207
|
+
return;
|
|
208
|
+
}
|
|
209
|
+
const highlightedMatchingItemIndex = matchingItems.findIndex((item) => {
|
|
210
|
+
return this[indexKey] === listItems.indexOf(item);
|
|
211
|
+
});
|
|
212
|
+
const nextHighlightedItemIndex = listItems.indexOf(
|
|
213
|
+
highlightedMatchingItemIndex < matchingItems.length - 1 ? matchingItems[highlightedMatchingItemIndex + 1] : matchingItems[0]
|
|
214
|
+
);
|
|
215
|
+
this.setHighlightIndex(nextHighlightedItemIndex);
|
|
216
|
+
this.scrollActiveItemIntoViewIfNeeded();
|
|
217
|
+
this.focusActiveItemIfNeeded();
|
|
218
|
+
},
|
|
219
|
+
isValidLetter(key) {
|
|
220
|
+
if (key.length > 1) {
|
|
221
|
+
return false;
|
|
222
|
+
}
|
|
223
|
+
return key >= "a" && key <= "z" || key >= "A" && key <= "Z";
|
|
224
|
+
},
|
|
225
|
+
jumpToBeginning() {
|
|
226
|
+
this.setHighlightIndex(0);
|
|
227
|
+
},
|
|
228
|
+
jumpToEnd() {
|
|
229
|
+
this.setHighlightIndex(this._itemsLength() - 1);
|
|
230
|
+
},
|
|
231
|
+
setHighlightIndex(num) {
|
|
232
|
+
this[indexKey] = num;
|
|
233
|
+
this[idKey] = this._getItemId(num);
|
|
234
|
+
if (this._itemsLength() && afterHighlightMethod) {
|
|
235
|
+
this[afterHighlightMethod](num);
|
|
236
|
+
}
|
|
237
|
+
},
|
|
238
|
+
setHighlightId(id) {
|
|
239
|
+
this[idKey] = id;
|
|
240
|
+
this[indexKey] = this._getItemIndex(id);
|
|
241
|
+
if (this._itemsLength() && afterHighlightMethod) {
|
|
242
|
+
this[afterHighlightMethod](this._getItemIndex(id));
|
|
243
|
+
}
|
|
244
|
+
},
|
|
245
|
+
_getItemIndex(id) {
|
|
246
|
+
const listElement = this._getListElement();
|
|
247
|
+
if (!listElement) {
|
|
248
|
+
return;
|
|
249
|
+
}
|
|
250
|
+
const listItems = Array.from(listElement.querySelectorAll(`[role="${listItemRole}"], #sr-only-close-button`));
|
|
251
|
+
return listItems.indexOf(listElement.querySelector(`#${id}`));
|
|
252
|
+
},
|
|
253
|
+
_getItemId(index) {
|
|
254
|
+
var _a;
|
|
255
|
+
const listElement = this._getListElement();
|
|
256
|
+
if (!listElement) {
|
|
257
|
+
return;
|
|
258
|
+
}
|
|
259
|
+
return (_a = listElement.querySelectorAll(`[role="${listItemRole}"], #sr-only-close-button`)[index]) == null ? void 0 : _a.id;
|
|
260
|
+
},
|
|
261
|
+
scrollActiveItemIntoViewIfNeeded() {
|
|
262
|
+
if (!this.scrollToOnHighlight) {
|
|
263
|
+
return;
|
|
264
|
+
}
|
|
265
|
+
const activeItemEl = this[activeItemKey];
|
|
266
|
+
if (activeItemEl) {
|
|
267
|
+
const listElement = this._getListElement();
|
|
268
|
+
this.scrollElementIntoViewIfNeeded(activeItemEl, null, null, listElement);
|
|
269
|
+
}
|
|
270
|
+
},
|
|
271
|
+
focusActiveItemIfNeeded() {
|
|
272
|
+
if (!this.focusOnKeyboardNavigation) {
|
|
273
|
+
return;
|
|
274
|
+
}
|
|
275
|
+
const activeItemEl = this[activeItemKey];
|
|
276
|
+
if (activeItemEl) {
|
|
277
|
+
activeItemEl.focus();
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
});
|
|
282
|
+
exports.KeyboardNavigation = KeyboardNavigation;
|
|
283
|
+
//# sourceMappingURL=keyboard_list_navigation-fJnl_Iox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"keyboard_list_navigation-F0O8nht0.js","sources":["../../common/mixins/dom.js","../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["export default {\n methods: {\n /**\n * Scroll an element into view if it is not fully visible in its nearest scrollable ancestor.\n * @param {Element} ref\n */\n scrollElementIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n if (ref.scrollIntoViewIfNeeded) {\n this.scrollIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n }\n },\n\n /**\n * Scroll an element to the top or bottom of its scroll ancestor.\n * @param {Element} ref\n */\n scrollElementIntoView (ref, opt_scrollToTop, opt_behavior, opt_parent) {\n if (opt_scrollToTop === 'center') {\n this.scrollIntoView(ref, 'center', false, opt_behavior, opt_parent);\n return;\n }\n\n if (opt_scrollToTop === false) {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'top', false, opt_behavior, opt_parent);\n }\n },\n\n scrollIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n const dir = opt_center ? 'center' : undefined;\n this.scrollIntoView(ref, dir, true, opt_behavior, opt_parent);\n },\n\n scrollIntoView (ref, opt_dir, opt_ifNeeded, opt_behavior, opt_parent) {\n if (!ref || !ref.parentElement) {\n return;\n }\n const offsetTop = ref.offsetTop;\n const refParent = opt_parent || ref.parentElement;\n const scrollBounds = this._getScrollBounds(refParent);\n const parentHeight = scrollBounds.bottom - scrollBounds.top;\n const elHeight = this._getElementHeight(ref);\n const offsetBottom = offsetTop + elHeight;\n let scrollTop = -1;\n switch (opt_dir) {\n case 'top':\n scrollTop = offsetTop;\n break;\n case 'center':\n scrollTop = offsetTop + (elHeight - parentHeight) / 2;\n break;\n case 'bottom':\n scrollTop = scrollTop = offsetBottom - parentHeight;\n break;\n default:\n // Go to the closest edge if needed and no direction is provided.\n if (offsetTop - scrollBounds.top <= (parentHeight / 2)) {\n // Lock it to the top edge.\n scrollTop = offsetTop;\n } else {\n scrollTop = offsetBottom - parentHeight;\n }\n break;\n }\n this._setScrollTop(refParent, scrollTop, scrollBounds, offsetTop, offsetBottom, opt_ifNeeded, opt_behavior);\n },\n\n _setScrollTop (el, scrollTop, bounds, offsetTop, offsetBottom, opt_isNeeded, opt_behavior) {\n bounds = bounds || this._getScrollBounds(el);\n const parentHeight = bounds.bottom - bounds.top;\n if (opt_isNeeded && this._inScrollBounds(offsetTop, offsetBottom, bounds)) {\n // Then lock to the top or bottom if it's hanging off the edge.\n if (offsetTop < bounds.top) {\n // Snap it to the top.\n scrollTop = offsetTop;\n } else if (offsetBottom > bounds.bottom) {\n scrollTop = offsetBottom - parentHeight;\n } else {\n return;\n }\n }\n\n if (opt_behavior) {\n el.scrollTo({ top: scrollTop, behavior: opt_behavior });\n } else {\n el.scrollTop = scrollTop;\n }\n },\n\n _getElementHeight (el) {\n return el.getBoundingClientRect().height;\n },\n\n _getScrollBounds (el) {\n const height = this._getElementHeight(el);\n const scrollTop = el.scrollTop;\n return {\n top: scrollTop,\n bottom: scrollTop + height,\n };\n },\n\n _inScrollBounds (top, bottom, bounds) {\n // Since we read from top to bottom, we want more than 3/4 to be visible at the top\n // (bc you're looking at the bottom half) or a quarter visible at the bottom (bc you\n // can read the beginning of it)\n\n const height = bottom - top;\n return (bottom <= bounds.bottom + (3 * height / 4)) && (top >= bounds.top - (height / 4));\n },\n },\n};\n","import Dom from './dom';\n\nconst ERROR_INVALID_LIST_ELEMENT = (\n 'listElementKey is required or the referenced ' +\n 'element doesn\\'t exist. Received listElement: '\n);\n\n/**\n * Usage: `mixins: [keyboardNavigationMixin(options)]`\n *\n * This mixin provides some common data and methods to navigate a list of items\n * (such as a dropdown or select menu) by keyboard.\n *\n * To be effective, you must bind the onUpKey and onDownKey events, usually to\n * the root element of the component.\n *\n * @param listItemRole\n * @param indexKey\n * @param idKey\n * @param listElementKey\n * @param activeItemKey\n * @param openMethod\n * @param afterHighlightMethod\n * @param beginningOfListMethod\n * @param endOfListMethod\n * @param scrollToOnHighlight\n * @param focusOnKeyboardNavigation\n * @displayName Keyboard Navigation Mixin\n */\nexport default ({\n // Role of the list items in the component. This is used to identify the list items\n // so you must update this if the role of your list items is anything other than 'option'\n listItemRole = 'option',\n // Key of the data prop that will be added to the component.\n indexKey = 'highlightIndex',\n idKey = 'highlightId',\n // Key of the method that references the list element.\n listElementKey = 'listRef',\n // Optional, Key of the computed prop that references the currently active item element.\n activeItemKey = '',\n // Optional, name of the method that toggles the list visibility. Used for\n // opening the list when up or down is pressed.\n openMethod = null,\n // Optional, method to call when the highlightIndex is changed.\n afterHighlightMethod = null,\n // Optional, method to call when the highlightIndex goes past the beginning of the list.\n beginningOfListMethod = null,\n // Optional, method to call when the highlightIndex goes past the end of the list.\n endOfListMethod = null,\n // Scroll the active element into view when highlighted by a keyboard event.\n scrollToOnHighlight = true,\n // Focus the active element on keyboard navigation.\n focusOnKeyboardNavigation = false,\n} = {}) => ({\n mixins: [Dom],\n\n data () {\n return {\n [indexKey]: -1,\n [idKey]: '',\n scrollToOnHighlight,\n focusOnKeyboardNavigation,\n };\n },\n\n provide () {\n return {\n highlightId: () => this[idKey],\n };\n },\n\n methods: {\n // Returns the list element\n // this[listElement]() can return a Vue component, in which case we need to target\n // the $el property, or it can simply be an html element.\n _getListElement () {\n return this[listElementKey]()?.$el || this[listElementKey]();\n },\n\n // Gets the length of all the items in the list, uses the listItemRole param to determine\n // whether an element is a list item.\n _itemsLength () {\n const listItems = this._getListItemNodes();\n\n if (listItems === null) {\n return 0;\n }\n\n return listItems.length;\n },\n\n // Gets all the list item nodes within the list element\n _getListItemNodes () {\n const listElement = this._getListElement();\n\n if (!listElement) {\n console.error(ERROR_INVALID_LIST_ELEMENT, listElement);\n return null;\n }\n\n return Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n },\n\n onUpKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] > 0) {\n this.setHighlightIndex(this[indexKey] - 1);\n } else if (beginningOfListMethod) {\n this[beginningOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onDownKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] < this._itemsLength() - 1) {\n this.setHighlightIndex(this[indexKey] + 1);\n } else if (endOfListMethod) {\n this[endOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onHomeKey () {\n this.jumpToBeginning();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onEndKey () {\n this.jumpToEnd();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onNavigationKey (key) {\n const listItems = this._getListItemNodes();\n\n const matchingItems = listItems.filter(item => {\n const content = item.textContent.trim().toLowerCase();\n return content.startsWith(key.toLowerCase());\n });\n\n if (matchingItems.length <= 0) {\n return;\n }\n\n const highlightedMatchingItemIndex = matchingItems.findIndex(item => {\n return this[indexKey] === listItems.indexOf(item);\n });\n\n const nextHighlightedItemIndex = listItems.indexOf(\n highlightedMatchingItemIndex < matchingItems.length - 1\n ? matchingItems[highlightedMatchingItemIndex + 1]\n : matchingItems[0],\n );\n\n this.setHighlightIndex(nextHighlightedItemIndex);\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n isValidLetter (key) {\n if (key.length > 1) {\n return false;\n }\n\n return (key >= 'a' && key <= 'z') || (key >= 'A' && key <= 'Z');\n },\n\n jumpToBeginning () {\n this.setHighlightIndex(0);\n },\n\n jumpToEnd () {\n this.setHighlightIndex(this._itemsLength() - 1);\n },\n\n setHighlightIndex (num) {\n this[indexKey] = num;\n this[idKey] = this._getItemId(num);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](num);\n }\n },\n\n setHighlightId (id) {\n this[idKey] = id;\n this[indexKey] = this._getItemIndex(id);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](this._getItemIndex(id));\n }\n },\n\n _getItemIndex (id) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n const listItems = Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n return listItems.indexOf(listElement.querySelector(`#${id}`));\n },\n\n _getItemId (index) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n return listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`)[index]?.id;\n },\n\n scrollActiveItemIntoViewIfNeeded () {\n if (!this.scrollToOnHighlight) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n // When listElementKey is not passed,\n // scrollElementIntoViewIfNeeded will default to the immediate wrapper of the item.\n const listElement = this._getListElement();\n this.scrollElementIntoViewIfNeeded(activeItemEl, null, null, listElement);\n }\n },\n\n focusActiveItemIfNeeded () {\n if (!this.focusOnKeyboardNavigation) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n activeItemEl.focus();\n }\n },\n },\n});\n"],"names":["Dom","ref","opt_center","opt_behavior","opt_parent","opt_scrollToTop","dir","opt_dir","opt_ifNeeded","offsetTop","refParent","scrollBounds","parentHeight","elHeight","offsetBottom","scrollTop","el","bounds","opt_isNeeded","height","top","bottom","ERROR_INVALID_LIST_ELEMENT","KeyboardNavigation","listItemRole","indexKey","idKey","listElementKey","activeItemKey","openMethod","afterHighlightMethod","beginningOfListMethod","endOfListMethod","scrollToOnHighlight","focusOnKeyboardNavigation","_a","listItems","listElement","key","matchingItems","item","highlightedMatchingItemIndex","nextHighlightedItemIndex","num","id","index","activeItemEl"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"keyboard_list_navigation-fJnl_Iox.js","sources":["../../common/mixins/dom.js","../../common/mixins/keyboard_list_navigation.js"],"sourcesContent":["export default {\n methods: {\n /**\n * Scroll an element into view if it is not fully visible in its nearest scrollable ancestor.\n * @param {Element} ref\n */\n scrollElementIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n if (ref.scrollIntoViewIfNeeded) {\n this.scrollIntoViewIfNeeded(ref, opt_center, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n }\n },\n\n /**\n * Scroll an element to the top or bottom of its scroll ancestor.\n * @param {Element} ref\n */\n scrollElementIntoView (ref, opt_scrollToTop, opt_behavior, opt_parent) {\n if (opt_scrollToTop === 'center') {\n this.scrollIntoView(ref, 'center', false, opt_behavior, opt_parent);\n return;\n }\n\n if (opt_scrollToTop === false) {\n this.scrollIntoView(ref, 'bottom', false, opt_behavior, opt_parent);\n } else {\n this.scrollIntoView(ref, 'top', false, opt_behavior, opt_parent);\n }\n },\n\n scrollIntoViewIfNeeded (ref, opt_center, opt_behavior, opt_parent) {\n const dir = opt_center ? 'center' : undefined;\n this.scrollIntoView(ref, dir, true, opt_behavior, opt_parent);\n },\n\n scrollIntoView (ref, opt_dir, opt_ifNeeded, opt_behavior, opt_parent) {\n if (!ref || !ref.parentElement) {\n return;\n }\n const offsetTop = ref.offsetTop;\n const refParent = opt_parent || ref.parentElement;\n const scrollBounds = this._getScrollBounds(refParent);\n const parentHeight = scrollBounds.bottom - scrollBounds.top;\n const elHeight = this._getElementHeight(ref);\n const offsetBottom = offsetTop + elHeight;\n let scrollTop = -1;\n switch (opt_dir) {\n case 'top':\n scrollTop = offsetTop;\n break;\n case 'center':\n scrollTop = offsetTop + (elHeight - parentHeight) / 2;\n break;\n case 'bottom':\n scrollTop = scrollTop = offsetBottom - parentHeight;\n break;\n default:\n // Go to the closest edge if needed and no direction is provided.\n if (offsetTop - scrollBounds.top <= (parentHeight / 2)) {\n // Lock it to the top edge.\n scrollTop = offsetTop;\n } else {\n scrollTop = offsetBottom - parentHeight;\n }\n break;\n }\n this._setScrollTop(refParent, scrollTop, scrollBounds, offsetTop, offsetBottom, opt_ifNeeded, opt_behavior);\n },\n\n _setScrollTop (el, scrollTop, bounds, offsetTop, offsetBottom, opt_isNeeded, opt_behavior) {\n bounds = bounds || this._getScrollBounds(el);\n const parentHeight = bounds.bottom - bounds.top;\n if (opt_isNeeded && this._inScrollBounds(offsetTop, offsetBottom, bounds)) {\n // Then lock to the top or bottom if it's hanging off the edge.\n if (offsetTop < bounds.top) {\n // Snap it to the top.\n scrollTop = offsetTop;\n } else if (offsetBottom > bounds.bottom) {\n scrollTop = offsetBottom - parentHeight;\n } else {\n return;\n }\n }\n\n if (opt_behavior) {\n el.scrollTo({ top: scrollTop, behavior: opt_behavior });\n } else {\n el.scrollTop = scrollTop;\n }\n },\n\n _getElementHeight (el) {\n return el.getBoundingClientRect().height;\n },\n\n _getScrollBounds (el) {\n const height = this._getElementHeight(el);\n const scrollTop = el.scrollTop;\n return {\n top: scrollTop,\n bottom: scrollTop + height,\n };\n },\n\n _inScrollBounds (top, bottom, bounds) {\n // Since we read from top to bottom, we want more than 3/4 to be visible at the top\n // (bc you're looking at the bottom half) or a quarter visible at the bottom (bc you\n // can read the beginning of it)\n\n const height = bottom - top;\n return (bottom <= bounds.bottom + (3 * height / 4)) && (top >= bounds.top - (height / 4));\n },\n },\n};\n","import Dom from './dom';\n\nconst ERROR_INVALID_LIST_ELEMENT = (\n 'listElementKey is required or the referenced ' +\n 'element doesn\\'t exist. Received listElement: '\n);\n\n/**\n * Usage: `mixins: [keyboardNavigationMixin(options)]`\n *\n * This mixin provides some common data and methods to navigate a list of items\n * (such as a dropdown or select menu) by keyboard.\n *\n * To be effective, you must bind the onUpKey and onDownKey events, usually to\n * the root element of the component.\n *\n * @param listItemRole\n * @param indexKey\n * @param idKey\n * @param listElementKey\n * @param activeItemKey\n * @param openMethod\n * @param afterHighlightMethod\n * @param beginningOfListMethod\n * @param endOfListMethod\n * @param scrollToOnHighlight\n * @param focusOnKeyboardNavigation\n * @displayName Keyboard Navigation Mixin\n */\nexport default ({\n // Role of the list items in the component. This is used to identify the list items\n // so you must update this if the role of your list items is anything other than 'option'\n listItemRole = 'option',\n // Key of the data prop that will be added to the component.\n indexKey = 'highlightIndex',\n idKey = 'highlightId',\n // Key of the method that references the list element.\n listElementKey = 'listRef',\n // Optional, Key of the computed prop that references the currently active item element.\n activeItemKey = '',\n // Optional, name of the method that toggles the list visibility. Used for\n // opening the list when up or down is pressed.\n openMethod = null,\n // Optional, method to call when the highlightIndex is changed.\n afterHighlightMethod = null,\n // Optional, method to call when the highlightIndex goes past the beginning of the list.\n beginningOfListMethod = null,\n // Optional, method to call when the highlightIndex goes past the end of the list.\n endOfListMethod = null,\n // Scroll the active element into view when highlighted by a keyboard event.\n scrollToOnHighlight = true,\n // Focus the active element on keyboard navigation.\n focusOnKeyboardNavigation = false,\n} = {}) => ({\n mixins: [Dom],\n\n data () {\n return {\n [indexKey]: -1,\n [idKey]: '',\n scrollToOnHighlight,\n focusOnKeyboardNavigation,\n };\n },\n\n provide () {\n return {\n highlightId: () => this[idKey],\n };\n },\n\n methods: {\n // Returns the list element\n // this[listElement]() can return a Vue component, in which case we need to target\n // the $el property, or it can simply be an html element.\n _getListElement () {\n return this[listElementKey]()?.$el || this[listElementKey]();\n },\n\n // Gets the length of all the items in the list, uses the listItemRole param to determine\n // whether an element is a list item.\n _itemsLength () {\n const listItems = this._getListItemNodes();\n\n if (listItems === null) {\n return 0;\n }\n\n return listItems.length;\n },\n\n // Gets all the list item nodes within the list element\n _getListItemNodes () {\n const listElement = this._getListElement();\n\n if (!listElement) {\n console.error(ERROR_INVALID_LIST_ELEMENT, listElement);\n return null;\n }\n\n return Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n },\n\n onUpKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] > 0) {\n this.setHighlightIndex(this[indexKey] - 1);\n } else if (beginningOfListMethod) {\n this[beginningOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onDownKey () {\n if (openMethod) {\n this[openMethod](true);\n }\n if (this[indexKey] < this._itemsLength() - 1) {\n this.setHighlightIndex(this[indexKey] + 1);\n } else if (endOfListMethod) {\n this[endOfListMethod]();\n }\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onHomeKey () {\n this.jumpToBeginning();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onEndKey () {\n this.jumpToEnd();\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n onNavigationKey (key) {\n const listItems = this._getListItemNodes();\n\n const matchingItems = listItems.filter(item => {\n const content = item.textContent.trim().toLowerCase();\n return content.startsWith(key.toLowerCase());\n });\n\n if (matchingItems.length <= 0) {\n return;\n }\n\n const highlightedMatchingItemIndex = matchingItems.findIndex(item => {\n return this[indexKey] === listItems.indexOf(item);\n });\n\n const nextHighlightedItemIndex = listItems.indexOf(\n highlightedMatchingItemIndex < matchingItems.length - 1\n ? matchingItems[highlightedMatchingItemIndex + 1]\n : matchingItems[0],\n );\n\n this.setHighlightIndex(nextHighlightedItemIndex);\n this.scrollActiveItemIntoViewIfNeeded();\n this.focusActiveItemIfNeeded();\n },\n\n isValidLetter (key) {\n if (key.length > 1) {\n return false;\n }\n\n return (key >= 'a' && key <= 'z') || (key >= 'A' && key <= 'Z');\n },\n\n jumpToBeginning () {\n this.setHighlightIndex(0);\n },\n\n jumpToEnd () {\n this.setHighlightIndex(this._itemsLength() - 1);\n },\n\n setHighlightIndex (num) {\n this[indexKey] = num;\n this[idKey] = this._getItemId(num);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](num);\n }\n },\n\n setHighlightId (id) {\n this[idKey] = id;\n this[indexKey] = this._getItemIndex(id);\n\n if (this._itemsLength() && afterHighlightMethod) {\n this[afterHighlightMethod](this._getItemIndex(id));\n }\n },\n\n _getItemIndex (id) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n const listItems = Array.from(listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`));\n return listItems.indexOf(listElement.querySelector(`#${id}`));\n },\n\n _getItemId (index) {\n const listElement = this._getListElement();\n if (!listElement) {\n return;\n }\n\n return listElement.querySelectorAll(`[role=\"${listItemRole}\"], #sr-only-close-button`)[index]?.id;\n },\n\n scrollActiveItemIntoViewIfNeeded () {\n if (!this.scrollToOnHighlight) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n // When listElementKey is not passed,\n // scrollElementIntoViewIfNeeded will default to the immediate wrapper of the item.\n const listElement = this._getListElement();\n this.scrollElementIntoViewIfNeeded(activeItemEl, null, null, listElement);\n }\n },\n\n focusActiveItemIfNeeded () {\n if (!this.focusOnKeyboardNavigation) {\n return;\n }\n const activeItemEl = this[activeItemKey];\n if (activeItemEl) {\n activeItemEl.focus();\n }\n },\n },\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const DANGER = "danger";
|
|
3
|
+
const WARNING = "warning";
|
|
4
|
+
const SUCCESS = "success";
|
|
5
|
+
const MUTED = "muted";
|
|
6
|
+
const INVERTED = "inverted";
|
|
7
|
+
const MENTION = "mention";
|
|
8
|
+
const LINK_VARIANTS = ["", DANGER, WARNING, SUCCESS, MUTED, INVERTED, MENTION];
|
|
9
|
+
const LINK_KIND_MODIFIERS = {
|
|
10
|
+
default: "",
|
|
11
|
+
warning: "d-link--warning",
|
|
12
|
+
danger: "d-link--danger",
|
|
13
|
+
success: "d-link--success",
|
|
14
|
+
muted: "d-link--muted",
|
|
15
|
+
inverted: "d-link--inverted",
|
|
16
|
+
mention: "d-link--mention"
|
|
17
|
+
};
|
|
18
|
+
exports.INVERTED = INVERTED;
|
|
19
|
+
exports.LINK_KIND_MODIFIERS = LINK_KIND_MODIFIERS;
|
|
20
|
+
exports.LINK_VARIANTS = LINK_VARIANTS;
|
|
21
|
+
exports.MUTED = MUTED;
|
|
22
|
+
//# sourceMappingURL=link_constants-Huj7D_hm.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link_constants-
|
|
1
|
+
{"version":3,"file":"link_constants-Huj7D_hm.js","sources":["../../components/link/link_constants.js"],"sourcesContent":["export const DANGER = 'danger';\nexport const WARNING = 'warning';\nexport const SUCCESS = 'success';\nexport const MUTED = 'muted';\nexport const INVERTED = 'inverted';\nexport const MENTION = 'mention';\nexport const LINK_VARIANTS = ['', DANGER, WARNING, SUCCESS, MUTED, INVERTED, MENTION];\n\nexport const LINK_KIND_MODIFIERS = {\n default: '',\n warning: 'd-link--warning',\n danger: 'd-link--danger',\n success: 'd-link--success',\n muted: 'd-link--muted',\n inverted: 'd-link--inverted',\n mention: 'd-link--mention',\n};\n\nexport default {\n LINK_VARIANTS,\n LINK_KIND_MODIFIERS,\n};\n"],"names":[],"mappings":";AAAO,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,UAAU;AACX,MAAC,QAAQ;AACT,MAAC,WAAW;AACjB,MAAM,UAAU;AACX,MAAC,gBAAgB,CAAC,IAAI,QAAQ,SAAS,SAAS,OAAO,UAAU,OAAO;AAExE,MAAC,sBAAsB;AAAA,EACjC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AAAA,EACV,SAAS;AACX;;;;;"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const DANGER = "danger";
|
|
2
|
+
const WARNING = "warning";
|
|
3
|
+
const SUCCESS = "success";
|
|
4
|
+
const MUTED = "muted";
|
|
5
|
+
const INVERTED = "inverted";
|
|
6
|
+
const MENTION = "mention";
|
|
7
|
+
const LINK_VARIANTS = ["", DANGER, WARNING, SUCCESS, MUTED, INVERTED, MENTION];
|
|
8
|
+
const LINK_KIND_MODIFIERS = {
|
|
9
|
+
default: "",
|
|
10
|
+
warning: "d-link--warning",
|
|
11
|
+
danger: "d-link--danger",
|
|
12
|
+
success: "d-link--success",
|
|
13
|
+
muted: "d-link--muted",
|
|
14
|
+
inverted: "d-link--inverted",
|
|
15
|
+
mention: "d-link--mention"
|
|
16
|
+
};
|
|
17
|
+
export {
|
|
18
|
+
INVERTED,
|
|
19
|
+
LINK_KIND_MODIFIERS,
|
|
20
|
+
LINK_VARIANTS,
|
|
21
|
+
MUTED
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=link_constants-nWVlXQBs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"link_constants-
|
|
1
|
+
{"version":3,"file":"link_constants-nWVlXQBs.js","sources":["../../components/link/link_constants.js"],"sourcesContent":["export const DANGER = 'danger';\nexport const WARNING = 'warning';\nexport const SUCCESS = 'success';\nexport const MUTED = 'muted';\nexport const INVERTED = 'inverted';\nexport const MENTION = 'mention';\nexport const LINK_VARIANTS = ['', DANGER, WARNING, SUCCESS, MUTED, INVERTED, MENTION];\n\nexport const LINK_KIND_MODIFIERS = {\n default: '',\n warning: 'd-link--warning',\n danger: 'd-link--danger',\n success: 'd-link--success',\n muted: 'd-link--muted',\n inverted: 'd-link--inverted',\n mention: 'd-link--mention',\n};\n\nexport default {\n LINK_VARIANTS,\n LINK_KIND_MODIFIERS,\n};\n"],"names":[],"mappings":"AAAO,MAAM,SAAS;AACf,MAAM,UAAU;AAChB,MAAM,UAAU;AACX,MAAC,QAAQ;AACT,MAAC,WAAW;AACjB,MAAM,UAAU;AACX,MAAC,gBAAgB,CAAC,IAAI,QAAQ,SAAS,SAAS,OAAO,UAAU,OAAO;AAExE,MAAC,sBAAsB;AAAA,EACjC,SAAS;AAAA,EACT,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,OAAO;AAAA,EACP,UAAU;AAAA,EACV,SAAS;AACX;"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
const LIST_ITEM_TYPES = {
|
|
3
|
+
DEFAULT: "default",
|
|
4
|
+
CUSTOM: "custom"
|
|
5
|
+
};
|
|
6
|
+
const LIST_ITEM_NAVIGATION_TYPES = {
|
|
7
|
+
ARROW_KEYS: "arrow-keys",
|
|
8
|
+
TAB: "tab",
|
|
9
|
+
NONE: "none"
|
|
10
|
+
};
|
|
11
|
+
exports.LIST_ITEM_NAVIGATION_TYPES = LIST_ITEM_NAVIGATION_TYPES;
|
|
12
|
+
exports.LIST_ITEM_TYPES = LIST_ITEM_TYPES;
|
|
13
|
+
//# sourceMappingURL=list_item_constants-EiqkqZvP.js.map
|
package/dist/vue2/chunks/{list_item_constants-Tsz5CO1m.js.map → list_item_constants-EiqkqZvP.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list_item_constants-
|
|
1
|
+
{"version":3,"file":"list_item_constants-EiqkqZvP.js","sources":["../../components/list_item/list_item_constants.js"],"sourcesContent":["export const LIST_ITEM_TYPES = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n};\n\nexport const LIST_ITEM_NAVIGATION_TYPES = {\n ARROW_KEYS: 'arrow-keys',\n TAB: 'tab',\n NONE: 'none',\n};\n\nexport default {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n};\n"],"names":[],"mappings":";AAAY,MAAC,kBAAkB;AAAA,EAC7B,SAAS;AAAA,EACT,QAAQ;AACV;AAEY,MAAC,6BAA6B;AAAA,EACxC,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,MAAM;AACR;;;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
const LIST_ITEM_TYPES = {
|
|
2
|
+
DEFAULT: "default",
|
|
3
|
+
CUSTOM: "custom"
|
|
4
|
+
};
|
|
5
|
+
const LIST_ITEM_NAVIGATION_TYPES = {
|
|
6
|
+
ARROW_KEYS: "arrow-keys",
|
|
7
|
+
TAB: "tab",
|
|
8
|
+
NONE: "none"
|
|
9
|
+
};
|
|
10
|
+
export {
|
|
11
|
+
LIST_ITEM_NAVIGATION_TYPES,
|
|
12
|
+
LIST_ITEM_TYPES
|
|
13
|
+
};
|
|
14
|
+
//# sourceMappingURL=list_item_constants-u1xcN9Dd.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list_item_constants-
|
|
1
|
+
{"version":3,"file":"list_item_constants-u1xcN9Dd.js","sources":["../../components/list_item/list_item_constants.js"],"sourcesContent":["export const LIST_ITEM_TYPES = {\n DEFAULT: 'default',\n CUSTOM: 'custom',\n};\n\nexport const LIST_ITEM_NAVIGATION_TYPES = {\n ARROW_KEYS: 'arrow-keys',\n TAB: 'tab',\n NONE: 'none',\n};\n\nexport default {\n LIST_ITEM_TYPES,\n LIST_ITEM_NAVIGATION_TYPES,\n};\n"],"names":[],"mappings":"AAAY,MAAC,kBAAkB;AAAA,EAC7B,SAAS;AAAA,EACT,QAAQ;AACV;AAEY,MAAC,6BAA6B;AAAA,EACxC,YAAY;AAAA,EACZ,KAAK;AAAA,EACL,MAAM;AACR;"}
|